Why Android Is the New Windows
An anonymous reader writes "Windows' dominance of the PC market has been good in many ways: reduced hardware costs, increased IT literacy and a standard development platform to name a few. Perhaps Android will bring similar benefits. But unless Google are very careful, it is likely to bring some of the same problems, too."
Window's dominance of the PC market has been good in many ways ... increased IT literacy
What?! That's like saying McDonald's did anything for fine cuisine. Gimme a break!
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
Looks like I'm sticking with the iPhone for a while then. I've gotten to the point where I'll happily sacrifice a small amount of money and a little flexibility in exchange for a well-vetted, vertically integrated solution rather than an assembly kit that I can use - if I wish - to build something great. With the increased power to do your own thing all to frequently comes the need to do your own thing, with your own time and your own money. Not on my phone, thanks - I'll leave tinkering to the hobbies I choose rather than a useful accessory for my life. And yes, I'm a developer.
You're special forces then? That's great! I just love your olympics!
"The entire phenomenon of viruses and malware is a result of the proliferation of Windows, the people behind malware take advantage of that same standard development platform."
This sentence is so stupid that it invalidates the arguments contained within the entire article. Who thinks that if Apple and their marriage of hardware and software were to have only existed in some anti-Capra Steve Jobs as Mister Potter world of computing, that viruses and malware would have not existed? Because there are no viruses for MAC OS? By that logic, wouldn't NeXT Step have been the most secure UNIX ever? To lay the existence of malware at Redmond's feet is to be so ignorant of computing and O/S design as to make anything said about Android totally and completely moot.
Sort of like developing for the PC, right? I know, we should all move to vendor-locked consoles.
Well, when you've got such a tight-fisted control freak attitude it's not hard to ram everyone into a few boxes.
Microsoft basically dictated every bit of hardware used at the level of the OS. There are some minor differentiating features, but they're all basically the exact same hardware with different attachments (displays, speakers,) plastic cases and vendor logos.
This would have happened for ANY OS that wasn't tied to a big-iron vendor. As I recall, this was (and continues to be) true for Macs as well.
No. Unless you jailbreak, the software you run on it has to pass a vetting by them. If they pull it later, you'd better hope you don't lose the copy on your PC/Mac.
Are you sure you haven't mixed up Apple and Google? Last I checked, you weren't forced to go to the Marketplace to install software except on a few obscenely locked down devices from AT&T.
So if Android is Windows, iOS is MacOS, does that make Maemo/Meego the Linux of the mobile world?
"My N900 runs Linux."
"So does my Android phone."
"But the N900 runs GNU/Linux!"
I still get to feel superior.
As a developer there is a HUGE difference...
The iOS devices basically progress in a predictable fashion inheriting the functions of the last gen.. IE you can easily choose your lowest target and with very minimal tweaking support ALL higher / newer devices.. Also using consistent APIs you can detect specific models and enable specific features, knowing they EXIST on the device without writing custom code to detect them.
As android has progressed there have been APIs from vendors made to support model specific features. You can't count on what UI the user sees since HTC, Sony and Moto all reskin the OS... Makes it fun to explain to users how to do stuff when the OS looks alien.
EA David Gardner -"... but the consumers have proven that actually what they want is fun."
I'm an android developer, and I *do* share his concerns. There are three aspects to the problem:
1. Unintended device differences.
I've had loads of emails from people saying that my app behaves incorrectly on their phone, whereas it works perfectly well on mine and many other phones. There are certain areas of development where the differences in behaviour on different devices can be pretty huge. In my case it is sleeping and waking the device, but there are others, like sound latency, graphics capabilities, and multitouch behaviour (*cough* stupid dual-touch *cough*). You really do need to test these apps on the actual phones in order to make sure they work (or wait for "I am shocked that this free, ad-free app doesn't work." emails).
2. Intended device differences.
There are a ton of different android phones. Suppose you want a layout to work nicely on all of them. Android has a pretty nice framework for selecting a layout file based on device differences, and these are only *some* of the things it can consider: orientation, whether the keyboard is open, screen size, screen aspect ratio and night mode. Multiply those and you have a lot of work. Ok presumably you wouldn't use all of them, but you could *easily* end up with 6 layouts for one screen. It doesn't help that Android's layout system is one of... no *the* least well behaved I've used. It frequently does stuff that makes no sense (search StackOverflow for examples).
3. Old versions of Android.
Yes it is a bigger problem than on iOS. 17% of users are still on Android 1.5 or 1.6. How many iOS users haven't upgraded their OS for a year? Actually I checked, and Apple stopped providing updates for the original iPhone 2.5 years after its release. It seems most Android phones don't even last a year before they are end-of-lined. This affects developers because it means you can't use the latest nice APIs without either using ugly reflection hacks (not possible with the NDK) or ignoring some users.
There's lots to like about Android, but don't pretend there aren't any flaws.
Fundamentally I agree with your premise, but Archos is not a good example, because it can never be certified for Android as it lacks key components, like that pesky phone part.
However, speaking as someone who once upon a time managed a platform matrix validation lab for Windows software, I agree completely that the platform matrix for Android is unwieldy. People who say that it should be easy to support all Android *certified* devices (much less all Android devices) are simply not doing the math. Constructing and maintaining a test environment where you can check your software against all screen resolutions, API's, and peripheral selections is a huge problem with combinatorial complexity. And actually running and debugging all those test cases is hugely time consuming and expensive.
Of course, I expect to be modded down. It seems that every time I reply with *actual* *real* *world* *experience* on a topic where I know enough to have managed many people and had a six figure hardware budget, I get modded down because my actual data conflicts with peoples' religious beliefs.
But, in the end, Android will probably win despite the technical complexity of testing software. It will win because of openness, and customers will whine about how buggy the aps are because they are essentially untestable. It *is* the new Windows in that respect. I believe that strongly enough that two days ago I removed the iPhone SDK from my Macbook and installed the Android SDK.... but with eyes wide open about how nasty and alligator filled the swamp ahead actually is.