Jan 9, 2011

Impact of Mobile Computing on the Web.

The short answer is "client/server" model again.

There is no question that both smart phones & tablets will become (if not already) important devices across the age groups in both personal & business use for web computing. There was a joke last week that during CES there was more tablets than taxis in Las Vegas! The limited real estate in these devices has happily brought back the "client apps" on the web. The "app stores" are basically AOL and only difference is the input: touch computing.

Is client/server model is good?
-Probably not.

-closed model

How is client/server model is not good?
-Dependency on the OS
-Developing open/open source tools for development will be challenging
-Potential to hijack even HTTP
-Information sharing may become challenging
-Basically this mobile apps concept will eventually be pushed back to the main-computer-web(already!) to enable vendor lock-in

Remember client/server 1.0? Remember the challenges?

It may be an accident but the 2 virtual machines with a open protocol made the commercial web 1.0 possible & viable.
-Browser on the client; Make the OS irrelevant for the end users
-JVM on the server; Make the OS irrelevant for the developers
-HTTP; Open & simple protocol

I agree that it is a challenge to use web browsers on the smart phones. We need apps.

So, the question is how do we develop apps across different OS? We need a virtual layer like JVM for the client OS. One option is take the VM concept from Java and port it to browsers. So the browser becomes the platform to run apps. This model of developing apps on top of browser already exists in Firefox for developing plugins/extensions- check out XPCOM. (Cross Platform Component Object Model) XPCOM has it's own complexity problem. I am just referring it as a model. A model something like this one has to be enriched/enhanced to make it as a true platform to run cross platform mobile apps.

This type of model will allow open competition and innovation. The innovation will happen not only in the mobile apps on client devices but also in the server land for the "attach rate".

We need open mobile platform to avoid lock-ins.

Happy New Year-2011.


At 1/09/2011 11:13 AM, Blogger Kevin said...

I for one am really excited about the up coming wave of mobile apps, tablet apps, and what it means for hopefully the job market. I still like the client/server model, but much more now with apps that make use of REST to communicate with the server than prior technologies.

The way I see it, like you said, apps instead of a browser on mobile/tablets is the way to go. They communicate with REST over HTTP, and the server side is easier to write now with a slew of updated technologies. JEE6 is so easy to work with for most things, much improved over previous versions... a lot of JEE4 developers that went away from it are coming back slowly, and finding that it's quite comparable to anything they've been using such as Spring/Hibernate.

Mobile apps.. well, you know my take.. it's all about Android. iPhone will be around for some time for sure, and it's good they are to provide some competition. But more times than not, I've read about developers that can't stand Objective C and the wonky development process for iPhone apps.

The one thing holding Android back in my opinion is the native layer. They need to give developers complete native control to the hardware. Primarily this means the graphics and audio layers. As a music guy, I loved some of the apps on iPhone that allowed me to play multiple sounds at once, like BeatMaker.. a sort of drum machine/MPC. These simply aren't possible yet on Android. As well, games have to do a lot of extra work to play music and sound FX, and time them at the right moment. Having a hardware layer to the audio would make all of this a non-issue. I am hoping Android 3.0 brings all that to the table for developers.

Right now is an exciting time to be a mobile developer. There is so much potential for one-off developers to write apps and make a living now. $1 for an app that sells a few thousand copies is a nice way to supplement the lower wages we're seeing now. If you get lucky and get a few million downloads, your set. Chances are slim still, but there are a lot of individual developers making good money this way.

At 1/09/2011 11:26 AM, Blogger Uday said...

I agree with you: Android & Apps.
As we know, Android is Java. Objective-C is not fun compared to Java even with Stephen Kochan's book!

The question is, can Android hardware vendors match the experience of iPhone? If not, consumers will push for more Apple.


At 1/11/2011 9:28 AM, Blogger Ryan Floyd said...

I agree re most of your thinking here. It seems like even with progress with HTML5 and all the support, its going to move at such a slower rate relative to the mobile platforms that we are going to see apps explode. However, I am not as confident as you that we are going to see much in the way of cross platform support - at least from the major companies. They are all hoping to build their own communities of developers. They view cross platform development to some extent as reducing the value of their platforms. That will change with time.

Just switched to the new nexus phone and pretty impressed.

At 1/17/2011 8:08 PM, Blogger Uday said...

I agree with you. For now, Dalvik/Android & Objective-C/iOS is going to create 2 separate mobile platforms. Only commonality is that both are Unix.



Post a Comment

<< Home