[sync] Intro and thoughts

Diggy Bell diggy at dbsoftdev.com
Wed Apr 7 11:43:12 PDT 2004


Hello All,

I'm just joining the list after a brief communication with Marcus Ryan concerning Palm sync.  I've been working in this space for a number of years.  I was involved in PDA wireless connectivity solutions a few years back for Centura Software using wireless networks to access ODBC and COM business logic.  After that, I spent a year working with ePocrates as Dir of R&D where my team rearchitected their data delivery servers to increase capacity from 25K syncs/day to 2.5M syncs/day.

I started my own business in 2001 and focused on developing apps using PHP.  Last year I started building my sync tools to support an application for inspections on Palms.  I tried to take all of the things that I had learned at Centura and ePocrates to develop a server-managed sync capability.  I've got most of the package running in beta for a hospital doing quality assurance for their housekeeping.

I did some looking around this morning to find a 'marketing' type document that describes the stuff that I've done.  I'll paste it at the bottom of this note to give a little better description of everything.  Based on what's there, we can talk about getting some of the functionality into Horde!

William D. 'Diggy' Bell
Principal
DB Software Development
http://www.dbsoftdev.com

What is Phramewerx SyncLib?
Handheld computing has become an accepted part of society because of devices running PalmOS, PocketPC and others.  Many individuals now use handheld devices for much of their personal organization and other applications. Handheld devices have definitely proven themselves as a tool for individuals, but integration with corporate systems has lagged.

There are several key factors that have hindered enterprise integration.

  a.. Most enterprise deployments require development of applications to run specifically on the PalmOS device.  The cost of developing these applications can be hard to justify when compared to the benefit to the company.
  b.. Deploying a large number of devices is difficult and expensive because of the number of components involved.  Single point management of the users, devices, PalmOS applications, and synchronization components can't be easily done.
  c.. Many of the available integration technologies are managed from the user's desktop system by design.
The Phramewerx SyncLib addresses these issues through a combination of technologies that provide end-to-end integration between corporate systems and handheld devices.  Extensive use is made of open standard and open source technologies to provide a comprehensive solution.

PalmOS Application Development
Handheld applications for corporate deployment have been slow to develop because the PalmOS environment requires a unique set of developer skills.  The environmental characteristics of mobile and embedded applications are significantly different from desktop and server-based applications.

The Phramewerx SyncLib addresses this by providing a set of application development classes that simplify the task of creating applications.  These classes provide support for user interface, database management and synchronization while requiring little knowledge of the environmental details of PalmOS.

The user interface classes are designed to allow the developer to focus on the implementation of the functionality, not the mechanics of how the interface works.  Automatically routing PalmOS events to application objects frees the developer from the implementation details of the event handler.

Just like the user interface classes, the database classes allow the developer to focus on the logic of the application rather than the details of PalmOS databases.  The classes also provide support for a virtual primary key to control sorting and retrieving records from the database.  The database classes utilize a data dictionary that can be accessed from custom or generic applications.

Desktop Synchronization Components
Most synchronization solutions require the use of the PalmOS Desktop for integration of PalmOS Conduits.  The PalmOS Desktop provides a common point of integration between the desktop computer and the device, but no tools are provided for support and management of the desktop software components.  Also, most conduit solutions are static in terms of their functionality.

The Phramewerx SyncLib architecture provides a module-based conduit to facilitate remote upgrade of the synchronization components.  Using an XML-based rule engine, SyncLib is able to dynamically upgrade the desktop components as well as the application software on the PalmOS device.  Additional components can be developed and deployed automatically.

The first release will include two synchronization components.  The Reference Table component will allow transfer of data from a host server to the device.  This is designed for read-only reference data on the device.  The Form Table component will support synchronization of standard forms such as inspections or checklists.  The handheld data will be updated on the server, and data entered on other devices (or applications) will be transferred to the handheld.

Additional synchronization components can be developed to meet specific needs.  As described above, deployment of these components is provided through the core SyncLib conduit.

Server-based Handheld Management
As mentioned previously, many current technologies provide the basic synchronization capability, but fall short in terms of managing the devices.  They require intervention on the part of the user to upgrade software on the desktop, and may also require intervention for installation/upgrade of handheld software.

The Phramewerx SyncLib is a server-based approach using standard web technologies.  The server maintains a database of device, user, application and rule information that allows full configuration of the applications and components for each device.  The database also provides a standard application interface that allows for extension and customization of the server's functionality.

The Phramewerx SyncLib server provides an administrator with an intuitive interface for management of users, devices and application components.  The user information allows users to share devices, reducing hardware costs.

The server also serves as a distribution point for software deployment and upgrades.  The server can manage desktop synchronization components.  This allows for automatic deployment of new or enhanced functionality.  The server can also manage handheld application components.

 

Conclusion
The Phramewerx SyncLib components combine to provide a comprehensive suite of tools for development, deployment and management of handheld applications based on PalmOS.


More information about the sync mailing list