With Google having recently shown off the first Android powered device, there is a lot of media attention over the open source operating system. Given the problems some iPhone developers have written applications for the Apple device, brought about by the restrictive NDA that prohibits them discuss the code and therefore cooperation in solving problems, the Androind will be more attractive system for application developers? And if so, does that mean it will be the iPhone killer? In a word, no. Here's why:
Android is already late vey, Google messed up holding developers hanging. They have gone some way trying to , but a lot of damage already done . iPhone is a platform about a year, and the official SDK for several months, giving him a head start.
But the real problem is going to be the headset. Actually the whole thing is a problem. Android is open source, meaning that anyone can use it, and everyone (including handset manufacturers) can make their own changes.
So, on the one hand you have an iPhone, running Mac OSX (well, the iPhone OS, which is essentially the same thing). Each copy of iPhone OS is more or less the same (at least if you consider the version 2 will be iPhone OS and Discount Version 1, which is now working on only a minority of devices ).
iPhone OS is currently working on only four hardware devices, the iPhone first generation iPhone 2n-generation (3G), iPod Touch 1st Generation and iPod Touch 2nd generation. Among these, there are only four differences in available hardware: camera (not present in any iPod), GPS (not present in 1 or iPhone or iPod, although it is well known services are still supported in both via wifi or tests, or a cell tower triangulation), telephone / cellular network access (iPhone only), and 3G data (only present in the iPhone 3G). You could also argue the case for the vibrate function that is iPhone only, but it is such a phone-centric component is difficult to justify mention.
So, if you want to write applications for the iPhone OS, it is relatively easy, because you know exactly what you are dealing with. For example, if you need access to the file, the OS all the heavy lifting for you - it gives you an easy way to check if you have a camera available. If you have, it allows you to access the standard way, if you can not get access to the built in Photos app. In any case, you know you'll get access to the images in a standard way.
If you want location-based services, and you'll get access to all hardware. If you happen to find yourself running on the iPhone 3G, the operating system will provide GPS data, so that you place things will be more accurate, but it will still work on other hardware.
Everything else is the same in all devices - the same screen size, resolution, languages, keyboard, accelerometer, audio capabilities, etc etc.
Contrast this with the Android device. Just on the hardware side of yourself, you could be running on each of the potentially hundreds of different devices. You do not know what screen size you have - it could be as big as the iPhone, could be a little like a Nokia flip phone. So, but how do you even begin to design the user interface when you do not know how much space you have to do it in?
Then I do not know how many colors you can help, or if the device has a keyboard or not. This could have a touchscreen, or it might not. It might have a joystick or d-pad, or it might not. So how do you let users interact with your application, you do not know all of the above?
To continue ... The device can be run in English or French, or 100 different languages. I do not know whether there is a camera or not, and if so, what kind of camera? What solution? Does it do video? The same goes for GPS. And then what kind of sound capability is there? The list goes on.
Therefore, only the hardware, there are thousands of potential combinations, and you're never ever going to be able to test all of them before you release your application, unless you buy every Android powered device ever to be published ubudućnosti.
However, it becomes increasingly difficult, because remember the handset manufacturer can also change itself Andoid! So, you might write code that uses some "standard" part of the operating system, and then release the Sony phone that does not really have that part, because they can remove it or replace it with something they themselves have written. So, your application crashes.
with the assumption that somehow managed to write a program that I can adapt to every possible hardware configurations, and take into account the fact that it is running on the operating system that could be the same one that was developed for, or may not be, then they can distribute it to the Google App store.
Unlike the iTunes App Store, which vets all the software before putting it on sale, ensuring a minimum level of quality in the Google store, anything goes. What does it mean to be inundated with useless applications (many of whom will work for the reasons previously discussed). Users will take one or two applications, see they do not work, and give up. Chances are you will never reveal your work of art among all the junk.
In addition, Android is a good idea. A mobile market needs, because Nokia buys Symbian and will probably kill him, and Windows Mobile is just awful. So, Android will stimulate some competition. And if Google see your vision, it will end up running a DVD player, washing machine, and who knows what else. So it is useful to the project.
However, writing applications and getting them distrubuted, iPhone OS is light years ahead. He also got an Apple consumer marketing know-how behind it. Android is too techie, and will take much longer to catch on with the public. After all, apart from iPhone users, who bought the phone based on the OS to work?
0 comments:
Post a Comment