Feeds

Symbian's Utopia - and why it was an impossible dream

Cruel and unusual? No, merely misguided

Website security in corporate America

Now to the interesting bit. What were Symbian's designers doing going to such trouble?

Jay illustrates this with an anecdote:

HBufC is a great example of this design consideration. So, why is an object allocated on the heap constant, requiring you to create a temporary TPtr to modify it?

The first Epoc (later Symbian OS) device had 4MB of memory

Well, think back to the very first Symbian device, when it was still called EPOC. The first Series 5 prototypes had 4MB RAM  - which looks ridiculous now, you couldn't even boot a modern Symbian device in 4MB of RAM. Saving memory was important, and somebody had a very obvious idea. A modifiable descriptor like TBuf needs a 4-byte field (that is, ARM word-sized integer) to store its length. But a heap cell already has a length field for the heap management, so you can save 4 bytes by not duplicating this information and making use of the heap cell field instead.

However, for consistency with the rest of the descriptor classes, this means that the heap descriptor had to pretend to be a "constant" class, since it's lacking the length data member that the writable descriptor classes contain. The way around this of course was to create a temporary TPtr which contains a temporary length field compatible with all functions that take a writable descriptor. All that effort to save 4 bytes may sound silly, but think how many strings there might be in the entire OS, and then consider that you only have 4MB or 8MB of RAM in total - it really mattered back then.

And here's the core of Jay's argument.

If I sound like I'm griping, I am, but at the same time it's true that Symbian's utopian idea was misguided - they were never going to find that the rest of the world shared their aim to go to a little extra pain to produce better products.

A lot of people also tended to take the view that because something existed on another OS that it must be "easy" to implement and therefore Symbian was only being lazy by not doing it. I've always found it a strange view that because a thing exists it must be easy, or the complete lack of appreciation that that ease-of-use can have a price to pay that's sometimes unacceptable. It's like saying to someone that they ought to be able to build a 747 aeroplane because Boeing make them so they must be easy. Again Symbian was misguided in believing that others would share the view that a bit of ease-of-programming can be sacrificed when it benefits overall.

Overall Symbian contains a mix of good design and poor design, but much of the criticism that I've seen leveled at it over the years stems from (a) programmers unwilling, or haven't got the time, to go through the "pain-for-gain" approach that Symbian internally accepted and (b) they're really talking about Series 60 which was written by Nokia, and gave Symbian OS a bad name.

So, Jay argues, Symbian was utopian, as it demanded that developers go to a little extra effort to help create more efficient and reliable systems. But developers didn't value what it gave them. Today, we have less reliable and less efficient software, because programmers were lazy, and didn't take put in the small amount of additional effort.

What do you think?

Bootnote #1

No comment required: Google blames developers for lousy Android battery life [May 2010].

Bootnote #2

There are many more anecdotes on system design in our old Psion history special, here. ®

Internet Security Threat Report 2014

More from The Register

next story
Brit telcos warn Scots that voting Yes could lead to HEFTY bills
BT and Co: Independence vote likely to mean 'increased costs'
Phones 4u slips into administration after EE cuts ties with Brit mobe retailer
More than 5,500 jobs could be axed if rescue mission fails
New 'Cosmos' browser surfs the net by TXT alone
No data plan? No WiFi? No worries ... except sluggish download speed
ISPs' post-net-neutrality world is built on 'bribes' says Tim Berners-Lee
Father of the worldwide web is extremely peeved over pay-per-packet-type plans
Radio hams can encrypt, in emergencies, says Ofcom
Consultation promises new spectrum and hints at relaxed licence conditions
Google+ GOING, GOING ... ? Newbie Gmailers no longer forced into mandatory ID slurp
Mountain View distances itself from lame 'network thingy'
Vodafone to buy 140 Phones 4u stores from stricken retailer
887 jobs 'preserved' in the process, says administrator PwC
Bonking with Apple has POUNDED mobe operators' wallets
... into submission. Weve squeals, ditches payment plans
Drag queens: Oh, don't be so bitchy, Facebook! Let us use our stage names
Handbags at dawn over free content ad network's ID policy
prev story

Whitepapers

Secure remote control for conventional and virtual desktops
Balancing user privacy and privileged access, in accordance with compliance frameworks and legislation. Evaluating any potential remote control choice.
WIN a very cool portable ZX Spectrum
Win a one-off portable Spectrum built by legendary hardware hacker Ben Heck
Storage capacity and performance optimization at Mizuno USA
Mizuno USA turn to Tegile storage technology to solve both their SAN and backup issues.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
The next step in data security
With recent increased privacy concerns and computers becoming more powerful, the chance of hackers being able to crack smaller-sized RSA keys increases.