I think your broad point is true: Google's reco is better, Siri's integration is deeper, but you really need both to make it useful.
1,088 karma · joined August 6, 2009
I think your broad point is true: Google's reco is better, Siri's integration is deeper, but you really need both to make it useful.
It's not only our own biological evolution that deeply affects us.
To take the tangent further off topic it's interesting to me that Google's greatest successes post-search/ads appear to be these strategic products. Not things that bring direct profits, but those that allow them to influence the major platforms (mobile, web). Committing key resources in this way speaks of long-term thinking that other companies could learn from.
This is my preferred system. To me, you don't want to absolute force people to vote. But you do want to remove the bias that exists because turning out to vote is easier for some people than others (and it tends to be easier for the more privileged). Other factors help too: e.g. polling is on the weekend.
Re: apathy, the solution is not to ignore the disenfranchised, but to engage them. True representation is not about suiting those with the most free time and energy.
It's a relatively new addition, and as warned above it still might not work in all setups in my experience. But it's worth a go.
And although there are quirks (mainly performance related) in the ADT/Eclipse combo your description is far from my experience. The overall experience is better, IMO, than Xcode. The latter is the buggiest IDE I've ever used.
Frankly AppCode/IntelliJ beat both in many respects, but frustratingly don't quite cover the full range of functionality. It's difficult to make the leap when you need to go back to Xcode/Eclipse to accomplish some of your work each day.
This is still pure rumor, though.
It's pretty clear to me that each new version of Android takes inspiration from iOS (and vice-versa, not to mention things they've both seen in WebOS). I think it's great -- the competition is definitely driving both platforms forward. Methinks there is some prejudice at play if you can't acknowledge this.
But if you're in charge of a media company today, and your bonus this year is tied to a cash cow you can keep alive for a few more years, would you be taking the risk and short term pain of making the transition?
I don't think it's stubbornness or stupidity we're looking at, it's a classic case of misaligned incentives.
You don't have to look too far to find out: blocks haven't always been supported, and the older animation APIs still exist on UIView. You need to set a completion callback selector instead of passing a block. It's certainly uglier, on both sides of the API, but particularly on the implementation side. Blocks wrap up the state they need by default (well, for the majority of cases) which saves a lot of tedious work.
Personally I see crashes on iOS a couple of times a week, and I hardly use third-party apps. Most of my crashes are Safari!
I completely agree also that the language can have an impact on the abstractions you choose. Some abstractions are obvious in one language and obscure in another. I wouldn't defend Java against a better example than in the original post, it certainly has its weaknesses. But I find that most examples just show bad Java code, not that Java itself is bad, which is not enlightening and frankly becomes tiresome.
On a related note, I think a lot of people underrate the influence of tools on code quality too. They might complain Java IDEs are a crutch that merely let you work around the language's weaknesses. I think they're a lot more than that -- when I start working in a seriously powerful IDE for the first time I was surprised how much it influenced my coding. Powerful automatic refactoring just makes it so trivial to do the Right Thing (give something a better name, factor out a method, etc). Beforehand I would have said that all you need is discipline to create code of the same quality without the IDE. Now I'd say even discipline and good intentions have their limits.