|Project:||G Palmtop Environment|
|Scope:||GUI framework and applications|
|Status:||free time project|
The G Palmtop Environment provides a user interface environment for palmtop/handheld computers running the GNU/Linux operating system.
GPE is an entire environment of components which make it possible to use your GNU/Linux handheld for standard tasks such as Personal Information Management (PIM), multimedia playing, games, etc.
In addition GPE provides an infrastructure for easy application development and good compatibility to existing desktop solutions. GPE uses the X Window System, and the GTK+ widget toolkit. Besides providing core software such as shared libraries, and perhaps more importantly, the GPE environment defines standards for program design and interaction. It is based on the C programming language and other common standards such as SQL, XML, DBUS.
GPE is committed to the Open Source idea. All GPE core components are released under GNU licenses, applications using the GPL and shared libraries using the LGPL. Those allow for the most free usability of the GPE system.
The history of GPE starts with a the same guy who founded kernel concepts: Nils Faerber. The GPE project was born on Dec. 22 2001 with this mail to the iPAQ mailinglist at handhelds.org: http://handhelds.org/hypermail/ipaq/108/10806.html.
I the following two years a basic set of applications were developed. This includes simple PIM applications, configuration tools, a desktop manager framework and several other pieces of software. In addition to software development the GPE team spent much of time exploring useful software technologies useful on mobile devices with limited hardware capabilities.
Until spring of 2003 GPE stayed a hobby project for all project members. At this time Florian Boor from kernel concepts became maintainer of GPE-Conf. A short time later Nokia charged kernel concepts to do some GPE application development and prepare a GPE release. Another company (opened-hand.com) was charged to work on the Matchbox Window Manager which is used in GPE. After the release we were back to the hobbyist project.
From late summer 2003 to spring 2004 three people from kernel concepts worked on GPE. Nils Faerber developed the mixer application and ported the GTK plucker viewer to GPE. Ole Reinhardt started the Rosetta charakter recognition software project and Florian Boor started GPE-Mininet and GPE-Aerial, worked on GPE-Conf, GPE-Beam, GPE-Contacts, Minilite and various other applications.
In spring and summer 2004 the British company Xios charged kernel concepts and various other companies and developers to develop a complete Linux-based software framework for the Psion Netbook Pro. Although this project never made it to the market, a number of GPE applications were improved and adapted to become on devices with a large screen like the Netbook or the Simpad. In addition to this the project helped to speed up the integration of GPE into the OpenEmbedded build system which was used for building the filesystem. The project ended in a financial disaster for almost everyone who was involved, but luckily most of the software developed was Open Source and didn't get lost. The main positive effect was caused by the software tests which were done in this project and resulted in fixing of a huge number of bugs in several GPE applications.
In parallel kernel concepts ported Linux to several Höft & Wessel MDE and POS devices. The skeye.integral MDE became the first device available shipped with GPE.
Let's take a look at GPE application design. The most obvious constraint for the design of a GPE application is the limited resolution of the screen in most handheld devices. The screen size limits both the amount of information which can be displayed at a time and the amount of active screen surface which may be used for user input on devices using a touchscreen.
The images shows the main window of the application GPE-Todo. You can see that the user interface of the application itself is separated into only two areas: The toolbar and a list containing information. (The panel in the bottom of the screen is not part of the application.)