Nobody Hates Software More Than Software Developers
codinghorror.com
codinghorror.com
The ability to go onto the marketplace and download e.g. a battery monitor app that could display a number on the notification bar rather than the 5-state default was refreshing. I had to jailbreak by iPod Touch to get similar functionality. I similarly had to jailbreak it to disable auto-rotation; that's a default option in the N1. And the sense of freedom in being able to e.g. download Opera and replace the browser is refreshing. This is a device that doesn't necessarily need Google to improve it - competition can play its part too.
At this point you are in the far distant percentile of power/advanced/ideologically-inclined users, though. Obviously some people will care a great deal about the precise display of their battery status. But you have to recognize they are far fewer than the number of people who care about being able to do basic things with 3 fewer taps.
The best way I can think of to describe it is like a Mac vs PC, except with the Unix subsystem made completely locked-down on the Mac. PCs are just better and more productive machines for my way of approaching the world. It just feels more industrial-strength, more adult, less toy-like, at an emotional level that's very hard to express concisely.
And yet, if they did the exact same thing they're doing now but weren't making a profit, I'm sure the vast majority of the people who are praising them now for "getting" the technology would excoriate them for "not getting" it.
Now your argument seems to be that regardless of what they do, profitability is no way related? They're profitable because they make products that people like and buy. If they weren't profitable it would because people don't like their products and don't buy them. I'd say that's rather significant.
I agree with the "buy" part: that's obviously necessary for them to be profitable. Not so sure about the "like" part.
There are many reasons to buy or not buy a product apart from liking it.
You could buy it because that's what's used at work, or because that's what all your friends have, or because they have a monopoly on interfacing with other products you need to use (like games, or photoshop, or tax or music software), or because that's what you've been using all along and it's just too much of a pain to switch, or just because the product is marketed so well that you feel the need to buy it without having any sort of clue as to whether you'll like after you've bought it (or any sort of clue as to how good the competition is).
But most of those are statistically insignificant or temporary. Apple has sold millions of iPhones, for example, year after year.
You sound like you are desperate to make a negative point about Apple without actually having something meaningful to add to the discussion.
As for not adding anything to the discussion, the same could be said about your own comments. Or you could also be accused of being "desperate to defend Apple".
But I wouldn't accuse you of that because I don't think that's a very constructive way of having a discussion.
Really? So you think the overriding reason that people buy a product has nothing to do with whether they like it? Because that's the argument you seem to be making. I'm not desperate to defend Apple, I'm desperate to defend logic and common sense.
Honestly, I have no idea what point you were trying to make on this little aside to my original comment.
No user (statistically) cares about GPL 1, 2 or 3 or the possibilities some modular design opens for either hardware or software developers. They care about the UI not sucking. At the end of the day, that's the gap Android has to bridge.
The first leads to the second. I would hack on Android if I could actually use my changes on my own phone, which I would be able to do if Android were GPL 3. If I could hack on Android, the UI would be better. Multiply that by 1000+ other people in a similar situations, and you can see that GPL 3 would lead to what users actually care about.
As I understand the reasoning it is this: I'm a relatively good programmer and yet I'm incompetent => The world is full of bad programmers => Most software is badly written => I hate software. Perhaps that currently holds. However, to imply that it will always hold is intellectually crippling. To demonstrate this, all we need to do is look at our premise (axiom?) and rephrase it slightly: "Any good programmer is still incompetent". I personally don't see any reason why this should be self-evident and every reason to find ways to change it.
I think that's why I find my Debian system so comforting. Despite things often going wrong I feel secure using it because no matter what goes wrong I can get the source and fix it (well, within reason--I still can't figure out why my %$#@! sata disk drives randomly hang up for multiple seconds at a time).
There's no good software out there. There's just software that sucks less.
In a field where the barrier to entry is so low it is natural that the average quality will be lower. Compare this to say, aircraft design, where the bar to entry is skyhigh (pun intended) and as such average quality is higher.
Software is never perfect. You can tinker with it endlessly. If you're a perfectionist then software development is probably not the career for you. I look at writing software in the same way that an author might look at writing a novel. At some point you have to publish. There are always alternative plots that you can think of, the characters aren't always as interesting as they could be and sometimes there are regrets and missed opportunities. Also readers will have diverse opinions about what you wrote, which may be quite different from how you imagined the novel would be interpreted.
That's not to say that most of us are great programmers -- most of us, as you might expect, are average programmers. It's just to say that there's a lot of code out there that's not even written by programmers at all. You get the designer who's been copy/pasting every snippet he could get his hands on until it just made the dumb thing work, you get construction workers and plumbers who were attracted to the glamor of a desk job after throwing out their backs, or whatever.
One of the last codebases I worked on was a website that ran a whole company but didn't have any ID fields anywhere and all joining or other inter-database matching had to be done by text comparison. This system was written by an ex-construction contractor who'd fallen hard on his luck, learned HTML one day, and became this company's de-facto programmer, so it makes sense that it would be like this; the concept of an ID field, after all, is not self-evident to one without training.
Much code out there is "written" by people who have no idea what they're doing. I don't mean that in the self-effacing, most-programmers-are-average-programmers way, but I mean it in the way that "your system was built by someone who was literally just as qualified as your receptionist or janitor" kind of way.
Given these circumstances, I don't think it should be an immediate writeoff if you can do better than the last codebase you were brought in to fix.
He's Jeff Atwood -- the hand of fortune has no role in his relative incompetency.