From Forbes, here’s a developer’s experience that makes up for a lot of late nights among a lot of Nokia development teams:
S60 Developers of mobile content say that it allows them to create content for a wide variety of handsets at a reduced cost. Kansas City, Mo.-based Handmark, which aggregates content and develops and publishes wireless content, says that it ordinarily has to do more than 17 "builds" to support 20 different phones. Those are costly and time consuming. However, by using the S60 platform, it can do six "builds" to support 50 phones. That means quicker time to market and lower cost.
For as long as I’ve been working with Nokia, the various platform teams have been fighting the fragmentation monster. We all know device manufacturers like Nokia need to roll out new features and fix bugs quickly or they’re out of business. This necessity is in exact opposition to the need to deliver a stable platform on which developers can build compelling apps which, in turn, motiviate consumers to buy the newest phones. It's a constant stuggle.
So, how we doin’?
I’d like to know if your experience parallels Handmark’s. Or not. Namely, how have the efforts of the Nokia platform teams translated into your development reality as measured by two criteria:
1) For a typical software title, how many distribution packages do you produce to support Nokia devices, and how many Nokia devices do you support with those packages? Is there a big difference between your experiences in Java (on Nokia) vs. C++? Series 40 Java vs. S60 Java?
2) Do you have fewer source than distribution packages? (By using conditional compiles, etc.) If so, how many sources support your device pool? How complex is your conditionality?
As much detail as you’re willing to share about SPECIFICALLY WHERE variations in devices force your source/distribution proliferation would be much appreciated. Which missing APIs, or bugs, or variations on which devices, etc.
I’m also curious how your Nokia source/distribution/device profile compares to your experience on other platforms you support. In keeping with the “we don’t trash the other guys” ethos of these blogs, you don’t have to mention WHICH other platforms you’re talking about if you don’t want to. Howver, if you want to share that specific information, so much the better. I’ll pass it along within Nokia but will remove the competing platform name before posting your reply on the blog.
.
Re: De-fragmentation progress?
bitrabbit | 13/09/2006, 11:54
I have to say the results are pretty good. You have to know that we specialize on games, which means essentially full screen, fast blitting and custom sound mixer output.
With just one build, yes only one, all the S60 range is covered. This means that one sis will install and run correctly from the 7650 up to the N90 for pre Symbian 9 handsets.
However, this comes at a cost, since documentations on such features as we use is very light, and most of the time wrong. For example, the sound mixer example from forum nokia would never pass the certification. I don't even mention using the LowMem tool. This means that us, the small developers, have to spend days and days of tweaking here and there to find the correct combination of code which will work on all the devices. It's good when you finally get it - the Holy Grail - but what the hell to reach it !
To sum up, great results, but it costs a very high price. If you had to start somewhere to help developers, this would be by producing a LOT MORE and ACCURATE documentation.
I can add as well that with only half a dozen #ifdef, the code is compatible with UIQ as well. But UIQ is such a small market...
If I was to compare with the other "competitor", I can safely say it is REALLY easier to develop on the other one. Granted, it does not provide all the benefits of the Symbian OS, but in the end, how many developers correctly use all these features ? Also, it involves far less tweaking to have it running on ALL iterations of the OS.