Tag Archives: Linux

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!

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?

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.