OPL is an interpreted programming language similar to BASIC and purpose-built for Symbian OS.
Here's an example of an OPL program. It's the standard Hello World program:
During the development of the Psion Series 5, the language underwent large changes. The new machine sported a brand new 32-bit operating system (orginally called EPOC, later renamed Symbian OS) which allowed a safer way of extending the language. For the first time, developers could write their own OPL commands in C++ and make them available for other OPL developers to use, in the form of OPL extension files (or .OPXs).
As the Symbian OS grew, OPL grew with it. A large change was the support of Unicode (moving away from ASCII and 8-bit characters to the 16-bit character Unicode standard). This special "Symbian OS v5u" version of OPL was never released externally, but provided the foundation for the first Symbian OS v6 implementation.
The Symbian OS v6 reference design code-named "Crystal" featured a large screen and QWERTY keyboard, ideally suited for OPL. However, due to engineering resource constraints, OPL was dropped from the official OS v6 roadmap about halfway through the project.
But OPL development carried on, maintained out-of-hours by a few Symbian programmers who wanted to see the language released for the Nokia 92xx Communicator series. And in 2001, an unsupported beta version of the language was made available on the Symbian website. Further testing and development allowed the release of the 1.00 version in 2002.
Symbian saw that the best way of allowing OPL to continue to grow was to release it to the community as open source, a project undertaken in 2003.