Category Archives: Open Source

Firefox is freedom

Love this quote:

I honestly believe Mozilla is committed to freedom and privacy on the web. Google is committed to making money and knowing everything I do. Firefox greets me with a page explaining my rights as a user of open source software. Chrome greets me with… sigh… Chrome greets me with a fucking advertisement for a Chromebook.

Cameron Paul on Why I’m Switching (Back) to Firefox

If you’re running Windows, Mac, Linux and haven’t used Firefox for a while, it’s time to switch back. And if you have an Android-powered phone, you definitely should check out the best mobile browser, bar none: Firefox for Android.

The mobile web is broken — and Firefox OS will fix it

Ten years ago the web was broken, but Mozilla fixed it with Firefox. Today, the mobile web is just as broken — and Mozilla will fix it again with Firefox OS. Read on to learn how.

Monopolies are bad for customers

A common sight in 2003.

Not everyone has been around long enough to remember it, but the web used to be dominated by a single company that dictated most of its terms. Ten years ago, most dynamic websites were built using ActiveX, a technology developed by Microsoft that only worked in Internet Explorer on Windows due to its close ties with the underlying APIs of the operating system. For customers, this meant that in order to use the (then) modern web, you had to use Internet Explorer 6 — and you had to use Windows. Over time, other technologies like Flash and Shockwave eventually replaced the role of ActiveX, and this opened up interoperability across platforms a little bit since those technologies worked on Mac OS as well, but minority OSes like Linux were still in the dark with either non-existent or obsolete versions of these proprietary technologies.

At Mozilla, we saw these problems and understood the importance of cross-platform interoperability and standards on the web. Standards are good for customers, developers, and the whole industry because they promote freedom, choice, and innovation. In Mozilla’s eyes, having one for-profit company continuing to dictate the terms of the web would lead to a very dark future. So we created Firefox.

Mozilla fixed the desktop web with Firefox

Few people believed back in 2003 that an open source web browser built by a tiny non-profit would stand a chance to beat a giant like Microsoft at its own game. The odds were certainly against us — Microsoft’s combined market share exceeded 95% the year before Firefox 1.0 shipped. But we all know the history that followed: Firefox quickly disrupted the monopoly and introduced a kick-ass web browser that focused on users’ needs by creating a truly delightful browsing experience — and more importantly, one that actually followed web standards. This had enormous effects on the web: suddenly developers started to innovate again and created new experiences that no one had seen before (pre-Firefox, innovation on the web was basically limited to figuring out new ways to annoy users with pop-ups and scrolling marquees).

As a result of our success with Firefox, Microsoft woke up from its self-declared hibernation of IE6 and decided to pick up the development of their browser again to catch up on some of the new web standards that developers were now using extensively thanks to Firefox. This pushed the innovation forward even faster because the lowest common denominator on the web (IE) slowly became a browser largely following the latest web standards. It also made it possible for other players to enter the web browsing market. And this is what makes the web as cross-platform compatible as it is today. It’s still not perfect, but the difference since 2003 is dramatic.

coffeeLet’s be clear about this: the reason why you can buy just about any desktop computer or mobile device today and expect websites to work without hick-ups is because Mozilla created Firefox! We take this interoperable web mostly for granted today, but it’s important to remember that just ten years ago, this was a utopia.

Web sites → Apps

Fast forward to today and the landscape and definition of the web has changed. The web is turning mobile and people increasingly use phones, tablets and other mobile devices to get online. But it’s not just the usage of the web that has changed — the web itself is different too. The most notable change is that the majority of the time spent online using mobile devices is happening in native web apps developed specifically for the platform of that particular handset — not on actual web sites viewed through a traditional web browser. For example, instead of going directly to http://www.twitter.com, people download the Twitter app for their phone. In other words, native apps are increasingly becoming the lens through which the web is viewed these days. Why is this? The short answer is historical reasons.

The slightly longer answer: Native apps were faster and more capable than web technologies when smart phones started to become mainstream a few years ago. The web itself didn’t have capabilities like offline storage or technologies optimized to create snappy and app-like user interfaces. Web standards also lacked direct hooks to crucial hardware like the camera and other important parts of the device. (It’s relevant to point out that today’s web technologies do have all of these app-like capabilities; more on that later.)

Duopolies are just as bad

If you consider the issues ten years ago with web sites that only worked on certain platforms, you begin to see the connection with today’s mobile web apps that only work on certain mobile platforms. Today’s situation isn’t any better than the monopoly we were facing on the desktop before Firefox came along.

For customers, these isolated vertical silos mean limited choice and freedom, because you can’t easily switch from one platform to the other without a lot of headache and changed workflows. For example, if you’re used to the iPhone and have purchased a bunch of apps for it, you will basically have to start from scratch if you decide to switch to an Android-powered phone. There might be some overlap, but there will no doubt be a handful of apps that you simply won’t be able to use anymore. And you’ll most likely have to pay for many apps again. This sucks. It’s a bit like not being able to access certain websites just because you switched to a different operating system. Déjà vu anyone?

Example of how the apps world is scattered and incompatible today.

Example of how the apps world is scattered and incompatible today.

For developers, the situation is a nightmare, since you have to almost double the development resources to reach most of your customers. And with Tizen and Windows Phone and other mobile OSes lined up and eager to get their own share of this old vertical silo landscape, it’s easy to see how this way of doing business on the mobile web isn’t financially viable for anyone but the largest app development houses. Who wants to develop an app five times?

And customers will of course continue to suffer just as much in this scattered model (“when is Spotify coming to Windows Phone?” and “Why doesn’t Instagram have the same art filters on Android and iOS?”).

Mozilla will fix the mobile web with Firefox OS

Enter Firefox OS. The whole idea with Firefox OS is to make the web itself the platform not just for traditional web sites, but for apps as well.  Apps are the new lens through which the web is mostly used on mobile devices today — and the new, modern html5-based web is more than ready to power it.

Crucially, Mozilla isn’t trying to create its own new silo — the goal is to demonstrate that the web itself is capable of powering apps on all platforms, and to bring web platform interoperability to the mobile apps world. This will disrupt the whole industry for the benefit of both customers and developers, and it will bring the same benefits to the mobile web that Firefox brought to the desktop web: freedom, choice, and innovation. Case in point: today you can choose between many modern browsers on the desktop: Firefox, Chrome, Safari, and IE — and you don’t have to worry about whether your favorite web sites will work or not. Firefox made that possible. And that’s exactly the future we are building for the mobile web with Firefox OS!

What does this mean for developers? Imagine writing an app once and immediately having it running on all major and minor mobile platforms. If you write your app using web standards like html5, that’s a possibility. The cost savings will be enormous.

What does it mean for customers? Imagine a world where you truly own the apps you’ve purchased and where you have the freedom to choose any mobile platform and even switch between them over time — and take all your apps with you wherever you go. You might start with an Android device in 2012, then switch to a Firefox OS device in 2013, and perhaps you want to try iPhone 7 in 2015 (only to dump it in favor of Firefox OS again in 2016). Regardless of your choice, your apps will follow along with you and work just as well on all of these devices. Sounds like utopia? Déjà vu anyone?

fxosphone

This is why I’m so excited about what Mozilla is doing right now to disrupt the web and open it up once more. We did the impossible ten years ago, and we’re ready to do it again.

And the best part of it all is that if Mozilla wins, everybody wins!

Servers, blogs and freedom

Notice anything different? Yes, my blog has a new theme and a slightly concatenated address, but you probably wouldn’t even realize that since I blog about once per year… No, the real changes are under ze hood!

A couple of weeks ago my little Mini-ITX based computer in my closet that acts as my file and web server decided that it didn’t want to start anymore. I panicked at first because I had not performed a full data backup in ages, but thankfully it turned out that the hard drive — the Mother modem if you will — was still working perfectly, so I was able to plug it into another old computer I had lying around.

Young FrankensteinOne really cool thing about Ubuntu Server (and indeed Linux in general) is that it happily continues to run almost regardless of what hardware change around it. Taking out the Mother modem and plugging it into another computer is a bit like taking out the brain of a human and planting it into another body. My new temporary server continued to tick without even the slightest hiccup (albeit way slower on this charmingly clunky 256 MB RAM monster).

With the data backup taken care of, I decided that I’m done tinkering with my own server for now. It’s too much hassle and the risks are too high that if something breaks, you have to spend a considerable amount of time trying to get things back up again. For my modest purposes (a file server for music and movies, and a web server for my blog) it simply wasn’t worth paying for new hardware and going through the trouble of restoring it. Instead, I decided to tackle my two small needs separately:

  1. The blog — I needed a place to host my blog.
  2. The files — I needed a way to access my movies and music on my network to use in XBMC hooked up to my home cinema.

1. The blog

For the blog, I could either host it for free at e.g. wordpress.com, or I could pay a service provider to host my own custom install for me. The former would be free, but the latter would give me more flexibility. I decided on something in between: I’m using wordpress.com to host the blog for free, but I’m paying them to connect my old domain djst.org to it. This is why the address of this blog had to change from djst.org/blog to simply djst.org, because the domain hosts nothing but the blog now. Old permalinks from djst.org/blog/* magically continues to work though — except specifically djst.org/blog, which randomly shows an old blog post from 2006 about a new kitchen table (oh the memories!).

One thing that really impressed me with WordPress is its export and import feature. After getting my Frankenstein server up and running again, I was able to export all posts, pages, comments and categories into one single xml file and then I could just create a blog on wordpress.com and import that file on there. Within a minute, all of my posts and their related tags and comments were living in a new home.

But what about all the uploaded images that go along with the posts? Well, it turns out that the import script automatically fetches all references files in blog posts and uploads them to the new blog location too (though I had to make sure that the old blog was publicly accessible for it to work, which took me a couple of import attempts to get right).

Another thing that impressed me was wordpress.com’s forum support. I had a couple of questions there and one volunteer named tandava108 always provided answers within the hour. Getting a quick response when you’re having a problem or a question is such an important aspect of customer support, so wordpress.com should count themselves lucky to have someone like tandava108 in their forums (just like we are really lucky to have awesome superheroes like cor-el, madperson and jscher2000 in the SUMO forum).

My temporary Frankenstein server with its guts exposed.

2. The files

This one was easy — all I had to do was to plug in an external hard drive to the USB port of my router and voilà, I had wireless access to music and movies again. If you’re curious, I’m using a Netgear WNDR3700v2 router and the configuration process was very straightforward. I’m not too happy about that router for other reasons, btw, but that’s another story.

I must say that it’s a relief to not have a server to worry about anymore. My nerd/hack level has gradually decreased over the years, but it wasn’t until the server broke down that I realized just how little I needed one these days. It feels great to know that I don’t have to worry ever again about my blog getting lost due to a server meltdown.

One awesomely designed support center and what makes it rock

Inspired by Desk.com’s article titled 12 Awesomely Designed Support Centers and What Makes Them Rock, I decided to take the opportunity to demonstrate why our very own help center, support.mozilla.org (SUMO) is way better than all of their twelve help centers combined. ;)

Although their article reads more as a showcase of some of the companies that happened to choose them as their support service provider (which we would never do, since our site is powered by our very own, superior and open-sourced CMS Kitsune), it’s still interesting to look at what they view as great design decisions in a help center to see how we compare.

Here are the main themes of their feedback that I distilled:

1. “The site looks great on all devices from mobile to desktop … The layout of the site is clean and makes it easy to navigate on any device”

We’re mighty proud of the mobile-optimized view of SUMO. It’s one of the most beautifully designed mozilla.org web properties ever made and it works across all mobile platforms. Bram did a fantastic job with the design, and it will fit our future Firefox OS support site like a glove:

          

You can try this out right away by navigating to support.mozilla.org with your Android or iPhone device. And if you’re one of the lucky few with a Firefox OS testing device, our site obviously works just as well there. :)

2. “The uncluttered design and iconography makes it easy to find information … The iconography makes topics easy to identify and stand out”

Our design uses beautiful icons to organize the content into help topics based on what users most commonly look for on our website. We tested this with paper prototyping before implementing it to make sure that the taxonomy and overall design was ideal for our unique product portfolio.

Our help topics area has beautiful icons

3. “The ability to view support center by topics or by articles is a great way to organize content … The organization of content makes it simple to find the exact answers you need”

We really went the extra mile on this one. In our user studies, we noticed that users have different behaviors when it comes to navigating to the answer to their question. Some people want to start by picking a general topic, while others prefer to pick the product they want support for first. As a result, we made sure that both of these orders work just as well on SUMO.

products and services

You can pick a topic and a product, and then we’ll show you a list of articles that matches that query. From that point, you can even filter that list down even further with the Refine and Focus feature, which allows you to pick from a more granular list of topics:

Our Refine and Focus lets you pick exactly the topic you need help with.

4. “The design is simple, clean and easy to navigate … The colors and typography are solid, strong and consistent with branding … The design is simple and clean and doesn’t distract from the important content”

The look and feel of SUMO is consistent with the overall design language of mozilla.org. This was a specific design requirement since support is an extension of the product experience. Also notice the language selector on the right — our site is available in multiple languages, and the localization is done by our amazing community of SUMO volunteers: people like our new Spanish locale leader Avelper, or my great friends and veteran Italian localizers Michele Rodaro and Underpass.

The typography and navigation elements are consistent throughout our web properties.

5. “The support center articles are well written and easy to understand”

We took great care to make sure that our articles are engaging, easy to understand and that they have a friendly tone. We also really considered the target audience and even the mood that they might be in when visiting our site (e.g. frustrated because they’re trying to figure out a solution to a problem). Great support is an important extension of the Firefox brand and the values that Mozilla stands for, so it’s important that we get this right. Our awesome content manager Michael played a huge role in making this a reality. Here are some of the support articles that capture these aspects well:

6. “There’s a ton of helpful information from community questions to how-to videos”

Videos are very powerful because they can convey lots of information very quickly and demonstrate features in ways that no texts or screenshots can ever come close to. It’s a bit like the difference between reading an article about how to play barre chords and just watching someone do it.

A video showing how to restore your previous Firefox session.

So there you have it! I love reading articles like the one on Desk.com because they make me realize just how far we’ve come at Mozilla with SUMO. Our support site is the result of lots of hard work by several teams, including of course the SUMO team, the SUMO dev team, and the UX team. And this year we’ll get even better — I’ll blog more about our plans for 2013 soon.

Random UX change for the sake of… change?

If you’re making a highly visible change in the operating system UI that affects every running application, it seems fair to ask that it’s done for a good reason and that there is empirical data that supports it. Or, if no empirical data is available, that the change is made to make the transition to your OS smoother for users of competing OSes.

The new placement of window controls in Ubuntu 10.4 (beta)

This is why Ubuntu’s recent change to move the window control buttons to the left side of the window in the latest beta confuses me, because it appears that a chance has been made for no real purpose whatsoever other than a vague hint that it’s preparations for “some innovative options” on the now empty right side. But those experiments won’t start until version 10.10, due out in October 2010.

There are a couple of problems I see with this redesign:

  1. The Ubuntu layout is not just about switching from right to left — it’s introducing a completely unique layout never before seen in an OS. See how the Close button is still on the right side of the button group while the buttons were moved to the left side? This means that neither Windows nor Mac OS users will benefit from the change, as both user groups will have to relearn things here.
  2. The actual icons/symbols on the maximize and minimize buttons are also completely different from both Windows and Mac OS.  While Windows uses a horizontal line to represent minimize, and a square box to represent maximize, Mac OS uses colors instead (yellow to minimize, and green to maximize/zoom). Again, this means that neither Windows nor Mac OS users will benefit from the Ubuntu change, which uses some stylish arrows instead (pointing up to maximize and down to minimize). The icons make little sense (isn’t maximizing more about changing the size of the window, rather than the direction? does minimizing a window always move it down — what if your task bar is at the top like I have it?). To make it even more bizarre, once a window is in a maximized state, the icon for restoring the window looks like the actual maximize button in Windows 95/98/Me/2000/XP/Vista/7.

Ubuntu’s design lead Ivanka Majic tries to explain why the changes were made, but fails completely. She instead lists some questions they were asking themselves without providing any answers:

- Why do Mac OS and Windows have the buttons where they do?

- What was the functional reason behind the Mac OS choice (or the Windows position for that matter)?

- Why, when most application menus are top left should the window controls go top right?

- Why, when we read left to right is the most destructive action first?

So, what are the answers? Given that I haven’t seen any, allow me to guess:

  1. Mac OS and Windows have different conventions.
  2. I don’t think there were any serious usability studies behind either of the choices.
  3. Why not?
  4. Because it’s the most common action on a window?

It’s things like this that makes me skeptical of so-called usability experts when they think they can get away with changing things for the mere sake of change, without any evidence whatsoever that it’s a change for the better.  Majic ends her blog post about the window control button placement by indicating the true reason why they went for a completely unique arrangement:

Personally, I would have the max and min on the left and close on the right.

Update: My insanely sharp colleague Jennifer Boriss writes about this topic more elegantly from a user experience expert perspective.

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?

Nokia N900 impressions

I’ve been using the Nokia N900 for a couple of weeks now and I have both good and bad things to say about it. To give you an idea of what I’m comparing with, my previous phone was a Nokia N95. Here’s my list of impressions:

Pros

  • The screen is pretty good, and I rarely have a problem clicking on links and buttons using my thumbs. The fact that it’s resistive feels like an advantage in this incredibly cold Swedish winter. Next to a Nexus One, however, it’s obvious that the color reproduction could be better.
  • The Mozilla-based MicroB browser really is awesome. Scrolling and zooming is so smooth and quick that it feels like surfing on the iPhone, only this time you’re using the real web. By far the best web browsing experience I’ve had on a mobile device.
  • The fact that I can use it to call VoIP, Skype, Gtalk, and regular cellular networks is amazing.
  • The Conversations application seamlessly integrates IM and SMS in an intuitive manner.
  • The media player handles almost anything you throw at it after installing a few extra software packages.
  • Great synchronization with Exchange-based mail services (e.g. Zimbra, which Mozilla uses).
  • Nice multiple desktop solution (though lacks useful widgets).
  • Battery life is impressive in active use such as in a phone call. Though see the standby time below…
  • The “one-click” (actually a few clicks) publishing of both photos and videos to services like Facebook and Flickr is really neat. Though see below about the camera quality…
  • It really is fun to use it. And it’s open source! And it can run Firefox!

Cons

  • This thing is heavy! I thought my N95 was heavy, but this is significantly heavier. It definitely feels like a solid device, for better or worse.
  • The camera is actually worse than the 3-year-old N95 camera in a number of ways: terrible colors in low light, terrible metering, light leaks making the subject in focus appear washed out, and the field of view is narrower than the N95 camera. In comparison, here’s a photo taken by the N95. Both are 5-megapixel cameras.
  • The standby time is a joke. I don’t know what I’m doing wrong, but sometimes I can just keep the phone in my pocket during the whole day and it will discharge in less than 8 hours. I first kept all accounts logged in (Skype, VoIP, Jabber), but have since then compromised a bit and only keep Jabber online. Still, the battery isn’t impressive.
  • The horizontal layout is annoying most of the time. When I’m out and about, it feels awkward that I can’t use the phone with one hand. I understand the “handheld computer” legacy (I even owned an N810), but feel that my typical use is much more like a regular smartphone than a portable computer. Ideally, all applications should support both layouts.
  • The keyboard, while certainly better than the N810, is still not really good. It’s too easy to click on the wrong keys, and there’s no auto complete feature that can detect (and correct) common spelling mistakes.
  • The auto suggest feature only shows one suggestion, so 90% of the time it’s not suggesting the word you want and as a result you end up ignoring the suggestions altogether.
  • The physical unlock switch is only comfortable to use when in horizontal layout. It’s nearly impossible to reach with one hand if you just want to make a quick call.

Marc Laporte coming to town

As many people already know, SUMO as a support web platform is built around open source software. For the knowledge base and forum, we use TikiWiki, an open-source PHP-based content management system. What fewer people might know is that SUMO is currently based on TikiWiki 1.10, which is almost two years old today. The latest version of TikiWiki is 3.1 and in only a couple of months 4.0 will be released.

This week, TikiWiki community lead/member Marc Laporte is paying me a quick visit in Eskilstuna, Sweden to discuss our current situation and to figure out what to do with SUMO. We have identified three potential plans:

  • Plan A: upgrade SUMO to TikiWiki 4.x. This is what I’m hoping we’ll be able to achieve. The question is how much work it means to get to 4.x and how much better things will be once we’re there.
  • Plan B: fork our current codebase and continue to add our own features on top of it. This is essentially what we’re doing today, and it’s not exactly ideal since we end up doing work in parallel with TikiWiki, and we’re wasting precious resources.
  • Plan C: migrade our content to another CMS, e.g. Drupal. By far the most costly effort in the short term, and not clear whether the benefits outweighs the investment cost.

Now that Marc and I have the opportunity to spend two full days working face to face, I’m hopeful that we can not only pick Plan A, but come up with a solid plan for the first few steps to make the plan a reality.

If you’re part of the SUMO or TikiWiki community, I would love to hear what you think and if you think there are things we should focus on discussing!

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.