Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.
Handset software is a fascinating topic in the mobile industry, albeit one that is often misunderstood. Application environments like Java, Flash Lite and Qtopia open the world of handset software to developers and allow the handset GUI to be customised. Here I introduce a new taxonomy for application enviroments and explain why seemingly distinct technologies like S60, Widsets, Maemo, Qtopia and Openwave MIDAS are essentially part of the same landscape.
The distinction between external and internal environments is down to several variables: level of functionality exposed to an application, who can access that functionality (certified apps only?), depth of integration (e.g. can you replace core apps such as the dialler and contacts application), when an application can be installed (at the point of manufacture, before the point of sale, or after the point of sale) and who can install the application.
1. External application environments, i.e. those which allow application development and handset customisation after the software has been embedded in the handset ROM. These are generally accessible to external developers, scripters and designers. Examples are: - Nokia’s S60, SonyEricsson’s UIQ, Microsoft’s Windows Mobile and Qualcomm’s BREW, which are advanced platforms. These can also be viewed as external application environments, in that they offer a rich set of APIs for application development and deployment post-load, in other words environments designed for developing downloadable but not core applications.
2. Internal application environments, i.e. those which allow application development and handset customisation before the software has been embedded in handset ROM (and in certain cases during the handset lifetime, too). These are accessible to handset manufacturers, network operators and handset distributors. Examples are: - Openwave MIDAS, a ‘deep’ scripting environment for creating operator-customised applications - SVG players from Ikivo and BitFlash for developing graphics-rich, interactive applications such as Vodafone’s Live! Cast. - TAT’s Cascades, Digital Airways’ Kaleido and Mentor Graphics’ Inflexion (previously NextDevice), which are rapid prototyping tools software frameworks for rapidly creating custom end-to-end user interfaces (i.e. the entire suite of core applications) from scratch. - e-SIM (now part of SKY Mobile Media) and Comneon’s APOXI, which are development tools for building suites of core applications (albeit tools which are more aimed towards engineers than designers). - Trolltech’s Qtopia, Maemo’s Hildon port, ALP’s Hiker, OpenMoko’s application framework, TTPCom’s Ajar and Windows CE app framework, which are sets of C/C++ APIs for creating core applications and managing application communication and lifecycle.