Newsletter | Advertise | App Shop | CONTACT   
     
Monday, May 12 2008  
Welcome to SymbianOne - symbian OS, UIQ, series 60 programers, S60, wireless developers, device makers, and mobile industry architects
HomeNewsJobsArticlesReviewsEventsMagsAbout UsLBS
FREE STUFF Job Posting / Developer Programs / Free Telecom Papers / Directory
Free Holiday Themes / Nokia World 2007 / Symbian Search / N95 Blog / Symbian Blogs
SymbianOne Newsletter

Symbian newsletter
 Subscribe to the free SymbianOne Monitor Newsletter - 2X A Month!

remove
subscribe
SymbianOne



or Register HERE

SymbianOne Sponsors


Featured Books


Featured Event

where2.0
Main Menu
Home
News
Jobs
Articles
Reviews
Events
Mags
About Us
LBS

Mobile Industry News
LBSzone Alert, May 7, 2008 - A weekly update on mobile technologies and location-based services
Location Services (LBS)
Nokia Beta Labs Introduces Nokia Step Counter - track how much you walk or run
Location Services (LBS)
Will Nokia Ship 35 million GPS-enabled devices this year? CEO Olli-Pekka Kallasvu thinks so
Location Services (LBS)
UIQ Developer Fast Track 2008 US canceled
Symbian Developer News
Prediction... More Than 550 Million GPS-Enabled Handsets Will Ship by 2012
Location Services (LBS)
SHAPE Services Acquires Warelex in 2.4 million USD deal
Industry News
Nokia and Ikivo Bring Designers and Developers Together
Industry News

NewsFeeds


Symbian one RSS feed Add the SymbianOne RSS feed to your reader 

Get daily email updates:


by FeedBurner

smartphone summit 2008 

For The Developer

AT & T devcentral
 AT&T Developer Program - Mobile Application Development Best Practices

Free White Papers

Device Gallery


Panasonic X700

post a job

Symbian Careers
FREE Job Posting!

FREE STUFF

 

 

SymbianOne Stuff!

Mobile Application Store 

 SymbianOne Mosh

Somusar: Instant S60 development Print E-mail
Written by Somusar/Francesco Aliverti-Piuri   
Thursday, 02 March 2006
The SoProMach software generator from Somusar offers developers and content providers the opportunity to create applications for S60 devices from a simple written specification. Somusar Managing Partner Francesco Aliverti-Piuri explains how one type of application is created.

In a recent article on SymbianOne (Harpsichord Riddle: SoProMach In Action), Richard Bloor described how a software generator and an application engine designed to create S60 application had been used to produce an adventure game. This article discusses in more detail how the application engine and generator, based on Somusar/SoProMach, allows content (text, pictures, sounds, and video) to be packaged rapidly into different native S60 applications. Such applications might be travel guides, soap operas, navigatable picture shows, product guides, repair manuals, quizzes, games, or questionnaires.

"Rapidly" is something of a flexible term that can have different meanings. In the context of this article it means "within a few hours", with the time spent on actual code development reduced to just a few minutes. To provide evidence of this, a SIS file for S60 has been produced for this article. The SIS file contains an application with recent contents from news channels covering the Symbian ecosystem, including SymbianOne. This article will show how producing similar applications becomes trivial from the C++ development point of view: this approach enables cheaper, better, faster production of numerous native applications for S60, even for small development teams. Applications produced in this manner are suitable for signing and secure delivery.

Sample Product: SampleNews.SIS

The application produced for this article (Download SampleNews.SIS) contains eight articles from five different news channels, and one podcast. Figure 1 shows the UI navigation hierarchy of the application: from a main control panel the user can access five channels then view or listen to a news item. The eight textual articles also include a photograph or screenshot. The sample podcast playback is performed using the standard S60 "Voice Recorder" utility.

Figure 1 - Hierarchy of UI panels within Sample News

User Interface

The main control panel is always directly accessible from the "Options" menu of the application. News channels and news items can be accessed by pressing either the navigation key or the numeric keypad, in the style of a TV remote control. The application engine and generator automatically and consistently associate numeric keys with option items. Some panels have a simple "context ringtone" associated with them. "Help" and "About" panels are also available. The navigation keys allow the volume of context ringtones to be increased or decreased and provide for scrolling up and down through the text, when available. As an aside, the "Action" label under the navigation key has suggested the nickname "NavigAction key". On exiting the current context is automatically saved and restored when the application is restarted. A shortcut to save and exit functionality is available in the "Options" menu.

Note: Readers interested in installing the SIS file should use 0 (zero) as the license key to activate the application. In a real application a suitable mechanism can be used to tie a license key to the device's IMEI number.

Software Production Process with SoProMach

Figure 2 summarizes the inputs to and outputs from the S60 generator based on SoProMach (which stands for So-ftware Pro-duction Mach-ine).

Figure 2 - Inputs to and outputs from SoProMach

As the diagram shows, a set of generalized software stamps for the S60 application engine are processed with the configuration and content of a specific application, Sample News in this case. Additional application-specific software is merged with the machine-made software. The resulting project tree is then processed by a standard S60 SDK, which builds the application for both the emulator and devices.

The textual configuration file for Sample News contains the definition of the UI panel hierarchy, and imports the application contents stored in external files (text, graphics, and sounds). The amount of hand-written code required to complete an application varies depending on the type of application being produced. This S60 generator has so far produced six applications: four versions of Harpsichord Riddle (English and Italian games, each in trial and full edition), an application called "Siren Light", and the Sample News for this article. The following picture shows the percentage of machine-made software with respect to the overall textual software of each application. Note that a typical S60 project mainly consists of C++ text, but there are a number of other textual project files that need to be created and maintained: project build files, resources, localization messages, and so on. The generator produces complete, ready to build S60 project trees; automatically copying parts of its input into the output project tree.

Figure 3 - Percentage of machine-made software in generated applications

Production Process for Sample News

The process of creating the Sample News application however extends beyond the production of C++ code, SIS package, and other project files. It includes selection of news, editing and conversion of contents into appropriate formats, and testing on real devices. Figure 4 shows the sequential process that delivered SampleNews.SIS, along with the GMT time stamps taken at each stage. Overall the process required two hours, while the actual production and building of the application code took seven minutes.

Figure 4 - Production flow and timing for SampleNews.SIS

A significant part of the time was spent in adapting the contents to the target platform standards. As an example, the Nokia Multimedia Converter was used to convert the original MP3 podcast of 4.8 Mbytes into an AMR file of 488 Kbytes. JPEG images were reduced to a standard size and converted into BMP format so they could be packaged in an MBM file. Once the content was ready, the fully automated software process delivered the Sample News application ready to be tested on both the emulator and S60 devices. Testing on different devices ensured that behavior and performance of the application would not be impacted by differences in hardware and S60 platform version.

Process Applicability

The software production process described so far is currently targeted at production of S60 active contents applications, for both online and offline use. The active content in Sample News encompasses text, audio and images. Video playback can be performed using a preinstalled video player, such as RealPlayer, employing the same technique used for podcasts.

The Sample News shows a hierarchical navigation of content, but the generator is capable of creating applications that uses other navigation paradigms such as sequential, random, or flow based on an algorithm. The generator can therefore create applications as varied as travel guides, soap operas, navigatable picture shows, product guides, repair manuals, quizzes, games, and questionnaires.

Producing applications this way has benefits when it comes to obtaining Symbian Signed. As their software architecture is fundamentally constant, once one version of the application has passed the Symbian Signed tests another application (with different content) is assured of passing those same test. This helps eliminate repeat submissions, which might occur if the application were hand coded and improves planning by providing certainty over how many Symbian Signed submission will need to be made.

Contents can grow in size almost indefinitely: a lab experiment has successfully produced an application containing 400 blocks of text and images. Content can also be split into different applications (SIS files), for example a travel guide for a large country can be split into a set of regional guides.

Flexibility in customizing individual applications, as well as series of applications, is provided by several "hooks" in the generator and application engine that are open to the integration of hand-written software. Differences in hardware and versions of the S60 platform of target devices can be accommodated within the software stamps, which are controlled by different or conditional statements in the application configuration (specification).

Textual application configurations can be created at a high level as Microsoft Word documents with pictures, sounds, and other contents. Such documents provide the specification processed by SoProMach.

Smooth integration with pre-existing software processes and practices can be accomplished on a case-by-case basis, or with a generalized approach: SoProMach has been integrated with IDEs such as Eclipse, CodeWarrior and Visual Basic Express, and can natively process text specifications in formats such as XML, HTML, and CSV. Integration with Nokia's Carbide.c++ development tools is also possible.

Conclusion

This article described one example of automated software production using SoProMach applied to S60 native applications. Somusar first started exploring the possibility of using SoProMach for S60 applications in C++ or Java about twelve months ago. The technology is now able to produce ready-to-use software for a wide variety of applications with significant savings in terms of cost and time.

The SoProMach technology offer what is possibly the simplest route to undertaking native Symbian development. The technology is not limited to the style of application described in this article, additional stamps can be created to address the build requirements of almost any type of S60 application. Somusar will be exploring options for additional stamps and is capable of creating custom stamps for specific application requirements.

Availability

The process described in this article is commercially available now, as both an outsourced or in-house process. Binary and source licenses are also available for the S60 generator, the application engine, and SoProMach. Complementary professional services include on-site consultancy, ad-hoc development, and training.

For more information see www.somusar.com, information on contacting Somusar can be found here (www.somusar.com/contact/index.html). Somusar is a Symbian Affiliate Partner (www.symbian.com/partners/somusar.html).

Last Updated ( Friday, 03 March 2006 )
 

Google
 
Share This Item with others - del.icio.us / Furl / Digg
Share on Facebook

Contribute to the SymbianOne Symbian Search!

Mobile Technology Blogs

 
blogger.gif

Mobile Technology Blogs, News, and RSS Feeds... Looking for more news, tips, commentary, and blogger discussions? Check out these excellent feeds for more on wireless technologies and mobile application development. Got a feed to share? Please tell us about it...

SymbianOne Sponsored Links

Smartphone Summit 2008 - SMARTPHONE SUMMIT 2008 Presents 'Smartphone Solutions' Las Vegas Convention Center − Room N115, 3/31/2008

Mobile Web2.0 Summit 2008 - Wednesday 11th June 2008 to Thursday 12th June 2008, Central London, UK, 09:00 - 17:30

 LBSZone.com - for developers interested in mobile location-based services
Geospatial & LBS News - Stay abreast of geospatial technologies with daily updates

See Your Message Here

Featured Symbian Career

Featured Career... Multimedia Design Lecturer

ADDED EXPOSURE FROM SIMPLYHIRED - POST YOUR JOB FOR 30 DAYS FOR JUST $49!

Post your Symbian Career Ad for free at SymbianOne!





Visit the  SymbianOne MOSH

Syndicate


WINKsite
add to google reader
Subscribe in NewsGator Online
SymbianOne Feedster
Technocrati
SymbianOne Bloglines
AvantGo

SymbianOne on AvantGo!
Get Daily Updates!


SymbianOne FeedBlitz

Popular Stuff!

Industry Events
May 2008
MTWTFSS
28
29
30
1

Must Read Articles

Symbian Tools & SDKs

UIQ


News and Blogs

Top of 

Page

(c)2003 - 2008, SymbianOne - All rights reserved