Join Now

Software architect working in Symbian/S60 area since 2000 and still being enthusiastic about mobility. Please visit my introduction page on Forum Nokia Champions web page.

Android SDK is out - first impressions

tote_b5 | 13 November, 2007 03:15

After watching the video about the introduction of Android for developers, I'm convinced that the new phone will generally be as useful and user-friendly as e.g. the-also-newcomer iPhone. Well, it came as no surprise to me, I'm just expecting a lot of innovation from the new player in mobile space. I don't expect that the new platform will offer as many features as traditional Symbian-powered devices and I can even dare to say that it's not going to be as stable, either ... yet. However, I'm pretty sure that they will catch up soon and offer real alternatives for users, phone manufacturers, operators, etc.

What has totally escaped my attention, though, was that the programming language for this platform would be Java. Based on the fact that it's going to be a Linux-based OS I kind of anticipated that the programming language would be C/C++. I don't know the rationale behind this decision, but it will definitely give a boost to the otherwise stagnating JME programming environment.

I wonder, though, how Google is planning to solve the infamous Java fragmantation problem for mobile phones. What is that? Well, even though Java is a very popular and platform-independent (aka portable) programming language, it's just the set of Java core services that is available on every mobile device. The presence of additional features, such as advanced mobile graphics, security, etc. depend on phone manufacturers' decision, whether it's worth adding them. Which makes Java mobile applications market very fragmanted (some features are available, some are not) and development very frustrating. You know, I have heard an example that a mobile Java game programmer had to make 100(!) variants of his game "just" to be able to distribute it to as many phones as possible.

Another thing about mobile Java development is that most mobile phones are running on another operating system than Java. In fact, Java is not an operating system at all, even though there have been attempts to make Java-based mobile platforms, see e.g. SaveJe for more details. But Symbian OS is similar to Android platform in that they both have their native platform (Symbian OS and Linux, respectively) meaning that platform features are usually available in native programming language first and then some JNI layer added on the top and there you are, it's ready for Java programmers. So far so good. However, it introduces some latency in the equation as it requires some time to write features in native environment first and wrap it in the second round. Will Android suffer from the same problem?

My regular readers already know that I was involved in S60 Browser development and it was very challenging and I really liked it. For that reason, I'm happy to see that Google chose WebKit for their mobile browser (S60 Browser is also based on this rendering engine) and in the demonstration it worked well. I was wondering which display method they would choose for web pages:

  • S60 approach that displays the web page in its entirety without scaling
  • or iPhone approach that scales down the web page to so that it fits to display dimensions, though it's hardly readable, but lets the user zoom it very conveniently (e.g. by double-tapping on screen)

They actually chose both: they first display the page without scaling and then user can scale it down for better navigation. I'm pretty sure that Nokia has their own IPR on MiniMap (i.e. the zooming interface) so that might be one of the reasons why Google didn't choose that option. However, what surprised me that they use the same visual history for page navigation as in S60 Browser.

So these are my first impressions after spending half an hour with Android after midnight. I'm really keen to hear your comments - just as usual! :)

Originally from mobile-thoughts.blogspot.com.

Tote

[Update]: I'm shocked, check this out: Dalvik: how Google routed around Sun's IP-based licensing restrictions on Java ME. It basically says that Android phones will NOT be JME-powered, but you can write JSE programs to them. With Android, Google has introduced their own VM, Dalvik, which eventually does not make use of Java bytecode, but their own Dalvik format. It's all to get rid of Sun being involved in licensing.
It's another question how good or bad will it be to the community. It means a new variant on the horizon, a VM incapable of running so-far-standard Java bytecode, thus your midlets will have to be re-compiled. I can see why Google is happy to have their own solution to this problem, but I can also see why developers would be unhappy due to that they'll have to take just another Java variant into consideration. Even if their pockets will be full with (Google's) money.

Comments

Re: Android SDK is out - first impressions

Alessandro | 13/11/2007, 15:13

Ciao Tote, about Java, pretty simple, is the most common mobile platform out there, so more developers. Fragmentation continues! Also someone noticed that there is no multitasking, and I am not sure why is that since the OS is Linux. Alessandro

Some C/C++ available?

stichbury | 13/11/2007, 19:25

Hi Tote! Thanks for the review. I think some C/C++ APIs will be made available too. The Androidology videos showed the architecture and highlighted the modules like OpenGL ES and SVG that are available. There's also a demo of Quake running on the proto hardware (http://www.youtube.com/watch?v=1FJHYqE0RDg) and another app which uses OpenGL ES. That'll be written using native code, and I'll bet there will be a number of game developers after access to those APIs.

Android

Kiran | 13/11/2007, 19:37

Hi, I too visited the details of Android, At first impression it seems a change for mobile users but nothing new by them. simply a phone with few google products at the initial stage. People will not waste their time to learn again something based on java. Android will take few years to build a community like FN. The best part of Android is opensource. Nokia can also open upto some extent, as its finally a business winning race. The negative part of android is it looks like a computer kindda interface, they are not able to bit Nokia-symbian a truly mobile OS. Coding also seems a bit tedious task in android, while nokia's python for series 60 is open source and Rapid application development. I would like to say no need to worry Nokia developers just be careful of new comer, The market share, operator support, developers worldwide and great community of Forum nokia are the big PLUS for Nokia. I think android will take decade to reach here, and in this decade Nokia symbian will always be ahead of it. I would end up with an example -- The new android can be a threat for second and third position between iphone and gphone. Nokia still remains at the top. Let them fight...!!

but java is easy

nEo | 14/11/2007, 05:45

Although J2ME cant support all feautres on pone but still programming in j2me is much easir than symbian c++.

J2ME is the opponent

StephBel | 14/11/2007, 17:59

I my opinion the real Android opponent is J2ME. Google as redefined all the basic APIs. Have you tried the Android SDK with Eclipse. In less than 5 minutes your have a complete Lunar Lander Game running on the emulator, with all the debugging facilities. Not bad for a first shoot. Now let’s wait for real devices to bench real performances. I thing native C/C++ applications performances will be hard to match.

Android Vs Symbian

Nitin SuperByte | 15/11/2007, 05:30

Yeh,, man.. Kiran u r very much right.. Nokia'll still remain on the Top.. "Kiatane aaye kitane gaye.." Same as Linux, windows is still in its same position.. And another is if the plateform is java for Android then i wana say it would be tuff to attract any Symbian C/C++ developer towords that... I think they are creating so much pomp and show before launching Android.. I saw a news about a huge award wining comptition... wich is as follows.... http://infotech.indiatimes.com/articleshow/2537160.cms
You must login to post comments. Login
 
 
Powered by LifeType
     
     RDF Facets:
     
     
     qfnZtopicQUqfnBlogTopicZgeneralQ
     qfnZtopicQUqfnTopicZbrowsingQ
     qfnZtopicQUqfnTopicZcppQ
     qfnZtopicQUqfnTopicZjavaQ
     qfnZtopicQUqfnTopicZseriesE5f60Q
     qfnZtypeQUqfnTypeZBlogContentQ
     qfnZtypeQUqfnTypeZBlogE45ntryQ
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX