OPL is almost a religion to Ewan Spence, the author behind Rapid Mobile Enterprise Development for Symbian OS. Despite its title this book is about making OPL accessible. We talk to Ewan about the book and the OPL project.
The existence of OPL as more than an interesting footnote in the development of Symbian OS owes much to Ewan Spence's determination (certainly of all the OPL proponents outside Symbian). It was a meeting in the summer of 2002, attended by Ewan, that gave impetus to the open sourcing of OPL in December 2002.
OPL started life on Psion's Organiser (OPL stood for Organiser Programming Language, but has morphed into Open Programming Language in recent years). During the 1990 OPL was the basis of a significant commercial and non-commercial application scene, built around Psion's Series 3 and Series 5 machines. It also had the appeal of providing a full development environment on the devices too, so applications could literally be created on the run.
OPL ceased to be part of the standard device package with the release of the first Symbian OS device, the Nokia 9210 Communicator. That move was a blow for OPL developers and set the community back, even though a OPL version was released for the Nokia 9210 in 2001. The open sourcing of OPL has put life back into the OPL community and there are now approaching 100 OPL application generally available. However, as Ewan is always quick to point out, the nature of OPL means that the number of known application is literally the tip of the iceberg, with many more applications, serving individuals and companies, that never get formally released.
So what is OPL. Essentially it is a BASIC (Beginners All purpose Symbolic Code) language. This may seem rather passé, no Object Orientation here (although an attempt at an object orientated version called OOPL did make a brief appearance at one time) or strange C++ style logic operations. Rather OPL provides easy to understand commands with a simple procedural flow (as long as the gotos are kept under control).
"The huge benefit of OPL is its accessibility," says Ewan. "Languages like C++ and Java need a specialist knowledge of programming. They are not the sort of languages which someone with a neat idea can pick up in a few days and create a simple application, let alone easily build something more complex."
When Ewan first started programming in OPL he used a Psion Series 3, which came with a programming guide and language reference. Later when working on the Series 5 he relied on EMCC's Programming Psion Computers (which incidentally is now available as a free pdf download). "While we have developed the OPL Wiki we were lacking a modern beginners guide similar to the Psion manual and EMCC book," says Ewan. "So this was my goal in writing the book to provide a solid introduction to OPL and a comprehensive reference guide to the basic commands; I've even got the publisher to leave plenty of space in the reference for the reader to add their own notes!"
Rapid Mobile Enterprise Development for Symbian OS starts with the basics, and Ewan mean the real basics of the "input, output, cpu, memory" type. Having covered the basics Event Core is introduced. This is a simple loop that provides an effective, well structured, starting point for any OPL application. The book then moves on to examine Event Core in action with a simple conversion program, look at basic graphics with an Othello game and finally explore databases with a notepad application. The tutorial section of the book then completes with a look at packaging and deploying applications before the book concludes with the command reference.
"I have always felt that if you have a computer it is a waste not to know how to program it," says Ewan. "A computer should do what you want it to do. OPL is the accessible tool which allows any Symbian OS device owner to create their own applications. I hope that the book will show readers how easy it can be and encourage then to give it a go."
"My goal in writing the book was to get more people programming for Symbian OS devices," says Ewan, "And I hope that will translate into a resurgence of the OPL community and a lot more than 100 OPL applications."
The OPL project now provides a full runtime and development environment for Series 80, both the 9200 and 9500/9300 devices, a late beta for UIQ, which is expected to be final shortly, and an alpha for Series 60. A version for the Nokia 7710 is also under development but not released.
The OPL project can be found on SourceForge and if you are interested in seeing what can be achieved with OPL then take a look at the applications from RMR Software. Rapid Mobile Enterprise Development for Symbian OS can be ordered online from Amazon. |