Symbian DevZone - AppForge MobileVB V3.5 - Sony Ericsson P800 Support

by Richard Bloor, March 17, 2003

The latest version of AppForge MobileVB was released last Friday, 14 March, with it comes Visual Basic programming for the Sony Ericsson P800. This week Richard shares his first impressions of the tool.



AppForge MobileVB already supports Visual Basic development for the Nokia Series 80 interface on the Nokia 9210 and Nokia 9290 smartphones, along with its long standing support of Palm and Pocket PC devices. Released on Friday 14 March the latest version of MobileVB, version 3.5, adds support for the Sony Ericsson P800 which opens the first Symbian OS phone to compete with the popular palmtop PDA market to Visual Basic developers.

If you are not familiar with AppForge's MobileVB it allows Visual Basic developers to use Microsoft Visual Basic V6 to create applications, using a set of MobileVB controls. Debugging is preformed using the Visual Basic debugging tools and applications are complied within Visual Basic using the MobileVB compiler. MobileVB is also able to package the application for installation on the target device where it is run using an interpreter called Booster. In general developers only have to consider interface differences in porting an application from one interface to another. We have covered earlier versions of MobileVB quite extensively in the SymbianDevZone, a list of related articles is given at the bottom of the page.

Symbian OS already supports C++ and the popular Java language; so why have Sony Ericsson chosen to add the Visual Basic development capability? I put this question to Ulf Wretling, Director, Developer Program at Sony Ericsson. “We see the addition of Visual Basic to the development tools available for P800 as an important compliment to C++ and Java.” said Ulf “We have learnt from talking with developers that the C++ and Java communities and the Visual Basic community are really different. Typically developers stay within their community and they don’t want to develop in a mixture of languages. AppForge allows us to add another community of developers to P800”.

Now if you have used the Nokia 92x0 implementation of MobileVB then you will be aware of the fact that the standard MobileVB interface does not implement the Series 80 UI as a default. This is because MobileVB picks up the standard Windows navigation, for example, Tab to navigate between fields rather than the cursor keys used in native Series 80. To address these differences MobileVB includes 9200 specific controls and key capture capabilities. These allow a very respectable, but not identical, match with the Series 80 UI to be achieved, but it requires a little extra work by the developer (but significantly less work than would be involved in developing the application in C++). This has resulted in a number of MobileVB applications for the 9200 series which look and feel like Windows applications and switching between the two navigation methods on a 9200 device can be very disconcerting. So for me the big question with the P800 implementation was; how well the UIQ interface could be replicated in a MobileVB application?

Mark Lummus, Vice President, Business Development at AppForge commented that “We think we've done a very good job supporting UIQ. Since UIQ is touchscreen based, it's much easier to develop applications for it in VB, which is primarily a ‘pointer-based’ environment.”

My first opportunity to test this was by looking at some of the initial applications, released a fortnight ago with the P800 Booster. These early applications largely supported Mark’s view. The interaction with the applications feels pretty much like using a built in or C++ P800 application. What tends to give away the fact that the application has been created in MobileVB is the somewhat non-standard make-up of the interface, for example the use of a “Done” key rather than the UIQ back button. However these cosmetic items are unlikely to be noticed by most users.



What is more noticeable is that these applications don’t perform the same close and save on data entry screens when the user switches away to another application, an action which is part of the UIQ standard. However this again appears to be an issue with the way the applications have been built rather than the capabilities of MobileVB.

Within Mobile VB 3.5 there certainly seem to be the features which would allow developers to create an application which almost exactly mimics a P800 application in look, feel and behavior. So my initial conclusion is that MobileVB will allow a developer to create applications which comply very closely with the UIQ interface standards. Probably more importantly, where the developer chooses not to create a UIQ compliant application the user is unlikely to notice.

The P800 implementation of MobileVB includes all the same functionality as the 9200 version such as SMS, Networking, and PIM as well as support for the jog dial, Memory Stick™ and text entry mechanisms, which are essentially implementations of existing Palm or Pocket PC features for the P800. V3.5 also includes several other enhancements including improved sound capabilities with the ability to play a background soundtrack as well as playing other sound files concurrently. There is also support for scrolling data table forms horizontally when the form is wider than the device screen.

There are some significant features not implemented in this version, including MMS messaging and the ability to control the Camera. This lack of support is because to the APIs not yet being open to developers. AppForge are keen to add support in future releases.

Perhaps the most interesting part of the MobileVB coming to the P800 is how, in the long term, Booster will be shipped. Booster will initially be shipped on the CD included with new phones, and is already available as a download for P800 owners. Both Sony Ericsson and AppForge are interested in making application deployment, installation, and usage as easy as possible for the consumer and it is planned that Booster will eventually be installed in the phones firmware. There is a certification process which needs to be completed before this can be done but eventually MobileVB support will be an integral part of the P800 device. This is significant as it signals a long-term commitment by Sony Ericsson to support Visual Basic developers.

As an aside; Booster is shipped with an application catalogue that lists all the available MobileVB applications for the P800. The list can be updated over the air to keep it current. This is quite a clever way to market applications and keep them visible to the customer.

The next major step for MobileVB will be the support of Visual Basic .NET. AppForge are currently demonstrating the .NET version to their licensees with feedback reported to be excellent. While the VB6 version of Booster will not run new .NET applications AppForge are planning to ensure that the .NET Booster will run existing applications. Perhaps one of the most exciting features of the .NET version will be the ability to use any language that plugs into the Visual Studio .NET IDE. So in the future you could develop applications for the Symbian OS devices running a Booster in Managed C++, C#, and the many third party languages, like Object Pascal, PERL, Python, COBOL and Fortran, which can be plugged into Visual Studio .NET. AppForge are noting that the selection of languages will be driven by market demand, but the underlying technology will provide their licensees with the ability to enable this type of integration into Visual Studio .NET. The release date for .NET support has not yet been set.

The next obvious step for MobileVB will be support for Series 60. Prototypes were demonstrated late last year. Having Visual Basic as a development option on Series 60, well ahead of Microsoft’s ability to provide it on their own phones, is an obvious advantage to Series 60 and has to mean a MobileVB implementation can not be too far away.

The addition of Visual Basic development to the P800 should help accelerate adoption of what has been one of the most anticipated new phones of the last couple of years. While MobileVB will certainly increase the range of consumer applications available for the P800 significantly its most important effect could be in accelerating adoption within enterprises where Visual Basic is commonly used for application development.

Other MobileVB articles on WirelessDevNet:

Interview with Mark Lummus discussing the background and purpose of MobileVB in two parts Part 1 and Part 2


Introduction to MobileVB Development
Building a Communicator Interface in MobileVB - Introduction
Building a Communicator Interface - Implementing Navigation

Acknowledgement. The screen shot is of L3 Solutions (www.l3solutions.com) Time Bill application and was achieved using Peter van Sebille’s (www.yipton.com) Screen Capture application that is released under the GNU GPL.

About the WDN Symbian Editor, Richard Bloor:
Richard Bloor is a freelance writer and editor with 18 years experience in the IT industry as a developer, analyst and latterly Project Manager with a particularly focus on software testing. Richard has been involved with the Symbian OS since 1995 and has been writing about it for the last 3 years.

Richard is also an associate with System Architecture consultancy Equinox of Wellington, New Zealand.

Richard can be reached at symbian@wirelessdevnet.com.

Symbian DevZone Home

Nokia DevZone Home