February 17, 2012
Robert O'Callahan -- Upcoming Travel
Our whole family is going to Europe soon. We're planning to leave Tuesday night (Feb 21) and return March 17. I will be mostly not working, and mostly offline, but expect to be checking email regularly and able to respond to some review requests and the occasional crisis. I'm planning to visit the new Mozilla London office on Tuesday February 28 and the Paris office on March 9 so I should get some work done on those days.
February 17, 2012 01:55 AM
February 14, 2012
Asa Dotzler -- LibreOffice, Really?! Really?!
I read an article on the Web somewhere that there was a new LibreOffice version. It's been several years since I gave OpenOffice a try and I've been interested to see what OpenOffice had evolved into, so I thought, "Hey, maybe they've improved some. I'll install it and see." Here is what happened.
I visited LibreOffice.org and, nice! -- a big green download button.
![[image]](http://mowser.com/img?url=http%3A%2F%2Fnew.tinygrab.com%2Fa048938ebed41f9f9f55d42f74b836ba8e9c0fa0f8.png)
The big green download button has been well tested and is widely recognized so we're off to a good start.
I clicked the big green button expecting a download to start. I was disappointed. Instead of triggering a download, I'm dumped on one of the worst download pages I've ever encountered, a page titled LibreOffice Productivity Suite Download » LibreOffice which looks like this.
![[image]](http://mowser.com/img?url=http%3A%2F%2Fnew.tinygrab.com%2Fa048938ebe5498ca0f4366b86a6d94fee201d7f8bf.png)
After clicking the thing that looked like a link right under the big Download label about three times,
![[image]](http://mowser.com/img?url=http%3A%2F%2Fnew.tinygrab.com%2Fa048938ebe3e51291cc39a6ca4de3ba60f5924ee6b.png)
I realized that was not a link at all, just cleverly designed to impersonate a link and piss me off. I scanned down the page looking for another big green download button. No such luck. Scanning further down the page I see some additional potentially fake links but these ones have some file size information attached so maybe they're what I'm looking for.
![[image]](http://mowser.com/img?url=http%3A%2F%2Fnew.tinygrab.com%2Fa048938ebefc09066186f1fe88cce0fa1f99c415c1.png)
But WTF, there are 4 of them. Which one do I want and what's the difference between the "I" version and the "checkmark" version. Maybe the first one is documentation -- an "I" for information? The second one has a green checkmark and that's sort of like a green download button. Let me mouse over it and see if it gives me more information in a tooltip or something. Nope, nothing. OK, I'll click it and see what happens. Nothing.
So now I'm annoyed and I go back up to the top of the page and start reading the actual content. I just wanted to download LibreOffice, but if I must read a page of documentation before I'm allowed to do that, so be it. OK. Now I see, the "I" icon is just stupid, and meaningless. Actually, it's worse than that, it's misleading. It is supposed to signal that this is the newest version of LibreOffice while the "checkmark" icon is the previous version of LibreOffice. What the icons are supposed to add to the experience, I have no idea, but having read the text, I now understand that I want to go back down the page and find the "I" icon version of the download.
No problem. Or, so I thought. WTH! Which of the two links do I want?
![[image]](http://mowser.com/img?url=http%3A%2F%2Fnew.tinygrab.com%2Fa048938ebe98489c7acc4e38cbc8b1f81dd99ee787.png)
I've been around software for a while, so even though the amazing people at LibreOffice didn't bother to label these downloads in any meaningful way, I think if I read their crazy filenames I might decipher what I need to know here here. The first one says LibO 3.5.0 Win x86 install multi.msi. "LibO". OK, that's problem some project shorthand for LibreOffice. "3.5.0". That sounds like the version I remember reading about in the article that kicked this whole thing off. "Win". I'm on Windows, that's probably a good sign. "x86". I guess so. "install" hey, now we're getting somewhere. "multi.msi". Hrm. What does multi mean. Is this one part of several? Could that be what the second link is about? Or is that because it's going to install multiple programs? OpenOffice was certainly a group of separate programs. And then the "msi" bit. I know that's for corporate deployments or something so I hope I don't need some kind of enterprise software manager to make it go. I'm gonna just go ahead and assume that's like an .exe and it'll just work.
But what's this other file. "LibO 3.5.0 Win x86 helppack en-US.msi". Do I need "helppack"? Is that just help documentation? Is it a "helper" pack with additional features? Why is it a separate download instead of an option in the primary download. Well, I'll go ahead and download it and if I need it later I'll have it on disk ready to install.
So, downloading .... downloading .... Is 200MB really necessary? I suppose there's a lot in there. I really only want the Word and Excel equivalents. Maybe they could have offered a small download that let me pick components and then only fetch the ones I need? OK. Download complete. Let's see what the installer looks like. (Nice, it tells me in at least three places that what I'm seeing is the Installation Wizard -- just in case that wasn't obvious.)
![[image]](http://mowser.com/img?url=http%3A%2F%2Fnew.tinygrab.com%2Fa048938ebed542f070ab26b255b267ed1c758fbfd0.png)
Interesting. So I'm installing something called "The Document Foundation"? What is "The Document Foundation"? Oh, I see. A quick look back at the website makes things clear. The company name is "LibreOffice" and the product name is "The Document Foundation".
![[image]](http://mowser.com/img?url=http%3A%2F%2Fnew.tinygrab.com%2Fa048938ebe9a74ff9e2c3aacbca195777dff165f02.png)
OK. "Next". "Next". "Next" and I'm installing! But now I realize that I am indeed installing LibreOffice 3.5, not The Document Foundation. I know this because the installer panel is helpfully telling me in at least 4 different places.
![[image]](http://mowser.com/img?url=http%3A%2F%2Fnew.tinygrab.com%2Fa048938ebe30cf5d5cba3468db8525ebf49c76c85b.png)
Installed! I finished the installer.... Hmmm .... Nothing's happening. Did it fail? Do I have to launch it? I'll try that. I'll just go to the Start Menu...
![[image]](http://mowser.com/img?url=http%3A%2F%2Fnew.tinygrab.com%2Fa048938ebe29484dfc30ddb75a2295e7777a6b7421.png)
Uhh. What's "Base"? Is that the shared shell thing that Office has where you can pick which kind of document you want to create? Or is that some kind of shared library? What I'm really looking for are the Word or Excel equivalents. Lemme check "All Programs" in the Start menu and see what's there. Ahh, there's the program group. Great.
![[image]](http://mowser.com/img?url=http%3A%2F%2Fnew.tinygrab.com%2Fa048938ebef443379f25212d97b978ee1c773691c9.png)
There's that "Base" again. Ahh. Yes. The last two look promising. Writer is probably the Word equivalent. What's the generic "LibreOffice" item at the end there. Could that be the... Nevermind. I'll play it safe and start up Writer.
![[image]](http://mowser.com/img?url=http%3A%2F%2Fnew.tinygrab.com%2Fa048938ebe3d3445643e0c30c608de6e27c8b33aa2.png)
ARGH!!!!
No. I won't. Eff you, LibreOffice. Seriously. After all this, you're going to tell me I need to locate and install (on my own) some other piece of Java software because you couldn't bother make it a part of your already awful download and install process. Are you kidding me?
Maybe I'll wait a few years more and try again. Probably not.
February 14, 2012 09:40 PM
February 13, 2012
Asa Dotzler -- Firefox in 2012
I've updated the Firefox strategy and roadmap document with our plans for the Firefox Desktop in 2012. It's going to be an amazing year with lots of exciting projects and products from Mozilla.
I've been with the Mozilla project for almost 14 years and I say with confidence that if we exit 2012 having executed on this plan, Firefox and the other major Mozilla initiatives will have have more impact than in any prior year of the Mozilla project.
If you're new to the project, take a look at the work ahead of us and if it interests you, let me or any of the other product leads know and we'll help you plug in. If you're a long-time contributor, I encourage you to keep these goals in the front of your mind and your work queue.
2012 is going to be a critical year for Mozilla and for the Open Web. Execution matters more than ever and there's no team I'd rather be working with than Mozilla's global community of contributors.
February 13, 2012 04:26 AM
February 12, 2012
Robert O'Callahan -- Foo Camp, ECOOP, And Conferences
I've just attended another marvelous Foo Camp in Warkworth. As always, it was a great opportunity to meet people doing interesting things who are mostly in New Zealand. One interesting attendee this year was Dave Dobbyn, who I didn't get to talk to, but I was very pleased to hear him introduce himself as "follower of Jesus".
I do feel a bit drained after each Foo Camp. It's not so much the late nights, but the effort required to talk to people I don't know very well. Wandering around trying to figure out who might want to talk to me or which conversation group I should try to break into, I feel socially inept. This is all fine, since talking to people who are doing strange but cool things I know nothing about is one of the best things about Foo. I do, however, find other conferences easier --- conferences that are related to Mozilla, or academic computer science conferences where I can expect almost everyone to share my interests.
Speaking of computer science conferences, I've just finished reviewing my share of the papers for ECOOP 2012 --- I'm on the program committee. It was quite a lot of work but it has been very interesting. It's encouraging to see how much research attention is being given to Javascript and browser-related problems nowadays.
Just recently, the PLDI 2012 accepted papers list came out. I was very pleased to see that Brian Hackett's paper on his Javascript type inference infrastructure was accepted. It's great to see cutting-edge technology actually shipping in browsers being recognized by the academic community.
I'm also glad to see "Race Detection for Web Applications" was accepted. For a long time it's been obvious that Web applications make unwarranted assumptions about DOM events firing in a particular order, and when those assumptions are violated you often get nasty nondeterministic bugs. This is the cause of a lot of the "random orange" test failures we see on the Mozilla test farm. For a while I've thought it might be possible to adapt well-known techniques for dynamic data race detection in multithreaded programs (where I did research, once upon a time) to find these bugs in single-threaded, but nondeterministically event-driven, Web applications --- and nagged researchers to look into it. Now Manu, Julian, Martin and Boris have looked into it and have shown that this can work. I hope I can take credit for suggesting the problem to Manu; however, an under-appreciated fact of CS research is that good ideas are a dime a dozen and the hard work is all in problem selection, implementation and evaluation. So congratulations to Manu et al. for breaking new ground and hopefully kicking off something that will result in more robust Web applications and less "random orange"!
To put the icing on the cake, I am very lucky to have been invited to give a keynote at ISMM 2012. It's in Beijing in June, colocated with PLDI and ECOOP over a whole week! I'm really looking forward to attending these conferences and catching up my former (and some current) colleagues, and actually seeing the presentations of the above papers.
February 12, 2012 07:56 AM
February 09, 2012
Robert O'Callahan -- Alternatives To Supporting -webkit Prefixes In Other Engines
Since news spread that the non-Webkit browser vendors are moving towards supporting some -webkit-prefixed properties, lots of people are pushing back with alternative suggestions, for example Daniel Glazman. Many of these are good suggestions, but here's why they won't work for the properties like transitions, animations, and transforms already in wide use:
This approach has a big downside, too: it can severely limit the usefulness of prefixes in the first place. As soon as one browser implements a feature with given syntax, Web content can start assuming all other browsers use the same syntax and semantics, which forces those browsers to behave exactly as if the feature had been deployed unprefixed in the first place --- especially when Web developers include the unprefixed syntax as a "fallback" in case prefixed support is removed. Even if we could succeed at the evangelism, with this approach we might as well have not used prefixes in the first place.
Teach Web developers not to rely on vendor prefixes by dropping support for them once standard versions exist. Webkit people have already said they won't do this. Furthermore, it encourages Web developers to go the "all prefixes plus standard name" route for everything they do, which makes prefixes pointless, as explained above. Doesn't help with deployed content anyway. Ignore the problem and hope that it goes away without us having to do anything distasteful. Um.Some of the suggestions for things we could do in the future are good, like disabling experimental features in browser releases, but they won't help us out of the current situation. Maybe I'll discuss them in another post.
Note that trying alternatives that end up failing will have a huge cost to the open Web: it will delay the onset of a multi-vendor mobile Web, which is critically needed for the open Web to survive. I hate having to support -webkit prefixes, but "desperate evangelism while the problem gets worse, followed by supporting -webkit prefixes" would be even worse.
Meanwhile, to the people who think the solution is for Mozilla and others to just "work harder" at evangelism, or implementation, or standards work --- I cast aspersions in your direction. You have no idea how hard we work. I personally have never worked harder in my life, and I know that's true for many other Mozilla people. We hire more people, but the workload increases even faster. Meanwhile, Apple won't even hire a single full-time standards editor to help their proposed CSS properties reach standardization, which is a large part of what got us into this mess in the first place.
February 09, 2012 09:03 PM
February 04, 2012
Asa Dotzler -- John Battelle: What Commons Do We Wish For
John Battelle has a very thoughtful and thought provoking article on the future of the Web that outlines a plan for ensuring that the Internet continues to be a commons and that it not devolve into a collection of walled gardens.
At Mozilla, we're working to build that "open" and "independent" Web platform and commons. We have a lot more to do to make the open Web the first choice for users and application developers -- especially for the mobile environment, but I have no doubt that we can do it and I believe we can do it *this year*.
![[image]](http://mowser.com/img?url=http%3A%2F%2Ffarm3.staticflickr.com%2F2312%2F2430827066_90bd16fbe5_z.jpg)
Photo by Flickr user I dream of Nici, used under a creative commons license
Mozilla will be publishing a series of 2012 strategy and roadmap documents in the next few days that will describe how we get from where we are now to an experience for users and developers that can rival and in many cases beat, the walled gardens and proprietary mobile platforms. Stay tuned.
February 04, 2012 06:52 PM
Bing and WebM
I know this isn't news, but it makes me happy every time I see it (Yes, I'm a web geek.) Those of you who use Bing or have looked at it more than once know that they put beautiful background images on their search page. Those images have little highlighted nodes with information and trivia about the image. But every once in a while Bing puts a video background in, like they did a few days ago with this one:
Sorry, your browser doesn't support embedded videos. Try Firefox
And what I love about that is that they serve WebM video to Firefox. A few years ago, this would have been Flash and today it's an open format that I can easily hotlink right here in my blog :D (You can click the video to view it full-sized.)
February 04, 2012 06:18 PM
February 02, 2012
Robert O'Callahan -- The Problem With Counting Browser Features
css3test.com is doing the rounds. I get almost exactly the same results in Firefox trunk and Chrome Nightly (64% vs 63%). This gives me a chance to explain why this sort of testing tends to be bad for the Web, without sounding whiny and bitter :-).
The root of the problem is very simple, and explained right at the top of the page:
Thanks for the disclaimer, but it doesn't eliminate the problem. The problem is that whenever someone counts the number of features supported by a browser and reports that as a nice easy-to-read score, without doing much testing of how well the features work, they encourage browser developers to increase their score by shipping some kind of support for each tested feature. Because we have limited resources, that effectively discourages fixing bugs in existing features and making sure that new features are thoroughly specced, implemented and tested. I think this is bad for Web developers and bad for the Web itself.
If Web authors reward Web browsers for superficial but broken support for features, that's what they'll get.
Instead, I would like to see broad and deep test suites that really test the functionality of features, and people comparing the results of those test suites across browsers. Microsoft does this, but of course they tend to only publish tests that IE passes. We need test suites with lots of tests from multiple vendors, and Web authors too. (Why haven't cross-browser test results for the official W3C CSS 2.1 test suite been widely published?)
I don't want to come across as harsh on css3test.com. The site is lovely, it has that disclaimer, and it goes a lot further than, say, html5test.com in terms of testing the depth of support for a feature. So it actually represents good progress :-).
February 02, 2012 10:18 PM
Asa Dotzler -- Windows Phone 8
Hot on the heels of rumors of a Windows Phone NDK comes this nugget from The Verge
I mentioned in an earlier post that I thought we'd start to see this kind of convergence that was more than the skin deep (Metro Style) bits we've seen so far. I hope it continues.
Why all the interest in Windows Phone you ask? Well, I'm hoping that Microsoft can pull off the pivot they're entering with an entirely new and fresh version of Windows. This is the biggest experience overhaul since Windows 95, in my opinion, and I want it to be successful because I don't want to look up in a few years and see that the only two viable operating systems are a locked down iOS and Android. I also think Metro is the most compelling new computer experience to arrive since Mac OS X and that kind of innovation isn't rewarded often enough in this industry.
update: And I was right, it seems, in speculating that Windows Phone would adopt the NT kernel. Paul Thurrot has more.
February 02, 2012 08:49 PM
Surprisingly Candid
From Danny Sullivan at Marketing Land comes news of a surprisingly candid Microsoft explanation of why services on the Web give you things for free.
But, the way they're doing it is making it harder for you to maintain control of your personal information. Why are they so interested in doing this that they would risk this kind of backlash? One logical reason: Every data point they collect and connect to you increases how valuable you are to an advertiser.
To be clear, there's nothing inherently wrong with wanting to improve the quality of an advertising product. But, that effort needs to be balanced with continuing to meet the needs and interests of users. Every business finds its own balance and attracts users who share those priorities. Google's new changes have upset that balance, with users' priorities being de-prioritized. Thats why people are concerned and looking for alternatives.
If these changes rub you the wrong way, please consider using our portfolio of award-winning products and services....
Google likes to say that alternatives are just a click away but that's not really true. It takes a while to extricate yourself from Google's services and to learn and train new services. I took me a while to get used to Bing but once I learned how to talk to Bing (think about it, you've been learning what Google search wants to hear for years) I started getting really good results. I never used Gmail for anything but a throw-away account but I'm still stuck using their office apps because my colleagues do. Anyway, my plan was never to become invisible to Google, just to try to keep them from knowing everything about me. They still surveil me with their ad networks and their analytics probes and their various youtube and maps embeds and whatnot, but connecting that web-wide surveillance up to my daily interests is now a bit harder for them because I've distributed myself across several service providers instead of just one.
February 02, 2012 01:33 AM
February 01, 2012
Postbox Team -- WiseStamp Add-On for Postbox
We’re excited to announce a new Add-On for Postbox: WiseStamp.
WiseStamp transforms email signatures into powerful self-expression and promotional tools. You can choose from a variety of productive and social Email Apps that adds dynamic content to each outgoing email, such as your latest eBay item, Twitter and Facebook status, recent blog post, or important cause to promote.

WiseStamp was declared best Social Media Gadget 2009 in Mashable’s Open Web Awards. Since its launch, over a quarter of a billion emails have been sent using WiseStamp.
Download WiseStamp today, and be sure to check out the other great Add-Ons available for Postbox!
February 01, 2012 07:00 AM
January 29, 2012
Robert O'Callahan -- Mozilla Tree Adventures
Last week we had a few overseas Mozillians stop by the office on their way back from linux.conf.au. We took the opportunity to hold our annual Mozilla Auckland outdoors event, which for only the second time ever did not involve volcanoes. Instead we went to Tree Adventures out in Woodhill Forest. Basically you strap on safety gear, climb ladders into the trees (up to 14 metres above the ground) and conquer a variety of obstacle courses on wires from tree to tree. Flying foxes are also involved. It's tons of fun, unless you have a fear of heights as I do, in which case it's tons of fun mixed with just as much sheer terror. I was glad to be able to overcome my instincts and keep going; that sort of mental discipline is worth practising. I just hope none of my colleagues noticed me whimpering.
We followed up with a nice lunch at Hallertau.
![Mozilllians in the trees [image]](http://mowser.com/img?url=http%3A%2F%2Fwww.ocallahan.org%2Fblog%2Ftree-adventures.jpg)
![Edwin, fairly high off the ground [image]](http://mowser.com/img?url=http%3A%2F%2Fwww.ocallahan.org%2Fblog%2Fhigh-tree.jpg)
January 29, 2012 03:40 AM
January 27, 2012
Asa Dotzler -- End of Firefox Support for Windows 2000
For a number of years we've held off on updating our Windows toolchain to a newer version of Visual Studio, and in so doing preserved support for Windows 2000 and Windows XP RTM and SP1. Firefox developers and the 99.6% of our Windows users have paid a price for this support, though. Our developers have not been able to take advantage of new compiler features and have had to struggle to keep valuable optimizations from breaking -- including having had to back out and ultimately delay some important new features like SPDY. Our users have have suffered a slower Firefox than would be possible as both direct and indirect results of moving to a more modern compiler.
So this week, after a few months of discussion and evaluation of the latest Firefox user numbers and the pros and cons of moving our tools forward, I've called for Mozilla to begin the process for ending support on those older Windows version. Next Tuesday or Wednesday, after Firefox 12 moves to Aurora, the Mozilla Release Engineering team will begin upgrading our Windows build systems to Visual Studio 2010. With VS2010, we will no longer be able to build a Firefox that runs on Windows 2000, Windows XP RTM, and Windows Service Pack 1.
It's always a difficult decision to leave some users behind. The number of Firefox users on those OS versions -- less than one half of one percent of our Windows Firefox users, and the benefits to our development process and the hundreds of millions of Firefox users on XP SP2 and above, however, compel us to look forward rather than back.
If you are a Windows 2000 user, Firefox 12, which will be supported until June 5th, will be the final supported Firefox release. After that, your options are limited. Switching to Opera is probably the best path forward.
If you're a Windows XP user still on RTM or Service Pack 1, I strongly urge you to install the free Windows Service Pack updates.
And finally, for Enterprises adopting the ESR, these older Windows versions will be supported for the length of the first ESR of Firefox. That works out to an extra 6 months or so before these Windows versions become unsupported.
January 27, 2012 11:20 PM
January 24, 2012
Asa Dotzler -- Firefox in 2012
The first public version of the browser called "Firefox" -- a 0.8 release, came out 8 years ago. With that release and the 1.0 release later that same year, we showed the world that browsers mattered.
Innovative new features like tabbed browsing, pop-up blocking, spell-checking, integrated search, and browser add-ons, re-invigorated not just the browser market, but the entire Web. We put users in control of that mess of windows, and the horrible pop-ups from advertisers and malware makers. We made it simple for users to customize their experience and to find what they were looking for without jumping through a bunch of hoops.
In addition to those awesome new user-facing features, Firefox delivered great performance, stability, compatibility, and security at a time when Internet Explorer was falling down on most of those fronts. It wasn't enough to offer great user features, the integrity and quality of the product had to be top notch and it was.
Today, there are more compelling browser choices than ever before and all of the major browser vendors are delivering high-quality products with innovative new features, even Microsoft :-) This is good for users and good for the Web.
But browsers are not all the same. Each of the major vendors, Microsoft, Google, Apple, and Mozilla are building Web browsers for very different reasons. They may resemble each other on the surface, but everything from the features they offer to users and to Web developers, to the myriad of user interface design considerations, to the distribution models, exist to serve very different interests.
Only Mozilla, a non-profit organization, produces a Web browser designed, first and foremost, to put users in control of their online experience.
The desktop browser is not the only part of the Web that impacts user control, security, and privacy, though, so in 2012 Mozilla is expanding its efforts and will be delivering a new standards-based Web Apps ecosystem, a user-centric identity system for the Web, and a cross-device strategy built around user empowerment.
Desktop Firefox in 2012 is going to do again what we did in 2004. We're going to deliver innovative features that put users in control. And we're going to give users the speed, stability, and compatibility that the modern Web demands. We're going further this year, though. We're going to help launch powerful new Mozilla products like Apps, Identity, and mobile.
There are a lot of pieces that will have to come together to make that vision a reality and in the coming days I'll be sharing more specifics here and in the Mozilla wiki. Stay tuned.
January 24, 2012 05:30 PM
January 23, 2012
Asa Dotzler -- Personal Data is the Currency
That's from EU Commissioner Viviane Reding, speaking at the DLD Conference in Munich.
I think the final sentence there takes an optimistic view on users' understanding of the issue, but I hope that we can build a Web where something like that will be obviously true to everyone.
Ms. Reding's proposal for new regulations on that front has three main components.
Second, whenever users give their agreement to the processing of their data, it has to be meaningful. In short, people's consent needs to be specific and given explicitly.
Thirdly, the reform will give individuals better control over their own data. I will include easier access to one's own data in the new rules. People must be able to easily take their data to another provider or have it deleted if they no longer want it to be used.
But it's the third part that I think is really novel and important. Users have a right to be forgotten. I should be able to pull my data back out of a system, and not only the data I actively submitted, but any additional data that's been collected as a result of my use of the system. For example, Google lets me kill my Docs account and pull that content, but they don't let me see, much less manage, the targeted advertising profile of me that they build based on my "use" of Google services like AdSense, DoubleClick, Analytics, and the various other Google surveillance tools I happen across when I'm surfing the Web.
How user data is managed is going to be one of the next big challenges we face on the Web. Europe may set the pace but it's up to all of us to be a part of any solutions.
January 23, 2012 06:18 PM
January 20, 2012
Asa Dotzler -- Join Us
Tim Taubert recently posted on how he got involved with Mozilla. I intend to post about my experience at some point in the not too distant future but for now I wanted to highlight something from Tim's post:
January 20, 2012 02:45 AM
Are You Building Add-ons That Include C++?
Are you an add-on author that uses C++ in your add-on(s)? If so, can you take a look over this discussion and comment there if you think it would help you maintain your add-on(s)? We're trying to balance moving as quickly as we can to improve Firefox and Gecko with maintaining add-on and Web compatibility and this approach looks somewhat promising for at least some add-on authors. Please post comments to that thread and not here. Thanks.
January 20, 2012 02:24 AM
January 18, 2012
Asa Dotzler -- Protesting PIPA and SOPA
Today, Mozilla will be taking part in a protest the U.S. SOPA and PIPA legislation. You can read more about this from:
Mozilla's Chairman, Mitchell Baker
Mozilla's CEO, Gary Kovacs
Mozilla's Privacy and Public Policy Lead, Alex Fowler
Our sites will go black and offer information and links to help folks understand this issue. In addition to www.mozilla.org and www.mozilla.com, hundreds of millions of Firefox users will see a blacked out Firefox Start page with a small note under the big search box pointing to more information.
(Note: All users will still be able to receive security updates and access our technical support website.)
January 18, 2012 09:05 AM
Robert O'Callahan -- You Know You're In Australia When...
... you take a short walk after dinner and encounter a tribe of kangaroos.
![Nine kangaroos in a field [image]](http://mowser.com/img?url=http%3A%2F%2Fwww.ocallahan.org%2Fblog%2FKangaroos.jpeg)
January 18, 2012 12:46 AM
January 17, 2012
Robert O'Callahan -- MediaStreams Processing Demos
I'm at linux.conf.au at the moment (until Wednesday) and yesterday I attended the browsers miniconf. It went well, better than I expected. I had a slot to talk about the MediaStreams Processing API proposal to enable advanced audio effects (and much more!) in browsers, which has been my main project for the last several months (see my earlier post here. I worked frantically up to last minute to create demos of some of the most interesting features of the API, and get my implementation into a state where it can run the demos. By the grace of God I was successful :-). Even more graciously, the audio in the conference room worked and even played my stereo effects properly!
I have made available experimental Windows and Mac Firefox builds with most of the MediaStreams Processing API supported. (But the Mac builds are completely untested!) The demos are here. Please try them out! I hope people view the source, modify the demos and play with the API to see what can be done. Comments on the API should go to me or to the W3C Audio Working Group.
I must apologise for the uninspired visual design and extraordinarily naive audio processing algorithms. Audio professionals who view the source of my worker code will just laugh --- and hopefully be inspired to write better replacements :-). Making that easy for anyone to do is one of my goals.
Some of the things I like about this API:
Most of the features in the proposed spec are implemented. Notable limitations:
Update Updated the build links to point to new builds with improved performance (faster JS execution in workers due to type inference being turned on; fewer control loop wakeups due to more intelligent buffering decisions for ProcessedMediaStreams).
January 17, 2012 12:01 AM
January 16, 2012
Asa Dotzler -- Microsoft Still Has a Monopoly with Windows
In his most recent column, Ed Bott said something, mostly unrelated to the rest of the rant, that got me thinking. He said, "In the general-purpose PC segment, where small vestiges of Microsoft's one-time monopoly still exist..."
What I think he's trying to say here is that Microsoft doesn't really have monopoly market power any more in PC operating systems. Or maybe Ed thinks it's possible to have a tiny little bit -- "small vestiges," of monopoly market power. That doesn't really make any sense to me. It's kind of like saying someone is "a little bit pregnant." You either have monopoly market power or you don't.
Here's what I think.
Microsoft absolutely does still possess monopoly market power for PC operating systems.
Microsoft Windows has somewhere between 90% and 92% of the worldwide PC installed base and Windows PC sales accounted for somewhere between 93% and 95% of total PC sales in 2011. (Mac sales were about 4.75% of total PC sales in 2011 -- 16.73 million Macs out of a total of 352.4 million PC shipments)
Microsoft Windows is just as much the overwhelming dominant PC operating system power today as it was back in 1999 when it was declared a monopoly.
"Yeah. Sure. But what about the rise of the smartphone and the tablet?" I hear you saying. Well, those are not PC operating systems. Those belong to different and fairly competitive markets. PC operating systems installed base and current sales market share are still very much dominated by Microsoft.
January 16, 2012 09:45 PM
January 14, 2012
Asa Dotzler -- User Sovereignty
Mitchell Baker has just posted about a very important issue, user sovereignty over our data. Please go give her post a read.
User Sovereignty for our Data
January 14, 2012 03:01 AM
January 10, 2012
Robert O'Callahan -- "Cut The Rope" and HTML5 Audio
Microsoft released an HTML5 version of Cut The Rope which is pretty cool. Unfortunately they use Flash audio by default for Firefox users because, they say, "some Firefox users could have run into an audio problem but will notice we fall back to a flash plugin to ensure that sound effects and music will work." They don't mention specific Firefox bugs (although they do for Chrome), and when I try the HTML5 audio version it works fine for me. So, please try the HTML5 version in Firefox (release or nightly), and if it doesn't work let me know and file bugs! Thanks!
January 10, 2012 08:19 PM
January 08, 2012
Asa Dotzler -- Where are the Firefox Channels Today?
Firefox releases keep on coming. We just shipped Firefox 9 with the killer-fast JavaScript Type Inference work and Firefox 10, with add-ons defaulting to compatible is just around the corner.
Firefox 11, which is in Aurora today, makes an awesome leap forward in developer tools. If you're a Web dev, you really should be checking those out. Firefox 12, currently on the Nightly channel, has killed the Windows UAC dialog, so there's one less annoyance on updating.
January 08, 2012 07:03 PM
January 07, 2012
Robert O'Callahan -- Risk Tolerance
John McGlashan principal Michael Corkery said: "He was doing what every kid should be doing, playing with his friends in a river."
Everybody had done everything right, but Dion still died.
"It was just a tragedy, and tragedies happen. Life sometimes deals out bad luck but we have to get on with it. We'll never forget him."
Too often, people respond to a child's tragic death by setting up a pressure group, foundation or new law to Make Sure This Never Happens Again.
January 07, 2012 04:21 AM
December 28, 2011
Asa Dotzler -- What's Next for Windows Phone
After a leaked Windows Phone roadmap, there are a few blogs speculating about what a Windows "Superphone" means and whether or not it's necessary.
Here's my take. I think Microsoft wants to unify their operating systems.
Windows Phone was the first "Metro" experience, but it runs on an old CE kernel and the stack above that is Silverlight (and XNA). Metro is huge. It's the first really new user interface Microsoft's shipped since Windows 95. Metro makes classic Windows and even iPhone and Android feel ancient -- the same old square icons on a desktop we've all been using for the last several decades.
Windows 8 brings Metro to the desktop, laptop, and tablet world. This world, though, is built on the NT kernel, with the WinRT API above that. Sure, you can build Silverlight-like apps in Windows 8 Metro, it might even be trivial to port your WP app to Windows 8 Metro, but you can't easily go the other way.
So, what can Microsoft do about this? Well, it's easy, move Windows Phone onto the NT kernel, and carry over the bulk of the WinRT API. This would make developing your Windows app for any form factor, from desktops to phones, a very easy task. Throw in some nice Visual Studio and Blend templates for re-shaping your app to fit the various form factors, and you've got something really compelling.
The problem with that? Well, today's Windows Phone hardware probably isn't sufficient to drive an NT+WinRT OS. Enter "Superphones."
Superphones, I'm guessing, are the first generation of Windows Phone that run on the NT kernel and support the WinRT (or at least enough of it for most apps.) Note the Apollo release timing is not far from the expected Windows 8 release. Put that together with the recent news that the Windows Phone chief was put in charge of a "a new role working for me on a time-critical opportunity focused on driving maximum impact in 2012 with Windows Phone and Windows 8", and there might be something to this.
So, what do you all think. Am I crazy? Would "same API" across all devices be a worthy Microsoft goal? An achievable one? And what about X-box? Could Microsoft pull off the hat-trick, and unify all of their major platforms under a Metro front end? No doubt that's a tall order, and there are three CPU architectures to deal with. But Microsoft is a big and wealthy company.
December 28, 2011 08:57 PM
December 27, 2011
Robert O'Callahan -- A Case For Non-Fatal Assertions
Jeff Walden is doing awesome work on the foundations of Gecko to unify the lowest-level infrastructure used by JS and the rest of Gecko and to rebase it on modern C/C++ standards. But there is a controversy about whether non-fatal assertions should be part of that infrastructure. This issue came up before, not long ago.
I strongly believe that non-fatal assertions are valuable when used to report the presence of a bug that is not as severe as a browser crash. An example I just pulled out of nsBlockFrame::Reflow:
ReflowBullet(state, metrics, lineTop);
NS_ASSERTION(!BulletIsEmpty() || metrics.height == 0,
"empty bullet took up space");
If this assertion fails, then we have detected a Gecko bug which should be reported and eventually fixed. If the assertion failure is a regression, and we detect it in time, we will try very hard to fix it before the patch ships in a browser release. (If the regression is triggered by our layout reftest test suite, we will almost certainly detect it on checkin since reftests go orange on new non-fatal assertion failures.) However, if this assertion failure is the only thing that goes wrong, there will almost certainly be no ill-effects beyond the page having a slightly incorrect layout --- maybe. Some pages might trigger the assertion but appear to render correctly. Even if the bug causes a detectable test failure, the assertion helps to narrow down the cause and understand the code.
Using a fatal assertion here would have the same benefits but additional costs. A test run hitting the assertion would abort the suite, meaning we lose the results for the rest of the tests in the suite. This makes fixing test failures slower and more painful than necessary since more runs of the suite will often be required. (It's similar to a compiler always aborting after the first syntax error in a compilation unit.) Another cost is that if you are using a debug build for some reason and you hit this bug while trying to work on something else, your work will be unnecessarily blocked.
At this point some will say "Ah! But assertion failures should always just be fixed. Since non-fatal assertions are more ignorable, they encourage you to leave bugs unfixed."
That statement ignores the reality of bug priorities. An assertion failure is just a bug and needs to be prioritized along with other bugs. If our assertion infrastructure and associated project rules forced us to always prioritize some rare list bullet spacing bug above all bugs that don't trigger assertions, then that infrastructure would be actively damaging our project. We would have to respond by simply removing a lot of our assertions and losing their benefits. It is crucial to be able to ignore unimportant bugs.
Having said all that, fatal assertions certainly have their place. I imagine that in the JS engine almost any bug will lead to a crash sooner or later, so it makes sense for fatal assertions to prevail there because the downside is minimal; you were going to crash anyway, and crashing later might just be confusing.
Addendum: an objection to non-fatal assertions is that libc "assert" and some other assertion mechanisms are fatal, so to call something non-fatal an "assertion" is confusing. That may be true for some people, but it's cultural. The culture in Gecko is that NS_ASSERTION is non-fatal. Maybe renaming our non-fatal assertion mechanism would end up being a net win by some point in the future, but I'm dubious. Although I wouldn't actually mind too much; I just want non-fatal assertions, whatever we call them.
December 27, 2011 11:50 PM
Asa Dotzler -- A Simple Google News Search
I keep an eye on Google News results for "firefox". Today I noticed that the URL for that search was crazy long.
tbas=0
source=lnt
sa=X
ei=fwP6TprKDcariALLtpiTDQ
ved=0CCAQpwUoAQ
bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb
fp=2758f09f54f048c8
biw=1366
bih=664
December 27, 2011 05:52 PM
Robert O'Callahan -- Revelation
Saw this Penn Jillette quote:
Well, yeah. Christianity (and some other major religions) unabashedly depend on revelation, the idea that God is so transcendent that humans can't figure out much about him on their own, so he has to tell us. And most of that telling doesn't come to us individually, it has to be passed on to us. Annihilate the revelation and we're in the dark again. So ignoring the pejorative language, and apart from the first sentence, there isn't much for a Christian to disagree with in that quote.
December 27, 2011 06:16 AM
December 26, 2011
Asa Dotzler -- Twitter & Facebook Fail, Google Gets It Right
It's 2011 and the Web is a really powerful platform. JS/HTML/CSS menus are all across the Web. Why is it that we still have such basic usability failings from some of the biggest players in the business. Is it really that hard to recognize that your menu is going to be cut off and flip it the other direction like any other sane app in the world?
Here's a Facebook menu just dumbly cropped by the edge of the Window.
![[image]](http://mowser.com/img?url=http%3A%2F%2Ffarm8.staticflickr.com%2F7016%2F6576980367_f5535cecf5_o.jpg)
And here's a Twitter menu demonstrating the same idiocy.
![[image]](http://mowser.com/img?url=http%3A%2F%2Ffarm8.staticflickr.com%2F7034%2F6576980447_b72f0294c1_o.jpg)
Now, here's Google getting it right.
![[image]](http://mowser.com/img?url=http%3A%2F%2Ffarm8.staticflickr.com%2F7141%2F6576980519_3267bb9a43_o.jpg)
Because the menu would have been clipped by the edge of the window, Google flipped it up the other direction. They're actually even better than that, though. They first try to shift it up a bit to get it onscreen. If that doesn't work, they flip the direction.
This is basic stuff, people. It's clearly possible and Google gets it mostly right to prove that. Why are you still falling down on these kinds of basics?
December 26, 2011 08:14 PM
Last updated: February 18, 2012 02:00 PM

