Tag Archives: firefox

The next browser war: Users vs Web Content

Browser wars is a popular (and retro!) topic these days. In this post I’ll discuss another kind of browser war that I’m afraid all browsers are at risk of losing.

One side-effect of a richer web experience with html5, Javascript and CSS is that it becomes increasingly harder for web browsers to stop bad web design practices for the benefit of the user. Firefox is known for putting the user’s needs first and pioneered mainstream use of features designed to make the web experience better for users – the pop-up blocker is perhaps the most notable example.

Features like the pop-up blocker were not designed for web developers — they were designed completely in the interest of users, who were fed up with annoying ads that popped up over and under the web page you were currently visiting. This effectively forced web designers to adjust their practices and keep the users’ interests more prominently in mind. I think this is a wonderful example of how web browsers can change the web for the better. Before the pop-up blocker, web designers were dictating how their web sites should behave, and users had no other choice but to put up with it.

There are of course many other examples of when browser features have helped tame annoying web design practices, such as scrolling text in status bars, disabling the context menu when right-clicking, and blocking third-party cookies — the general theme is that the browser balances the sometimes bad urges of web developers and designers with the actual needs of the user. And as a result, the web becomes a better place. Mozilla has its own spin on this that captures the essence of Firefox: Firefox answers to no one but you.

The yellow pop-up blocker info bar in Firefox. A rare sight these days.

Today, however, you don’t see the little pop-up icon  in the location bar of Firefox very often anymore. This is because “true” pop-ups, (in the traditional/technical sense) are no longer common. It used to be that, in order to display a pop-up, web developers had to use Javascript methods like window.open to tell the browser that it wants a new window to be open so the (usually annoying) ad could be shown.

Back in 2004, when Firefox was first launched, window.open was the way of displaying pop-ups. These kinds of pop-ups are trivial for Firefox to detect, since the web page creates a separate browser window for the ad (this usually happens when a page loads, or at some other event which is straightforward enough for a browser to determine that it isn’t explicitly requested by the user).

Today, most modern web sites have become smarter and use more sophisticated technologies to display pop-up ads embedded within the web page triggering the ad. In fact, a quick anecdotal survey shows that most large, international websites have completely stopped using the traditional pop-ups. You can still find them on smaller or more local websites though (for example, Swedish news sites like aftonbladet.se are typically a year or two behind the more recent web page practices used on websites from the US in general, and the Valley in particular). The original pop-up blocking implementation certainly still matters, but its relevance is decreasing.

New websites use all sorts of clever (and highly annoying) tricks to make sure their ads are not missed by anyone:

  • Inline pop-ups — these behave similar to the traditional pop-ups, but the ad content isn’t actually displayed in a separate window. Instead, the ad is embedded in the web page itself. From a technological point of view, a browser is then unable to distinguish the ad from the rest of the web page, so it can’t block it.
  • Hover ads — this is similar to inline pop-ups, but taken to an increasingly more annoying level: here, the ad doesn’t just block a particular area of the web page, it follows along on your screen as you scroll down on the page — often with a smooth movement to give the impression that it’s actually hovering over the page. It’s like the ad is trying to say “I’m here! Look, I’m still here!”
  • Splash screen ads (I just made this term up) —  these are by far the most annoying ads and are commonly seen on sites like di.se and e24.se (two popular finance websites in Sweden). This is like an ad saying: “Look, I’m not going to let you read the web page until you’ve paid attention to ME!” Web designers do this by overlaying the ad so it completely covers the content of the page (alternatively, it redirects you to a separate page). If you pay close attention, you will see a tiny link to get to the page you actually wanted to visit, but the web designer has usually made it the smallest link on the entire page — despite the fact it’s the link you are most likely going to want to click. These type of web pages clearly answer to no one but the ad provider — certainly not to you.
  • Video ads — as videos are getting more and more mainstream, the most common practice today by content providers is to show an ad before playing the video clip you actually requested. This is similar to those “important messages” you see when inserting some DVDs, and just like those messages, you can’t skip these ads. You simply have no choice but to watch the entire thing. (Some content providers add a small clock countdown in the corner to at least let you know how long you have to put up with watching the ad — it’s clear that they’re aware of the inconvenience for the user here.)

All of these types of web ads have one thing in common: it’s next to impossible for web browsers to block them. These ads are, from a technical point of view, integral parts of the web page itself, and as such they’re indistinguishable from the “good” content on the page.

Where do we go from here?

Web browsers make at least a bit of an effort to block advertisement today with their aged pop-up blocker feature, but it’s also clear that they are not able to block all attempts of displaying advertisement on the web. (And should they? Unless we can create a world where advertisement is not just generally unwanted, but also not necessary to make the online economy spin, I would say we probably shouldn’t try to block them all. But that’s a much deeper discussion than I’m aiming for in this blog post.)

More importantly, however, web browsers are no longer stopping bad design practices. Showing an ad as a splash overlay covering the entire page and blocking the user from seeing the actual content of the page is exactly the kind of thing that Firefox effectively stopped in 2004 — but so far there is no solution in place in any web browser on the market to stop the new pop-up behavior that is at least as bad as the traditional pop-ups.

Taking a step back, what is the role of the browser in this new world where web pages are becoming more like web applications that live a life on their own terms? How can we ensure that the browser still acts as a balance that puts the user first? Of course, I don’t have the answers to these broad questions, but it’s definitely something I think must be discussed.

My impressions with web browsing on the N900

I’ve recently had the pleasure of testing Firefox on the brand new Maemo based Nokia N900 phone (which I blogged about previously), and I have to say I’m impressed. Of course, I’m biased — I love Firefox. I’ve been using it since the Phoenix days and it’s almost part of my DNA these days.

However, I have a confession to make: Firefox isn’t yet my default browser on the N900. I think it will be very soon, but right now, my browser of choice on this particular device is another Mozilla-based browser: MicroB. It’s actually the best web browsing experience I’ve ever had on a mobile device (but to be fair, Firefox is the second best experience, so it’s definitely up in the same league already).

Allow me to summarize my initial impressions with both of these Mozilla browsers:

  • The Awesome Bar in Firefox is… awesome. I never actually reflected on how convenient it was to use until I tried MicroB, which forces me to remember URLs again.
  • Weave is probably extremely useful, too, but since I’m using the latest trunk builds of Firefox (“Fennec”), I can’t actually use it.
  • I’m not completely sold on Firefox’s UI model of showing controls on a surface on the sides of the web page. I’d be curious about whether there has been any usability research that suggests it’s better than the more traditional toolbar at the bottom of the screen. Btw, I’ll follow up with some ideas about this in a future blog post.
  • I’ve fallen in love with the volume rocker zoom in MicroB — it’s smooth, fast and surprisingly accurate. Would love to see this in Firefox!
  • When double tapping to zoom in MicroB, a subtle zoom animation is used which feels intuitive and responsive. In Firefox, the zoom is instant, making it feel less fluid.
  • The default page zoom in Firefox is designed to make the full width of the page fit on the screen. This unfortunately has the side effect of making the text on almost all web pages too small to read. It seems like MicroB has chosen a different approach where the default zoom includes about 800px of the web page width, which makes it possible to read most pages without zooming in.
  • Actually zooming in on a page in Firefox is a bit tricky, because it auto-zooms on the object you double tab on, even if that object is only e.g. a small image. This means that you often zoom in too much, and since it’s not possible to adjust the zoom level in an easy way (keyboard shortcuts don’t cut it, especially not for me since I have the Scandinavian keyboard layout where [Ctrl]+[-] doesn’t work), you have to double-tap again to zoom out and then try again.
  • MicroB feels more responsive when panning around on a page. This is mostly due to the fact that the UI and panning is done in a separate process from the actual Gecko web rendering process. At FOSDEM, I was pleased to hear in the Mobile talk by Mark Finkle that Firefox will make full use of the Electrolysis technologies that are currently being baked. What this means, in simple terms, is that Firefox will be just as responsive as MicroB in the future since the web rendering process will be separate from the UI/frontend. I can’t wait to see the results of that (which of course will benefit desktop Firefox as well).
  • The checker pattern seems to show up more frequently on the screen in Firefox compared to MicroB. I don’t know if Firefox is just more conservative with how much of the web page it pre-loads off-screen, but sometimes it can cause the whole screen to remain “blank” for a few seconds, which rarely happens with MicroB.
  • The Back button history in MicroB is a good idea in theory: when clicking the Back button, small thumbnails of the previous pages are shown, making it easy to pick the page you want to get back to. However, the implementation sucks because it takes several seconds to load these thumbnails and the thumbnails are big enough that you have to pan around in order to see anything more than one page back. Would be nice to see some kind of combination of Firefox’s and MicroB’s implementation: when tapping on the Back button, Firefox would simply go back to the previous page, but when tapping and holding, it would show a pop-up with preloaded thumbnails in a similar fashion as with MicroB, except without the delay. (Maybe the actual thumbnails could be recorded when you navigate away from a page?)
  • Flash — as much as I hate it — works pretty well in MicroB out of the box. In Firefox, I have to enable it manually, and the responsiveness of the UI with Flash enabled isn’t great. Can every web site switch to open video, please?

I personally feel that both MicroB and Firefox are really good web browsers, and the fact that they’re both powered by Mozilla’s Gecko web rendering engine is a huge plus for me. So in a way, I don’t feel bad for not using Firefox primarly right now, because my current web browser of choice is still filled with Mozilla love. :)

That said, I can’t wait to use an Electrolysis-powered version of mobile Firefox later this year!

Ubuntu is old, most of the time

One thing that I really don’t like about Ubuntu is that, by default, it doesn’t automatically upgrade popular software releases until a whole new version of the operating system is released. This means that right now Ubuntu 9.10 (the latest stable release) is still running Firefox 3.5.8 and OpenOffice.org 3.1.1, when the latest versions are 3.6 and 3.2, respectively.

I can definitely understand why such a policy simplifies maintenance on older releases, allowing the developers to focus on the upcoming release, but why can’t they just change this policy at least for the most popular desktop programs?

The way they do things today is annoying and makes Ubuntu feel old-fashioned. Is there another Linux distro that has a better software upgrade policy that I can switch to instead, or am I stuck having to upgrade software manually and store the programs in my home folder?

Let's create that ideal world together!

John Slater recently hosted a brown bag about how to improve Mozilla’s web sites by making a clearer distinction between Mozilla, the non-profit organization, and Firefox, one of its products (and, of course, the most popular since it happens to be the best browser in the world!). He also posted a blog post about the topic, and David Boswell then followed up by providing his thoughts from the point of view of the Mozilla Foundation.

As I’ve said before, my vision for SUMO goes beyond Firefox: SUMO is a vibrant community of people who want to help others with their web experience. It’s also a support website platform for products like Firefox, mobile Firefox and Thunderbird.

The URL for Firefox Support, the largest SUMO-powered support site, is currently support.mozilla.com. While I don’t think URLs are that important in the first place (the navigation and structure of websites are far more important), this particular URL is a bit unfortunate because the support site is indeed about Firefox, and not Mozilla as a whole. A URL like support.firefox.com would make more sense, and would also send a clearer message to everyone what the focus of the site is.

In the ideal world, there would be a central place for support on mozilla.org where users of all products could find easy access to the support offerings per product. In other words, something like mozilla.org/support, which already exists today (although I would also make sure that support.mozilla.org worked).

Then, each product would have its own support site hosted on the product domains, e.g. support.firefox.com, support.thunderbird.com, and support.seamonkey-project.org. Of course, these sites would also link to all the amazing community-hosted support websites around the world — just like they do today.

So, what stops us from creating this ideal world? Well, nothing, really. But we’re an incredibly big community and support is just one piece of the big puzzle, so I encourage you to participate in the discussion!

Improve your karma: Help some Firefox users today!

Today, Firefox 3.6 will be released. From a support perspective, the big highlights of 3.6 are

  1. Less crashes
  2. Automatic plug-in update notifications
  3. More win

It’s certainly a time for celebration (perhaps I’ll even have a beer despite the fact that it’s only Thursday!) — but it’s also an opportunity to help the many people that will try Firefox for the first time today, or the even higher number of people who will upgrade from older versions of Firefox.

Do you think you know more about Firefox than the average user? (Hint: if you’re reading Planet Mozilla or my blog, the answer is most probably yes.) Then you can make a huge difference to a lot of people by helping them have a better experience on the web!

All it takes is a few minutes in our Firefox support forum. Simply browse through the questions asked by users of Firefox and see if you know the answer to some of them. If you do, make someone’s day by posting the answer!

On behalf of Mozilla and the 350 million Firefox users out there: Thank you.

Five years ago, Firefox was born

When I blogged about the launch of Firefox 1.0 five years ago, I knew it was a big day that we would look back at in the future. However, I would be lying if I said back then that I knew what kind of impact Firefox would have on the web as a whole.

Five years ago, you couldn’t choose what type of computer of device you wanted to use to browse the web because all websites were designed to work with IE on Windows. Something as basic as surfing from your mobile device — we take this for granted today — was completely out of the question. Microsoft was in full control of the Internet and your web experience.

This all changed when Firefox was released on November 9th 2004. Finally, web developers could design web sites according to standards instead of designing them to work for IE. Finally, users could experience web sites the way they were meant to be. Finally, the web was accessible to everyone.

In a nutshell, Firefox is the reason why we can surf the web using our iPhones, Linux netbooks, or OpenSolaris PCs.

Firefox set the web free.

žomg it's a small community!

There is an old saying that we live in a small world. It turns out that this is true for the Mozilla community as well — and definitely in that same good way!

Matjaž with his excellent taste

Matjaž with his excellent taste

Matjaž Horvat is a perfect example: I’ve seen the guy at various Mozilla events such as MozCamp Barcelona, MozCamp Prague, and the Mozilla Summit in Whistler, and I’ve always admired his great taste of fashion.

But it wasn’t until today during a chat with him about how we could kickstart Slovenian SUMO localization that I finally realized it: this guy with the same unbelievably stylish Diesel sneakers as I was wearing in Barcelona actually worked with me on Firebird Help way back in 2003! Indeed, Matjaž was the Slovenian translator of the site, and his excellent work is still up for public viewing in the Internet Archive — only with a little bit less style.

Just for the record, Matjaž reminded me today that we actually talked about this in Whistler, and I apparently managed to completely forget that… Not sure what to say in defense other than the fact that I’ve never met as many new faces before as I did in Whistler.

Sometimes the Mozilla community is just so cool. Or as Matjaž said during our chat: “it’s amazing how good this community feels!”

I can’t wait to work with you on Firefox support again, Matjaž!

Bye bye Mac, hello again PC!

If I appear to be slower to respond to e-mail lately, it’s because my two-year-old MacBook Pro broke down last week, leaving me without access to my local data. It started with some occasional graphical glitches (see video) but it only took a few days until the computer wouldn’t boot anymore. Interestingly, during this gradual fail, the rEFIt boot menu that normally allowed me to start Linux suddenly disappeared. The first time it disappeared, I could restore it by resetting the PROM memory, but now it’s just gone.

Tiger trying to fix my computerMacs are weird in so many ways. You can’t just install Linux and expect it to work — you have to install additional software like rEFIt just to boot into another OS than Mac OS X. Furthermore, you can’t just plug a USB stick in and boot from it. In short, Apple is the very definition of locked down proprietary technology and it annoys the hell out of me.

I’m sick and tired of Macs and I’ve decided to even out the remarkably unbalanced Mac/PC ratio at Mozilla by getting a PC as my next computer. I’ve also decided to give in to my passion for Linux and use it as my full-time OS from now on.

While I’m waiting for my new computer to arrive, I’m writing this from Sofie’s little 12″ PC running Ubuntu. It works like a charm, but I am definitely not as productive as I was with my own computer. I sometimes have to let go of the computer for a few minutes so Sofie can check her mail — after all, I’m the one borrowing her computer. However, the biggest reason why I’m not as productive as I was before my MacBook broke is that I don’t have access to my local data.

Two things I’m a lot more dependent on than I ever thought:

  • The local address book of Thunderbird
  • The local AwesomeBar data of Firefox

I’m working on getting a Linux Live CD (Sofie’s laptop doesn’t have a CD burner) to boot up my MacBook and transfer all my local data to this computer so I can resume full productivity speed again.

How to make community members stick

How to grow communities is a hot topic these days. Francesco Lodolo recently blogged about how the Mozilla Italia community mainly consists of veterans who have been participants for several years, and how hard it is for them to find new contributors.

Illustration: Grow by Amy.Ng

Abdulkadir Topal from the German community also blogged about getting help for localization work on the European Mozilla Community Blog and reached an interesting conclusion about how to turn new and casual contributors into long-time community members: the key is to distribute ownership.

Kadir uses Thomas from the German localization team as a good example of this theory: Thomas is a relatively new community member (“only” two years worth of contributions so far!), yet he is one of the most active members on SUMO today. The key factor for why this happened, according to Kadir, is that Thomas was given full responsibility for the SUMO component within the German localization team.

As Kadir concludes, it’s “one thing to contribute little bits and pieces to a [project], but it’s a completely different thing to own it.”

I find this theory interesting. Maybe it is not a universal law that can be applied to everyone or every type of project/responsibility, but looking back at my initial involvement with Mozilla, ownership was definitely part of what motivated me — but not all of it, as I will explain below.

Kadir mentions in his blog post that it was something as trivial as a product logo that made me discover the Mozilla project in the first place. To me, the little Gecko logo — featured in an article about the planned Netscape 6 browser based on the previously open-sourced Netscape 4.x codebase — communicated “lean and mean,” and the article went on explaining how this new Gecko HTML rendering engine would be modern, compatible, portable, and small enough to be used even in future handsets (and guess what; about nine years later it turns out that they were right!).

Just a few days later, I learned that Netscape 6.x was just a branded and slightly outdated version of something called “Mozilla,” which apparently was the open source project behind the well known Netscape browser. I immediately switched to Mozilla instead, since it was more bleeding edge and therefore more fun for a geek like me.

That’s how it started for me. However, that wasn’t the reason why I sticked. Why did I turn from just interested in Mozilla to a deeply involved contributor? I will try to explain this and get back to Kadir’s theory, but I can say right now that there is a lot more than one reason why I’m still an active Mozilla community member.

It started around year 2000 with the realization that I could actually affect the project by submitting bug reports and providing feedback. Although open source as a concept wasn’t new to me, I had never actually gotten involved myself before. This, combined with the fact that I got to know other people with similar interests, made reading the newsgroup daily a pleasure.

However, I always felt that the original Mozilla suite represented something from the past, and that the way of the future was something lean and mean (yes, that Gecko logo that got originally got my attention!). The word “monolithic” was often used to describe the Mozilla suite, and even the word itself felt big, old and unmanageable to me. When the Phoenix project was announced on MozillaZine, I immediately turned my focus to that instead, and never looked back.

Because the project was still small and new, it was also a good opportunity to get more deeply involved because the signal to noise ratio was higher. Many people in the Mozilla community were still skeptical about Phoenix and preferred the tried and true Mozilla suite. This made the feedback I provided to the Phoenix project much more visible than it had been for the suite, making it a lot more rewarding for me to contribute.

As the project started to shape up with the release of Phoenix 0.3, I found myself heavily involved with things like filing bugs and RFEs, discussing feature implementations with developers, and, most often, answering questions from the growing number of users of Phoenix. As this consumed more and more of my time, I realized that there wasn’t a centralized place for people to get help with Phoenix. I viewed this as my opportunity to finally give something meaningful back to the project, and spent a couple of afternoons creating a small site called Phoenix Help. It was also a more meaningful way to develop my HTML/CSS coding skills compared to creating a website for, say, a Brood War clan (let’s call it UU).

Phoenix Help was very small and seemingly insignificant, but it was quickly noticed and appreciated by fellow community members in the MozillaZine forums. I especially remember getting my first personal e-mail from Asa Dotzler thanking me for doing what I did and encouraging me to continue the great work. This meant a lot for my motivation, because it was a confirmation that what I was doing was appreciated.

Before I knew it, people were linking to my site from all sorts of places (starting with Phoenix 0.5, even the release notes linked to it!), which made it even more important for me to ensure that the site looked good, was easy to use, and that the content was up to date. I was, in fact, responsible for the support site of Phoenix — I “owned” that part of the Phoenix project!

To wrap up, there were several things that motivated me to stay active in the Mozilla community:

  • A belief in the mission of the project — to create a web browser that supports and promotes the use of open standards
  • An interest in the technology — initially with the Gecko logo as my hook
  • The feeling of belonging in a community of people with similar interests
  • The desire to give something back to a project that gave (and still gives) me the best browser in the world for free
  • The experiences gained by managing a website — HTML, CSS, server configurations, and perhaps most importantly, the English language
  • The recognition and respect from Mozilla project members for my contributions
  • The pride of being responsible for an important piece of the project

When I look at this list, I realize that it’s impossible to point to one particular motivator for community members, and that everyone probably has their own unique list. More personally, I also note that my motivation model today is the exact same as it was when I got involved seven years ago.

Despite the fact that the list is based on my personal experience, I think that all of the motivators could be taken into consideration for anyone trying to build or grow a community. Depending on the project, some things might be more important than others, but they all affect your community:

Tree Climbing Cat by mokwai

  • Does your project add value to people using it? Do people feel like they are making a difference by contributing?
  • Is your technology cutting-edge? Is it solving a unique problem? Is your project making people feel “wow, I want to be part of that!” or “I’d love to learn more about that”?
  • Is your existing community friendly, welcoming and collaborative? Are tasks and discussions communicated in the open? Do people in your community have fun together?
  • What kinds of contributions are welcomed? Does your project offer different ways to get involved?
  • What’s in it for the contributors? Aside from the positive feeling of making a difference, do they gain relevant experiences by contributing to your project?
  • Do you reach out personally to community members and make them know that their contributions are appreciated? Do you have automated systems in place to show the impact contributors make (e.g. a karma system)?
  • Is your project modularized enough to allow people to take ownership of parts of the project?

There you have it — my first attempt to unwrap the mystery of building and growing communities. Is this helpful? Do you have similar experiences? I would love to hear what you think!