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.

Browser as an application platform

tote_b5 | 19 June, 2008 01:10

I've read the following analysis from ARCchart with great interest. I'm already familiar with the idea of writing applications for mobile browsers and that it can be considered as a real alternative for mobile software development. WidSets and Widgets are all around us, not to mention Flash Lite, Silverlight, two cross-platform solutions used for delivering (multimedia) content to more and more people.

The main point of ARCchart's article was to point out that the whole problem of fragmented mobile development could be solved by developing to a single run-time environment: the browser. The browser, which is today's most widely used applications on desktop and mobile computing devices alike.

What is this fragmentation thing, one could ask? Well, let's have a quick look at various mobile platforms, development environments:

  • It's a known fact that Symbian/C++ opens the door to the wide variety of native features of S60 and UIQ devices, however, it still has a steep learning curve and its programming environment is not too developer-friendly, either, compared to e.g. Java. The vast majority of smartphones are running on Symbian operating system (whether iPhone-fans admit it or not), however, development is often more (cost-)efficient for other platforms. Portability is a serious issue in Symbian.
  • Windows Mobile devices are very popular in North-America, especially among business users. However, its popularity is way behind Symbian phones' anywhere else in the world and don't forget the fact that there are much more consumers than prosumers. On this platform, you can write native applications in Win32/MFC/.Net, however, these applications are rarely portable across other platforms.
  • Java? Hell, it's the king of fragmentation in terms of supported (or rather unsupported) features, so-called JSRs. Even though it was supposed to bring the Paradise to mobile software developers, it's still suffering from severe problems.
  • What else? Linux? Show me some popular Linux-powered phones first and how people are making cross-platform, backward compatible programs for them.
  • iPhone? Mac OS X with its Objective C just increases variation. Even though C++ can also be used for programming and there are, for example, attempts to port JME programs to Obj-C, as I said: it just increases variation, which is the nightmare of programers.
  • Android? Although the whole system is based on mobile Linux, the primary development language will be Java. But which Java? Google's own. And although it's said to be a solid foundation for Google OHA members, it's still only a recommendation for them to choose whether various features will be supported in their devices or not. You can imagine how it affects fragmentation in the Java world - it will just make it even more complex.
Now how does a browser come into play? I'm sure that most readers of this blog have already heard of WebKit, an open source browser engine enabling mobile browsers to show and handle full-web content. It is used in Mac OS X's Safari (iPhone browser), Nokia's S60 browser, the built-in browser of Google's Android will also be WebKit-based, not to mention Digia's @Web, a recently announced port of WebKit for UIQ phones. Although there are other good browsers, too, such as Opera Mobile and IE in Windows Mobile, WebKit seems to be becoming the de facto standard in mobile devices (which is not necessarily a bad thing). It's also worth mentioning Opera Mini and TeaShark at this point, two Java-based browsers, both using remote back-end servers for pre-processing full-web content and showing only the digested content formatted for resource-constrained devices. Side-note: it's also WebKit that is running on TeaShark's back-end servers. :)

So is ARCchart right or not? Is the browser the ultimate solution for mobile software development? In my opinion yes and no. They're right that mobile browsers and complementing technologies (such as Flash Lite) are becoming more and more powerful, capable of rendering extremely complex web pages, performing surprisingly smart functions, letting the user interact with active content, exchanging data with remote servers, etc. However, whilst "older" web technologies (e.g. JavaScript) are not powerful enough to compete with the power of real programming languages, newer ones (e.g. Flash Lite) have not been widely adopted yet. For example, for a quick and very brief reference as to what the different versions of Flash Lite can and cannot do, visit this link. And even though there's not too much variation here yet, there will be: newer versions of Flash Lite will require developers to keep track of which mobile phone supports which version, how to distinguish between Silverlight and Flash Lite applications, etc. I'm afraid it won't be any different in the end.

In my opinion, web-based technologies will open up new alternatives (they've already done so, actually) for mobile software: not necessarily too complex ones, but at least enjoyable. And this is exactly what most people are looking for: they'd like to enjoy using these programs. These new kind of programs that complete the whole picture, add to it, but will NOT replace yet older but still powerful technologies.

Can hardly wait for your comments,

Tote

Comments

Re: Browser as an application platform

biskero | 19/06/2008, 02:55

biskero

Ciao Tote,

agree with you, is another platform to choose from.

Regarding FL we are keeping track of versioning on various devices using WURFL, it's an ongoing process!!

Alessandro

Not for a long time...

Sorcery-ltd | 19/06/2008, 10:21

Sorcery-ltd

Hi Tote,

Not much to comment really as I pretty much agree 100% with what you say. I think Flash Lite is very promising since you can also download and run standalone applications and Adobe are doing a great job of getting the player into most platforms.

Purely browser based applications for all use cases is a very long way off (or may never happen) on the grounds of performance and more importantly battery life - download for every run?! Interpreted scripting languages? Phones aren't plugged into the mains you know! :)

Mark

under development

coultonp | 19/06/2008, 10:41

coultonp

Tote

I think your analysis is right the browser will help but its not the complete solution. Its interesting that the browser doesn’t address one of the fundamental problems which is distribution of applications. This is why I tend to favor Widsets at the moment as there is a good model there and it allows the users to effectively manage the content through ratings.

Re: Browser as an application platform

antonypr | 19/06/2008, 18:12

antonypr

Michael Mace has put his bet on web applications (http://mobileopportunity.blogspot.com/2008/02/mobile-applications-rip.html). Personally, I agree that web and native applications will be complement each other.

Re: Browser as an application platform

wmseto | 22/06/2008, 10:11

wmseto

We will need C/C++/Java to build better browsers too! :)

You must login to post comments. Login
 
 
Powered by LifeType
RDF Facets: qfnZtopicQUqfnTopicZbrowsingQ qfnZtopicQUqfnTopicZcppQ qfnZtopicQUqfnTopicZflashQ qfnZtopicQUqfnTopicZjavaQ qfnZtypeQUqfnTypeZBlogContentQ qfnZtypeQUqfnTypeZBlogE45ntryQ qfnZtypeQUqfnTypeZCommunityContentQ qfnZtypeQUqfnTypeZWebpageQ qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX
            
            RDF Facets:
            
            
                        qfnZuserE5FtagQSxbrowserX
                        qfnZuserE5FtagQSxmobileX
                        qfnZuserE5FtagQSxoperaX
                        qfnZuserE5FtagQSxsymbianX
                        qfnZuserE5FtagQSxvsX