Anyway, it's a mistake pit Google against Apple. The real battle will be between Google and Microsoft for the exact same hardware manufacturers and sales channels. (Meanwhile, you can buy an iPad from an Apple Store or from Walmart without any carrier involvement).
Google hasn't managed the fragmentation problem very well, they haven't done enough to control the quality the Android OS between carriers and manufacturers, and they've utterly mismanaged the Android Market. I'm no fan of Microsoft or WinMo 7, but I expect Microsoft to do a much better job at addressing all of those issues.
Microsoft can also leverage their Zune desktop software.
And Microsoft's development tools are generally very popular with developers. I've done some work with WPF and I found it very impressive and I would expect their Phone SDK to be of similar quality. On the other hand, even though I generally like Java I'm finding the move from iPhone development to Android development to be a depressing step backwards both in terms of the dev tools and especially the SDK.
Then again, it is Microsoft we're talking about. It may take them another 3 or 6 years to get it right.
If you want to sell an Android handset... you have to pay Microsoft.
They're pretty direct about their legal strategy.
Yes, very popular with .NET developers. That's the problem with Microsoft, everything is coupled together and isolated from anything non-Microsoft. You're usually either a .NET developer or an everything-else developer. Everyone else has free development tools/environments. Everyone else has vibrant online communities. Everyone else shares and collaborates with open source projects (strategically at least).
(Well, technically it's possible to target the iPhone via other methods, but they're not easy or supported, or in some cases even legal.)
Then they try and develop web technology, Silverlight, that is better than Flash by technical standards but is so entrenched in Microsoft-land that hardly anyone wants to do anything with it. You can't author anything for it when using Apple and Linux doesn't even get a runtime (Mono doesn't count, can never be feature-complete).
Apple doesn't seem quite the same. A lot of Apple developers are active in other developer communities. Microsoft developers seem to stick to Microsoft technologies. Perhaps this is because Microsoft has their own implementation of almost everything.
This is more to do with Flash being a defacto standard than anything else. I've been a Linux user since 10 years ago, and I haven't forgotten the piss-poor support of Adobe for Flash on Linux.
Heck, they finally decided to start porting Flash to Linux because of competition with Silverlight.
> "Mono doesn't count, can never be feature-complete"
Of course Mono counts, and compared to open-source Flash clones, it is in a far better shape.
Hard to forget it when it won't go away. No 64-bit plugin, no accelerated video. (Their explanation that there are too many video acceleration APIs was pretty weak: if they adopted one, it would become the standard.)
Also, “everything is coupled together” occasionally becomes a feature.
However, what do I know — I haven’t ever used a Microsoft OS on a computer I control. .NET seems nice, though.
Unix is the platform to teach in CS , if you should even teach towards a platform at all. Not only because *nix common in industry, but its set of small and reusable tools is well suited to the software engineering philosophy.
My CS department had a course in .NET. It also had a course in XML. Why anyone would take those is baffling.
Also, if all you're extracting from your CS classes are new languages to pad your resume with, then you are missing the forest for the trees.
All true, and still they've had great success. (I'm actually surprised, given how bad the Market is and how blatantly the carriers are screwing up the phones). Which just means they can do even better if they can address those obvious problems.
On the other hand, even though I generally like Java I'm finding the move from iPhone development to Android development to be a depressing step backwards
It was the opposite for me. Between getting rid of header files and manual memory management, and having the app run right away on my phone rather than futzing with certificates, I'm enjoying Android development much more.
I'd argue they haven't. The success would've been the adoption of the platform - but as far as I can see none of the major Android phone vendors actually support the platform - they see it more as a way to skimp on software development costs, and offload it onto Google instead. There's little to no interest in even updating the phones, or supporting the platform as a whole.
I feel that Google has been taken for a ride by Motorola, HTC, et al - there's a lot of lip service paid to Android, but none of their actions have helped solidify the platform, instead being treated simply as free code. The fact that there are a lot of units of hardware moving off shelves means little, IMHO, for the long-term success of the platform.
That's fair play tho' - Google sought to commoditize handsets.
This is true for all mobile platforms. People change their phones often and have few true dependencies on the underlying OS. RIM might be the "dominant smartphone" at the moment but I doubt they're feeling super comfortable.
On the other hand Ruboto looks very promising, it's a project that brings JRuby to Android application development.
Apple have done a great job of outdating the old sdks, mainly through the method of dropping simulator support for the previous sdks and no legitimate route of running previous firmwares on an iPhone other than holding them back (obvious flaw in this plan, how does a new developer acquire an ipod running 2.2 or 3.0)
Android on the other hand has had no where near this rate of attrition of the previous sdks with only really the initial release not being heavily supported.
However Android suffers from the problem you are not just waiting for Google to update the firmware so you can't make your app 2.0+ only in the thoughts that if users want my app they can update their firmware, this step would remove a lot of htc, sony and other phones that do not currently have the ability to run a 2.0 firmware whilst still being a very comptent phone.
As for the carrier "enhanced" firmwares....
Remember those graphs of user's current phones related to the next phone they bought? Apple users were happy to continue with Apple, and even BB users wanted iphones.
Google has had great success, which is good to see.
"Which just means they can do even better if they can address those obvious problems."
Not necessarily. If all these people are just buying android phones because they can not get an iPhone, then nothing Google does will change that. The real test will be when the iPhone is available on more carriers, and when people need to upgrade there Android devices, and stay with Android. It is just too soon to tell, so far.
At best you could argue (like the standard Windows vs Apple arguments) that if you start with the iPhone and then try to match most of its features then you'll end up paying the same. More likely you're still paying up to a third more, though this may be mostly hidden by US carrier billing practices.
Of course if you start with a cheap Android phone like the ZTE Blade then you'll simply not be able to match it on price. Nor if you choose an Android phone with a 5" screen or hardware keyboard or HDMI out will you be able to match it on features.
Note the contradiction between the two common claims that a) the iPhone isn't more expensive than alternatives and b) Android is only gaining marketshare because of Buy-One-Get-One-Free deals.
Note that I'm not complaining. Apple is free to price their goods however they want, and if they can price the iPhone at a massive premium and still sell tons, that's great for them. I'm sure other phone makers would love to have similar margins.
Android phone vendors save a lot on the development of the system because Google and many others paid for it. And frankly, based on the make of the majority of Android phones, I don't think they spend as much as Apple on the design part either. That might explain the 20~30% "premium". You get what you paid for.
(And actually Apple spends stunningly little on R&D compared to it's peers. There was a rather nice graph about this that I can't find, but e.g. Microsoft and Nokia spend an order of magnitude more on R&D than Apple does, while seemingly getting just a fraction of the results.)
My take on the R&D thing: Yes Apple is likely to be the largest tech company to spend least on R&D, but they have a much smaller range of products and market share to recover that cost. Also I was talking about the smart phone for that.
Nokia and Microsoft don't make Android phones. They cannot take the free ride on Google.
Android is already #2 and poised to become #1 in the next three years. Apple and Microsoft will soon not even be in the same league.
I believe that AT&T subsidizes the hell out of the iPhone (pays Apple $400 per phone sold), which the do for the privilege of exclusivity, among other reasons. When/if that exclusivity dies, we'll see if carriers will pony up. The alternative is more expensive iPhones or reduced margins (will Apple be willing to accept the latter?).
No more than any other device. By all reports, the iPhone is not significantly more expensive to build than comparable smartphones, and in fact if you look at similar smartphones, both subsidized contract prices and unsubsidized prices are very similar to the iPhone as well.
Android is going to open the market for cheaper, low-end smartphones, that's for certain - but comparably equipped smartphones, whether they be Nokia, Android, or WinMo7, are all in the same general price point.
Locked,subsidized iPhone 4 16GB: 199 CHF + two year contract at 55 CHF / month
Locked,subsidized Galaxy S: 1 CHF + two year contract at 55 CHF /month, but with the monthly fee waived for 3 months (so basically 350 CHF cheaper)
Unlocked, unsubsidized iPhone 4 16GB: 769 CHF
Unlocked, unsubsidized Nokia N8: 519 CHF
Until you see those WinMo 7 phones in the wild, I would withhold judgment if I were you.
And you know what, it is also typically of Microsoft to fuck WinMo 6.x users and developers with something totally incompatible and no upgrade path.
Windows lacked the fit and finish of the Macintosh.
But it didn't matter. Because there were hundreds
of Windows machines whereas there was only a few
variations of Macintosh, all controlled by the
same company and priced at a premium.
And the most recent Android Foursquare build has finally
delivered the awesome Foursquare iPhone experience to Android.
I'm just bitter because I've been working on a html5 version of my site specifically for Android, and it's a major PITA. The 4 android phones I have all behave differently, the different OS versions have their own quirks and bugs. And the hardware, god the hardware! Awful.
Yes, that came along eventually, but might I suggest a read of "20 years of high tech marketing disasters"? The author suggests that Microsoft came to dominate only thanks to other players in the market screwing up more than they did. IBM and Apple being amongst those who make the biggest mistakes.
And I do not say that as a Microsoft fan. Once they did get an advantage, they used it for all it was worth, to try and expand their monopoly into market sectors. That is what they were convicted of.
MS were smart, but also lucky in their competitors. Digital Research deserves a place of honor on your list. And most things I've read about Netscape seem like they were so afraid of being killed by MS that they killed themselves instead.
As I understand it, OEM costs for Windows are a small fraction of retail. Computers offered with no OS, FreeDOS or Linux rarely cost less than the same machine with Windows. This holds true both with major manufacturers offering a choice of OS on their products and with generic laptops sold under several brand names (compare System76, which sells laptops with Linux to Sager, which sells some of the same machines with Windows). In most cases, the cost is offset by bundling trialware, so you don't actually pay for Windows at all.
That's because the iPhone still doesn't have half the features that are standard on Android :/
As far as I know, no anti-trust methods brought Windows to dominance. Anti-trust methods did bring IE to dominance, however.
The argument that Windows won because Macintosh was priced at a premium is a dubious argument.
Apple is able to purchase flash memory, processors, and touch screens in bulk. They own Intrinisty and PA Semiconductor.
Apple looks like Walmart on their supply side and looks like Barney's on the retail side. There is no price pressure. They could slash their margins but they don't have to. It's still difficult to find an iPad and iPhone 4. They can't make enough of them.
Secondly, 95% market share is unnatural. It doesn't happen often. Markets look more like GM/Chrysler/Ford or XBox/PlayStation/Wii. I suspect the smartphone market will develop similarly.
And if you want to say that the iPhone will be crushed like the Macintosh was crushed by Windows then it is just as easy to say that Android will be crushed the same way Sun Microsystems and Novell were crushed when Eric Schmidt was there.
edit: er, apparently it still runs android 1.5...
I know that doesn’t mean that Apple will again beat Archos when it comes to tablets but I certainly wouldn’t bet much on Android when Apple merely has to fight companies in the tablet space they already defeated in the MP3 player space. HTC looks like a tough competitor. Archos does not.
And, yeah, you pointed out the 1.5 issue. Google needs to do a better job of getting Android licensees to update their versions. There should be no one selling a new device in October 2010 only running 1.5.
edit: I can't walk in to stores in my area. Some stores report they have some archos tablets, but they're generally not there when I go.
Besides that, there are plenty of Android tablets out there for various prices.. and build quality of course.
I saw one in Bangkok. Cost about 4000 Baht and was from China. I didn't get one because there didn't seem to be any warranty for it and I don't live there, but it was pretty awesome to play with.
Don't underestimate this - I know someone who bought one to stick on the kitchen wall for recipes. At that price there are hundreds of vertical markets available.
Android is always great, but in that next version, that is just around the corner. That upcoming tablet, that upcoming phone, that upcoming software.
There is a huge difference between "iPad/iPhone are good now" and "android is as good in a few areas now, lacks the polish and we hope it will be as good in the future".
The eternal optimism and buying into the hype never ceases to amaze me. In fact I don't understand it other than the possibility that those most keen are too young to remember the past (and no, I'm not referring to Fred here, obviously).
One key thing people forget is that they're chasing a moving target. The iOS ecosystem isn't static. Also google are still in their honeymoon period as far as fragmentation goes. That will get worse before it gets better.
I can best sum it up this way: people who buy an iPhone are buying an iPhone. The vast majority of pop,e who are buying android phones are buying... A phone.
There is a huge difference.
That being said, not ignoring android is prudent and I'm certainly not writing it off but taking the iPad as one example, I believe that credible competition is still a year or even two off.
Android is great in the next version and good enough in the present version to have a strong market share. Never as polished but generally having the features you need...
For people, this show how tasteless and low class the thing is. For others, it's something to believe in...
Honestly, I don't see Google EVER making a product like iPad/iPhone. Come on, they're an advertising company after all - one that can't just stick their software on some phone from a Taiwanese company, it'll work but you know...
Apple's products operate completely on another level.
Phones like the Samsung Galaxy S (esp. the Pro), the Droid 2, the Droid X -- excellent devices that are hyper-competitive. Few with such a device would look jealously on an iPhone.
So no...on the phone front Android is top tier. Yeah, subjectively someone will say that the iPhone is all roses for them, but that's the value of a competitive market -- you pick the one that fits you best. On the tablet market it is future tense because, I suspect, Google really didn't want Android to be the tablet OS. They wanted ChromeOS to take that crown. I don't talk tablets when the conversation is about Android.
The punchline is "Nowhere."
Roughly the same number of reviews for each star. 5 has the fewest. Reading the positive reviews is possibly more informative than the negative ones:
I'm now satisfied with my Archo's 7 Home tablet. After many hours reading helps and hints on the Archo's 7 Home Tablet Forum and installing some of the programs they advise downloading to beef up the weak and clumsy operating system, I got my android tablet just where I want it.. ..new firmare that makes the touch keypad a little easier to work with, but you still need a stylus to get best result..
Not sure what this means about the future and it's certainly not an apples to apples comparison, but it doesn't sound like a cheap android tablet exists that an average VC'c dad would be happy with.
However, I do think it's important in that it shows the versatility of Android as a platform..
(I have one)
As a user, you want to buy only one phone and then want that phone to have as wide a market-share as possible so there will be more apps for it.
As a competing phone manufacture you are outnumbered, so it doesn't matter what you want.
We had an email last year asking for input on which platform to develop on this year so it's also the students' decision to learn Android.
That does not, of course, necessarily filter into intro CS classes. I have seen a few "mobile development" classes in universities, but they seem to be split between iPhone and Android.
Most would prefer to develop for the iPhone, and are taking steps to gain access to Macs and developer accounts for that purpose. This will be a nice push in the other direction.
By all means teach your class Android if they want it, but don't use _this_ article as proof that they should.
We're supporting both Android and iPhone.
Of course you're right - it isn't strong evidence, just another opinion.
By this formula, one ought to have been bullish about PlaysForSure--a platform with over a dozen music stores and compatible player devices from almost two dozen vendors. But we saw what happened there: the platform was beaten by a single store with a few variations of player all controlled by the same company and priced at a premium.
Neither example is strongly predictive, but I think this one is a bit more relevant, for reasons which should be obvious.
Windows lacked the fit and finish of the Macintosh. But
it didn't matter. Because there were hundreds of Windows
machines whereas there was only a few variations of Macintosh...
It's really quite imprudent to bet on Android for only that reason.
With the iPod they started with a "high" price and introduced models that filled in the low-end. They also built and ecosystem around it.
Also, this "there-can-be-only-one" crud doesn't really happen in many markets.
The touchscreen on the iPhone is state of the art, with my N1, I need to touch something once or twice, which never happens with iPhone.
Same for keyboard on the iPhone, it's light years better than any of the dozens implementations for Android. I don't care for predictive text so much as just a great spell checker.
Also compare the Facebook app on both phones. Android's is not there yet.
Apple didn't design their touchscreen (nor do they design their processor, RAM, display, wireless chipset, etc.). The Nexus One, it is very well known, has a weak capacitive touchscreen that is outclassed by any number of competing Android phones. This has nothing to do with Android versus the iPhone.
"Same for keyboard on the iPhone, it's light years better than any of the dozens implementations for Android"
Disagree entirely, but I suppose that's subjective. Then again, I can't stand touchscreens keyboards altogether. My preference is strongly weighted towards sliders.
"Also compare the Facebook app on both phones. Android's is not there yet."
But it's getting there. Quickly.
I've been using Android phones since the G1. The quality improvements over the last 6 months have been incredible. Over the last 3 months has been exhilarating. Over the last 1 month has been unfathomable.
Apps for Androids used to be an afterthought. Now anyone who thinks they're an afterthought is a fool -- they are now front and center (and, as a sidenote, it leveled the ground for competitors like Blackberry as well. Being an "iPhone only" mobile solution is a loser's game now, smelling as ignorant and backwards as being an IE-only website). They are rapidly evolving into a decent platform.
Yeah, a year from now Android will easily match any fit and finish of the iPhone.
Maybe the Samsung Galaxy Tablet, which is not in the stores and could cost between $500 and $1000?
I went from iPhone 3G to HTC Desire (Android 2.2) and really wish I'd waited for the iPhone 4G. Both hardware and software is inferior, do love the freedom from ITunes though...
Bought the iPad two weeks ago, made my HTC Desire suck even more:/
Many "What IFs", but for me the developing tools and silverlight are key. Also on the RIM side QNX is a very promising bet against Linux/iOS/Windows, the demo doesn't feel real, but QNX is a strong OS.
And FWIW, I do my Android hacking with emacs and a shell buffer.
Android's tools don't suck, but I think they're objectively inferior to Apple's and Microsoft's across the board.
Android at least has garbage collection .. native C interface, and it's open to you as your mother's arms.
If Android lacks anything, it's only a matter of time before it's fixed. The cat is out of the bag, and the OS of the mobile future is Google's as much as it's yours and mine. For every polished iPhone handset sold, there are three crappy but wide-open android devices sold to hungry minds. iPhone is the best mobile OS today, in terms of polish and usability, but Android powers devices that haven't been conceived yet!
Poor grad students in EE and CS are all over the mailing-lists, asking for help with Android ports to their cheap boards. They're ambitious, confused, tired and hungry. They don't know what they're doing .. yet. They're just making use of what they have, a Free OS that does the basics. However, said students, amateurs, wannabes and beginners number in the millions .. the little busy bees are hard at work, reading, writing, and hacking, and in five years time, when they know better, when they're more capable, when they graduate and funded, you can bet your last dime they will make this a Free Android world. Neither Apple nor Microsoft have enough money to buy people's free will and self-interest.
I said this before and I will say it again; Android is on par with LAMP and GCC in terms of impact. It's not a piece of infrastructure software, it's a fundamental right for the mobile future, and will power far more dreams than any niche or specialty mobile platform, which iOS and the others are destined to be.
Apple is making the best phone and tablet os that they can. That is their goal. If it means it's also the best in the market, then they will be rewarded by people buying their products. They haven't lost because iOS isn't being installed on a printer.
Whether Apple sells X units or makes Y dollars is immaterial to me. All I care about is that every Android source file begins with a preamble that's sweeter than Aretha and Whitney to my ears: it promises me Freedom. Freedom to share, copy, clone, sell, give away. And from my experience, Dan Bornstein and the gang, bless their hacking souls, are here to assist me.
My "users" might never care what powers their doctors' tablets (they don't even know what an OS is, in fact, most of them can't read) but I do. I know I can fly back to ShenZhen and shop for boards, case, power chords, and save money. And in the end, have a Free, world-class operating system waiting for me.
To me Android is not a privilege, it's a right. It's what I will use to help my people. And there are millions like me who outnumber luxury mobile users by a huge margin.
This is where my heart is at:
Or more pricey ones with 8", 10" screens, less or more branded.
Or, for example, Android netbook from Sony, definitely not cheap.
Or chose from several dozens of phones with prices starting from about $200.
About software development Mahmud wrote enough in comments.
I shipped nearly every type of electronic piece from China. $100 is not the bottom, it's the ceiling. I have been in this business (gadget hardware) since 2004.
But I have a feeling you were not replying to me ;-)
This not a gadget for the rich. It is now available for normal people.
First of all the language. c#, especially in the latest iterations has become incredible. Featuring the goodness of both statically and dynamically typed languages. It has become very elegant and powerful.
Sadly, I can't say anything similar on Java. Is has been very slow to advance, very conservative when advancing, and the tools are still so slow (At least eclipse).
Regarding GUI development on Silverlight. Microsoft has done many things right with it. It has the best separation of UI and logic that I have seen built right into it. They have xml files to represent the UI (In the same way web has HTML), and the framework is as flexibly as could be (e.g. it wouldn't take you more than a minute to create a scrollbar that looks like a clock for example (If you have the graphics ready).
And the most important of all - they have a UI editor built for DESIGNERS. It encourages you to worry about the UI look and feel, and not on the logic behind it. It has tools in it from the designers world, and encapsulate a lot of headaches (E.g. setting a gradient direction is done by dragging a line over the area, and not by setting some numbers).
In addition, Silverlight has the advantage of being a second generation after WPF. Microsoft has learned from its mistakes with WPF, and simplified Silverlight dramatically. They could do that because Silverlight was a new technology which didn't have the requirement to be backward compatible.
Android allows you to define your UI in XML as well. It's not that novel, Flex does the same thing too. But not to be too dismissive, it would nice to hear of experts in both to tell us what Android might be lacking.
Regards UI editor, yes, Android doesn't have any WYSIWYG UI editors. There is one, but it's 3rd party and not as polished as you describe MS's to be.
create a new list box which works exactly like a normal listbox would but the items in it are replaced by whatever you write between <datatemplate></datatemplate> tags, and all the bindings you make in the data template are automatically set so that they are bound to the object they represent (ie the dynamic properties in data template 3 are bound to object 3 in the source list). And the entire thing takes only about 30 lines of xml.
Bind any property on any object to any property on any other object
Have any properly which is bound to any other property be automatically updated when the value of that property changes
Attach new properties to any xml element, and execute code when that property changes (useful to change a bool in one class to cause a window to close in another)
You can create entire master detail system and bind them together without haveing to write a line of c# code to tell it how it should look or what it should do -- which means that (if you structure your code right) that you can create unit tests that check that when one button is clicked, an item is removed from a list, etc.
Again, MS have created something that is really, really far ahead of anything else here. Too bad it is windows only.
Another example is package management. If you want to mount an ISO in Windows, you have to scour Google for a while attempting to find a spyware-free available download. It's a garbage situation in Windows.
Linux, however, has amazing window management capabilities as well as package managers.
Now, if we turn to ease-of-use, I'd like to remind you that Google Chrome OS is coming out in one month (ish). While it is a proprietary OS, there is an open source / free software version called Chromium OS. This is a Linux OS that looks totally easy to use and will be natural for non-Linux people to handle.
I very strongly disagree that the Linux desktop is "a good distance" behind its rivals.
I'm a Fedora Core user at work (and have been for the better part of a decade) and am consistently appalled at the unreliability of things like sound and clipboard management. Areas that are completely taken for granted on other platforms.
What are people reacting to when they say this? Or is it just a canned response?
One of the big differences is that iOS devices have hardware accelerated graphics. You don't really notice how weak transitions and animations are on Android until you get used to using an iPhone. It's a subtle difference, but it's real and it makes a difference.
Other "fit and finish" advantages that the iPhone has:
-The lack of a back button. On Android it's great in theory, but in practice it's unpredictable. Depending on where you are it might kick you out of the app you're in or it might take you up a level in the hierarchy or it might take you to the previous document you viewed. The iPhone is better for avoiding this ambiguous navigation.
-A single place for storing apps. It's frustrating running out of space for apps on Android and having to worry about moving them to the SD card. On the iPhone you have games that are bigger than 1gb and you don't have to think twice about installing them or about where they go.
-The iPhone's app store is still better than the Android Market. There are good apps in both, but the iPhone still makes it much easier to discover the best apps. Between having Genius, lists like top grossing and most downloaded, better categories, and better reviews it's just overall a nicer experience.
-The iPhone's music player is better. It has the downside of requiring sync with iTunes but once you have your music on there it's much nicer. It's easier and faster to browse. It's got features like Genius and 2x speed for audiobooks and coverflow, which despite not being super useful, runs fast and smooth.
-The iPhone's camera is faster than any Android device's camera I've tried. It makes a big difference when you're trying to capture a fleeting moment if the shutter lags half a second from the time you press the button. On the iPhone it's instantaneous.
-It's a new feature on the iPhone, but folders for home screen icons is great. The default Android launcher feels outdated.
All that having been said, there are a ton of nice things on Android. Built in voice nav is awesome, being able to share data between apps, the way intents are handled and the ability to set defaults is nice, and there are a ton of other things I love about Android, but since you asked about what people are talking about when they say the iPhone has fit and finish, these are the big ones in my opinion.
It's weird that Android still doesn't have this. Even tired old Symbian is now using GPU acceleration for display compositing...
What can be done is that the system can create an OpenGL context, and then proxy all other calls (from other apps) through that context with a minor performance hit. This is something that the original iPhone had actually done. However, I think this might be somewhat challenging when working with different mobile GPUs and their quirks.
So while on the surface it's a very simple problem, in practice it can be very hard.
DISCLAIMER: Former Apple engineer, reasonably unreasonable fanboy.
The hardware acceleration graphics might be key. I immediately turned off all the transitions and animations upon getting my phone, as I find them distracting. Perhaps this is what throws people: where I see crisp and fast, they expect smooth and silky.
Personally, I greatly prefer dealing with the Incredible interface to dealing with the iPhone's. Every time I borrow a friend's to do some simple task, I end up handing it back to them much more angry than I began. I'm not sure what it is, but I feel like I'm swaddled in cotton gauze and unable to breath.
Is it visibly different within apps or only when dealing with the system? For example, he concludes in the article that the Yelp app is pretty much identical on both systems. Do you disagree? I'm sensitive to kerning issues too, but I'm not sure the iPhone is in the lead here.
So yeah, speculation is warranted. I'm deeply embroiled in the market, and I think the jury is out.
But Apple didn't have to do this in the mobile world. The iPhone was the default smartphone. I was once talking with a rather avid iPhone user who he asked me "what's the market for Android?" I fina;ly convinced him that it could be everyone when I replied, "what's the market for Windows?"
The iPhone is a product. It has a target niche, a company behind it, a list of features, and everything else one expects. Android is not - it's a platform. The Droid is a product. The Nexus one is a different product. Like Windows, Android twists and bends to the offerings of each vendor. Android has the more scalable long tail strategy - instead of trying to please your customers directly, let the market mold your product into as many forms as it will pay for.
I don't think that Apple have necessarily screwed up. They may have given up the big fish, and they may have had a reason. For one, Apple are doing what they're best at. They also may have a strategy that integrates with the Mac. They may also be right. Maybe the mobile phone isn't the next computer. Maybe it's like the iPod, best at doing one thing very well.
I think Apple is making a mistake in breaking developer trust. As long as they keep market dominance, people will keep coming back to them, but as the numbers show, Android is poised to surpass. When there are many more Androids out there than iPhones, iPhone dev is gonna be a tough sell.
What do you think the ratio of Android-to-iOS installed base is going to have to be before the median Android developer is making as much money as the median iOS developer? To get to that point, how many significantly different Android devices is an Android developer going to be expected to target?
Looking at this market through the context of the PC wars of the 90s is a mistake, as is assuming that developer allegiance is a function of handset sales.
Or Chrome OS, if it ever ships.
"The way OS wars work is..."
To me it seems like so much is different that I'd be very hesitant to have such a strong opinion. The players are established companies, it's phones and tablets (cheaper devices with shorter lives), the web is the killer app, software development is easier (in many ways), it's twenty years later....
Openness is not a tactic of any particular war. It is simply the best thing for consumers and developers. The notion that openness doesn't matter in this "war" just because the devices look different and the battleground is the web, is nonsensical. I would argue that openness matters even more now than it did in the late 80s and early 90s, because the form factors are more widely varied, and the number of people who can directly participate is dramatically higher.
Regardless of Apple fanboyism and arguments about the war being "different this time", Android is already winning. There are more Android phones shipping than iPhones.
I'm on no particular side of anything. I'm not arguing that openness doesn't matter. I can't figure out where you got that. Of course you can argue that openness is more important. My observation is that when people do make those kind of arguments they make a sort of a deterministic argument surprisingly often.
Incidentally, the rest of this thread is a good place to make your argument that android is already winning.
What is a good android phone to test/develop with? Is the nexus still the best choice?
I rooted my Motorola Droid and a about 6 months later parts of the screen stopped working. They wouldn't replace it because it had been rooted. I probably should have just undone all that and taken it back to another store, but I ended up just buying a new phone.
It's useless for web development.
Android emulator is slow to start, but it's cross-platform, and allows for hot-updating.
It is at its most useful when I want to pull a file from internal storage, which often isn't possible on a device, or when I don't have a device handy, in which case it is a passable solution. It's never, ever my first choice, though.
Can you elaborate more about your test setup?
Another module is the App itself. The last module is the TestApp. This is the recommended Test Setup: http://developer.android.com/guide/developing/testing/testin...
The testapp and the app are copied to the emulator or a real device. Then the instrumentation is started. The maven build fails if any error or failure occurs while building, installing or testing.
The continuous integration is done by hudson. The emulator can be started "headless" (-no-window) so it doesn't need to connect to the running XWindow-Server. Currently I am starting the emulator from maven with a special profile that is only used in hudson. When testing locally I usually have my phone already connected. It seems to be possible to have hudson start the emulator. With that setup logcat-output would be captured by hudson. Thats were I want to go.
Also missing in my setup is an multi environment build with all screen resolutions, locales and OS-Versions.
Btw. I've upvoted your response, but still see one point next to it. Strange.
Maybe the iPhone, or Android, or both, will still be with us long-term. Maybe not. I don't really get majorly attached to my mobile phone; if the iPhone isn't the most totally awesomest phone for me next time I get a new one, then maybe I'll get something else, and leave the iPhone as a distant memory, along with the Samsungs, and the Motorolas, and the pile of defunct Palm Treos. (For that matter, I already have my original iPhone stuffed away somewhere, while my shiny new iPhone 4 is in active use...)
i am just seeing this now
i wish disqus could pick up this entire discussion and post it into the comments on my blog
it would greatly enrich the conversation there and i would be able to engage in real time, not a day later
So, where does that leave Microsoft?
Part of this is just where I'm coming from. I started programming as a kid with basic, then assembly, like most programmers my age. Then pascal and C in college, got a job doing C++ and did that for a number of years. Dabbled in a working in php at the end of that, seemed a little sloppy as a language.
Then I just stopped programming for a long while. Did other things for a living, other things for hobbies. I'd burned out on programming because I wasn't doing the sorts of things I wanted to be doing with it.
Now I'm getting back into it and I just don't have any interest in Java. It feels like it's designed for slow, plodding steps, and writing code in it feels like I'm doing a lot of favors for the language rather than working on something interesting.
Right now I'm building small stuff in Python and dabbling in Clojure. Python lets me feel like the language is not at all a source of friction. I write the code as fast as I know what the code should be doing. Java does not feel like that at all. It's got its limitations, and there's certain things I'd drop back into C for if I wanted to do them, but Python is a language I can almost ignore while I'm using it, if that makes sense.
Clojure is a whole different animal, and I'm mostly using it to stretch my brain a bit. Get some concepts I'd like to learn.
In addition, Android development uses Java, but it has replaced almost all of the apis, so there are less warts.
But yeah, using Java means you have to write many lines of code.
Apparently bu.mp's Android app is written in Scala.
For the last several decades, the Wintel standard has dominated personal computing (PC). If we look at current market share data, Microsoft’s and Intel’s position in the PC market appears unassailable. As of September 2010, the Windows OS controlled 91% of the PC market (Net Applications, 2010), while Intel microprocessors controlled just over 80% (IDC, 2010).
But what if personal computing is shifting away from desktops and packaged applications, the stronghold of Windows and Intel, to a combination of “thin devices,” cloud computing, and online media? Thin devices are smartphones, tablets, connected televisions, and a myriad of other devices that connect to the cloud to access various online media, from video to social networking.
In view of this transition, the future actually looks quite bleak for Microsoft and Intel, despite their strong position in the PC market. Microsoft has struggled mightily in the smartphone and online media markets, and is reluctant to aggressively enter the cloud in fear that it will cannibalize sales of Windows and Office. Meanwhile Intel has struggled to produce microprocessors that appeal to thin device OEMs, where energy efficiency is prioritized over sheer computing power.
If Microsoft and Intel, and the Wintel standard are fading, then which companies and which standards are rising? Apple has been pushing the frontier in computing with its collection of thin devices (iPod Touch, iPhone, iPad, the Apple TV) and its media platforms (iTunes and the App Store). Google has also invested substantially in these new computing markets with Android on thin devices (smartphones, tablets, smartbooks, set-top boxes, and connected televisions) and Google’s growing suite of cloud services (e.g., Gmail, Maps, YouTube, Android Market).
Looking at current trends, it appears that the diffusion of Android and ARM may be accelerating past competitors. Recent NPD and Nielsen data indicate that Android sales have now overtaken Apple’s iOS and Blackberry’s RIM in the smartphone market. And analyst Paul Morland of KBC Peel Hunt estimates ARM’s market share in microprocessors will increase from 29% to 40% from 2010-2014. Meanwhile Android and ARM are on the cusp of rising in emerging device markets, such as tablets and connected televisions.
If the last several decades of personal computing was dominated by the Wintel standard, with AMD and Apple as the scrappy competitors. It appears the future of computing may be dominated by Armdroid (or a slight variant based on the Google Chrome OS), with Apple and several others as strong niche players. Of course there will be other companies that will rise and sustain their position as dominant players in other segments of computing, from enterprise cloud services (e.g., Salesforce.com) to online video (e.g., Netflix), and online retail (e.g., Amazon).
I just posted this to my blog and submitted the post to HN. If you enjoyed the read, I'd appreciate an upvote (the article title is "Armdroid"). Thanks!
Dominant model for mass use of computing was Wintel based desktop/laptop connected by the wire to the net.
It is changing now. There is a choice. Deskotop/laptop still exists. But affordable access to WiFi and GSM (CDMA in the US) net connectivity makes use of more mobile devices attractive. These devices are available in many factors and great price range.
The future is not so nice for developers and software firms. There was one target platform. Not any more.
But on the other hand there are completely new classes of needs which can be fulfilled by software. So we have new niches.
Great choice of prices and features.
Multiple hardware vendors.
Open and friendly development ecosystem.
Open market without one gatekeeper.
Sales numbers accelerating month by month.
It looks like the game is over. The winner is Android.