I never understood why software estimates are so bad when other fields do so well.
When a contractor gives you an estimate of how long and how much it's going to take to do a remodel, he's invariably on time and on schedule, right?
And when Boeing spends billions of dollars on a new plane, they have on ready and on budget, right?
So why can't software people do the same?
Oh wait, complex, badly defined projects tend to run late and over budget. It's not that complicated. Spend 3-6 months defining all the details of your new web application, promise not to change anything on the fly, don't ask us to make it work on IE 7, and by the time we do 3-4 of these, we'll be able to give you a good estimate.
Well, you know about our "free" lunches and amazing hardware "given" by the company, fancy offices, etc. Now you know where the money comes from :-).
Seriously though, there are companies all over the place, from startups where everyone is expected to work 80 hours a week to established companies where people have kids and most employees work 40-45 hours a week with the occasional 50-60 during a release.
Some companies leverage it (the term we use her is "work-life balance").
The problem is that in the short term, it is trivial for a well funded private company to offer a better product in the eyes of the end user (eg. GMail when it came out over every other open source mail system).
The only solution to that problem that I can think of is to better educate the end user, and to make them see that even though company X's shiny product seems better right now, in the long term there is everything to lose by using their communication systems. That's a hard fight though.
I think a more realistic solution is to educate developers to prioritize making open shiny.
After all, Gmail may have its problems, especially recently with Google+, but it interoperates with every other email service (and until recently, Jabber client) and is relatively easy to move off of; for most of its 10 years of existence, I'd say it had a positive role in keeping people using email. It's far, far better than something like Twitter where the platform owner has absolute control and can censor tweets or arbitrarily crack down on third party clients.
Similarly, while App.net didn't exactly replace Twitter, I think I think its emphasis on encouraging people to write independent clients for it was very healthy for it (and while some of those clients were proprietary, proprietary native clients for open platforms are far less bad than proprietary platforms). Why didn't tent.io try to launch with spiffy clients?
To be honest, I don't think it's as much that open can't be shiny as that creating a social platform without an existing userbase to leverage is nearly impossible - most closed platforms fail too. And I think most developers know that shiny is necessary - it's just that there isn't enough motivation and enthusiasm. But it's unreasonable to expect anyone to use your platform if you're not going to spend enough engineering effort on it...
Unfortunately, education is itself a massively hard problem. that, and you are trying to teach people to avoid something that greatly improves their lives on moral principles. The only tool I know for doing that is threatening them with eternal torture.
Not poor, just less shiny, and even that mostly at first. That is, if everybody used the stuff regardless of it being less shiny, a lot more development would flow into it, and it might even end up just as shiny. It's a bit of a chicken/egg thing.
Many idealist developers brush off well designed and feature rich artifacts as shiny because they simply just don't get it and never will. So having users use a "less shiny" but more "ideal" artifact isn't going to magically make it better; the developer is still oblivious.
Yeah, but I don't, and I don't see how that follows from what I said either. I was actually more thinking of things like old Opera vs. the current minimalistic trend in browsers - "shiny" to me has nothing to do with features, and in the worst case features even get sacrificed for shinyness. If two things have the same functionality, the more "shiny" one wins, obviously. But that wasn't what I was talking about at all; I have nothing against beauty, but form should follow function, and function should be king.
Unless you can define "the shiny" as anything more than a self-constructed pejorative, your argument lacks substance. What is the shininess? Why is it worthless? Why are users still attracted to it even though its worthless?
Believe it or not, people are actually kind of rational, and pick product A over B for some real reason. Usually B, if feature equivalent or even feature advanced of A, has a hideous UX (command line, really?) and/or visual design (e.g. ugly fake chrome). It might also not be up to date on what is in fashion, but we don't buy unfashionable cars either unless we are going for something retro (part of our culture); consider that "the shiny" at your own peril.
1. Codes should be like passwords. If they're guessable, they're no good.
2. All operations, including signing in, verifying the account, etc should be rate shaped. The more you try, the longer you have to wait till you can try again.
That's one of the reasons I use Firefox for my personal account(s) and chrome for work.
Almost never have to deal with this issue. Periodically, I do need to switch on the personal side (I have 4-5 different google accounts), but i have lastpass remember it all in the browser which makes it pretty painless.
The Model S was highly rated by Consumer Reports, but the predicted reliability is only average. Specifically, the 2013 had a much worse than average rating for Squeaks and Rattles and Body Hardware. This will certainly affect the price. Personally, I never buy a car unless it's rated better than average by CR.