Monday, February 7, 2011

Android VS IPhone VS Symbian VS Blackberry VS Windows Mobile 7



Android
  • open platform Android
  • can compile custom firmwares - good for hackers and other
  • good framework, extended on each new firmware
  • supports multitasking  
  • nice IDE - Eclipse, NetBeans
  • development SDK is free  
  • easy to debug, can send logs to developers
  • programming language is Java but bridges from other languages exist (C# .net - Mono, etc)
  • Java is a high level language that appeared in 1995. Android supports Java 1.5 and translates the byte code to its own custom Dalvik byte code optimized for mobile devices.
  • for the hardcore programmers, Android offers the possibility of programming in C using the native dev kit NDK
  • can run script languages like LUA, Perl, Python, etc
  • can install third party applications from sdcard, random sites - not locked to a specific market
  • applications can hook and override everything - email interface, SMS sending, custom keyboards, etc
  • supports widgets
  • can publish applications on the Android market instantly - initial one time registration fee is 25E
  • user has access to the sdcard and can use it as a USB disk
  • Support Adobe Flash 10.1  

iPhone
  • closed platform
  • no multitasking except for some Apple applications. multitasking is probably going to be introduced in the next vertion of the iPhone, the iPhone 4
  • development kit costs ~90E
  • programming language is Objective C - but bridges exist from Java, C#, etc
  • Objective C appeared in 1986
  • next version of iPhone is supposed to only allow Objective C code, this means the bridges are out and you must program in Objective C if you want to create an iPhone application
  • applications are not allowed to duplicate the iPhone functionality - ie no custom email interface, etc
  • does not support widgets - unless the phone is jail broken
  • user does not have access to the sdcard - user can only do synchronization via internet or LAN  
  • third party applications can only be installed from the Apple store. For testing the applications, developers can use Ad Hoc publishing   
  • publishing on the store is a very lengthy and tiresome process. Apple has many and bizarre rules. Many applications were rejected for strange reasons.
  • no Adobe Flash support 

Symbian
  • opened Symbian and says the future will be QT and WRT - they will cut support to any other environment including J2ME
  • QT is a framework that adds a layer of abstraction over gui, network, gps, etc.
  • QT is cross platform and cross programming language - C++, C#, Java, etc. the licenses are GPL and LGPL.
  • QT runs on Maemo, MeeGo, BlackBerry, Symbian, Android, iPhone, Windows Mobile, desktop PC, consumer electronics, car entertainment, etc
  • WRT - web runtime - a cool feature that allows users to write applications in HTML, JS and CS. You build the app like a normal web page, and you interact with the phone platform/hardware using the WRT bridge.
    No need to learn any other technology. Just HTML, JS and CS. Very important: JS can call native code, but also the other way around. It seems you can call WRT JS with native code.
  • supports widgets
  • supports Adobe Flash Lite  

BlackBerry
  • as it is now, the programming environment is Java native and J2ME - not worth mentioning since they will probably be extinct pretty soon
  • Support Adobe Flash 10.1 support.
  • we expect a new OS so we will just have to sit patiently and see what's going to happen

 
Windows Mobile 7 
  • closed platform 
  • MS breaks compatibility with WM 6.5
  • programming environment is Silverlight and XNA
  • no native programming ie no hooking and overriding keyboard, etc - they removed PInvoke   
  • nice IDE - Visual Studio 2010
  • does not support multitasking for third party applications
  • third party applications can only be installed from the MS marketplace
  • no Adobe Flash support  
Notes
Android phones seem to be cheaper than the iPhone. Also the hardware is in some cases double than what the iPhone has.
For those coming from a Microsoft/Borland/Java background, Objective C will probably look like a very big step back - to say it as politically correct as possible.
Nokia says they will release the new phones end of this year and at a "lower price than ever". The Nokia phones are iPhone and Android clones - they can do what those two beasts can do, but nothing more. It seems they don't bring anything new to the table.
The available MS demos for WM7 are, to say the least, pathetic. It is a very non user friendly phone. Brings lots of changes (many not good) and totally breaks the look and feel the WM6.x owners were used to. Breaking software compatibility with WM6.x instantly puts many companies out of business.
The iPhone market seems to slowly but steadily go down. Some influence is the nice and cheap Android phone. Another reason for the iPhone sales dropping is that people are trying to get away from the whole iPhone = snob social stigmata.
In general, people tend to stick to their preferred phone manufacturer. Nokia fans are very excited about the new phones. Android users don't have anything better to switch to. BlackBerry users will never switch to other phones because of the great (subjectively speaking) physical keyboard.
The question is: what's going to happen to the iPhone and the WM7? I think the waters are too blurry at this time, so we'll patiently wait and see what happens. 

Iphone Versus Android
Iphone
Android
Ease of Use
YES

Openness

YES
Battery Life
YES

Multitasking
YES
YES
Software Keyboard
YES

System-Wide Search
YES
YES
Notification System

YES
Voice-to-Text

YES
Syncing

YES
Non-Google Syncing
YES

Tethering

YES
Release/Update Consistency
YES

Customizable

YES
Apps
YES
YES
Web Browsing
YES
YES
Gaming
YES

Music Player
YES

Free Tum-by-Turn Navigation

YES
Google Apps Integration

YES
Google Voice

YES




No comments:

Post a Comment