Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Polls  |  Forum

Keywords: Match:
An overview of the Minimo (Mini Mozilla) project
by Doug Turner and Chris Hofmann (May 19, 2004)

Foreword -- This article by Minimo project leaders Doug Turner and Chris Hofmann provides an overview of a relatively new project to produce a fully functional, embeddable version of the popular Mozilla browser. Enjoy! . . .



An overview of the Minimo Project

Mozilla, the browser, is arguably one of the best desktop browsers. Mozilla is used in many desktop applications: Netscape 7, CompuServe, AOL for Mac, Ximian GNOME, Galeon, and Nautilus. There also have been a few ports to make Mozilla run on various devices such as the Nokia Media Terminal and the AOL/Gateway. With the release of Minimo, a slimmed down version of Mozilla, we offer a minimalist browser that may be the best browser in the embedded space.

Minimo has two aims. First and foremost, Minimo is for embedders. The application layer of Minimo is small, and offers only the required pieces that a browser should have. This application layer will most likely be removed and replaced with an embedders application logic and UI. In this sense, Minimo is just a configuration of the Mozilla browser that is targeted at the Linux device space.

The second aim is to show off the Minimo. We have been releasing an application for the GPE Palmtop Environment on the Familiar distribution. Minimo does not require any GPE specific libraries or functionality. We chose GPE as a vehicle because it is well supported and quite easy to install on many of the IPAQ devices.

Requirements: Memory usage and toolkits

RSS

RSS is what is known as the “Resident Set Size." This value is a key indicator of how much memory a process takes up. On machines that have virtual memory, RSS indicates how much physical memory has been used to map to the virtual page tables. At any given point, you can tell exactly how much a process costs in terms of real memory. In fact, this value is sometimes referred to as "Real" memory.

This value sums the size of in-use code, data, stack, and allocated heap memory.

Although it probably doesn’t matter for measuring Minimo’s performance, I should mention that RSS doesn’t take into account any memory that is shared between processes. For example, if you have two process of Minimo running on a device, the actually memory usage would be less than the sum of RSS values reported for the two processes.
Minimo requires about 25 MBs of RSS (see sidebar) on ARM. Before you think that this is too high, you must remember that this is a modern web standards complaint browser. Alternative browsers do not offer you the same level of web standards support.

Figure 1 shows memory usage of Minimo against an automated page loader test. The page loader loads forty popular websites during a cycle and we run this test for five cycles. There are no shortcuts -- during each load, we download the page and render the complete content. (Some tests shortcut the drawing cycle to produces impressive page load times.) As you can see, we effectively level out at 25MB of RSS.


Figure 1: Minimo memory usage
(Click to enlarge)

Under the hood, the Mozilla functionality is isolated in a GTKWidget. This makes it quite easy for any developer familiar with GTK to use Minimo. Other toolkits are a possibility. Many commercial deployments are using QT. There has been work to make Mozilla work with QT, but currently there is no one exclusively working this.

Problems on small devices

One of the problems that all devices that display web pages have is a very small screen. There have been many proposed solutions to this problem. We believe that the two most promising are CSS (Cascading Style Sheets) manipulation and direct magnification.

Minimo provides what is known as Small Screen Rendering (SSR) that uses CSS to massage web pages into a format that looks better on small displays. On most web pages this works great. The page is reduced so that there is no horizontal scrollbar, allowing the content to be scrolled in one direction. Main content is usually moved to the top to allow you to see what is most important without having to scroll all over the page.

The second promising solution is the ability to scale a web page. Currently, most browsers (even on the desktop), only have a way to increase the font size of a page. So, when you “zoom” in a page, you are merely increasing the size of the text. An alternative to this is to do the actual scaling of all elements on a page. This will allow you to zoom out of a page and see the entire content, then with a click of the pointer, zoom in on the most interesting part of the page.

Competition

Our target for Minimo is a Linux device with around 64 MB of physical memory. As we mentioned above, Minimo runs at around 25MB of RSS. Above this, you will need a Linux distribution, GTK, and X Windows. We have been using Familiar and GPE with much success in this configuration.

We have run the same tests using Opera and Pocket IE on 32MB device form factors, and neither can make it though the page load test based on their lack of browser content and standards support, or they just simply run out of memory trying to display the pages.

64MB is really the form factor that is needed to create any useful browser for handheld devices; and in that space we look very good next to the competition. From discussions we have had with device makers it appears that most of the next generation cell phones and PDA devices will provide the kind of spec's you see in the current devices like the iPAQ with 64 MBs, so we are encouraged that the future is bright for Minimo being used in a variety of different handheld products.

What’s next

We have just completed the first three milestones of the project where the focus has been:
  1. Iron out build configuration to strip Mozilla down to barebones requirements and focus on stamping out memory leaks and footprint use during browsing sessions

  2. Get the Minimo configuration ported and running on the iPAQ device and handhelds.org's familiar linux distribution

  3. Do a bunch of testing and evaluation to check out the feasibility of minimo to be used on current handhelds and devices we see being used in the future
After finishing up milestone three, things are looking very good. We have received some great feedback from individuals and companies that are following the project, with a lot of good ideas on the next round of things to work on. We are in the middle of evaluating those ideas and building a plan for the next stages of the project. We have some partners that sound very interested in funding continued development, porting, distribution, and integration of Minimo into products, so we are very encouraged about things on the horizon.



Related Stories:

(Click here for further information)


7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.

4 Legal Reasons to Control Internet Access
The Internet is obviously a valuable resource for many organizations. However, many are exposed to legal liability concerns because they fail to control Internet access. Learn if you're safe in this white paper.

Rapidly Resolve J2EE Application Problems
Whether you are in the process of building J2EE applications or have J2EE applications already running in production, you must ensure that they deliver the expected ROI. Learn how in this white paper.

Load Testing 2.0 for Web 2.0
There are many unknowns in stress testing Web 2.0 applications. Find out how to test the performance of Web 2.0 in this white paper.

Build Better Games Online
For the game infrastructure providers, life is complex. Making money from games has become more complicated. Why? Find out in this white paper.

Building a Virtual Infrastructure from Servers to Storage
This white paper discusses the virtual storage solutions that reduce cost, increase storage utilization, and address the challenges of backing up and restoring Server environments.

Gaining Faster Wireless Connections with WiMAX
Welcome to what is quickly becoming the hyperconnected world where anything that would benefit from being connected to the network will be connected. Learn more in this white paper.

Is Your Desktop a Security Threat?
The new wave of sophisticated crimeware not only targets specific companies, but also targets desktops and laptops as backdoor entryways into those business’ operations and resources. Learn how to stay safe in this white paper.

Increasing SAN Reliability by 100 Percent
Storage area networks (SAN) are a strong part of storage plans. Learn how to increase your reliability and uptime by 100 percent in this case study.

 


Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
Click here for a profile of each sponsor:
PLATINUM SPONSORS
GOLD SPONSORS
(Become a sponsor)

ADVERTISEMENT
(Advertise here)

Check out the latest Linux powered...

mobile phones!

other cool
gadgets
HOWTOs: from DevShed & IBM DeveloperWorks:



BREAKING NEWS

• Sub-$4k MicroTCA system comes with Carrier Grade Linux
• Low-cost, small-form-factor Linux PC reviewed
• Single-chip GPS receiver supports Linux
• Home media system runs open source Linux
• OSiM adds developer sessions
• "Open-frame" panel PCs target kiosks
• Ten Android Challenge winners featured
• Netflix Player runs Linux
• World's cheapest Linux-based laptop?
• Open source DNS server takes on BIND
• Wind River, Intel tag-team "infotainment" Linux
• Quick-boot Linux environment makes a splash
• Upgraded VPN software available in Linux micro-server
• POS systems run uClinux
• Die-shrunk Cell processor, blade run Linux


Most popular stories -- past 30 days:
• Ubuntu ported to ARM
• Linux still top embedded OS
• Linux gains new architecture support
• Linux 2.6.25 release bolsters ARM
• Linux-based diskless notebook costs under $300
• Low-cost MP3 player gains fancy Linux port
• Dutch UMPC runs Ubuntu Linux
• Mini-notebook boasts Linux, near-fullsize keyboard
• PC/104 module runs x86 Linux on 1.85 Watts
• Low-cost Linux-based NAS device supports RAID 1
• Free router distro gains wild WiFi features


Linux-Watch headlines:
• Virtualization on tap in SLES and RHEL upgrades
• Linux gets security black eye
• Verizon chooses Linux "platform of choice"
• Hats off to Fedora 9
• Running a small business on desktop Linux
• Sun launches OpenSolaris
• Via tiptoes toward openness
• Linux certification comes to Italy
• Installing Ubuntu Hardy Heron as a web hosting server
• Black Duck Buys Koders


Also visit our sister site:


Sign up for LinuxDevices.com's...

news feed

Home  |  News  |  Articles  |  Polls  |  Forum  |  About  |  Contact
 
Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2008 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Linux is a registered trademark of Linus Torvalds. All other marks are the property of their respective owners.