An Overview of Nokia’s KHTML/WebCore-based S60 Browser

Last week OSNews had the pleasure of meeting with three of the people behind the new Nokia S60 browser sharing with us information about the project. Dig in for more info and lots of screenshots.We met with Roland Geisler, head of marketing and strategy for the S60 browser, and engineers David Carson & Guido Grassel. The S60 browser (which doesn’t have a codename or a formal name) is based on Apple’s WebCore technology which itself is based on KDE’s KHTML engine. They told us that the Nokia team chose WebCore over Mozilla’s Gecko for the exact same reason Apple chose KHTML over Gecko: much smaller in codesize, smaller cpu/memory needs and as Mr Carson pointed out “it was much easier to read the source code and understand it”. The S60 browser supports javascript, plugins, frames and iframes, CSS and of course XHTML.



From left: Roland Geisler, Guido Grassel, David Carson

Nokia got deep into work with KHTML trying to solve the problem of surfing normal desktop web sites on a smaller screen device. So far there were a number of “tricks” that older mobile browsers could do to make up for their small screens they were running on. Some of these tricks involved the “one column layout” which would break all table cells one below the other and would resize images agressively (also named “SSR”), and “smart fit” (in the Netfront-speak) which would only resize or break existing table cells and images when needed. “Smart Fit” is the preffered rendering way today by most browsers, like Openwave’s UP.Browser, Pocket IE and Netfront. Nokia found that these algorithms didn’t always work as well, especially because their new, mobile-friendly, layout produced by SmartFit had nothing to do with the layout the user was used to seeing when using a desktop browser. The resulted orientation problem was adding to the overall mediocre experience users were getting from their PDAs and cellphones.



OSNews.com’s mobile pages on the S60 browser

So Nokia decided to create a new kind of navigation, a zooming interface, called “minimap”. The minimap creates a full screenshot of the web page — as it would render on a monitor that would fit the whole page in it — and with the help of a small rectangle the user can navigate at any place of a given page almost instantly. The page still retains its original design (as the web designer was intended it to be viewed as) and no elements are resized-down. Nokia took the minimap innovation one step further and included it in its “History” interface. When viewing your History you are not presented with links or HTML titles, but minimaps of the pages you have already visited. Obigo/Teleca (who are very unresponsive to press requests btw), Opera and Netfront and some of the mobile browser companies are working, as we speak, on implementing a minimap for their own browsers too.

With Frames and iFrames Nokia took the decision to treat them as a single page. For example, when you have two vertical frames, when you scroll down the page, both frames would scroll down. For most common cases this is a desired effect on small screens. Another new feature on the browser is the inclusion of a… mouse cursor. This works in a similar way the mouse cursor works in the Sony PSP browser.



OSNews.com’s minimap and the History minimaps

During the creation of the S60 browser (to be released in Q1 2006 in some of Nokia’s new devices) the team had to overcome a few problems. While WebCore/KHTML is lightweight doesn’t mean that it was in shape to be used on a 312 Mhz ARM CPU with 16 or 32 MBs of RAM device, like most of these kinds of devices use. Webcore doesn’t check the return value of malloc() for example (as this is not a big deal on the desktop but it is on smaller devices) so the Nokia engineers had to write wrappers and a memory manager to deal with such problems. Additionally the memory footprint, the mobilized components, scalability, usability and performance had to be tweaked thoroughly.

The S60 Browser supports Netscape-style plugins and porting them from other platforms should be relatively easy. It already comes with an A/V Real Player plugin, Flash Lite and SVG support. The CoreCodec hackers are working on porting their great media player to Symbian (they are looking for beta testers at the moment) and hopefully they will also build a browser plugin so the S60 Browser will be able to play all kinds of video and audio formats. Other great features found on the browser is “Find As You Type” support (similar to Firefox’s) and RSS support. The browser will autodetect RSS feeds mentioned on the HEAD of an HTML file and using an intuitive interface the user is able to subscribe to them or not.



Cnn.com with a minimap and without on N80’s 352×416 screen

Nokia told us that it will open source the WebCore part soon after the release of the first phone that will carry it while they left open the possibility of open sourcing more parts of the S60 browser that don’t have to be necessarily open. In the meantime, if operators or phone manufacturers ask for it, Nokia would port the browser to UIQ (an alternative user interface on top of Symbian, also owned by Nokia) and the S80 and S90 platforms. There are no plans to port it to completely different platforms (e.g. Palm or Windows Mobile) but they stressed the fact that third parties might be able to easily port the browser to other operating systems using the open source code. Nokia has an eye open to fully port the S60 Browser to the open source Maemo platform too but this is not confirmed yet.

OSNews’ unique autodetection engine for mobile browsers (supporting more than 100 non-desktop browsers or devices) was able to autodetect the beta S60 browser that we were shown in the N80 and E61 phones, even if the user agent used was a generic one (it’s going to change when the devices are ready to ship). The current user agent used in these beta devices is: Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/109 (KHTML, like Gecko) Safari/109



Cnn.com on E61’s QVGA 320×240 screen

While this software is really nicely done there are a few things that could be better. For example, there is no WAP support anymore, at all (WebCore doesn’t support WML). There are some talks to port the WML/WAP engine from Nokia’s Series40 old browser but that would be a second engine on top of an existing one and could create engineering problems and bloat. Additionally, not supporting Netfront’s way of “Smart Fit” is not always… smart. There are pages that would work very nicely with “Smart Fit” (without altering their visual presentation much), pages that currently don’t fit with the current desktop-layout rendering algorithm (please note that the S60 browser supports SmartFit in the text level that would wrap the text to make it easier to read, but not on the images/table-cell one). As you can understand, when Opera and Netfront will have their implementation of the Minimap ready, they will take an upper hand to Nokia’s solution as they would also support the much-used WAP and the SmartFit algorithm in addition to the desktop-layout one. Additionally, there is no support for tabs: memory is expensive on these small devices but a high-end Nokia phone should be able to manage up to 3-5 tabs, in a way similar to how NetFront 3.3 does it.



Screen on the left runs on 2.8″ screens, screen on the right runs usually on 3.5″ ones

Another small nitpick is the Nokia’s choice for screen sizes. Nokia’s QVGA phones use a 2.8″ screen while their new high-resolution 352×416 screens are barely 2.4″. This means that a lot more text information that fits on the high-res screen has to be much smaller in size than on the QVGA Nokia screens, making the reading of a webpage extremely difficult to the eyes. I was wearing my glasses and I could barely read the osnews page on the N80 high-res 2.4″ phone while the reading was much more pleasurable on the E61 QVGA 2.8″ phone. The user can alter the font size to make it bigger but this clearly defeats the purpose — a more ideal solution would be to ship the high-res phones at 2.8″ diagonial, just like their QVGA phones are at.



In conclusion, this browser is the most promising and important software regarding mobile browsing in a while. It innovates and it’s using a truly powerful engine (if only carriers would make GPRS cheaper). While Opera and Netfront will quickly follow in terms of feature-set, Nokia has paved the way to become the first browser manufacturer where mobile browsing is practical and a joy to use.

19 Comments

  1. 2005-12-13 10:02 pm
    • 2005-12-13 10:11 pm
    • 2005-12-13 10:13 pm
  2. 2005-12-13 10:54 pm
  3. 2005-12-14 12:09 am
    • 2005-12-14 4:51 am
    • 2005-12-14 3:40 pm
  4. 2005-12-14 8:52 am
    • 2005-12-14 9:37 am
  5. 2005-12-14 3:39 pm
    • 2005-12-14 7:05 pm
  6. 2005-12-14 4:53 pm
  7. 2005-12-15 2:29 pm
    • 2005-12-15 4:36 pm
      • 2005-12-15 6:33 pm
  8. 2005-12-15 2:34 pm
  9. 2005-12-15 2:35 pm