Saturday, December 6, 2008

The diversity of Symbian development

When talking about mobile software development lots of people forget about the fact that it's not only the native programming language that can be used on a given platform. I've read a lot of comparisons between Symbian/C++, Win32/MFC/.NET of Windows Mobile, Objective-C on iPhone, Android, etc. lately discussing the advantages and disadvantages of these options, maturity and popularity of the underlying platforms, probability of writing successful programs, etc.


The problem with these comparisons (in which Symbian/C++ is typically at the end of the list with its peculiarities and steep learning curve) is that they discuss only half of the picture. The more advanced a mobile platform the more you can do on it - which applies to software development, too. I strongly believe that one of the strengths of software development on Symbian platform is that it's not bound to a single programming language, SDK, etc. A lot of you might not know that for Symbian-powered devices you can write software in
  • Java - Mobile Java (JME) has been available since the early days,
  • Flash Lite - Adobe's Flash has been added to S60 phones 1-2 years ago,
  • Python - Python for S60 is an open source initiative enabling rapid application development,
  • Ruby - Ruby for Symbian is one of the newest additions to S60,
  • .NET - Red Five Labs's add-on to S60 platform is tempting Windows Mobile developers to use their skills on another platform,
  • NS Basic - Powerful development environment and run-time framework for programs written in BASIC (link),
  • HTML using other web technologies like CSS, Javascript - Apple's WebKit rendering engine is becoming the de facto standard for mobile browsers making them capable of showing full web pages (i.e. not only WAP or mobile web). This enables widgets development for a range of smartphones like S60-phones, iPhone, Android, etc.
You can see from the list above that Symbian development is much more than native application programming. On the contrary, I dare to claim that native programming is becoming less and less relevant over time. Of course, each option has its strengths and weaknesses (as well as native programming) the point is diversity, the possibility to choose. This (among others) makes Symbian OS's position stronger than its competitors': if you can develop for one mobile platform it's almost sure that you can use THAT knowledge for Symbian development, too. One exception for this might be Objective-C on iPhone, but I wouldn't be surprised if that became a reality on Symbian in the near future, too.

By the way, Simon Judge made a quick comparison between different platform development options - it's worth a read. As well as Andreas Constantinou's  post at Vision Mobile - a well-written article about mobile application runtimes for better understanding this world.

Any comments are welcome,

Tote

Wednesday, November 26, 2008

Nokia should buy Yahoo?

It's already known to most people that Yahoo! is in big financial trouble. Even worse, they were tried to be bought by a company (Microsoft) they didn't want to sell themselves to. They successfully fought against that attempt, however, their value was much higher at that time than what it is today. They were even "helped" to survive by a company that they normally call a competitor (Google). But this help didn't last long as Google was afraid of the consequences of a deeper relationship with Yahoo! (i.e. antitrust).


Now Yahoo! has an even bigger problem with much lower valuation. That, among others, inspired telecoms.com to speculate on whether it would be worth for Nokia to buy Yahoo!. Besides the fact that financially it would be a good deal for Nokia, they would even win a very popular brand (especially in the US!) for themselves. And all this along with that Yahoo! is very strong in (web) services would make their position much stronger against Google, Microsoft, Apple and the likes.

Putting aside the negligible fact that there's a world-wide financial crisis lately is this option not worth considering?

Tote

Update: El Reg reported that Nokia CEO Olli-Pekka Kallasvuo had answered this question during MWC 2008 saying 'no' to a possible acquisition of Yahoo!.

Tuesday, November 25, 2008

Mobile Monday in Hungary

I don't know if you've ever heard of the event, Mobile Monday, but if you visit their site you can see that it's a global community of mobile industry visionaries, developers and influentials fostering cooperation and cross-border business development through virtual and live networking events to share ideas, best practices and trends from global markets.


Now it has finally arrived to Budapest, Hungary! I attended the very first event last evening and I was surprised to see how many people are involved and interested in mobility in this small country! It wasn't a very long event and there were only two presentations, but hey, it's the first one, right?

Actually I was interested in Torsti Tenhunen's presentation (Mobile Media – connecting and consuming everywhere) and was also wondering how many people have ever heard of Ovi, for example. Not too much as I could see in the audience. There was a Q&A session at the end of the presentation and since the audience didn't dare to ask anything (including me ... sigh), some people were randomly picked up to ask questions. I was picked up, too, and managed to ask a tough question. At least, even the presenter admitted that it was tough.

What was my question? Well, relating to Ovi I always wondered what Nokia's view on entering a competition with such big names as Apple and Google who have already proven in (web) services. My question was something like "How does Nokia intend to compete with those popular services that people have already got used to (iTunes and Google's bunch of services) and in general how do they see their position in the new devices + services setup where manufacturers are rolling out their own services, too"? Well, I admit that it's not a question that's easy to answer. As I mentioned even the presenter admitted that. Of course. I like to ask tough questions. Anyone can ask easy questions, but not so many people can point out things that are behind a presentation. This was the first full presentation that I saw about Ovi (of course, I had already known a lot of things about it beforehand) and although it was a new concept to most people I wanted to know more.

To be honest, my question was only partially answered. Some marketing hype was included in the answer (we're good at services, people will buy the idea, because they're gonna be very good, we have our brand name, etc.) in addition to pointing out the fact that Nokia has nice programs for emerging markets (think of Nokia Life Tools). This argument is valid, indeed, I've even already discussed about it lately. On the other hand, my addition to this list would have been something like:
  • the coverage of offerings these companies offer (including Nokia) varies and that gives users the freedom to pick up their choice of service provider,
  • Nokia plans to set up its own MVNO in Japan (read about the consequences and how it's supposed to affect e.g. Ovi here).
Anyway, I'm happy to attend upcoming MoMo events in Budapest in the hope of stiring up the "local" water. With unpleasant questions if necessary. :)

Tote

Monday, November 24, 2008

NOKIA N96 - BRUCE LEE Edition :)

I just love this video! :)



Tote

Thursday, November 6, 2008

Random thoughts on recent news

Hi,


So many things have happened in mobile world recently that I can hardly cope with their sheer volume. This time I would just add my quick thoughts to some of them, one-line comments that I would like you to comment, too.

Let's start with VirusGuard Coming to Android Market in 2009: yeah, a clear disadvantage of full openness coupled with user-controlled security policy is that such a software is necessary. Remember that famous anti-virus software vendors also tried to gain a foothold on mobile phones based on Symbian OS, too? Unfortunately, Symbian's security mechanism works so well that there is no real demand for such software on these phones. Note: since Android Market is  only for free software (yet), this commercial software can be purchased from Handango.

I've read two interesting reviews on the user experience of T-Mobile G1 and Nokia S60. In fact, these two were compared to each other. It was funny to read how two people with different needs could come up with contradictory results. Whilst Matthew from Darla Mack's blog found Contacts, Syncing, E-mail support and a "lot of other things" being superior on G1 he confirmed it too that there are many things that need improvement in upcoming Android-powered devices as well. Chris Walters from TheNokiaBlog, on the other hand, found just the opposite: he thought he could at last forget about S60 and can enjoy all the things Android can provide, but realized that S60 is still superior to Android in many aspects: build quality of device, camera, not being locked to any carriers, etc. There are two immediate conclusions I drew from these (and other) reviews:
  • Don't believe to any reviews, but make your own decision based on your own needs. For example, how would you decide based on these two reviews cited above when they both claimed that G1/S60 was superior to the other platform in Syncing?
  • Nokia had been the king of user experience on mobile phones until iPhone and G1 appeared on the horizon. The structure of menus, applications, settings, etc. were logical, consistent and compatible across a wide range of devices. It was engineering-driven so it couldn't be in any other way. Following an engineering-driven approach, however, is not enough anymore. In my opinion these companies could learn a lot from each other. It's not a sin (well, generally) to copy one's idea if that has proven whereas ours has not stood the test of time. The point is better user experience, which is better both for users and vendors.
The third thing I found worth being mentioned is Nokia Friend View. This beta software is similar to IYOUIT (for example) that I've already given a try to and liked much. I can see this kind of software being useful from another point of view (than what they advertise), too: I'm a family man and although my kids are small I know that the time will come quickly when I will let them hang around but still would like to know where they are. The wide-spread of such a software (and hardware!) will hopefully keep me relaxed in those times.

Finally, Nokia has made a very important announcement in the past week: they introduced Nokia Life Tools along with 7 new models under €100 price range. According to the press release, Nokia Life Tools is a range of innovative agriculture information and education services designed especially for rural and small town communities in emerging markets. Knowing that the opportunity at the bottom of the pyramid is huge, and handset manufacturers and network providers alike are working hard to fill it with phones (this time cited from PCWorld) it's no wonder why these new models can be purchased at never-seen prices. Nokia has finally entered the war fought for phone owners with thin wallets with the introduction of Ultra Cheap Phones.

Tote

Friday, October 31, 2008

Ridiculous strict control in Apple AppStore

One of the most useful applications mobile users could ever use is Opera Mini. This freely downloadable tiny mobile browser relies on a remote server to do the "dirty job" and let the thin mobile client display the result and handle user interactions. It's available on most mobile phones, not only smartphones, but feature-phones, too.


But not on iPhone. As Unwired View reports Apple will never allow Opera Mini to be available in AppStore, because it would be a competitor to the built-in web browser (which performs very well, btw). What the hell? What kind of attitude is it? It's definitely not the one that drives innovation! Anyway, I have already heard it in the news that there were other applications that were rejected, too, due to competing with the features of built-in iPhone applications or not adding too much value to them. It's ridiculous all I can tell.

Anyone can see how does it compares to Android Market where anyone can upload any applications and it's the community that rates them - just like movies in YouTube. I'm not saying that such an openness cannot be dangerous sometimes (since no control means widespread of malware, too), but this tight control from the manufacturer side is not acceptable for me in the 21st century. And I think it applies to most of us, too.

Tote

Update: Just read it on PCWorld that officially it's not confirmed that Apple would reject Opera's request for submitting Opera Mini to AppStore. In fact, the application hasn't been submitted yet. It's just so confusing to find out the truth from what different directors say ... :(

Update2: Rethink Wireless reported that there are some ISVs that are more equal than the others. For example, it seems that Google could gain access to some sensitive APIs that others didn't manage to. This makes Apple's situation even worse.

Monday, October 20, 2008

Carnival of the Mobilists, 146th Edition

Hi all,


Thanks for including my article in the 146th Edition of CoM this week!

Tote

Thursday, October 2, 2008

Transforming mobile industry

I read the following quote from Olli-Pekka Kallasvuo, Nokia CEO, in InformationWeek:

"The industry as whole is in the middle of a transformation, and it's a very exciting time," said Kallasvuo. "It's moving from a device industry to an experience industry, and we're making a conscious long-term effort to capitalize on that."


It is so true that it inspired me to write a summary on how things have changed in the "smarter" segment of mobile sector (read: smartphones) lately. Let me recap what was the situation in the near past and then talk about how things are changing recently.

In the classic device manufacturer - network operator - user triangle the roles were as follows (simplified version): user purchases mobile phone from network operator (or elsewhere) and uses those services that are primarily provided by the network operator. The manufacturer never gets any money after purchase and the user  is often unhappy with the content/quality of provided (value-added) services.

This is now about to change. The two most important changes (as I see it) are that 1: the above triangle is "rectangularized" by an old/new member of the value chain, a separate content/service provider and 2: that device manufacturers such as Nokia and Apple OR operating system vendors such as Microsoft and Google want to get money after sales, too: they'd like to enter services business. As to point #1, not as if content providers hadn't been present so far, however, the means to access content and the capabilities of devices have not been ideal so far to say the least. As for point #2, there are two reasons why manufacturers would like to enter services business (take it over from operators?): first, there's a great demand from users to consume content that operators have not been good at providing and second, there's great money in it. Apple and Google are very good at providing services now they'd like to be involved in adding new means (i.e. phones) to accessing their services. Whereas Nokia and Microsoft are both in a strong position in smartphone market and naturally they'd like to get more money out of the whole business.

Another aspect in the new business model is whether or not shall mobile OS vendors require license fee for their software to be included in shipping devices. I'm talking about free and open-source mobile OSes, like mobile Linux. Although mobile Linux stacks have not gained so much popularity in the past years, they still do attract manufacturers wishing to lower their bill-of-materials (BOM). Google Android and the new Symbian (Foundation) OS are another two good examples for "license-fee-free software stacks" and Windows Mobile is for fee-based. iPhone's Mac OS X cannot be mentioned here, since Apple doesn't allow anyone to license their software stack, but make everything on their own.

How do mobile OS vendors pamper their developers?
  • Of course, with a free SDK to develop on. Most of them can be used only on Windows (except iPhone on Mac OS X), true emulation is available on Windows Mobile and iPhone, where development is done on the same platform as the target platform,
  • Free tools for development. Unfortunately not everything can be done with these tools, but you have to pay for their fee-based version should you need to use more advanced features (e.g. on-device debugging in Carbide.C++),
  • Signing your own installation package is mandatory for both iPhone and Nokia S60 phones, but not on Windows Mobile and Android. Latter advocates that the user is always capable of making proper decisions on security-related questions and it does not restrict the availability of 3rd-party applications by requiring signature. As Symbian's David Wood put it: let's see what operators will say on it.
  • As to developer support, old players are in the best position here: there's a great community support for Windows Mobile developers as well as materials to train themselves. The same is true for people who are developing for Nokia phones. Whereas the first non-beta Android SDK has just been introduced (you can imagine the level of support Google provides at such an early stage), not to mention Apple who wanted developers to sign an NDA that essentially prevents free information flow, writing books on development, etc. This has changed recently, since Apple finally scrapped their iPhone NDA and promised a new contract with less restrictions. Note: if Apple hadn't made this step they would have lost the majority of their developers.
  • Developers reward programs (MVP from Microsoft, Forum Nokia Champion program from Nokia), fee-based support for ISVs willing to pay for advanced services, webinars, trainings, books, etc.
  • Stores to capitalize on applications, themes, etc.
As to the stores mentioned above,
  • Apple's (in)famous App Store acts as a central distribution channel for 3rd-party applications. Unfortunately, Apple keeps this place under such a strict control that bitters lots of developers' life who simply don't understand why their programs can't be sold just because they're similar to the built-in applications. On the other hand, Apple keeps only 30% of revenue making App Store more compelling than lots of rival portals, such as Handango.
  • Having introduced T-Mobile G1 a few weeks ago, Google has also thought that it was a wise idea to create their own Android Market, a market place for downloading Android applications. What is surprising, though, is that Google is not planning to capitalize on sold applications, but expects mainly freebies to populate this place. It wouldn't be Handango if they didn't make the best out of this situation: why not use Handango to get some money for your Android app? It's also worth noting that Google, similarly to Apple, will be able to remove any 3rd-party applications (downloaded from Android Market) from Android-powered handsets if those applications turn out to violate developer distribution agreement.
  • Nokia already has their Software Market, however, things might change with the start of Symbian Foundation next year: as Antony Edwards from Symbian put it "[they're]  pushing hard for a ensuring a zero, or a close as possible to zero, cost to the software vendor: so no cut of revenue for the Foundation".
  • Finally, Microsoft hasn't maintained their own single portal that ISVs could use for selling their 3rd-party applications, but people had to (and still have to!) use other providers. This article shows what one can conclude from job postings: with the coming of new devices based on Windows Mobile 7 a new portal, SkyMarket will also come in Q1 2009.

Nokia is very keen on transforming from being a device manufacturer to an "internet company". Their Ovi and Mosh are two examples of already launched services, which they just want to further improve with Instant Messaging (by buying OZ Communications) and Comes with Music. On the other hand, whilst strengthening their services portfolio they restructure their businesses so that they focus less on own product development (selling Nokia IntelliSync). Sometimes lowering the prices raises the revenue - wonder how the recent price cut will work out. It's especially important that since  more and more people own Nokia devices, it increases after-sales revenue, too.

I've been already thinking on what Microsoft's reaction will be to open source and then found the answer: Steve Ballmer doesn't understand what's good in open source for Symbian and Google and anyway they won't get into handset business as long as they can make a lot of money from software only.
What they've started to work on lately, which you might have already heard of in the news, is 'Windows Cloud' OS. This idea is not new at all, however, it might affect the way how people use their mobile phones today: all you need is a portable device with a tiny display, some computing power and a good browser (you can call it 'smartphone') plus a good connection to the "cloud". Data, business logic, resource intensive heavy computation - all done on remote server(s) and you get only the result to your handset. I wrote 'this idea' was not new, however, what is new is Microsoft's patent on sharing device resources. Now this one is really new, but I don't know how much I can expect from it in real life - what it shows you, though, that it would be too early to write Microsoft off. Side-note: let me recommend you Ajit Jaokar's thought-provoking blog on how network operators could make use of cloud computing.
One more point to add to why M$ is not to enter the handset business today: HTC, designer & manufacturer of feature-rich phones, says that although they can see the potential in Android devices they do belive that Android and Windows Mobile complements each other.

As to Android, it's amazing to read about the ambitious plan to reach 4% US market share by the end of 2008. If that's so easy with a single device, a not perfect software and hardware AND suppose that they will achieve it - may I ask how on Earth Nokia could not do the same?
Anyway, I found a great analysis over at Telco 2.0 on the strategic impact of Google's first handset on the mobile industry. I especially liked the statements, such as "increasingly intense competition with new entrants who are willing to change the rules" and "the world in which handset manufacturers crammed the latest technology into devices simply for the sake of having the best specification sheet and operators flogged them to consumers on the basis of megapixels and memory is changing" and finally "it has been fascinating to watch ‘old school’ industry commentators pick apart the technicalities of the G1 spec sheet and Android platform, all the while forgeting to look at this announcement through the customer’s eyes".

Finally, some words about other members of the mobile industry whom we don't hear much about (well, at least I haven't lately).
  • Sony Ericsson has rationalised their R&D investment recently. This move, however, didn't prevent them from announcing a new run-time environment, called Capuchin, mixing Java ME and Adobe Flash Lite technologies. SE is eyed-up on Android, too, not only Windows Mobile (Xperia X1) and Symbian so this along with Capuchin will make their way to follow Nokia's approach by offering lots of alternatives for mobile software development.
  • Motorola is also interested in Android, so much that they are building-up a team of 350 people to develop on Android.
  • Samsung is not interested in anything else but manufacturing. This will not make their position stronger in today's competing market.
That's all for now about mobile industry news, thanks for reading so far!

All comments are welcome,

Tote

Monday, September 8, 2008

Samsung Mobile Innovator - Yet another Symbian developer site

You might have heard of that Samsung has just kicked-off their new portal for mobile application developers. It's advertised as a great entry point for Symbian developers wishing to develop for Samsung devices based on this operating system. I'm not sure if other platforms will be covered by this site, too.


What I'm asking now, however, is if it's really worth increasing the fragmentation of Symbian development portals that are already present today. You know, I recall when I was involved in a cross-platform mobile development project and it really frustrated me that I had to check Forum Nokia, Sony Ericsson Developer World, uiq.com and Symbian DevNet to see what people said about nasty problems, their solutions and be sure that nothing has escaped my attention (well, I could never be sure about that).

I can see that Samsung might come out with such great features and services that will be very useful to the developer community in general. What I don't understand, though, is with Symbian Foundation (SF) starting early next year why doesn't SF kicks-off their own developer portal into which Samsung could integrate its own services. In an ideal world Symbian developers would just remember a single URL where they could find answers for all their questions. A powerful search engine could do magic, you know. Symbian Foundation gives a good opportunity to unify existing resources into one and I can't see why Samsung didn't realize this.

Tote

Wednesday, August 27, 2008

Carnival of the Mobilists #138

This week's CoM is hosted by Russell Buckley at MobHappy. It seems that another post of mine was worth being mentioned. :)

Cheers,

Tote

Wednesday, August 20, 2008

Silicon Valley doesn't respect Nokia

In response to the article I found on Forbes.com, Nokia Software Problem, let me collect my remarks on the statements in a single post. The list of statements below simply follows the same order as they appeared in the original article.

"Nokia sells close to half of all smart phones worldwide"
Well, around 70% would be more accurate, but then it couldn't have been said that "close to half".

"N95's only edge was in watching video"
Hmm, let me smile at it. I think GPS, 5 megapixel camera, WiFi, etc. also come in handy every now and then. These things were all new in a Nokia device at the time when N95 was introduced and although Nokia might not have been the first in introducing them, the point is that video was not the only thing users could enjoy.

"Symbian is not dead, but it has a limited amount of time to act to capture developer mind share before it is too late,"
I don't know how many times I wrote this on various forums: developing for a Symbian-based device does NOT mean pure Symbian/C++ development. On the contrary, the range of possibilities is much wider: you can program in Flash (Lite), Java (Mobile), Python (for S60/UIQ), (Open) C, Widgets, .NET, NS Basic, etc. My question is not solely addressed to Apple: is there any other manufacturer in the world who can compete with this at this very moment? Is it the not-closed-but-not-too-open-either Apple who although enables Objective-C development, but nothing else? For example, Java, which is not only available on all other platforms, but also the primary language for 3d-party development on Android? Not as if I had heard too many good things on iPhone developer support, but are they really the ones who will save the world?

"Applications written for the iPhone, by contrast, will run on every iPhone."
Ehh, typically naive, beginner approach. I wouldn't write an article if I were such a beginner, though. How many iPhone models can we talk about at the moment? Two. There's a rumour on Apple introducing iPhone Nano still this year and I bet that that device would introduce variation both in hardware (e.g. screen size) and software. And having spent almost a decade with mobile software development, I can tell you that software development becomes exponentially more complex with the introduction of variations. I think we should get back to this question in 1-2 years time-frame and then we'll see how programs written for old models will work on new ones and vice versa.

"Carriers here have been loath to give Nokia much love over the years"
Yeah, this one is a hit on the nail. I find it very interesting how much North-American carriers favour US phone manufacturers (Palm, Microsoft, Apple) and Canadians (RIM). It is one of the root causes (if not THE) why Nokia has failed to successfully enter North-American market.

As to developing software for mobile platforms, it's worth noting that it's becoming more and more popular to rely on a thin client software responsible mainly for the User Interface, while storing data and implementing heavy business logic on a remote server. So often, the thin client is a browser or an application capable of providing "browser-like" behavior. This is something iPhone, the latest Nokia S60 phones, Windows Mobile are (and the newcomer Android will be) good at. And lots of people say that this architecture is the most suitable solution for cross-(mobile)platform software.

In my opinion, it's too early to talk about the dethronement of Nokia by Apple and RIM. Just count the number of phones sold, how many models various manufacturers have on market, how long has a manufacturer been on market, etc. and we'll have just the right amount of information ... to be silent. The author of the article fails to see that global market is not equal to American market, over-emphasizes the importance of Silicon Valley and can't think of the possibility that these platforms, devices, manufacturers can co-exist with one another.

Otherwise the article was good,

Tote :)

Monday, August 11, 2008

Carnival of the Mobilists #136

This week's Carnival of Mobilists (#136) is hosted by All About iPhone.net. My post is also mentioned. :)

Tote

Thursday, August 7, 2008

Brief status report about smartphone market, mid-2008

Having followed the news of mobile industry in the past week, I thought it would be worth collecting some articles in a single post to see things from a bird's view, thus having a better overview on what's been going on lately on smartphone market.

RIM has been getting stronger in US market and Palm is unhappy with that. Although Palm's popularity had started to fall even before Apple entered mobile phone market, the new iPhone has just "helped" to boost the process. As to Apple, new countries have confirmed August launch enabling iPhone (3G) to gain bigger popularity and increasing its market share in other countries than US. In addition, the name of iPhone Nano has appeared again whispering words about the introduction of this device still this year. Apple is on its way to become stronger and stronger, but they're still in the "Other" segment of mobile devices according to ABI Research. And if Apple is making tsunami "from the bottom", Nokia is doing the same from the top with their price cut - I wouldn't like to be the stuffing in this sandwich.

It seems that we're living the time of foundations: this time it's LiMo that has picked up 11 new members to become stronger in the fight against Google OHA and Symbian Foundation. With the first LiMo handsets out, I wonder how they can catch up with industry leader Symbian, the also very powerful Windows Mobile and the likes. I did not mention Android deliberately, because to me it still exists only on "paper".

As to the creator of Windows Mobile, it's already well-known that Microsoft's Silverlight will come to S60. What is rumoured now, though, that Zune would also be available on Nokia devices. Zune clearly a competitor to Nokia's Ovi - will M$ and Nokia ever join their forces to fight against their newest pretender? I bet Apple will never open MobileMe to non-Mac device owners.

A new feature has been introduced on Ovi.com, namely file sharing, a fee-based storage option. Files on Ovi is a similar service to MobileMe's iDisk. As to MobileMe, the transition from .Mac to MobileMe was not as smooth as Apple had hoped. As Apple CEO, Steve Jobs, said "It was a mistake to launch MobileMe at the same time as iPhone 3G, iPhone 2.0 software and the App Store". Well, although lots of people already think that Apple can only teach things to other players in mobile arena, I stronly believe that the opposite is also true.

Finally, let me recommend an article that well-deserved the title of post of the week at Carnival of Mobilists. The great post written by Andreas Constantinou from Vision Mobile was definitely a very useful foundation of this article.

Interesting times we're living,

Tote

Tuesday, July 22, 2008

Symbian and Nokia wrestling about voting rights?

It's obvious that it's not in everybody's interest to let Nokia gain more control over Symbian - not the OS, but Foundation this time. It's a fact that Symbian was (or still is?) owned ~48% by Nokia. As part of the announcement of making Symbian OS open-source it also came to light that voting rights will be according to the number of Symbian Foundation-based mobile phones shipped. And since Nokia has shipped more than 70% of Symbian-powered devices so far, it puts them into a more powerful position than they've been before.

As I said it's obvious that not everybody likes it from those companies who are on the same ship with Nokia. The surprising bit is that even somebody at a power position at Symbian thinks this way AND make comments on this in public. John Forsyth said that he's "worried this asymmetry will mean the community doesn't grow in the appropriate way." His suggestions include "clean-room culture" and a one company-one vote system. Naturally Nokia won't accept latter after spending lots of money on Symbian - they made Symbian successful, they invested the most in it and now at the turning point of Symbian's life they'd like to take the opportunity to increase their influence on it, too.

Wonder what John thought about this when sharing his opinion in public. Perhaps we can read something about it in his blog in the future...

Tote

Friday, July 18, 2008

Static vs active application icons

I found an interesting blog about mobile interaction design at Sender 11 (whatever that name means). The point of the article is that in order to make application icons more attractive and provide a better user-experience, the icons should refresh their content from time to time and show "relevant" information to the user instead of being passive and showing only static information.

I like the idea. As one of the comments says with Nokia S60s you can now build interfaces wiht live icons like these in web-run-time and create a whole menu as a widget. Well, I don't know much about widgets, but I can imagine that it would work. For example, the whole Application Shell could make use of Web run-time and show application entry points (i.e. icons) as widgets with their always-changing behavior. Even more, the idea of Active Idle could be replaced by an active Application Shell, too. Some pixels could also be saved from precious screen real-estate (e.g. unread messages) by letting the application icons show information.

What could different applications show to the user? Here's a by far incomplete list out of my mind:

  • Calendar: indication about events nearby
  • Messaging: unread messages (sms, e-mail, etc.)
  • Bluetooth connectivity: enabled vs disabled, transfer in progress
  • WLAN connectivity: enabled vs disabled, number of hotspots nearby
  • Maps: known (i.e. pre-recorded) locations nearby
  • Clock: time
  • Music Player: some information about tune being played (with scrolling, for example)
  • RSS reader: new, unread items
  • etc.
Could you add more?

Tote

Thursday, July 17, 2008

Cross-platform development

I've read a great article about multi-platorm development today. I've already been involved in the development of multi-platform solutions and I saw big sacrifices made for the sake of common codebase. Not all code could be shared this way, of course, there was thicker/thinner layer(s) on the top of common code. Generally the maintenance/improvement of common code was slower compared to one-platform-only cases and the code was less efficient, too. I was not convinced that it was worth doing it this way at all.

Having said this, I fully agree with the analysis above. I would add, though, that multi-platform development requires either highly-skilled developers with solid knowledge of each platform they're developing for or a team of developers writing code 1 man/platform with very good communication within the team. Either choice could be right or wrong depending on many factors, like complexity of solution, developer skills, proper specification, etc.

Btw, Simon Judge has also added his valuable remarks to this topic.

Cheers,

Tote

Tuesday, July 1, 2008

Collection of great materials on Symbian going open-source

My regular readers may wonder why I've been silent on the great news of the mobile industry: Symbian is going open-source. The reason is simple: I was so shocked to hear it in the news that I just sat back watching the flood of new blogs and comments trying to digest this new information. But I've been digesting it, too. Other people whom I respect and think knowledgeable in this area have written their opinion and I'm now about to collect some of them in a blog and share it with you.

Andreas Constantinou from Vision Mobile was one of the fastests in commenting the news. He concluded that it was a logical move from Nokia (and Symbian, etc.) both from technical and business point of view:

    • " ... [Symbian] was crippled without control of the UI, application stack and the core OS under the same entity"
    • Eclipse (EPL) license is a weak one, which will make it desirable for OEMs to choose it.
He was also the first to point out that this move would cause lay-offs and some hard times for the following industry players:
    • SonyEricsson and Motorola: they will eventually have to give up with UIQ, since S60 will be the dominant UI and ecosystem and S60 will basically swallow both UIQ and MOAP(S).
    • Android's royalty-free, open source business model is not the only compelling alternative for OEMs, operators, etc. On the contrary, Symbian has already proved whereas Android has not yet.
Simon Judge over at Mobile Phone Development comments that " ... full access to the platform code allows for much more innovative applications using facilities that are currently hidden" and all this "only" for $1.500 is definitely a step forward.
He also cleverly notes that "Nokia and Symbian now see licensing the OS as a dead end" - I wonder what Microsoft will comment on it?
Finally, he raises his concerns on a technical question, backward compatibility: "... [the announcement] doesn’t explain whether this is source code, binary or application compatibility" - we wouldn't like to face with such a big break as what we did with the introduction of Platform Security, would we?

Mobile Opportunity's Michael Mace hails Nokia for their courage. He suspects, though, that "... the announcement is actually half cleanup and half power move: ... The power move is that it challenges Android ... The cleanup is that the ownership situation of Symbian was unstable and had to be changed eventually, and SonyEricsson clearly wanted to get out of the UIQ business".
He also asks what will drive Symbian developers after this change? While he believes that developers "respond to user excitement and the chance to make lots of money", he fails to see how the new Symbian strategy drives either one.
Finally, Michael points out that the longer it will take for Symbian Foundation to kick off, the bigger the advantage for Apple and Android. What about Microsoft? "This is Microsoft's ultimate open source nightmare, becoming real.

Rafe Blanford from AllAboutSymbian has written about Symbian Foundation unwrapped. He says that the tranformation of Symbian OS to a royalty-free, open-source system is according to today's industry philosophy and whilst it's a logical move forward it would not have been possible 10 years ago, since "...companies would have been unwilling to let Nokia or anyone else have such a dominant position". The new Symbian OS will challenge LiMo, Android and the likes on their own strength and "negates their key advantage". Apple's iPhone might be not affected, according to Rafe, since "it is difficult to see how Apple will expand to become a significant overall player in mobile space (rather than an individual niche player with lots of press attention)".

The hypothetical ("10 years old") problem Rafe was referring to is supported by The Register, too. They say, "the most damaging problem is that Symbian's licensees may have no desire to make Nokia stronger now that it owns the operation 100 per cent".
They also worry about that "the 'Foundation' may also prove to be an expensive liability for Nokia".
Finally they write that "it's largely Nokia that must be blamed for failing to make Symbian phones remotely 'enchanting' ..." and "... today it's the iPhone which has the enchantment factor. ... Symbian has done everything its original designers asked of it - a twenty year lifespan is not bad at all. But it's now Apple's business to lose."

Apple and world dominance. What about Microsoft? They're still bigger than Apple at least in terms of mobile OS market share, aren't they? Well, we've already got used to the style Microsoft comments similar announcements, thus it must not have come as a surprise that they have welcomed this move. To be more accurate, they have "welcomed the transformation of the Symbian mobile-phone platform into an open source project, because the software giant contends the change will create a host of new problems for the Symbian community." Sweet, isn't it? They use FUD referring mainly to the big 'F', fragmentation, saying that "there are more Linux consortiums that come and go than there are Linux phones".

Which might be true, actually. But don't lump Symbian and mobile Linux together. David Wood, EVP of Research at Symbian, has written a lengthy article about how he (and Symbian) sees this problem. He argues that 1: fragmentation really is a problem, 2: Symbian has the experience and ability to handle it. As opposed to Google, for example, says the side-note. :)

Finally, it's worth paying attention to Ajit Jaokar's article, who warns that "it is not possible to compare Symbian vs. Android; or Symbian vs. iPhone .. because it is not possible to mix operating systems with ecosystems". These are like "apples and oranges" in terms of "iPhone, Ovi and Android are ecosystems. In contrast, Symbian and Limo are operating systems or Operating system consortia". It's another lengthy article that is worth reading.

So I've been silent and haven't commented this news yet. Why? Because there are so many people to listen to ...

What about you?

Tote

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,

Tote

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?

Tote

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 :)

Wednesday, May 21, 2008

Nokia stirs water with mobile Linux

It seems it's time for another round to discuss about whether Nokia will abandon Symbian OS in favour of (mobile) Linux. All About Symbian has reported that "Nokia's Chief Financial Officer said Nokia is considering manufacturing Linux-based mobile phones". This information is confirmed by Unwired View as well, although in a slightly different tone: they say "Nokia sees increasing role of Linux in handsets". Finally, El Reg is saying that "Nokia says no plan to switch phones to Linux".

Who to believe? Having read the comments carefully, people seems to have the following opinions/see the following options:

  • The biggest haters of Symbian say that it's natural that Linux will take over and this is exactly what they've always claimed.
  • According to a bit more careful opinion, these two mobile operating systems will co-exist. There are couple of arguments for this scenario:
    • Symbian/S60 is undoubtedly the leader in smartphone market
    • There's room for both OSes: Symbian excels in high-performance mobile phones, whereas Linux could be successful in mid-range feature phones.
    • Nokia has already heavily invested in the development of a mobile OS and is a nearly 50% shareholder of Symbian these days - why would they ruin all this?
    • The development of a smartphone running on Linux still takes a LOT of time.
  • Some more paranoid commenters say that "Linux is not really a threat for Symbian, but rather a motivation" to work & perform even better in today's extremely competing environment (i.e. mobile OSes and smartphone market). They believe that Nokia wants to make pressure on Symbian by announcing new Linux-powered devices from time to time.
  • Finally, there are those who don't give a sh.t to what OS is running on a phone, they "just" want their Flash/Python/Java/etc. applications (whether they wrote them or not) to run smoothly in the future, too. Some of these people also mention that it's the same if the OS gets replaced, the UI (i.e. S60) is what's important - and if it remains, nothing will change actually.

Personally, I think that Nokia is still making experiments with Linux. Don't forget that they already have mobile Linux devices (Internet tablets running on Maemo platform), though, those are not mobile phones, just sort of PDAs. In today's fragmented mobile Linux market, no one mobile manufacturers dare to commit themselves to take Linux as the leading operating system for their products - it would simply be way too risky. It's been also said numerous times that there are lots of factors that manufacturers must consider when selecting a mobile OS and Linux is definitely NOT the ultimate solution today. Nokia might abandon Symbian in the future, however, it's not time for that. Yet.

Any thoughts?

Tote

Thursday, May 8, 2008

Mobile software development - Functional testing

Simon Judge's blog made me think, again. He wrote about Mob4Hire, a company offering people for mobile application testing. Testers get paid via PayPal after bidding on projects (i.e. mobile applications/solutions) and developers get testers at a (hopefully) reasonable price. Finding testers might be especially useful if your geographic area is not the one you'd like your software to be tested in.

You know, lots of developers (dare to say: most?) do not recognize the importance of testing. This is the least pleasant part of development, I must admit, yet one of the most important. There are various kinds of testing including (but not limited to) unit-, regression, load, "smoke", etc. testing. The one, Mob4Hire provides solution to is called functional testing, where one can test the whole solution end-to-end. You know, mobile handsets are very-very fragmented in terms of platforms: applications can be developed in many programming languages like Java, Symbian C++, Windows Mobile Win32/C#, iPhone Obj-C, Linux C/C++, etc. And even when sticking to the same platform and programming environment, JME for example, the supported features vary very much from device to device. This, along with the complexity of what operators allow 3rd-party programs to do, makes it very difficult for a new application to be thoroughly tested.

Nokia already provides a free service for developers wishing to test their mobile applications written for Nokia S60 platform: it's called Nokia RDA (short for Remote Device Access). It is an Internet-based solution, where you can remote control a real mobile phone. You can request, for example, that SIM- and/or memory card be inserted in the test device as well as more than one phone be reserved for your test session to test peer-to-peer communications.

DeviceAnywhere provides a similar solution to Nokia RDA, however, it's not limited to a particular platform, nor to only 1-2 network operators. According to their web site, their service is "a revolutionary online service that provides access to hundreds of real handsets, on live worldwide networks, remotely over the Internet". Unfortunately, it is not free of charge.

Note that you cannot test everything with these solutions. For example, applications that use camera, GPS, accelerometer are basically out of question as well as ones using external accessories.

Another option for functional testing is making use of the services of Test Houses. Professional testers verify the quality of your software (compared to Mob4Hire, for example, see Simon's opinion) so that you can be sure you get the most what you paid for. Sometimes it's even required for your application to pass certain tests in order to get certified by some authorities. However, you may need to pay a lot for this service, see the list & pricing of Test Houses that Symbian Signed accepts, for example.

Finally, let's talk about community-driven testing. Once your application is in such a shape that it is ready for external people to play with it, you can ask them to go and use it extensively. You can offer free copies of the software to them, for example, or they may do it just for their own gratification - it's the same. This way of testing works extremely well in solutions based on client-server architecture with a mobile front-end and a server back-end. It's quite common in these scenarios that the mobile-end is just a light-weight client software that can be freely distributed, thus it doesn't cause any inconvenience if software distrubition is not strictly controlled. The point is that you may get lots of people playing with your software, because it's their passion. And passion drives people to do their job well, simply because they enjoy it, they love your program and they'd like it to be even better. I'm really a great supporter of this kind of testing. :)

Can you recommend any other way for performing functional mobile software testing? Please let me (us) know!

Tote

Tuesday, May 6, 2008

eyePhone - Your tourist guide

I've stumbled upon this article recently and thought might be worth sharing with you.

If we put the name of this software aside a bit (it obviously tries to ride the waves of iPhone), the idea is great. Take a smartphone being able to

  • take good quality photos
  • use GPS
  • communicate over Internet
and you have your on-line tourist guide always at hand. It doesn't require too much from the handset, no? I bet even a good feature phone would do.

Of course, the client software shall not be too thick, most of the business logic is on server-side, right? An average (phone) camera quality should be enough, a Bluetooth-attached GPS is sufficient and basically every mobile phone can transmit data over the net lately. Okay, if an angle sensor is also part of the phone, then the client can gather more data that eventually makes recognition more accurate.

As opposed to the client-side, the server must be very intelligent. Image recognition can be very complex, since poor image resolution, distant objects, pictures taken from different angles, etc. can make it very-very tricky if not impossible. Yeah, I know that the article mentions that the concept was proved, but I believe it only when I see it, you know. Obviously, the solution must be community-driven - you cannot expect any service providers to maintain such a big database alone. And I'm sure that from business point of view it's the server-side software that one can license, whilst the client software would be available free of charge. At least, that would make sense.

Finally, it's very interesting that others are also making experiments in this area.
  • Android Scan is an application written for Android Developer Challenge that uses camera and mobile processing power for barcode recognition and scanning for metadata of CDs, DVDs, books on the internet.
  • Nokia also develops navigating system based on image recognition, where you can just "take a picture of a nearby landmark, like the Golden Gate Bridge, with the camera in your mobile phone. Then, Nokia will match your photo with other landmark photos in its mapping database, and tell you where you are."
  • J-MAGIC is a Japanese company that "sees market for picture-based search", too.
And the list is by far not complete. I wonder who will come up with the most innovative idea bundled with a sustainable revenue on the service so that both sides (i.e. consumers and providers) get what they want.

Any thoughts?

Tote

Monday, April 21, 2008

Symbian and Windows on the same device - what the hell?

I've just finished knitting the brows after reading it in the news that IBM launches an initiative that has something to do with the mobile world. "It seems", I thought, "that there's so much money in mobile business that even the Big Blue could not resist".

But now I'm totally down on the floor with the idea of having more than one, potentially completely different, operating systems on the same device. I've just read that Motorola invests in VirtualLogix, Inc. whose "VirtualLogix VLX enables multiple operating system environments to run concurrently on shared hardware and provides a range of performance, fault tolerance and security options to address specific market requirements".

In my opinion, the whole solution abounds with challenges. Technically, from usability/business point of view, whatever. The thing is that each member of the value chain must learn/tackle something new. For example,

  • Device manufacturers must be prepared for having to integrate such hardware elements in the same device that enable multiple operating systems to run in parallel also considering the cost of virtualization (in terms of time, but money-wise, too). These pieces of hardware must give the best performance so that the user experience is constantly good on all platforms. For example, whilst a ~500MHz CPU performs well on a Windows Mobile-powered device, it's a dual 330MHz CPU that gives the same performance on an Nokia N95 8GB. Of course, this applies not only to the CPU, but to memory, persistent storage, etc., too. Thus, hardware costs will definitely be higher than for regular phones.
  • Of course, there will be a constant fight for giving the same performance as on a normal device and also keep the price of the device as low as possible. As to software vendors,
    • Writers of guest operating systems (each operating system will be guest, by the way) must prepare for a new challenge, namely that scarce system resources will become even busier and harder to get access to.
    • Some weird situations could also occur, for example, when a resident background application would be waiting for an incoming call, which would eventually be "stolen" by another virtual device with a higher priority.
    • In addition, it would result in a much better user experience if commonly used resources, such as persistent storage, were shared. For example, the file system:
      • One use case would be to allow the user to seamlessly move files between OSes.
      • Another to allow browser applications of the same type running on different platforms (e.g. based on WebKit on Android and S60) to share cookies, forms data, etc.
      • On the other hand, mobile OS vendors should be careful about what they would give access to: a secure platform cannot afford making a security hole by letting other platforms access sensitive shared files (such as DRM-protected content) unless a satisfactory level of protection is applied.
  • I'm not sure as to how network operators could be affected by the introduction of a multi-OS mobile device other than having to adjust something in their administration system. Oh yeah, a seamingly not so important question: branding should apply to ALL operating systems running on the same device. Anyway, I think these issues would be less important and easier to solve than the challenges described above.
  • Not necessarily a content provider issue, but it rather concerns the content consumer who would not like to pay for the same content twice in order to be able to use it on the same device, but on a different platform. For example, I wouldn't like to pay again for an MP3 music that I've already downloaded to my Windows Mobile device, but would like to listen to it now on my S60 phone (remember, we're talking about the same phone!).
  • Finally, the user: I think the experience, as such, would be new to the user. The feeling that she can choose which device she'd like to work with today. However, it's uncertain at what price this feeling would come: in terms of user experience, reliability, price of the device, etc.
Personally, I think it's not the right time to introduce such an advanced technology, not as if it was a question now. When smartphones are still often considered as a toy used by mobile geeks, when most people still want to use them only for voice calls and text messages, when enterprise infrastructures rely on/users committed to either Windows Mobile or Symbian, but not both - there is simply no business demand and serious reason to hurry. It must be a long-term plan, though I still wonder if/how/when it will work out.

My two cents,

Tote

Friday, April 11, 2008

True emulation for Symbian development - when?

Though I've already heard that Windows Mobile SDK offers true phone emulation, however, only now have I got to the point that I ask for your opinion: why cannot we do the same during Symbian software development?

Note that you might have also heard that iPhone developers can also rely on this useful service. Nevertheless, don't forget to bear in mind that they must be working on the same platform, i.e. MacIntosh OSX. That is, there's not too much to emulate there.

But Windows Mobile is different: you develop on Windows presumably on an x86 architecture and produce binary code for another processor architecture (ARM) that you can even debug on. How? Why on Earth cannot we do the same?

Tote

Thursday, April 10, 2008

Apple as an MVNO

Very interesting patent from Apple (thanks to Unwired View), I wonder how it would work in practice.

Generally I can see it's a viable idea, however, also wondering how roaming charges can compete with any networks' own tariff. I understand that there would be a competition between available network operators, however, roaming charges still remain roaming charges.

Tote

Sunday, March 9, 2008

Another hack for Symbian Platform Security

One of my articles that has gained lots of attention was written about hacking Symbian Platform Security. Although it turned out that reproducing the workaround found by Symbiaali is laborous, requires strong technical knowledge and its wide-spread use is very unlikely, it clearly showed me that people were interested in this topic.

Today I found another post at Symbian Freak that describes just another way to turn Symbian operating system's well-known permission checking feature off. Although I don't agree with the title of the article (good-bye?? S60??), I think at least it's worth a few words.

What is this crack about? How can we cheat Platform Security capability checking so that it does not care if our program really has the capability being checked or not? Well, in a very special way:

  • Take a development environment for Symbian, like CodeWarrior Pro or Carbide.C++ Pro. Please note that you will need the ability of on-device debugging, that's why CodeWarrior Personal/Carbide.C++ Express is not enough. I'm unsure if Carbide.C++ Developer Edition was enough (this is between Express and Professional), but I doubt that. More on this later.
  • Prepare everything for on-device debugging (connect phone to PC, install MetroTRK to phone, etc.).
  • Start any program from within the development environment (aka IDE) in debug mode.
  • Change some bits in the kernel stack responsible for security enforcement. This is the most critical place, where you can really turn everything upside-down. And since you can do that, I believe it's Carbide.C++ Professional Edition that you need and not Developer - latter is less expensive, but in turn it provides only on-device application debugging in contrast with Pro's system debugging.
  • Voilà, we're done - we have access basically to anything.
Disadvantages
  • The crack is temporary, since everything is done in RAM.
  • Required tools are expensive: CW Pro was available at ~$1.700 (the product is discontinued and cannot be bought officially), Carbide.C++ Pro can be purchased for $1.300.
  • Break is limited to one device.
  • Proved to work only on Nokia N80, on other "hotter" devices (like the N95) it does not work or at least nobody has been able to make it work so far.

What kind of damage can a cracker still do?
  • Explore file system, discover what is stored where and how (as if you had AllFiles and/or TCB capability) and exploit it.
  • Access to DRM-protected content (as if you had DRM capability). This might be more dangerous as you can download e.g. DRMed music once and sell it multiple times later on.
To sum up this post, this new way of cheating Platform Security is the traditional way of cracking. I'm not surprised that it had been discovered and published, I just wonder why it has taken so long? And finally, I don't think that it would cause major problems in Symbian ecosystem.

What do you think?

Tote

Saturday, March 8, 2008

iPhone SDK and Business Model - only kids get too excited

I think it's a good idea to wait a bit with commenting the announement of big things. You might not be as fast as others, but at least will have a broader view to the whole picture. At least that's what I did with Steve Jobs' announcement about the iPhone SDK (official press release is here) and developer program. Having read lots of articles written about it (by writers faster than me:), my remarks are below.

App Store
This is the place, the only place, where people can download 3rd-party software from, let it be commercial or freeware.

  • Making it centralized is a good idea, better than having to look for something at lots of places. Especially if Apple undertakes lots of tasks, like distribution, advertising, content filtering, software update, etc. On the other hand, it will naturally result in that the control will be kept in one hand - it'll always be up to Apple to decide what is porn, illegal, etc. Is that good for us? Also, it doesn't help too much in pushing down the prices (I mean, interest rate) if there is only a single point of sell.
  • I've been already thinking about that reselling applications should be done by device vendors themselves in order to keep the price at a more bearable level than it is at now. For example, Handango's 40-50-60% is something I call unabashed. However, it's understandable that they keep interest rate at that high level: it's their main (only?) income. Whereas for device manufacturers it would not be. Okay, I understand that they've been trying to keep themselves away from this part of the business so far, but nowadays that Internet is everything and if you don't provide a service that your competitors do, then you lose. For example, Nokia now offers Mosh and Ovi, but I can't remember if they offer App Store-like service, too. If they don't, I'm sure they will soon.
  • One more thing: I think Apple is now bargaining. They announced a 30% interest rate from the price that developers will be able to sell their apps at, however, that's still too high. Never mind, let's check what people say about this rate, if the opposition is too big than we can offer less. From 30% you can do that.

Development
Apple announced that developers can download the SDK free of charge, bundled with source editor, debugger, interface builder (= UI designer), project management and integrated version control software and lots of other stuff.
  • However, doing that require paying $99. It's a one off cost and in fact sounds reasonable for "standard" developers ($299 for enterprise developers) - it's mostly for signing, though freeware app developers will also have to pay this fee - for traceability purposes. In this respect (i.e. traceability), it's similar to Java certification and Symbian's Platform Security.
  • Only platform is Mac? Sounds like a joke, look at the figures how many people/developers use this platform compared to Windows, Linux. I read it in Paul Todd's article that the SDK offers true simulation, not only emulation, which is fantastic. I wonder how VMWare would perform in iPhone development, though: people could install a virtual Mac machine on their operating system for development. Even more, it would make sense for Apple to create freely downloadable VMWare images for developers having everything pre-installed on it.
  • Let me talk about the programming language developers are supposed to use, Objective-C. To be honest, I don't "speak" this language, but I have seen code written in it. I've been in "cross-platform business" lately and having said that I can see this language being more useful to our efforts than Java, for example (since none of the popular mobile OSes are built on non-C/C++). On the other hand, I'm afraid that Obj-C is too far away from standard C and C++ and one would need to make too big efforts to keep the codebase as common as possible.
  • As for opening up 90% of APIs: it's nice, but a double-edged sword. First, Apple's got only one platform and one device (I mean, mobile phone). If everything goes fine with Apple's business there will be more platforms and more devices: the burden of SDK maintenance may grow to sky-high especially if you open up such a lot of APIs, taking care of source- and binary-compatibility, documentation, etc. You know, I would love to see Symbian/S60/UIQ to go open source or at least open up lots more APIs, too, but I understand why these companies decided not to do so. If Apple has the capacity to do it, then looking forward to it.
  • As to $100M VC fund for 3rd-party development: it's obvious that newcomers have to say big, like this (remember Android's Developer Challenge?), I'm just hoping that others will do the same. Even if they're not newcomers, "just" founders of this industry. :)
  • No multi-tasking: phew, it's really pain in the ... well, you know where. Although lots of things can be solved by storing state information when an application is forced to quit (heard that no 3rd-party app can run in the background! See Techcrunch for more details) and then retrieve that information on re-launch, this limitation causes lots of use cases not to work, like listening to incoming SMS, downloading/uploading/streaming content in the background, generally just hopping from one application to another where the soon-to-be-background app would still have things to do. I don't know why Apple has decided to introduce this limitation, but hope they will drop it soon.
In general, I'm happy that Apple has joined the mobile industry. As well as Google has or rather it just will. I always say that we can learn from anything, let it be good or bad. Life will prove that an idea or in particular an implementation of an idea is viable or not. The point is that we can all benefit from it: either by copying and making an idea better or avoid a mistake that has already been done once.

Tote