When thinking about RAM in smartphones, there's a famous quote from Dickens that comes to mind:
"Annual income twenty pounds, annual expenditure nineteen nineteen six, result happiness. Annual income twenty pounds, annual expenditure twenty pounds ought and six, result misery."
The same philosophy really applies to RAM for a computer, in that it's designed to be well used, i.e. to 80 or 90% capacity. But if you hit 100% and have to start closing running apps in order to proceed then the experience for the user will be dramatically poorer. In other words, to paraphrase the quote: Free RAM 20MB, RAM requirements 19.5MB, result happiness. Free RAM 20MB, RAM requirements 20.5MB, result misery!
Now, before looking at real world numbers and trying to draw conclusions, let's take a step back to clarify what we mean by RAM, i.e. (Synchronous Dynamic) Random Access Memory. It's completely different from flash memory, used to store information inside our smartphones, yet the popular media and even manufacturer PDFs are usually very confused and often use the term 'memory' generically.
Shown on the right is a diagram from a previous feature of mine, which should help clear up any confusion. It's from 2006, from an age before some devices also have 'mass memory', effectively an extra 'fixed' expansion card, mounted internally. Thus many modern Symbian devices have both an E: disk and an F: disk, but these are treated in much the same way.
What's important is the SDRAM chip at the top. This is exactly equivalent to the RAM in the PC or Mac you're probably reading this article on, while the E: and F: expansion cards/memories are equivalent to your desktop/laptop's hard disk(s).
The RAM chip is where the magic happens. Or doesn't happen, if there's not enough free RAM to go around. Once you start your smartphone, the Symbian operating system gets loaded into RAM, taking up around 80MB on older devices and 100MB on newer ones.
Next to get loaded into RAM are the apps that you start, e.g. Maps, Contacts, Web, and so on. These have substantial parts of the code copied into RAM, which is where they live and run.
Finally, there has to be a rather large quantity of RAM assigned, in piecemeal fashion for the data and working space for the OS and your apps.
Add it all up and you can see why running out of RAM is a bad idea - at worst case, the OS will simply stop working, in the same way as you would if you were using a page of A4 as your workspace and you ran out of lines to write on. Now, Symbian OS is pretty advanced and contains lots of intelligence to ensure that this doesn't happen. Most commonly, as RAM starts to run out and you try starting something else, applications which have been idling away 'in the background' get closed down gracefully (each saves its own data, if needed) to make room for the app newcomer.
You'll remember from the opening quote and my pastiche that having RAM which is nearly full isn't necessarily a bad thing - it's good to make use of all computing resource. You just want to avoid it running out in a hurry. So we have a situation where a S60 3rd Edition Feature Pack 2 smartphone like the Nokia N86 8MP has about 60MB of RAM free after booting and this is utterly ample. The use case of the device, the small QVGA screen, the two year old OS version and the restricted interface mean that actually using up all 60MB with running apps is pretty hard to do. Result: happiness.
In contrast, the Nokia N97, an exact contemporary of the N86 in terms of when it was available on the streets - I know because my N97 and N86 arrived on the same day(!) - also has about 60MB of RAM free after booting but finds itself at least 20% or 30% short of what it actually needs in order to keep up in a 2010 world of high, big-screen expectations, with new runtimes, messaging tools, mapping systems, a larger OS build, and so on, all clamouring for RAM (and disk space on C: - another story for another day). Result: misery.
All of which got me thinking. As time goes by, the RAM requirement for a device will rise slightly, as the manufacturer releases newer, more capable firmwares, with new functions, plus new runtimes and modules need to be applied (e.g. the recent addition of Nokia Messaging, Ovi Maps supporting modules and Qt runtime), while on the other hand optimisation is often done by the firmware teams to give you back another few Megabytes of free RAM (e.g. the N95 started out with v10 firmware and only 18MB of free RAM, but this had risen to over 30MB free by the time of the latest v35 firmware. Add in the different builds and models, with differing properties and launch dates and it was becoming clear that I should start plotting some of this data graphically.
Note that in the diagram below, models are plotted with their maximum free RAM (usually after booting with latest firmware). Note also that I've ignored the UIQ-powered smartphones that died out in 2008 - I'm trying to compare like with like here (UIQ devices also varied wildly in terms of having ample or far too little RAM - another chart for another day, perhaps).
In this (admittedly slightly simplistic) chart, smartphones above the line represent 'happiness' in my RAM philosophy, outlined above. Note that the lines slope upwards as RAM requirements for the platform/spec combination rise over time.
And smartphones below the line potentially represent 'misery' - though it should be noted that I'm considering 'serious' use of these devices, not casual use. For example, a new user might buy a Nokia N97 mini and be 100% happy with it, only really using the phone, PIM, camera and music functions and never hitting a RAM limit. In contrast, a serious user will be loading up multiple third party applications, browsing to graphics and Flash-heavy desktop-class web sites, expecting continuous push email and watching high bitrate movies.
So what of the heroes and zeroes on the chart?
Most obvious are the Nokia N97 and N97 mini, well below the required RAM line - in fact, I would also include every other Nokia S60 5th Edition phone in this grouping but there wasn't room on the diagram. Nokia made a big blunder in not equipping their flagship phones with enough RAM, only exceeded by the bigger blunder of not giving some of them enough disk space on their system disk (C). It's very telling that the three non-Nokia S60 5th Edition smartphones were all specified with more than enough RAM and ditto for the next-gen Nokia N8.
It's also instantly obvious that the smartphones above the line are well known 'heroes' of the Symbian world: E90, N82, N95 8GB and E71. All with oodles of RAM and a resulting decent experience when it comes to interface speed and multitasking under serious use. The Nokia N70 and N86 also qualify as 'heroes' here, I'd argue.
A much loved RAM 'hero', the Nokia E71
From the other zeroes, there's the Nokia 6680 (and 6630), with such a cramp applied by RAM that I had to write an article on working around the problem. There's the Nokia E61i, a still magnificent form factor that's rather hampered by low RAM and a poorly optimised OS implementation. And the recent Nokia E72 - aside from a poorly fitting battery cover and missing Podcasting, it also has to fight against less RAM than it really needed.
With both lines rising - and particularly that for touchscreen (Symbian^3 and beyond) phones, it's evident that devices will continue to need more RAM. The Nokia N8, with its 256MB, is likely to be OK for a year or so, by which time a replacement will be on the scene. Future Symbian^1 phones like the imminent C6 could really do with a RAM bump to the same level as the N8, to ensure that runtimes like Qt can be handled without dragging the OS down. The E5, also imminent, is confirmed as having 256MB of RAM and, as a result, is looking to be the Eseries pocket qwerty champion for at least the next year.
And, not surprisingly, at some point (towards the end of 2011?) 512MB may be needed in order to have enough free RAM to stay above my hero/zero line. By that time we'll be on Symbian^4, of course and I simply don't know enough about the resource requirements for this to speculate further! I used the word 'may' just now because there's an extra factor which has a direct impact - Symbian^3 phones (and beyond) have 'writeable demand paging', a fancy way of saying that applications and their data can be paged on and off storage memory as needed (i.e. you have virtual memory), which means that, potentially, you can run up to twice as many apps in the same amount of RAM, albeit with a slight performance penalty. Of course, until we actually get a Symbian^3 device in for review, we won't know how well this works in practice, but the technology is worth bearing in mind. Effectively, it would introduce a new line into my chart, i.e. the minimum physical RAM figure can be reduced, relatively speaking.
I've been saying since 2002 that our smartphones need more RAM - in exactly the same way that a desktop computer flies if you give them more - and I still doubt how much Nokia has paying attention in the intervening years. With the N97, in particular, it learned the huge cost in not giving the software room to breathe. I do understand that there were OS/architectural problems to be solved in breaking the 128MB RAM boundary, but hey, Samsung and Sony Ericsson solved this without breaking sweat, so there's really no excuse for Nokia not to have done the same.
At least we can look forward to a future without too many RAM limitations - hopefully.
Oh, and if you own a RAM 'hero' then think well of your device - it's a more capable device than you might think!
Steve Litchfield, All About Symbian, 28 June 2010.