This page serves as a list, non comprehensive, of the tools and languages used in the two mobile software ecosystems used by Nokia (the biggest mobile device manufacturer at the moment) in the near future.
Introduction to the Third Ecosystem
In Friday 11th February 2011 Nokia and Microsoft announced their partnership in smart phone business. Their goal is to build the so called third ecosystem as shown in figure 1, by using Nokia devices with Windows Phone 7 operating system in addition to selected Nokia services such as maps and location.
Nokia will still keep developing their low cost mobile devices, series 40, and implement support for Qt development environment on them. Additionally they announced that there will be more Symbian platform smart phones coming in the market. This includes new Symbian^3 and older versions of the platform which according to Rich Green, Nokia CTO, will all come with Qt pre-installed.
First Nokia WP7 phone is expected to be released by the end of this year. Figure 2 has some initial styles, but only giving the direction, nothing final. It will have Internet Explorer 9 and support for Flickr and Twitter which are not yet in there.
Somewhat similar to Apple, publishing applications to Microsoft’s App Hub, it is required to purchase a yearly license of 99 USD.
The new strategy included a new organisation structure, which divides all Nokia devices in to two categories: Smart Phones and Mobile Phones. In addition to those, there will be an effort called “future disruptions” which currently includes the forth coming MeeGo device.
Nokia Smart Phones
Smart phone itself is a rather broad subject but as it is a name of a brand, it has its specific definition. Nokia Smart Phones are devices manufactured by Nokia, whereas the operating system is provided by Microsoft, in where Nokia will add value with design and selected services.
Nokia Mobile Phones
The low cost phones are organised under a common name, Mobile Phones. These are manufactured by Nokia, both hardware and software, where the latter is mainly Series 40. The amount of these devices worldwide is the highest of all different platform, therefore it should be considered seriously when making the choice for application development environments.
Qt will be implemented to Series 40 devices which makes it the most robust platform, followed by Java ME and Python. While writing, Series 40 only supports Java ME and Adobe Flash Lite.
Nokia committed to Qt in the late 2010 but changed their ship with this new relationship. Having said that, there still will be a future with Qt, thus it shall not be forgotten. Qt is a library for cross platform graphical user interface development, written in C++. As a key element, it has a special language called QML for graphical presentation making it much simpler for designers to design their layouts and user interactions. C++ is still used for the back-end.
Windows Phone 7 has a ecosystem with .NET which is essentially using C#, but additionally has support for Silverlight which in turn is meant for the 3rd party development.
C++ was the brainchild of Bjarne Stroustrup. Nokia Qt is written in C++ thus application written with Qt are mainly done in C++. They can the user interface part written in QML which is then bind to the C++ counterparts.
Qt Meta object Language was released with the version 4.7 of the Qt library. Most of the already sold Symbian and Maemo devices come with Qt 4.6 so they require an upgrade before applications can benefit of this abstraction.
Pronounced as c sharp, C# was created by Microsoft in 2001 and it is essentially object orientated C. It was standardised by ECMA up to version two and so far the versions made by Microsoft follow their .NET library, of which the latest is 4.0. .NET library itself is much larger than just the support for C#, as the library is intended to used for any kind of software development in Windows operating systems.
The code is structured similarly to Java or Actionscript, using the dot notation mark-up.
First versions of Silverlight came out in the early 2007 and was considered the biggest competitor for Adobe Flash. More recently the “war” has been between Flash and HTML5, leaving Silverlight in the void.
Anyhow Microsoft has kept developing their offering and now that Silverlight has reached the version number four, it has a feature set which makes it to be taken seriously. Furthermore it is the primary 3rd party development platform for WP7, thus serious business. The most recent version, 4.0, came out at the same time with .NET 4.0, in April 2010.
Previous version of this language, 4.01, was released already back in 1999, but there has been efforts to make it better by adding more strict XML flavour in it via XHTML releases, 1.0 in 2002 and more recently 1.1 in 2010.
Why HTML5 would be considered as a tool for building applications for mobile devices?
- It is supported in Qt via Webkit
- It is supported in Silverlight via ?
- It can leverage existing knowledge of any web developer
- It can be used to create content (web sites) to any supporting browsers, desktop and mobile alike
Having said that, there are several points to consider before starting to implement anything:
- Cross browser support very inconsistent
- Different environments support different features of the draft, best example the video element
Of all the languages compared in this paper, HTML5 is the most widely available technology, thus the most reasonable choice if the plan is to target several different platforms.
Toolvise comparison of the two development environments within Nokia devices is most likely explaining them best.
Nokia Qt Software Development Kit
The most recent version of Qt SDK is 1.1 beta which was released in February 2011… (Since then there has been a Release Candidate of 1.1)
Microsoft Windows Phone Developer Tools
The latest update for WPDT was released in January 2011. This includes a version of Expression Blend meant for WP development.
Qt Creator 2.1
A part of the Nokia Qt SDK, Qt Creator can be used for C++, QML and HTML5 development.
In order to deploy an application to a Symbian or a MeeGo device, Ovi or PC Suite needs to be installed.
Expression Blend 4
Blend is one of the tools available in the Microsoft Expression Studio product family. Blend is meant for creating visual applications based on Windows Presentation Foundation (WPF) or Silverlight.
A special version of Blend for Windows Phone is available only via Windows Phone Developer Tools package.
The most crucial strength for working with graphic designers while using Blend is that it can import several file formats used by designers, such as Adobe FXG, Illustrator and Photoshop. This is a huge benefit when it comes to creating the user interface.
A special tool called SketchFlow for user interface prototyping is available only in Expression Studio Ultimate edition and only onwards from version 4. It fact it is an extension which adds prototyping specific features to Blend.
SketchFlow enables more collaborative prototype testing since users can provide feedback by directly commenting on the prototype itself and sending that back to the developers.
Visual Studio 2010 Express for Windows Phone
A specific express version for Windows Phone comes in the WPDT package. In order to deploy the application to a Windows Phone,, Zune player needs to be installed.
Yep, even a modest text editor with plenty of added features over the original Notepad that came with Windows OS, can be used for rapid development.
To be future-proof, use HTML5 when creating new applications. It is the most widely supported development language.
This is not a promise, but an researched guess.