GeoWorks's GEOS is one of the smallest general-purpose OSes available, needing only about 1.6 MB of ROM and 512 KB of RAM. It is optimized for low-cost, power-sipping, x86-compatible CPUs, and it provides developers with flexible options for designing user interfaces. Until now, however, GEOS's support for communications has lagged behind other PDA-oriented OSes (e.g., General Magic's Magic Cap and Apple's Newton Intelligence). GeoWorks aims to change that with GEOS 3.0.
GEOS 3.0 adds a critical data communications layer atop the core OS. That layer includes a mailbox library, a socket library, transport drivers, and fax capability.
The mailbox library provides a systemwide inbox/outbox that streamlines
the delivery of messages between applications or devices. Those messages can be E-mail letters, desktop file transfers, or faxes. The mailbox can hold messages and defer transmission until it recognizes that a transport driver has become available. For example, you could make a change to your calendar, store the change in the mailbox, and later use an infrared or wired link to record that change on a colleague's PDA or desktop computer.
Two-way communications channels are provided by the socket library. GeoWorks borrowed its socket API from BSD Unix; protocols include TCP/IP using SLIP and PPP and the IrLAP (Infrared Link Access Protocol) subset of the IrDA (Infrared Data Association, Walnut Creek, CA) standard. Geoworks says full IrDA support will be available later. This library allows a developer to build communications capability into an application without knowing how a given protocol works. The transport drivers handle the actual transmission and reception of messages, and they also provide a us
er interface for sending and formatting the messages.
GEOS 3.0 supports Class 1 and 2 fax using either 1-D or 2-D compression. The fax transport driver is integrated with the mailbox library, which means that GEOS 3.0 can defer fax transmissions and automatically receive incoming faxes.
Other improvements include simultaneous support for multiple languages and improved memory management.