Saturday, March 8, 2008

Only foreground 3rd party apps on iPhone - Intentional or Design flaw?

I read this post in Techcrunch which discusses on iPhone's limitation to allow only foreground 3rd party applications. 3rd party applications are the ones developed using the iPhone SDK.

While the Mike thinks that this is an intended restriction owing to the limited memory and resources, I personally do not think thats the only reason. And I know why I am correct for some reasons ;).

I believe the restriction is more of a design flaw of the iPhone SDK. I believe that Apple engineers haven't yet figured out a way (or most probably did not have time to do so) a way to switch between the native applications and the 3rd party applications. You would need a robust layer which will take care of remembering the 3rd party applications' running context and bring back the UI when the application again comes to foreground. Also, there might be scenarios wherein what about happens if a native background application wakes up and wants to use the UI. In which case, how would the 3rd party application behave. Would it be able to yield the user interface for the native application.

Most of the above use cases need lot of thinking and through integration of it into the SDK layer. I am sure Apple would later release an updated SDK which will allow 3rd party applications to run in the back ground as well.

There may be a work-around for this problem. The 3rd party application developer can care of trapping/getting notification from the OS/platform for exiting its own context and then saving the relevant context information in the memory. The next time you launch the application, it can read the previously saved context and bring itself back to the state of previous execution. Its very similar to playing the brick game in your blackberry.

Is Sun getting desparate not to lose mobile JVM market?

After Apple announced last Thurday of its intention to release the long awaited SDK for iPhone*, Sun has unveiled its intention to port JVM onto the iPhone.

Its looks like Sun does not want to waste any time bringing the mobile version of JVM (J2ME) onto the iPhone. Obviously this sense of urgency should be due to the fact that iPhone provides a very good platform for mobile applications and also because of the impending threat from Google's Android. Sun should already feel frustrated by Google's clever coup of replacing Sun's JVM with their own.

The way I see the future is that Apple and Google may be in a direct collision course towards mobile dominance. And Sun may want to be present in one of the camps.

What also remains to be seen is how would Sun JVM affect Apple's business model of trying to sell iPhone applications through their iTunes store (App Store as it may be called). With the JVM present on the iPhone, would mobile application developers like to leverage it or will they rather choose to directly use iPhone SDK. With Apple bringing in restrictions on the development platform (only Mac can be used has the host to develop and debug iPhone applications), it gives a point of leverage for Sun.

And what about performance! iPhone SDK is already a layer on top of the native iPhone OS APIs. Now JVM would be one more layer on top of it. Will the java applications written for iPhone in future have the same performance as other platforms?

The war for a mobile computing platform is going to get interesting as days go by. Keep watching this blog to see how this unfolds.

Useful Links:
* You may be interested in reading this coverage of the iPhone SDK Press Release by Ryan Block of Engadget.
- You can also watch Apple's official video on the iPhone SDK Press Release here. Note: You need quicktime player.

Thursday, February 21, 2008

Are you writing Java Apps for Android ? Maybe and Maybe not

Lot of people who are aware of Android think that they actually write mobile applications using Java. This is only partly correct.

What many people miss out is the fact Google Android uses ONLY Java Syntax. The java code that one develops for Android is converted in to standard Java bytecode. This again is converted in a different bytecode format (which Google claims that is an optimized, minimum memory footprint bytecode).

Basically, Android does not use a standard JVM (it uses a non-standard JVM called Dalvik) . The SDK also contains android.* packages apart from the usual java packages.

I found this post from Stefano Mazzocchi very interesting. He claims that the reason for Google using a non-standard JVM is not really for just optimization sake, but instead to get around any licensing issues with Sun for using J2ME. Wow! I never thought of that.

Its natural. If I were to run the Android project (instead of Andy Rubin), then I would start using J2ME as a preferred virtual machine for obvious reasons that we have a huge group of developers who can be readily moved/attracted to developing applications on Android. And then when it comes to licensing, I would think of someway to circumvent the problem and the one smart way is to make sure the final bytecode is not the same of the one generated by the standard java compiler. Thats exactly what Google engineers have done by developing Dalvik.


Other interesting links:
http://wireless.itworld.com/4269/071116googlesun/page_1.html
http://www.oreillynet.com/onjava/blog/2007/11/dalvik_googles_tweaked_nonstan.html

[Article imported from http://mohasinz.blogspot.com/2008/02/are-you-writing-java-apps-for-android.html]

Tuesday, February 5, 2008

Opera Mobile 9.5 announced - But whats the big deal

Opera has announced the latest version of their Opera Mobile.

You can watch this guided tour of the Opera Mobile 9.5 user interface and features.

Now, most of you who have been using Opera browser on your phone should be confused between Opera Mini and Opera Mobile.


Opera Mini and Opera Mobile are different in many aspects. If you have been using Opera on your phone for a long time now, then you should be having Opera Mini.

Opera Mini is java based browser application, whereas Opera Mobile is written as a native application for a Symbian S60 or Windows Mobile operating system (Opera Mobile 9.5 also seems to be available for embedded linux).

An other difference is that Opera Mini uses an intermediate proxy server which converts the web pages to much lower sizes. Opera Mobile on the other hand directly downloads the web pages onto the mobile and then figures out a way to render it on the screen.

Last, but not the least.. Opera Mini is free, whereas, one needs to buy Opera Mobile.

Now, is it worth buying a browser for your phone. May be and May be not. I don't want to comment on it unless and until I try out the 30-day trial version of their previous version of Opera Mobile.

Sunday, December 9, 2007

What makes you browsing experience in iPhone and Nokia N/E series phones great ?

You should thank Webkit, the open source web browser engine*, for the wonderful browsing experience.

This what the Webkit home page has to say:

WebKit is an open source web browser engine. WebKit is also the name of the Mac OS X system framework version of the engine that's used by Safari, Dashboard, Mail, and many other OS X applications. WebKit's HTML and JavaScript code began as a branch of the KHTML and KJS libraries from KDE. This website is also the home of S60's S60 WebKit development.


Apart from Apple (as the Safari web browser in their Mac OS X, iPhone and iPod Touch) and Nokia (in their N and E series of phones), Google has also included Webkit as the default web browsing engine in its recently released Android platform for mobile devices.

In his post, Bob Cringely reasons as to why Webkit is such a strategic project for Apple and why it would also be the driver for the rumoured iTablet (you find my previous post questioning as to whether Apple's PDA would click or not ?).

You may also find it interesting to read this post by Om Malik about Webkit's rise to popularity. Gives you a quick round up of where webkit stands compared to its competition.

Webkit is still evolving (but fast) and has a long way to go before winning hearts of hardcore Opera Mini fans like myself :). Read this post in Wap Review to know why Opera Mini 4.0 is better than Webkit on a Nokia (and I completely agree with that).

-------------

Web Browser Engine - This is the piece of software which downloads the html web page from the address specified by you, processes it and renders it back on the screen of the display device. The screen could be anything from your PC Monitor to an iPhone's touch screen.

[Article imported from http://mohasinz.blogspot.com/2007/12/what-makes-you-browsing-experience-in.html]

Tuesday, November 27, 2007

How does Google benefit from Android?

This was the question my friend and office colleague was asking me when we were, in general, discussing about technology.

I explained to him that Android will speed up innovation on the mobile computing front thus ensuring that users have a better and more PC-like web browsing experience on their mobile devices. This ensures that more and more users will starting browsing the net from their phones and thus ensuring that more and more traffic is driven to one of Google's many services where they serve Ads and also not to forget that Google Ads are scattered all over the world wide web.

Basically, Google believes in increasing size of the pie rather than increasing size of the slice in the existing pie. Interesting quote isn't it :). Well, I read about this quote in this news article by Financial Post which questions Google's business model on going the open source way with OpenSocial and Android.

Though I told my friend about the above, I wanted to confirm again if this is how Google really was hoping to benefit out of Android platform. So I did a little bit of Google'ing and and came across this interview given by Eric Schmidt and Andy Rubin, Director of mobile platforms at Google (the brain behind Android)

This is what Eric Schmidt, CEO of Google, has to say in his interview at PBS.

SPENCER MICHELS: Now you say you're almost giving this away, why?

ERIC SCHMIDT: We're giving Android away because we benefit when the Web is better. We benefit when more people are using the internet, especially on mobile devices. And we benefit because when more people use Google, more people use Google search and every once in a while those people will use our ads. So eventually we think an Android mobile user is pretty likely to use Google advertising and our studies indicate that mobile ads are going to be worth a lot more than the traditional ads that we sell.

SPENCER MICHELS: Why?

ERIC SCHMIDT: The easiest example to think about is how personal your phone is. Everyone here, everyone in our audience has a mobile phone, very hard to get away from them. That phone is with them, it knows where they are. Imagine how we can use that information to provide a more targeted ad, if it were appropriate.

By the way, it is a very good interview and would recommend reading it if you want to know Google's plan for Android and mobile computing.

Google forming the Open Handset Alliance and defining a new mobile platform called Android once again proves my point that there is this race to establish a linux-based mobile operating system/platform (Oh yeah.. Android is based on Linux. On top of Linux, they have a Virtual Machine which offers APIs similar to Java VM but is supposed to be much more advanced than Java VM).

But with Google intelligently forming an alliance which includes telephone operators to handset manufacturers to chip manufacturers, they are better poised to take over the Mobile Operating System space much to the dislikes of giants like Symbian and Microsoft.

Google not just stops there. They even have a announced a $ 10 million prize money for users who develop useful and compelling applications using Android. This is to ensure that more and more developers get involved in this effort.

The advantage, I could perceive, from Android could be the following:

Handset Manufacturers: They would not have to pay hefty licensing fees to proprietary mobile operating systems like Symbian and Microsoft. So the cost of the handset goes down thus boosting the handset sales.

Developers: Because it is an open platform and almost everything is available for free, you can pretty much write any application you want. Imagination (of course the phone's capabilities) if your limit.

Consumers/End Users: Because handset prices go down, consumers can afford to easily buy them and they also get to install and use thousands of applications that were developed by the open source community.

Telephone Operators: They get to benefit because consumers start using these web-enabled/web-based applications on their Android phones and thus the data traffic is going to increase drastically. Operators are going to charge for this data traffic.

Of course, not to forget Google (and others).. they would be benefiting as well from Ads clicked by users on their mobile phones.

I am not sure how successful Android is going to be. But my gut feeling says that it will take off well. But, I believe, for the mobile web to pick up really well, the network speeds have to improve a lot. They sure will. Its just a matter of time.

-----------------

For those read this post till this point, scratching your heads, wondering as to what Android was all about, please read below.

Google, earlier this month (Nov 5th, 2007) announced that it was forming the Open Handset Alliance which is going to drive the development of Android. Android is an open platform for mobile phones which consist of an operating system, a set of software modules for performing some of the common tasks on the phone (middleware, as we call it in software terminology) and a user interface. You also can download the software development kit (SDK) for developing your own applications that run on the Android platform.

[Article imported from -http://mohasinz.blogspot.com/2007/11/how-does-google-benefit-from-android.html]

Wednesday, October 17, 2007

Nokia N810 Internet Tablet released - Competetion of iPod touch ?

Nokia announces the release of their Internet Tablet, the Nokia N810.

You can view the official photos of this device here - http://www.nokia.com/A4136017?category=n810

Please do not confuse this device for a mobile phone because of the Nokia branding. The internet tablet is a wifi-enabled Mobile Internet Device.

This device provides you with an option to connect to the internet while you are on the move. You can do what you usually do with a PC.. you can browse, chat, make internet calls, access web applications and apart from that you can use it as a media player as well.. all this while you are travelling and away from your PC.

The device has a 4.13" (800x480 pixel resolution) touch-screen. Unlike iPod touch, you also have an option to use qwerty keyboard.

Also, it comes with an integrated GPS with an built-in maps and satellite navigation applications.

And yes (I am happy to say this :)), it is based on the Maemo Linux Operating System (Debian Linux derivative) . Now this is very important for the device to gain popularity. This device provides an environment where Linux developers from around the world can contribute towards developing interesting applications for this device. If developers are interested, users would also be interested as well as they have more choices in terms of applications for this device.

Now, I could not find a page where its specs are given. The specification details given in the press release are scattered. So here is the consolidated specification of this device that I could derive from the press release. The list is kind of crude and is incomplete. But is better than what is mentioned in the press release :)

Hardware Specification:


  • Screen Size: 4.13" (800x480 pixel resolution)
  • Connectivity: Bluetooth and Wifi
  • Touch screen and Sliding Qwerty keyboard
  • GPS
  • Integrated VGA camera
  • External Memory: 10GB Memory Card (Optional)

Software Specification:

Highlights:
  • Offers true Web2.0 experience.
  • Open platform. Gives an opportunity for the open source developers to take part.
  • Touch Screen & Qwerty keyboard available

My Thoughts:
As, I have mentioned before, Mobile web is picking up pretty well and it is going to be next happening this after the PC revolution. Your life is more and more going to depend on these intelligent mobile devices. I wouldn't be surprised even if people stop buying PCs 10-15 years down the line when all they need is accessible through a mobile device.

Nokia realizes the potential for a Mobile Internet Device and is got a lead with their Internet Tablet series.

The iPod touch, I feel is more or less similar to the Internet Tablet. Both these devices are going to prove that mobile devices are a capable platform for accessing the Internet.

Now that brings up an interesting point. Nokia and Apple are competing with each other directly. While Nokia shows the media player functionality to their Internet Tablet, Apple has brought Web Browsing capabilities to the popular iPod media player.

Nokia, I feel has an obvious advantage here. Having been the leaders in Mobile phones, they are well placed to come up with more innovations to their devices. Also, the Internet Tablet provides an open platform for developers to value-add by writing applications of their choice. iPhone/iPod touch are very restricted in terms of supporting the developer community. Apple may lead the race for now in terms of usability and multi-touch features of their device. But its a matter of time before these features become a commodity.