That’s basically it. Instead of the perfect phone, most of Nokia wanted to build the phone that makes you want to buy another phone soon.
I made them a cappuccino-themed pinball game. The underlying idea was that when the customer is bored with the autumn colors and fabric edges and whatever, they’re buying the next Nokia for the new experience.
Apple made a phone whose physical form was adaptable to any software experience. They didn’t need to put in a cappuccino pinball on the device because users could get that, and a million other experiences, from the app store, and mold their own experience.
Some parts of Nokia understood this — Symbian was actually a capable smartphone OS under the clunky UI — but the company DNA kept thinking of smartphones as just another feature column for the plastic fantastic market segment games.
I had a crash course on Symbian at school by a Nokia engineer. Decided to do my all not to have to work with that POS ever. I succeeded.
I know first hand multiple people (some of them my classmates) who decided otherwise and either burned out or quit. The ecosystem was just _horrible_ from the start. The amount of different phone form factors didn't help in the least.
Symbian forced people to code in a weird dialect of C++: no exceptions, no RAII, custom stdlib. It didn't have analogs of std::string and std::vector, grow-able containers were considered too complex.
When Symbian, then called EPOC32, was developed there was no C++ standard library and no compiler that could handle exceptions without severe problems. So they had macro kludges.
They were so unintuitive that some 75% of their coders could not handle strings without severe errors. It did not help that they hired coders directly out of the university (many without a degree yet) and every good coder was promoted to management tasks.
> When Symbian, then called EPOC32, was developed there was no C++ standard library
There was no standard to begin with (actually the first release of Symbian and the first C++ ISO standard are pretty close on the timeline), but STL and likes existed.
Then again, Symbian was on the market until 2013, but programming for Symbian always sucked. Especially in the later years, when Nokia completely missed the advent of touchscreens, and tried to keep afloat by throwing Symbian on a touchscreen and seeing if it sticks.
Qt was always a bad strategy. Sure, in some aspects it was better than anything native Symbian could provide, but in general it was many years behind iOS and Android UI frameworks.
For example, one of the most frequent patterns in touchscreen UI design is an infinite list of views with dynamic data loading and filtering. A lot of use cases fit into this abstraction - social media feeds, storefronts, messaging apps, dictionaries, streaming music players, etc. Android supported this pattern in UI framework from the very beginning and continiously improved it, while Qt's answer at the time was "oh, just write it from scratch".
And the fact that Qt uses highly specific dialect of C++ doesn't really help adoption.
Are you sure you know what you're talking about? Or maybe you were using a very ancient version of Qt. Today's Qt C++ and QML are extremely capable. And I'm building one of those "long lists" (ListView) in my block editor[1] that was straightforward to implement in Qt.
In case you've missed, we're talking about an operating system whose last release was twelve years ago.
The first Qt version for Symbian was around 4.6, and IIRC QML didn't even exist then. The latest was around 4.8, and it did have QML and Qt Quick, but it was too little, too late.
I made them a cappuccino-themed pinball game. The underlying idea was that when the customer is bored with the autumn colors and fabric edges and whatever, they’re buying the next Nokia for the new experience.
Apple made a phone whose physical form was adaptable to any software experience. They didn’t need to put in a cappuccino pinball on the device because users could get that, and a million other experiences, from the app store, and mold their own experience.
Some parts of Nokia understood this — Symbian was actually a capable smartphone OS under the clunky UI — but the company DNA kept thinking of smartphones as just another feature column for the plastic fantastic market segment games.