Why Chromium is Now My Primary Browser

Arjen Vrielink and I write a monthly series titled: Parallax. We both agree on a title for the post and on some other arbitrary restrictions to induce our creative process. For this post we agreed to include our personal browser histories in the post. You can read Arjen’s post with the same title here.

Chromium Logo
Chromium Logo

If you are not interested in Browsers and/or usability, I would suggest you don’t bother to read this post.

I cannot exactly remember the first time I used the Internet. It probably was in 1996 in the library at the Universiteit Utrecht. I wasn’t particularly aware of the browser I was using, but I am quite sure that is was Netscape Navigator with which I did the Altavista searches. I used Netscape throughout my education, only to switch to Internet Explorer 5 when I got my own computer with Windows 98 and a dial-up Internet connection. I then used nothing but IE until I read about Mozilla Firefox in a magazine in 2004. Through Moodle I had started appreciating open source software and I liked working with Firefox and its tabs. I stuck with Firefox for a year or so, feeling quite the rebel whenever a site would only load in IE. At some point I noticed how much faster IE was than Firefox. That is when I switched to Avant Browser, a freeware skin around the IE browser engine which included tabs and some other advanced features. A little while later (somewhere in late 2005 or early 2006) I learnt about Opera. Opera had a lot of appeal to me. I liked how their developers pushed so many innovations in the browser space: tabbed browsing, advanced security features and mouse gestures were all inventions of Opera. I loved how fast it was and how many features they managed to cram in so little megabytes. Its cross platform nature allowed me to stay with Opera when I permanently switched to Ubuntu in the summer of 2006. I switched back to Firefox in early 2007 because of my slightly more hardcore open source attitude and because of its wonderful extensions. The latter allowed me to keep all the functionality that I loved about Opera and more.

About two weeks ago I switched to Chromium. This is Google’s relatively new open source offering in the browser market. I am able to automatically download new builds every day through the PPA for Ubuntu Chromium Daily Builds. Even though it is still beta alpha software, it is highly usable.

So why did I switch? I think there are three reasons:

1. Performance
Since a couple of months my private computing is done with a Samsung NC10. This Intel Atom based netbook is slightly underpowered. You really notice this when you are doing things like recoding a video or doing some CPU intensive image editing. I also noticed it terribly in Firefox. Things like Google Reader, DabbleDB (watch that 8 minute demo!) and the WordPress admin interface were nearly unusable. A cold start of Firefox (the 2.x version that comes with Ubuntu 9.04) takes nearly a minute. Chromium on the other hand starts up in a couple of seconds and is very spiffy with Javascript-heavy web-apps.

I tried to quantify my unmistakable feelings with some benchmarking. I used Peacekeeper, but Firefox could not finish the benchmark and would crash! I then used the Sunspider Javascript benchmark and got a total score of 3488.8ms for Chromium and a total score of 18809.6ms for Firefox. This means that in certain cases Chromium would load something in less than one fifth of the time that Firefox 2.x will load it.

While writing this post I decided to try installing Firefox 3.5 (without add-ons) and see how that would perform. After a sudo apt-get install firefox-3.5 I could start Firefox by selecting “Shiretoko Web Browser” in the “Internet” menu. The total score was 5781.2ms, a major improvement, but still more than one and half times slower than Chromium. Its interface is also still less responsive than I would like it to be.

Another nice aspect about Chromium’s performance is that each tab is its own process. This so called Multi Process Architecture isolates problem webpages so that one Flash page crashing does not affect the other browser tabs, something that happened very often to me with Firefox.

2. Screen Real Estate
Another thing that a netbook lacks is pixels. My screen is 1024 pixels wide and 600 pixels high. Especially the lack of height is sometimes taxing. I have done a lot of things in Ubuntu to mitigate this problem (if you are interested I could write a post about that) and I had to do the same with Firefox.

In Firefox I used Tiny Menu, chose small icons, used no bookmarks and combined many toolbars into one to make sure that I have more content and less browser. To my surprise I had to do nothing with Chromium and still got a bigger canvas with a bigger font in the address bar! Compare the screenshots below to see the differences: 

 

Screenshot Firefox (click to enlarge)
Screenshot Firefox (click to enlarge)
Screenshot Chromium (click to enlarge)
Screenshot Chromium (click to enlarge)

 

Chromium shows more of the page and accomplishes this by doing a couple of smart things:

  • There is no status bar. I could have turned the status bar off in Firefox, but I need to see where a link is pointing to before I click on it. Chromium shows this information dynamically as soon as you hover over a link. When you don’t hover it shows nothing.
  • The tabs are moved into the title bar. It looks a bit weird for a while, but it uses some very valuable space.
  • Some things only appear when you need them. The bookmark bar, for example, only shows up when you open a new tab.

3. It is a fresh look at what a browser should/could be
Most of my time behind my computer is spent using a browser. More and more of the applications I use daily have moved into the cloud (e.g. mail and RSS reading). It is thus important to have a browser that is made to do exactly those functions.

The developers of Chromium have looked at all aspects of a traditional browser and have rethought how they work. A couple of examples:

  • The address bar is actually a tool with four functions. It contains your web history, typing some terms will execute a search in your default search engine (saving me two characters compared to how I search in Firefox), you can type a normal web address and you can use keywords to search. If I type w chromium in the address bar it will search for chromium in Wikipedia. The keyword search also works in Firefox, but Chromium has a prettier and more clear implementation.
  • When you open a new tab, you see a Dashboard of sites you use often (a variant of another Opera invention). That page also conveniently displays recently closed tabs with a link to your browsing history. The history page has excellent search (it is Google after all!) and has that simple Google look.
  • The downloads work in a particular way. They automatically save in a default location unless you tick a box confirming that you always like to open that type of file from now on. This takes a little getting used to (I like saving my downloads in different folders), but once again the download history is searchable and looks clean.

In conclusion: Chromium is a browser in which some hard choices were made. No compromises. That means that I, as a user, have to worry about less choices and settings and can focus on being more productive. Making tough interface design choices can be a very successful strategy: witness Apple’s iPod.

For now I will be using Chromium as my primary browser and will use Firefox when I need certain functionalities that only Firefox add-ons can provide.

I am looking forward to what the browser future holds!

Where is IMDB’s API?

Internet Movie Database
Internet Movie Database

I really like the Internet Movie Database (IMDB). It is the largest freely available database of movie related data. I use it mainly for two things:

  1. Whenever I see an actor or actress in a movie and cannot remember in which movie I have seen that person before. IMDB list all the actors/actresses in the movie and allows you to click on the name of each person. On the page of the person it will then show you all the movies in which they played a role.
  2. Whenever I am in video store and need to know whether the movie  that I am about to rent is any good. IMDB has a ratings systems that can give you a good general idea of the quality of the movie.

This post will be about the second use case. In the video store I use the Internet connection of my mobile phone. This is a tedious and often infuriating process, especially when you want to look up multiple titles. IMDB’s pages are huge (they have many images and ads), and this makes them load very slowly. In case of an ambiguous title two pages need to load before you can see the rating. Let’s look at an example. If I search for “pulp fiction” I get the following page:

IMDB results page (click to enlarge)
IMDB results page (click to enlarge)

I then have to click on the  “Pulp Fiction” link to see the IMDB page which has the rating:

Pulp Fiction at IMDB (click to enlarge)
Pulp Fiction at IMDB (click to enlarge)

After another angry session at the video store, I decided to do something about it. First I looked for a mobile version of the IMDB website. There are some available options (see here and here), but they are geared towards iPhones and don’t really work well.

Next I decided to write my own small web application and tried to find the IMDB API. It doesn’t exist! Unfortunately there is no way to easily use and re-purpose IMDB’s data. I don’t understand why some web companies (in this case Amazon) still don’t realise that this actually inhibits the building of their brands.

Luckily there is always one last option: screen scraping. I was actually willing to try and write my own parser for this (would be great practise), but found Izzysoft‘s IMDBPHP class which makes this easy work. This class allows you to get a lot of data about each movie.

After about two hours of programming I now have the following result. I call it Rent it?:

Rent it? The results for "Pulp Fiction"
Rent it? The results for "Pulp Fiction"

I tried to design it to be as fast as possible and made it fit for purpose using the following design considerations:

  • I used a big input field at the top of the screen, with a big button underneath. This input field is also shown on the results pages, so that it is always easy to start a new query. The field gets automatic focus as soon as the page finishes loading.
  • Only relevant information about each movie is shown: rating, title, year, director, run time in minutes and a user generated plot outline. The title links to the original IMDB page which will open in a new window.
  • The standard IMDB score is converted to a percentage and gets a background colour on the basis of the height of the rating. Red has a rating of less than 60% (not worth watching), whereas movies with green ratings are above 70% and could be interesting.
  • The pages are very light: no ads or images. All the processing is done on the server. If a search has many results, then this processing can still take a while. That is why the number of results are capped at five and results are cached for a week (also on the server to benefit everybody).

I hope you are willing to try it out and look forward to any of your feedback!

Try “Rent it?

Rent it? is also accessible through my mobile start page.

Top 10 Podcasts for the Technophile

Photo by Flickr user e-magic, CC-licensed
Photo by Flickr user e-magic, CC-licensed

About two years ago I had to change the way I got to work. I used to take the train and would spend all that time reading. Suddenly I had to drive a car and it felt like I was wasting my time. That is until I found out about podcasting.

I have about ten hours of listening to fill every week and do that with the following podcasts (not in any particular order):

  • Leo Laporte has single handed created his own Netcast Network: TWiT. It is proof that it is now more than possible to create professional sounding audio (and lately even video) without breaking the bank. He does all his interviews over Skype, produces hours and hours of shows each week and is highly successful (some of his shows have around 200.000 listeners) without being big media. I listen religiously to four of his shows:
    • this WEEK in TECH (feed URL): This is the leading show that gives its name to the network. Laporte talks about the week’s tech news with luminaries like John C. Dvorak, Patrick Norton from Tekzilla, Will Harris from Channelflip and many others. The show is often hilarious with some great insights, although I can imagine it might feel like a lot of inside baseball when you don’t listen very often. My favourite regular guest is Jason Calacanis from Mahalo. He always seems to bring some outrageous humour to the show, but is also often one step ahead of the game when it comes to really understanding how business is changing because of the Internet.
    • FLOSS Weekly (feed URL): This is a show about Free, Libre, Open Source Software with Randal L. Schwartz. The show usually consists of an interview with the project lead(ers) of a big open source software project. It is a great place to learn about new projects and to get a better knowledge of how open source software development works.
    • net@night (feed URL): This show has Amber MacArthur sharing links of new websites that she encountered. Often there will be an interview with a founder of some new web 2.0 start-up. The show can be a bit light on content sometimes.
    • Security Now (feed URL): If you really want to get a better understanding of how computers work, than this is the show for you. Steve Gibson is a real old hand in the IT world (the back-end of his website is written in assembly language if I am not mistaken). The show has two types of episodes: one where Steve dives deep into a particular security related topic and one where he answers questions from his listeners.
  • Search Engine with Jesse Brown (feed URL new feed url at TVO.org): “A blog and podcast about the Internet. But not boring.” This is the podcast that I would love to make. Jesse Brown uses his audience to find stories in which the Internet has profound social effects. He really understands the Net and has the most wicked loops and intros of any podcast in this list.
  • Guardian’s Tech Weekly (feed URL): Aleks Krotoski and other Guardian journalists go through a week of tech news. It is a smoothly produced show with some interviews, a start-up elevator pitch, short news segments and sense of humour. The British focus can be refreshing.
  • Guardian’s Science Weekly (feed URL): Alok Jha must be the funniest man in science journalism. Only Brits can make a show that is incredibly entertaining and very intelligent at the same time. You can feel the love for science and the joy they have in making the show.
  • Digital Planet (feed URL): This BBC world show takes a much more international look at how technology is changing society. It has many features on the developing world and has a true journalistic BBC attitude. The resident expert Bill Thompson is a great technology critic who brings something extra.
  • These two Dutch podcasts are interesting too:
    • Radio Online (feed URL): This long running radio show always manages to entertain me. The combination of sceptic Peter de Bie and hardcore Internet journalist Francisco van Jole really works.
    • ICT Roddels (feed URL): Brenno de Winter and Gonny van der Zwaag produce this podcast. I have a lot of respect for Brenno who has his very own fearless interviewing style and is a journalist with principles. His Bigwobber site is pushing hard for open government.  The audio quality is less then the other shows that I have described but it is good enough.
  • Finally, as a bonus, two extra podcasts:
    • LugRadio (feed URL): The awesome foursome have stopped producing this great Linux show. They were completely irreverent and had some insanely hilarious segments, but also always managed to have very thoughtful and deep discussions about open source software and the open source community. It is well worth listening to the archives.
    • Ricky Gervais Podcast (available at Audible): This has nothing to do with technology, but it is probably the best comedy that is available  on audio anywhere.

I use Amarok (not the KDE4 version!) to download these podcasts and sync them with my iPod. Amarok really deserves a plug as it manages the podcasts on my iPod perfectly. Podcasts continue where I left them, get downloaded automatically when new ones arrive, get deleted from my iPod when I have listened to them completely and show the little image of the show.

I am always looking for new things to listen to and would appreciate any recommendations.

Presentations on Moodle 2.0 and on Moodle, Mahara and Elgg

My employer, Stoas Learning, organized a Moodle seminar today. I did two presentations in the morning (both of them in Dutch).

The first one was titled: “Moodle 2.0, een sneak preview”. I discussed the new features that will appear in Moodle 2.0 and did a quick demo of how you can use the repository API to pull in an image from Flickr, hand that in as an assignment and then push it out to GoogleDocs for savekeeping. You can find the slides below:

[slideshare id=1165502&doc=090318moodle20-090318180829-phpapp02]
(view at Slideshare or download a PDF version)

The second presentation was titled: “Moodle, Elgg & Mahara – Samenwerkend Leren, Kennisdelen & Sociale Netwerken – Van Formeel naar Informeel”. I tried to use three cases to explain that e-learning can be more than just a web-based, unfacilitated, content to single learner experience. These were my slides:

[slideshare id=1165542&doc=090318watnogmeeralt-090318181552-phpapp01]
(view at Slideshare or download a PDF version)

I do realise that these slides lose a lot of their meaning without my spoken words. When I posted Slideshare presentations previously, I wrote I would try and record the audio for the next time. I guess I failed…. I am sure there will be another chance.

Corporate Social Networking Part 1: Elgg

Over the next couple of weeks I will write a series of blog posts about corporate social networking. I will be looking at some open source tools that can facilitate the creation of these kind of networks in a corporate setting and I will try and make a business case for why you want to start experimenting with these kind of tools in your company.

Elgg
Ellg.org

In this first post I will take a look at Elgg, a tool that will allow you to build your own social network. You should see it as an open source version of Facebook, Ning or Hyves. Unlike these services, Elgg will allow you to retain full control of your implementation and of your data.

Elgg has been around for a couple of years now. Recently the core developers have completely rewritten the application and version 1.0 came out on August 18th 2008. They have used the pretty standard PHP/MySQL combination to implement their own MVC framework. This will allow you to easily change the user interface without changing the functionality and makes extending the existing functionality a pain-free experience.

In 2008 Elgg won the best open source social networking award in Infoworld’s Best of Open Source Awards. Examples of Elgg sites are:

  • Community@Brighton: a social networking system for students and staff at the University of Brighton. This university has been using Elgg for quite a while now (they seem to use the old platform still), using it for blogging, sharing of different media files and for the creation of internal communities.
  • Rucku: a virtual clubhouse for rugby. Rugby enthusiasts share forums, videos and pictures. Note how even the language of the site is rugby themed (e.g. “sledge” instead of “message”).
  • Harvard University: recently some courses were taught in an Elgg environment instead of in the standard (home brew) Harvard LMS. Weekly blogging instead of threaded discussions was the central activity. This way the content of the posts stayed with the students even after the course had finished.

If I were to summarise Elgg in a couple of words I would say that the core functionality revolves around a dashboard, user profiles and groups and that these are linked through tags and a flexible access infrastructure allowing users to build their own networks.

Each user has their own dashboard. This is their launch page and contains widgets showing recent activity in the network:

The dashboard, each user has one
The dashboard, each user has one (click to enlarge)

Users can add their own widgets to this page by clicking on the “Edit page” link and using the drag and drop interface (Elgg makes extensive use of jQuery) to fashion the page to their own liking:

Adding your own widgets to the page (click to enlarge)
Adding your own widgets to the page (click to enlarge)

Developing your own widgets is trivial for any web-programmer. This will allow Elgg to play nicely with other systems (e.g. a Twitter widget already exists). The Elgg developers write on their homepage: “We are committed to open source, data portability and transparency”. Their support for OpenID, OpenSocial, openData and Elgg’s RESTful API clearly demonstrate this. Because of this it is very possible to use Elgg data inside another application.

There is a user profile for every member of the site. Users can upload their own picture and fill in a couple of profile fields. These fields can be created by the site administrator and will allow connecting different users on the basis of their interests, location or field of work for example. The user profile has the same widget based approach, so that the user can decide what people see when they view their profile:

User profile, note the Twitter widget (click to enlarge)
User profile, note the Twitter widget (click to enlarge)

One of Elgg’s most celebrated features is the way that groups can be created inside the system. Users can start their own groups around projects or communities of practice. A group has their own files, forums, activity stream and pages and can have open or closed membership:

The group homepage (click to enlarge)
The group homepage (click to enlarge)

Every thing that is added by users to the system will allow multiple tags to be attached. These tags make finding relevant materials in the network very easy:

A search for the term "Elgg" (click to enlarge)
A search for the term "Elgg" (click to enlarge)

Finally the access controls make it a snap for users to share any of their materials with the world, their friends, a particular group of friends, a group in Elgg or to keep them private. You can set these permissions for anything, be it user profile information, uploaded files or blog posts:

Tagging and providing access
Tagging and providing access

All the other functionality inside Elgg is completely modular and can be turned on or off with a couple of clicks. The main modules that are relevant for businesses are:

  • Each user can have their own blog. The blog is quite rich in functionality: it has comments, pingbacks can be installed and access to each post can be set.
  • The files repository will allow the uploading of any file type. Files can have a description and tags and their level of access can be set. Image files get special treatment, automatically allowing them to be viewed in a gallery.
  • Messaging comes in two forms. There is an internal messaging system allowing one to one private messaging and there is a facebook-like “wall” connected to the user profile page.
  • Elgg calls their wiki functionality “Pages”. It is a mix between a true wiki and a collaborative hierarchical web-page writing tool. Each page has separate access permissions for reading and for writing. A very simple revision history is kept.
  • The social bookmarking tool (including a bookmarklet) allows users to store their favourite websites and share these with selected friends. Websites can be tagged of course.
  • A user can easily update their status. Each status update is stored so that this can also function as a microblogging platform, especially in combination with the activity river which shows the most recent updates of your friends. There is a plugin that will push status updates to Twitter.
  • Many information streams inside the Elgg installation have their own RSS feeds pushing the content to your feedreader of choice.

In the next social networking post I will try to build a business case for a tool like Elgg inside corporations. Why would it be useful to have this inside your business? I can imagine that you as a reader might have ideas of what could be the added value or maybe you have some examples of businesses that are already doing this. It would be great to get your input and feedback in the comments.