Sybase Mobile Evangelist

Ian Thain

Subscribe to Ian Thain: eMailAlertsEmail Alerts
Get Ian Thain: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

PowerBuilder: Article

Pocket PowerBuilder v1.5

Boldly going where no Pocket PC RAD IDE has gone before

It doesn't seem that long ago that Pocket PowerBuilder broke onto the scene; in fact it was only in August 2003 at TechWave.

Since then the Pocket PowerBuilder engineers in Concord, MA, have churned out Pocket PowerBuilder 1.0.1 and are now releasing Pocket PowerBuilder v1.5 in January 2004. Once the 1.0.1 release was GA we promised new and improved features in the next release, so that's why I've stated: "Boldly going where no Pocket PC RAD IDE has gone before." We really do believe that we are breaking new ground in the area of Pocket PC development. So let's charge our phasers, use our Pocket PCs as tricorders, and transport ourselves as we review the new features.

I'm sure you'd agree that it was pretty awesome to squeeze the functionality of the Pocket PowerBuilder VM into such a small footprint for the first release. The engineers have gone one better and now the Pocket PowerBuilder v1.5 VM is leaner and meaner than before.

From within the IDE of Pocket PowerBuilder we can now select the Pocket PC native signature control from the component toolbar, which is a great improvement over coding Windows CE API calls, etc. Engineering has also added a toolbar control. This is the start of other Pocket PC native controls appearing in the IDE. You'll also notice that user objects for the barcode scanner, biometric scanner, notification bubble, and POOM have been added as Pocket PowerBuilder reaches out to integrate not only with the Pocket PC operating system but also with devices on the Pocket PC platform. The barcode scanner objects provide a direct connection to barcode scanners in the ruggedized SYMBOL PDAs, with only a few lines of code. The biometric scanner objects allow you to secure your application with fingerprint security when deployed using an HP iPAQ 5400 and 5500 series, also with very little coding. We also capture some new events and allow some new properties to be set in various objects, for example, having the Soft Input Panel (SIP) appear as the focus for DW entry fields is a very nice touch for all of us who use DataWindows for everything.

The Project painter has gone through some subtle changes. It includes an option to add an icon to the Start Menu > Programs location device automatically, and the Project painter can launch an application on the device. Both of these options are nice touches for quick testing. The Pocket PC 2000 emulator has finally been dropped from the Project painter and replaced by the new 2003 emulator. We can also deploy a Today item to the Today screen, which is the home screen or main page of the Pocket PC; I'll describe this process later.

This release includes the option to change the application icon to one of your own choice. The icons can be various sizes: 16x16 or 32x32 pixels and a 4- or 8-bit resolution. Note that the Pocket PC platform can cache the icons, so a soft reset may be necessary to display the new icon for the application.

The DWSyntax tool has finally made it into the Pocket PowerBuilder IDE. This is a much-used utility and has been amended for its inclusion in this release with the removal of any attributes, etc., that are not supported in the DataWindow for the Pocket PC platform.

Pocket PowerBuilder ships with ORCASCRIPT, which is the exact same codeline as the up-and-coming PowerBuilder v10. Just like PowerBuilder, we have integration with the internal systems of Pocket PowerBuilder without the need for a mind-meld.

The last piece of news from the IDE section is that Pocket PowerBuilder now has Source Code Control through the use of the PowerBuilder SCC API. Pocket PowerBuilder supports all the SCC repositories that PowerBuilder v10 will support.

POOM is the Pocket Outlook Object Model (see Figure 1) and is the key to the Pocket Outlook object managers repository. This repository is the object store for the Pocket PC contact manager, appointment manager, and task manager. With the POOM object and Pocket PowerBuilder we can now inquire, access, create, update, and delete contacts, appointments, and tasks programmatically from within Pocket PowerBuilder applications in a 4GL way.

This is a powerful feature and a great addition to Pocket PowerBuilder. Without this interface object to POOM you would need to know a lot about C++ and COM. I'm sure the last thing you want to code in a Pocket PowerBuilder application is the functionality that's already included in the Pocket PC operating system.

Today Item
In Pocket PowerBuilder, the custom Today item and its parameters are part of the application object, and you can use the application painter to set Today item properties. As mentioned, the Project Painter can deploy Pocket PowerBuilder applications as an item on the Today screen, but what does that mean? It means several things: for example, it's a way of displaying data from a Pocket PowerBuilder application onto the Display screen as well as a glorified shortcut to a Pocket PowerBuilder application, and even a combination of the two.

With Pocket PowerBuilder we can create the two types of applications needed for Today items: display and run. By the names you can probably guess what both do, but it's worth mentioning that if you have both a display application and a run application, each will have its own instance of the Pocket PowerBuilder VM loaded, as the Today screen has its own memory space and no communication can take place.

The example that ships with Pocket PowerBuilder v1.5 is a clock (see Figure 2). The display application uses a timer event that constantly changes the TodayDisplayText property and runs the run application when that item is clicked on from within the Today screen.

Pocket PowerBuilder v1.5 has a Toolbar feature (see Figure 3). The way toolbars are created is different than that of PowerBuilder. In PowerBuilder the toolbar is created through the menu painter and can be associated with menu items. The toolbar within PowerBuilder is also a MDI property; since the Pocket PC platform supports only main and response windows, the Toolbar object isn't created with the menu painter in Pocket PowerBuilder, but toolbar control is dropped on a window, then defined further by its property sheet. Toolbars can be placed at the top or bottom of an application, but placing them at the bottom of an application will overlay a menu.

MobiLink Synchronization
We've gained another piece of functionality within the realm of Pocket PowerBuilder?generated MobiLink objects. Your application can now perform limited administrative tasks against the remote ASA DB on the Pocket PC device. Pocket PowerBuilder?generated objects and windows will specifically allow the creation of MobiLink synchronization users and MobiLink synchronization subscriptions without the need to redeploy the remote database. (see Figure 4)

Shipping with Pocket PowerBuilder v1.5 is iAnywhere's Adaptive Server Anywhere v9.0. As part of the v9.0 release, a variety of new features were introduced into the product, including integrated support for XML and SOAP, a new index consultant to help in the proper selection of indexes, a variety of performance enhancements, and new platform support including 64-bit support and Mac OS X. Another new feature within ASA v9.0 is that MobiLink version 9 now offers server-initiated synchronization.

Server-initiated synchronization allows MobiLink synchronization to be initiated from the consolidated database. This means you can push data updates to remote databases. MobiLink provides programmable options for determining what changes in the consolidated database will initiate synchronization and how remotes are chosen to receive update messages.

Captain's Log
Star Date 2004.01...I'm sure you'll enjoy developing unwired enterprise applications for the Pocket PC with Pocket PowerBuilder v1.5. The support that Pocket PowerBuilder now supplies allows you to create world-class or even universe-class applications without needing to be Dr. Richard Daystrom or a Vulcan.

Now full warp Mr. later in the light year when we'll meet up with Pocket PowerBuilder v2.0.

More Stories By Ian Thain

As one of the Sybase Technical Evangelists, Ian regularly addresses technical audiences all over the world and his sessions are always very well attended. He also writes education classes, whitepapers, demos and articles for various Sybase products and publishes regularly in Journals such as SYS-CON's PBDJ and International Developer Magazine. He is also the Sybase Unwired Platform & PocketBuilder Evangelist and works closely with the team in Dublin, CA and Concord, MA on new features and demonstrations for the products. In his customer-facing Evangelist role, Ian is very involved with the design, production and testing of Enterprise class Unwired Solutions, that have been implemented using Sybase's Unwired tools for Sybase customers around the globe. In addition, Ian is a dedicated technical expert continually working with Sybase's key partners and clients to enhance the capabilities of the Unwired solutions that Sybase can offer to its customers. Ian can also be found on Twitter @ithain

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.