3 ms·
I wrote more than a million lines for Symbian, once. Active Objects were PITA, but I also admired their efficiency. It was a nice way how to get pseudo-threads
by inglor_cz 3y ago
I wrote more than a million lines for Symbian, once.
Active Objects were PITA, but I also admired their efficiency. It was a nice way how to get pseudo-threads on a single core processor. Symbian in general was very efficient with resources. You were able to run fairly complicated algorithms on not-even-200 MHz processor of E52.
From my point of view, there were three major problems with Symbian.
First of all, the dialect of C++ was too distant from normal C++, thus the learning curve for a normal C++ programmer used to standard libraries was enormously steep. Even the GCC that was supplied within the toolchain was always already obsolete, way behind the current GCC version.
Second, the debugging tools were a nightmare. Even on an emulator, you often had to fish for running processes in Windows Task Manager and kill some instances of DE.exe, because otherwise, after the first crash of your app, the debugger would no longer work. On-device debugging was even worse. I think I only saw it working twice, in several years. After some frustration, you just stopped trying to get that damn thing working. And a bad installation of the Nokia USB driver could destabilize your Windows. Compared to that, on-device debugging on Android is just marvellous.
Third, backward compatibility and UI compatibility just wasn't. Nokia constantly churned out new devices by the boatload and all of those had different APIs, screen dimensions, hardware etc. It seemed that their intent was to negate the "write once, run anywhere" Java principle, you had to adjust your apps constantly and at a great expense, otherwise the UX would be horrible, and the Nokia smartphones weren't exactly cheap. Emulators helped maybe with half of that, the rest had to be done on a real device. For a software house, that meant pointless spending on devices that would be obsolete in a year or two, because you couldn't predict in advance which one would be successful and which one would flop.
In all, Symbian would have been fine if someone actually turned it into a developer- and user-friendly operating system. Nokia wasn't really able to do that, even though the foundation base of the OS was pretty solid.
- lproven 3y agoFascinating. Thanks for that insight. Do you think that would be fixable nowadays? The OS is FOSS now. Could as much of the weird/obsolete/proprietary stuff as possible be ripped and replaced with current, modern, standardised FOSS stuff, while keeping the tiny elegant OS? Given that backwards compatibility isn't an issue any more, as the existing apps are old and proprietary and irrelevant now?