Symbian OS was the operating system that powered the majority of the world’s smartphones in the years before the iPhone. It traced its lineage to EPOC, the 32-bit operating system Psion had developed for its handheld organizers, and in 1998 a consortium led by Psion, Nokia, Ericsson, and Motorola formed Symbian Ltd to carry that system forward as a platform for mobile phones. Designed from the start for battery-powered devices with limited memory, Symbian emphasized small footprint, low power use, and a robust microkernel architecture.
Symbian’s native application environment was written in C++, but it was C++ with strong conventions suited to a constrained, long-running device. The system used a distinctive cleanup-stack mechanism and leave-based error handling to manage memory safely when a low-resource device might run out of RAM mid-operation, along with active objects for cooperative event-driven concurrency in place of threads. Two-phase construction and descriptor-based string handling were further hallmarks of the style, documented in the Symbian and Nokia developer SDKs.
Most Symbian software in practice was written for a user-interface layer on top of the core OS. Nokia’s Series 60 (later S60) platform was by far the most widespread, and the Nokia Symbian OS/C++ Series 60 Developer Platform SDK gave developers the headers, tools, and emulator needed to build applications, typically with the Metrowerks CodeWarrior or, later, Carbide IDEs. Other UI families existed, including UIQ for pen-based devices and the Japanese MOAP variants, which fragmented the development target even as the underlying kernel stayed common. Devices could also run Java ME applications alongside native C++ ones.
By the mid-2000s Symbian, carried by Nokia’s enormous handset volumes, was the leading smartphone operating system worldwide and hosted a large ecosystem of games, utilities, and communication apps. Nokia later acquired Symbian Ltd outright and, with partners, moved the platform to an open-source foundation in an effort to keep it competitive.
The platform’s complexity was also its weakness. The C++ idioms that made Symbian efficient made it hard to learn, and the layered, fragmented UI stack slowed development compared with newer platforms. When the iPhone and Android reframed smartphones around touch interfaces and easy app distribution, Symbian could not adapt quickly enough, and Nokia eventually wound it down. Even so, Symbian was the operating system that brought the smartphone to the mass market first, and for years it defined what a programmable mobile phone could be.