It is odd to see people talking about how Symbian was so early on, in the smartphone era.
It's considerably more mature than that. :-) (For the avoidance of doubt: this is a good thing.)
Symbian was a rebrand of the Psion 5 and 5MX OS, which was called EPOC32. It also ran on some other hardware, including the Ericsson MC218, Oregon Scientific Osaris, and Geofox One.
In other words, this OS was out there in the real world, in use by hundreds of thousands of people, five years before the first Symbian device (Nokia 7650).
I have seen comments from people who worked at Accenture in the last days of Symbian, about the difficulty of putting together the build system today. Apparently bits need a specific MS C++ compiler that only runs on WinXP.
I think it would be wonderful to see this resurrected and ported to the RasPi or something. Symbian was capable of SMP, and there were a lot of 3rd party apps back in the day.
One of the things that crippled Symbian in the market was the range of UIs, all incompatible. I owned devices running Series 90 (Nokia 7710), Series 60 (E90 Communicator), and UIQ (Sony-Ericsson P910i). There was also Series 80 (earlier Communicators), and MOAP and OPP in Japan only.
AIUI all needed different programming tools and apps from one couldn't run on the other.
Frankly, none of that matters any more. Whatever is in this FOSS release and can be used with modern FOSS tooling is all that matters. Nobody needs early-noughties phone apps on a RasPi. Just something that can be used on a desktop with a mouse and keyboard.
I suspect a few old Psion and Symbian enthusiasts would appear and enjoy modernising their own apps to get them working again. It's not that long ago.
EPOC32 and Symbian were great OSes to use: fast as hell, stable, and low-resource. On a RasPi 4 I think it'd stomp all over Linux, and it's vastly more modern than RISC OS.
C++ has come a long way, too, since Psion chose it. The rough edges have been smoothed away.
I had 3 different Symbian devices with different UIs.
All of them were good. I'm not arguing about the pros and cons of any particular UI.
The problem was that there were about half a dozen different Symbian UIs, and the devices were totally incompatible. You couldn't run an app from one UI on another device with the same OS version but a different UI.
Apps even had to be developed with different toolchains. Some GUI toolkits were entirely proprietary, some used Qt, some used Java. Apps weren't even portable between UIs!
That was disastrous.
Under the skin, Symbian was quite remarkably good in some ways. For instance it was the only phone OS where the main CPU could also run the GSM comms stack: its realtime support and multitasking made this viable. Every other smartphone dedicates a separate, loosely-couple CPU with its own OS to running the comms.
Symbian devices with say a 16MHz ARM and 8MB of RAM were entirely usable. That is unachievable with any UNIX-based smartphone OS.
No, it doesn't matter any more in efficiency terms, when a $5 computer has a gig of RAM and 4 cores. (I am thinking of the Raspberry Pi Zero W here, for clarity.)
But think of attack surfaces. Think of size of stack to be ported to a new platform. Think of the amount of code to learn before making changes. Think of amount of code to verify. Think of the rebuild time. Think of team sizes. Think of there being any chance that a small team can study and learn the entire codebase.
This is meaningfully impossible with any modern xNix-based OS. It's too vast. It would take a lifetime to study the whole source tree.
Whereas Symbian was built by a tiny team in a few years, in a then-new state-of-the-art language, and it scaled from a single-CPU machine with 1 core in the double-digit MHz and a few megabytes of RAM, and a decade later, it was still competitive against machines with multiple gigahertz-class cores and hardware 3D processors running a truecolour GUI, using a desktop OS sized in the gigabytes developed by teams of hundreds of thousands of coders.
That is a remarkable achievement.
It's remarkable not that it died, but that it lasted so long and held up so well.
I remember the N-Gage being lambasted when it came out, but recently I realized that those same people also lambasted the iPod, and maybe I can't trust those people's judgment about tech. You know, the Slashdot crowd.
Maybe it was a good system that was just poorly positioned in the market against the Game Boy Advance. $200 for a phone + gaming system doesn't sound so bad, and the more recent comments I've heard about it are along the lines of "underrated system that was ahead of its time". It was competing against a $100 Game Boy Advance, though.
The original N-Gage made a few astoundingly bad industrial design decisions that came up in literally every review.
* They put the phone microphone and speaker on the side of the device, which meant holding the top of the gadget to your head if you wanted to use it as a phone without a headset -- this was both awkward physically and looked phenomenally stupid.
* You had to remove the battery to get to the game cartridge slot! Again, really awkward. Really, the ergonomics overall were kind of baffling.
* It had a portrait orientation screen that was slightly lower resolution than the Game Boy's, which made doing ports of games designed for the landscape orientation more common everywhere else more difficult.
The updated "QD" version fixed a lot of the weirdness, and it's possible that if it had been the original N-Gage, things might have gone a lot differently.
Of course, that's kind of a theme in the Nokia story in the mid-to-late 2000s, I think -- they got really good at shipping terrific products just a couple years later than they should have. If Symbian^3 and the N8 had come out in 2008 instead of 2010, Nokia's fate might have been pretty different. (Emphasis on "might," to be sure.)
> They put the phone microphone and speaker on the side of the device.
I actually drilled a few tiny holes in the side of my N-Gage so that I could hold it like a normal phone. The actual speaker was not near the edge, and was mounted such that its natural direction was towards the rear of the device. The N-Gage had a channel moving sound from the speaker out towards the side.
I have no idea why they engineered the device like that. It would have been easier to just put a grill right where I drilled my holes.
>and the more recent comments I've heard about it are along the lines of "underrated system that was ahead of its time".
It always had a following, but the thing flopping wasn't because of the Slashdot crowd, it's because it just wasn't very good out of the gate.
The N-Gage has an awful form factor that made it suck both as a gaming device and as a phone. Game cartridges were hidden behind the battery, button placement was awkward, and sidetalking became an early internet meme for very good reason.
Nokia fixed a lot of the problems with a second generation release, but at that point the brand was largely poisoned.
• BeOS (now lost somewhere inside of Access) and Haiku, its FOSS recreation.
• Genode (still in prototype stage, really)
• Serenity OS (not yet self-hosting, & barely able to run on bare metal.)
Symbian is by far the most successful, long-lived, best-selling C++ there has ever been.
By 21st century standards, it is tiny, simple, low-resource, fast, and stable. It is SMP-aware and multimedia-friendly, yet realtime-capable.
Symbian, in a way, is what many next-gen OS projects have been aspiring to be for decades.
It also uses standard filesystems, ran on a wide variety of industry-standard hardware, and was built using fairly standard PC tooling: Windows, C++ etc.
If there is nothing to be learned from this, we may as well all give up and go home, because computing is over.
Windows is slowly moving into to C++ since Vista, nowadays you have the WIL template library that is being used there as well. One doesn't steer that ship in one release.
macOS uses C++ as driver and Metal subsystem.
IBM mainframes usually get to write new modules in C++, alongside their classical languages (PL/I dialects and such).
ARM mbed also makes use of C++.
Although not an OS proper, the Arduino bare metal libraries are C++.
I have a heavily used MC218 sitting next to me. I tinker around with it occasionally (after all it runs Linux), but any productive uses have long been replaced by other devices. The device was great for it's time and even I kept it alive for a lot longer, maybe until the first iPhone arrived. Nowadays it's limited by not having Bluetooth or WiFi. This makes connecting this device to anything really awkward. Also, in comparison to modern screens the LCD screen is very hard to read an needs good lighting conditions to shine.
I miss the form factor though. Typing this text on a virtual keyboard feels like something is amiss. A real keyboard IMHO just can't be replaced by an on screen keyboard.
It's considerably more mature than that. :-) (For the avoidance of doubt: this is a good thing.)
Symbian was a rebrand of the Psion 5 and 5MX OS, which was called EPOC32. It also ran on some other hardware, including the Ericsson MC218, Oregon Scientific Osaris, and Geofox One.
The first EPOC32 device was the Psion 5 in 1997:
http://www.computinghistory.org.uk/det/5300/Psion-Series-5/
Succeeded by the 5MX:
https://uxdesign.cc/psion-pda-how-does-it-look-today-327e01b...
https://thenewstack.io/retrocomputing-in-modern-times-redisc...
In other words, this OS was out there in the real world, in use by hundreds of thousands of people, five years before the first Symbian device (Nokia 7650).