Framework aims to commercialize mobile Linux apps
Dec 22, 2006 — by LinuxDevices Staff — from the LinuxDevices Archive — 6 viewsAccess's open-source “application framework” for Linux devices, released under the Mozilla Public License (MPL), is now available for download. The Hiker Application Framework — a set of libraries and utilities for GTK+ application installation, management, security, and inter-communication — aims to enable the commercialization of applications targeting mobile Linux devices.
Access's wholly owned PalmSource subsidiary is practically synonymous with mobile devices. More people around the world know what a Palm Pilot is than have ever heard of Linux, for example.
Palm's decades-long hegemony in mobile devices resulted in an enormous third-party commercial application ecosystem, both for vertical market software and corporate applications. At PalmSource's 2005 Mobile Summit, outgoing CEO Dave Nagel told 1,000 keynote attendees that Palm's developer ecosystem numbered 400,000.
It's no surprise, then, that PalmSource would make sure its forthcoming Linux-based software platform for mobile devices — currently codenamed ALP (Access Linux Platform) and already sampling to select customers — has all the tools needed to help commercial and corporate developers alike write applications that can be installed, run, and managed in a consistent fashion.
Access Linux Platform architecture
(Click to enlarge)
What's Hiker all about?
Access announced Hiker in late October, saying that it had evaluated alternatives, and found “no open source solution available for commercial software in mobile and embedded devices.”
“Hiker” appears to be a release name; subsequent releases of the application framework may have different names. The name Hiker appears aimed at evoking mobility, and possibly simplicity, given that Hiker brings many PalmOS-like user interface characteristics to the table.
Access Hiker Service Framework components
(Click to enlarge)
For example, Hiker provides mechanisms for saving and shutting down one application and “hot-launching” another, so that only one application runs at a time. Such behavior fits the task-based “use model” of mobile devices, Access says, where users may wish to capture and annotate a photo then send it in an email as a single transparent process, rather than launching separate applications and dealing with files, as on a PC.
Another Hiker feature is an interesting kind of pre-linker called the Native Launch Pad Daemon (NLPD). It launches a copy of the most commonly linked libraries in memory, and then when an application is launched, it copies itself and loads the application as a dynamic library. This approach is said to result in faster application start-up times than the traditional vfork() then exec() alternative.
But these are just samples. In general, according to Access, Hiker aims to provide four functions, via a handful of server daemons, utilities, and libraries:
- To package and install applications
- Bundle manager standardizes installation of application “bundles,” which comprise an xml manifest, program data, and other files bundled into a cryptographically signed cramfs filesystem image. Bundle manager is “the sole way in which all third-party applications are distributed and loaded onto a device,” and the only software that can access the bundle folders, Access says. An associated “Launcher” GUI application, and Bundle manager support for M68K and Java apps, will be added in a subsequent release
- To start and stop applications automatically
- Application Server (appserver) launches at startup time, and:
- Provides a way to start applications, and control their lifetime
- Prevents more than one instance of the same app from running (although applications can be “re-launched” with different parameters)
- May also provide default behavior for system events (such as handling dedicated keys, or clamshell open/close)
- Native Launch Pad Daemon (NLPD) — Launches a copy of the most commonly linked libraries in memory; then on application startup, copies itself and loads the application as a dynamic library. Said to be faster than vfork() followed by exec().
- Application Server (appserver) launches at startup time, and:
- To support common utility operations for applications
- global settings — stores application settings, preferences, font sizes, themes, etc., and can “retain a hierarchy of related settings as used in the OMA standard for data management on phones,” Access says
- alarm manager
- notification manager
- attention manager
- exchange manager
- To support security and “application sandboxing” for application software
In general, the Hiker framework provides libraries that make IPC (interprocess communications) accessible as local procedure calls. However, programmers can also access ALP's underlying IPC channels directly, Access says.
Availability
Hiker is available now for download, under the Mozilla Public License, here. It was developed on Debian-based Ubuntu 5.x systems, and until Access's SDK (software development kit) and PDK (product development kit) are shipping, will require installing development trees for:
- glib 2.8 or later
- sqlite 3.3.X
- gnet 2.0
- dbus 1.0
The source code tar bundle includes an excellent whitepaper, on which much of this story is based.
Access expects to ship its SDK and PDK in the first half of 2007. The SDK will include libraries, header files, and Eclipse-based GUI tools for aimed at helping third party software developers write applications that run on the Access Linux platform (currently codenamed “ALP”). The PDK will add tools and code needed to customize the actual Hiker software. It targets telcos, product licensees, and carriers.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.