AppForge Crossfire 5.0

Write Once, Run Anywhere on the Most Popular Set of Mobile Computing Devices ...Really!

Mike Riley

October 30, 2009

6 Min Read
ITPro Today logo in a gray background | ITPro Today

asp:review

 

AppForgeCrossfire 5.0

WriteOnce, Run Anywhere on the Most Popular Set of Mobile Computing Devices ...Really!

 

By Mike Riley

 

Microsoft'sMobile Internet Toolkit is a slick VS .NET addition that can deliver aWeb-based experience optimized for the mobile client calling the application.Unfortunately, that scenario only works in a connected state. The Compact .NETFramework resolves this restriction for the Pocket PC/Windows CE platform, butdoesn't even attempt to provide a framework for non-Microsoft mobile platforms.Although this works in an all-Microsoft world, few organizations (andespecially large enterprises) have a homogenous single-vendor environment -especially when it comes to mobile communication devices.

 

AppForge,a company that has for several years been building bridges between MicrosoftVisual Basic syntax and non-Microsoft mobile computing platforms, has releasedtheir latest tool to serve not just one, but three alternative platforms usinga single VB .NET syntax codebase. The result is quite impressive. In fact,executing a Crossfire application in any of the disparate targets can make adeveloper downright giddy, anxious with the new world of catalyzingopportunities.

 

TheDevelopment Environment

Crossfirelives within the familiar Visual Studio .NET IDE and leverages all thefunctional aspects the IDE provides (see Figure 1). However, developers willneed to obtain emulators for the various mobile platforms from the respectiveproduct companies to facilitate design and debugging (see Figure 2). Of course,the application can be deployed directly to the device for testing; but as anydeveloper who has done mobile device development knows, this quickly becomes apainfully slow cycle. Imagine connecting a Pocket PC, downloading theapplication, disconnecting the device, executing the application, noting anyissues, and repeating this cycle for three devices, each with their own displaylimitations. Obviously, the emulator path is the most efficient route.

 


Figure 1: Crossfire resides within thefamiliar Visual Studio .NET IDE, but requires its own set of proprietarywidgets for constructing applications for the supported mobile devices.

 


Figure 2: The Project Settings dialog boxallows easy modification of deployment and packaging parameters. Note thattarget emulators - including the Palm, Nokia, or Sony Ericsson - have to beobtained and installed separately from Crossfire.

 

Once therespective emulators are installed, they need to have AppForge's Boostervirtual machine (known as MobileVB in prior versions) installed on them (thisgoes for any supported mobile device expected to run Crossfire applications, aswell). This virtual machine's footprint ranges from roughly 500KB to 1.3MB,depending on the platform. And although not every function in VB .NET issupported in Booster, AppForge intelligently selected the most appropriate forthe mobile environment. This means that VB .NET developers will haveconstructed and executed their first Crossfire application literally within minutesafter installing the product.

 

Althoughthe documentation installed (see Figure3) into the Visual Studio .NET IDE Helpsystem is adequate for basic orientation, developers will quickly find thatthey need to download the latest set of PDF-compiled documentation from http://www.appforge.com/dev/usersguide.htmlto fully understand the programming facets that Crossfire operates under.

 


Figure 3: Excellent product documentation iselectronically provided. This page details the required installation of theAppForge Booster on any device intended to execute a compiled Crossfireapplication.

 

NumerousControls

Drag-and-dropcontrols are what made Visual Basic such a winning Rapid Application Development(RAD) environment, and Crossfire extends that RAD metaphor with over 30 uniquecontrols, from the standard Label, Radio, TextBox, ComboBox, and ListBoxcontrols to GraphicButton, Shape, and Timer controls, to the astonishing Camera(for the Sony Ericsson P800/P900 phone), Scanner, Movie, Filmstrip, andSpriteField controls. The five sample projects that ship with the productshowcase these controls and do a great job of further instilling excitement inthe developer. My neurons were popping like firecrackers with the number of newapplications I could author for specific platforms whose SDK's I had no desireto learn.

 

A numberof other advantages work toward Crossfire's favor. AppForge spared no expensein taking on the hard problems such as database synchronization (see Figure 4)and TCP/IP communications. Although retrieving Web content is more verbose thanconstructing a System.Net.WebRequest object, it is not overly difficult.In fact, the StockQuote example contains code that can be lifted to serve many AppForge.Net.ClientSocketcalls.

 


Figure 4: The AppForge Universal ConduitWizard configures established ODBC connections to a Palm database file for easydata synchronization needs.

 

UniqueFeatures

The mostimpressive features I found with Crossfire were its cross-platform visualcontrols (see Figure 5). Conversion programs for fonts, graphics, and evenvideo create proprietary image and video files for the Crossfire applicationenvironment. Using the AppForge Font Viewer and Font Converter utilities, anyTrueType font can be converted to any of the supported platform (see Figure 6).However, the style and size of the font converted can spell the differencebetween failure and success. For example, I discovered that most fonts need tobe converted from the 20 point size or higher to have enough bitmap data to beentirely legible on screen.

 


Figure 5: The Crossfire toolbars providequick access to conduit configuration; database, font, graphic, and movieconversion utilities; and deployment configuration settings.

 


Figure 6: AppForge bundles conversionutilities for fonts, graphics, and even movies to provide a rich visual userexperience across multiple mobile device platforms.

 

As forthe video converter utility, it works only with uncompressed AVI files,typically those used by Windows to show a file flying from one folder toanother. The video quality is hardly intended for lengthy playback; it is bestused for quick, frame-based animations. I did encounter an annoying bug whenusing the converter. The text boxes listing the path for the file names isn'tread when converting files. Instead, files must be manually selected via the Select button for the proper file paths to be recognized. This is aminor issue, especially when considering that the alternative effort to bringsuch features to fruition on say a J2ME-supported platform, and even the PocketPC's Compact .NET Framework, isn't as intuitive when it comes to this level ofcontrol.

 

Conclusion

Crossfireis one of the easiest ways to deploy intelligent client applications on fourvery different mobile platforms. Although the Booster virtual machineinstallation adds more overhead to the requirements, its weight isinconsequential compared to the weight of synchronizing the proprietary SDK's developmentpractices for each respective platform. The solution may be expensive overkillfor an easier way to program a rich-client application for the Palm OS, forexample, but if that same logic must run unaltered on a Pocket PC and a NokiaSeries 60 phone, Crossfire is without question the fastest way to achieve thatgoal.

 

 

Rating:

Web Site: http://www. appforge.com

Price: US$1,000 (US$1,070 for boxed version)

 

 

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like