Wednesday, June 18, 2008

Browser as an application platform

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,


Tuesday, June 17, 2008

iPhone for 1 Euro?

Reuters reported that T-Mobile will sell Apple Inc's new iPhone for as little as 1 euro ($1.54) for the 8-gigabyte version together with a 69 euro monthly contract in Germany. I've already had a conversation in a Hungarian blog's post, in which people convinced me that the most important number most buyers look at is the entry fee that must be paid at the time of entering into a contract. Aftermath (i.e. how much it will eventually cost) is of less importance.

Could someone enlighten me why the (new, old - the same) iPhone makes people go crazy? Why do network operators contend for selling it? Besides the UI (which is very compelling & user-friendly, I admit), what else is in it that is not available in other high-end devices? What could Nokia and others learn from Apple so that people would fight for their devices, too? Or is this just another bubble that will explode when other phone manufacturers catch up soon?


Monday, June 16, 2008

Pay or not to pay for incoming calls and messages?

Hi there,

This is going to be a short post. I was just amazed by the fact that the same topic was discussed in two different blogs coming to totally different conclusions. It inspired me to write about it briefly.

IntoMobile's (and also Nokia's) Stefan Constantinescu, an American blogger living in Finland, blamed Apple why they had started negotiations with network operators and why not tried to sell their handsets unlocked and unsubsidized. He explained why the "American model" sucked (people have to pay even for incoming calls and short messages, they're usually bound to contracts, there's big burocracy, etc.) and praised the freedom Europeans and basically the "Rest-of-the-world" enjoy.

On the other hand, it was shocking to read it from El Reg that an EU commissioner Viviane Reding would let mobile operators charge subscribers to receive calls". Back to stone-age, ehh? It's the very reason why Europe and some countries in Asia are ahead of the US in this area: the burden coming from having a SIM-card + mobile device is not as big here as in the US. American carriers demand too much from users (burocracy, long-term commitment, etc.) while provide too little (poor services, strongly controlled activities [in terms of used services, installable programs, etc.]). I think it would be a huge step back if this idea came true.

I promised that I would be short,

Tote :)