Open Source from Applix
Applix, Inc. is best known for Applixware Office, a cross-platform suite of desktop productivity tools. (See review by Dean Staff in this issue.) Founded in 1983, Applix's original goal was to develop and market multi-user graphical UNIX-based integrated office applications. Since then, Applix has become very popular among those in the engineering, government and financial sectors. Applixware became available for Linux in September of 1998. In March 1999, Applix announced its first Open Source initiative with SHELF.
The Extension Language Facility (ELF) enables developers to integrate applications and corporate data with Applixware Office. For example, all user interfaces for the Applixware applications (Words, Graphics, Spreadsheets, Presents, Mail and Data) are all built with ELF. SHELF (SHared ELF) is the open-source release of the ELF developer tools including Applix Builder, an object-oriented, graphical IDE (Integrated Development Environment) released under the GNU Library General Public License (LGPL). (See Figures 1 and 2.)
SHELF can be used to rebuild the ELF shared library which is used by newer versions of Applixware. This allows you to extend ELF's capabilities and take advantage of those changes from within Applixware.
Like Java, ELF is a platform-independent language that does not need to be recompiled on each platform. In general, ELF applications execute slower than C or Java. Computation-intensive functions are best implemented as C add-ins to ELF. ELF's loose type checking is an advantage in smaller applications, but can become a disadvantage for large-scale applications. Unlike C, ELF is fully memory-safe and includes error signalling. Developers are free to focus on algorithms and the user interface rather than memory management. ELF also provides simple and robust interfaces to relational databases.
Applix is hoping ELF will become a popular language for layered applications and lightweight application-building where development cycles are measured in person-days to person-months. They do not anticipate ELF displacing C++ or Java. However, ELF's strengths could help find it a strong developer community.
Asked how Applix intends to generate developer interest in ELF, Richard Manly, Director of Product Management and Marketing for Applix, said customers will be doing this in two ways:
The first is to create a series of SHELF applications which will be offered in Open Source that will show developers what can be achieved by using the SHELF development tools. The first of these applications will be the Linux Palm Desktop (LPD), a graphical desktop application which will enable Palm or Palm Pilot users to download, view and search their PDA data in a familiar user interface. By offering the LPD application in Open Source, developers will be able to use the interface to extend the use of their data into either their own programs or into other applications which run on Linux machines. We'll also offer a link to Applixware for automatic generation of word-processing documents, e-mail and spreadsheets.
Thousands of developers have already used ELF as part of Applixware to build a wide variety of applications. According to Manly, these range from
using ELF to record and play back keystrokes and mouse clicks to automate often-repeated activities within Applixware to extending the functionality of the spreadsheet to additional analytics to full-scale applications which utilize ELF's ability to integrate with third-party applications using databases (via ODBC), sockets, shared libraries and RPC calls and CORBA via IIOP.
The “Free Stuff!” section of the Applixware for Linux site (see Resources) contains sample ELF applications such as Solitaire, which can be freely downloaded. The Linux Palm Desktop application will be posted at the Applix Open Source Central site. This site will be the focal point for SHELF development including downloading the SHELF distribution and contributed extensions.
A variety of books about using ELF are available from Applix's web site. Both Applixware and SHELF are available for all major Linux distributions as well as Solaris, AIX, HP-UX, Digital UNIX, Irix, Windows 95/98 and NT.
In June, Applix announced a new division that will work with the Linux and Open Source software community to source and brand applications. The Applix Linux Division will also continue to aggressively market, sell and support the company's Applixware product suite for the UNIX and Linux markets.
Applix is currently growing and recruiting additional developers and marketing staff for the new division. Asked how the new division will change Applix, Manly replied,
By being focused on the Linux market, we'll be more able to respond quickly to the demands and direction of the Linux user base.
Craig Knudsen (email@example.com) lives in Fairfax, VA and telecommutes full-time as a web engineer for ePresence, Inc. of Red Bank, NJ. Craig has been using Linux for both work and play for three years. When he's not working, he and his wife Kim relax with their two Yorkies, Buster and Baloo.
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
- August 2015 Issue of Linux Journal: Programming
- Django Models and Migrations
- Hacking a Safe with Bash
- Secure Server Deployments in Hostile Territory, Part II
- The Controversy Behind Canonical's Intellectual Property Policy
- Huge Package Overhaul for Debian and Ubuntu
- Shashlik - a Tasty New Android Simulator
- KDE Reveals Plasma Mobile
- Embed Linux in Monitoring and Control Systems
- diff -u: What's New in Kernel Development