Archive for the ‘Mozilla’ Category

Firefox Deletes Printers

The Daily WTF has a great post on Firefox Deleting Printers. Be aware of that bug. I checked bugzilla, and don’t think it’s been fixed for Firefox 3.

Note: For those who aren’t familiar with The Daily WTF, it’s not a real bug, just a fool who thinks it’s there.

Firefox 3 Field Guide

Deb Richardson has a really sweet guide on what’s new in Firefox 3. If you don’t already know, you should go read that now.

Coming Soon: Firefox 3.0

Tuesday June 17 2008 on a computer near you: Firefox 3.0 Final.

This browser is not yet rated for awesomeness.

If you haven’t done so now, pledge to help set a world record.

Firefox Crash

Firefox Crash

[Via: icanhascheezburger.com]

WWDC 2008 Analysis

iPhone 3G

The Presentation

As usual I keep tabs on all the major Apple events using pretty much all the top tech sites that run “live blogs” and the like. This year none failed completely though I think they all were overcome with traffic at one point resulting in a failed load attempt. Not bad. This year I threw twitter into the mix. That was pretty interesting itself. Kevin Rose pointed out a decent audio feed. I did this in the background while I worked.

One thing I did note is that the parade of iPhone Apps got pretty painful after a while. Just wanted to yell out “we get it… cool apps built quickly… move on!”. For those who were following along at home, my predictions were mostly right (yay me!).

iPhone 3G

To me, this was really what the announcement was all about, and I’ll explain why a little later. The obvious big gain is the performance of 3G. This will win over a lot of people who just couldn’t imagine paying that much and surfing the web with EDGE. Another awesome addition is GPS support. It’s notable since geolocation is the “next big thing” [I should note update GeoLocateFox... I was ahead of my time]. I suspect there may be a few other goodies under the hood of this new iPhone that have yet to be revealed due to the suspected chipset. If Apple doesn’t unleash the full power, hackers will. Rest assured.

The real big thing here is that the phone is now much cheaper with a much more reasonable amount of storage on board. $299 for the 16GB model and $199 for the 8GB model. This is substantial for a few reasons. Besides obviously saving some cash, it makes the phone suddenly a possibility for people who would have never shelled out the original sticker price.

AT&T’s pricing looks to be $30 for unlimited data. The cheapest Voice/Data combo you could do would be $69/mo. That’s $10 more than it was for the first generation. Presumably that will help curb the cost of the massive 3G upgrades they are doing and subsidizing the iPhone’s hardware costs.

iPhone Apps

Pretty impressive demos from the screenshots I’ve seen. I’m really interested in more basic stuff should I get an iPhone. SSH, FTP, Email that doesn’t suck. I’d prefer to read/write office docs, but I guess I can always use something like Google Docs, which I’m sure will support the iPhone at some point if it doesn’t already.

Rather disgusted that I haven’t seen anything really change in terms of Application distribution or licensing. Apple is still very prohibitive of what it will allow. Don’t hold your breath on Firefox or Java anytime soon.

Apple will let you distribute Apps for free (how kind of them), but you still need to pay $99 to provide a free Application:

Standard Program $99
The Standard Program is for developers who are creating free and commercial applications for iPhone and iPod touch.

How about no charge for Applications with an OSI approved license Apple? Seems fair. No charge, and you get more software to make your ecosystem look more attractive.

Strikes me as pretty lame that a developer needs to pay $99 so Apple will let others use software for free.

  1. Disable download/install functionality.
  2. Charge $99 to distribute applications, even if they are free.
  3. Profit!

MobileMe

I was wrong regarding the use of MobileMe. Sadly it still doesn’t seem to fit the bill for something worth $99. Google provides most of the functionality pretty nicely. I suspect Google Calendar will get some iPhone sync love in the near future. In my opinion would have been better to just partner with Google and offer something really awesome and let Google monetize it. I suspect they didn’t do this because of the whole Android thing.

Jailbreak

Jailbreak is far from dead. The SDK isn’t open enough to kill off Jailbreak. Expect it to live on an coincide with Apple’s efforts for some time to come.

Mac OS X 10.6

Damn you NDA… would someone start leaking the goods ;-) . There’s some basic info out there, but nothing really juicy yet.

Photo Courtesy of Apple

Scoble on Firefox 3

Check out Robert Scoble on Firefox 3. I’d quote him, but I can’t find the appropriate part to quote. I get the impression he’s used it a few times before.

Safari’s New JS Interpreter: SquirrelFish

There’s an announcement on the Safari blog about SquirrelFish, their new JS interpreter. To sum it up:

SquirrelFish is a register-based, direct-threaded, high-level bytecode engine, with a sliding register window calling convention. It lazily generates bytecodes from a syntax tree, using a simple one-pass compiler with built-in copy propagation.

Some performance data can be found here, as well as here, which even tests against Tamarin (slated for inclusion in Mozilla2). I think the motive for this move might have been best summarized here:

  1. I can imagine the “performance per watt” power consumption for SquirrelFish is also much lower. Good for my iPhone’s battery life.

Especially with the iPhone going 3G next week which will consume more power, making a web browser be as efficient as possible with CPU cycles not only makes the experience better, but will save battery life. This doesn’t just impact the iPhone as Google’s Android also includes WebKit.

David Mandelin has some analysis and comparison to the Mozilla work being done on his blog.

It’s pretty interesting stuff.

Facebook Open Sources Platform

Facebook today released the code behind their application platform. What that entails:

This release includes the API infrastructure, the FQL parser, the FBML parser, and FBJS, as well as implementations of many common methods and tags. We’ve included samples and some dummy data to help you get started fast.

It’s mostly licensed under Common Public Attribution License (CPAL), with the exception of the FBML stuff, which is MPL. It’s actually Mozilla code, and seems to be based on Firefox 2.0.0.4. I wonder if they plan to upgrade to Firefox 3? Some enhancements that would presumably give would be JavaScript 1.8 support and native JSON encode/decode. Or at least the latest Firefox 2 release… but I digress.

Before releasing their API last year, Facebook bought Parakey, founded by Blake Ross and Joe Hewitt of Firefox fame. I don’t know if this code is actually derived from the unreleased Parakey, or even written by them. For all I know it could have been written by Facebook developers well before they were even acquired. Though if I had to place a bet, I’d guess this is code from Parakey. The code all looks pretty well scrubbed of anything that might give away Facebook secrets.

Usefulness + Speed = Users

As a frontend developer I’ve long argued the magic formula for a good website is:

Usefulness + Speed = Users

This is based on the fact that the best websites on the internet are pretty spartan in appearance. When you look at many of the successful ones (Google, Yahoo, Craigslist, Facebook), they’ve all taken the approach of simplicity on the frontend. They keep the user interface as minimal as possible, and they keep the technology and code as minimal as possible.

An interesting quote from CNet:

The same effect happened with Google Maps. When the company trimmed the 120KB page size down by about 30 percent, the company started getting about 30 percent more map requests. “It was almost proportional. If you make a product faster, you get that back in terms of increased usage,” she said.

Emphasis mine.

Just goes to show that faster things become more than useful to users. They become a convenience. Users don’t really care how it looks or they would have switched from boring Google a long time ago. They just find it so convenient and quick they can’t stop using it.

I suspect this is why digital clocks are so popular.

Roman Numeral Analog Clock

Most people find an analog clock to be “classy”, in particular when there are roman numerals. But when you come down to being practical, they aren’t as quick to read for most people since we rarely deal with roman numerals. The solution used to be using Arabic numbers to increase usability and speed:

Arabic Numeral Analog Clock

This is better, but not perfect. Still slow to read, and your estimating the minutes. These days, we have the technology to produce low cost digital time readouts with Arabic numbers. These are more accurate since they show the minutes, and maybe even seconds, and can be read at a glance with almost no effort.

Arabic Digital Clock

Despite hardly looking fancy, this is what you see in most train stations, airports, etc. The older clocks are still around, but mostly for aesthetic purposes. People are willing to sacrifice looks for convenience. That’s why they walk around with digital watches rather than the more classy ones. Both can be found for cheap, but one can easily be read (even with poor vision, and in the dark).

Simplicity always rules. Unless your a nerd with a binary clock (which is cool).

I suspect this rule also holds true for software. If it’s faster, people are more inclined to use it. People moved from IE 6 to Firefox because it’s faster. Given that Firefox 3 is even faster… I’m hoping this trend will be proven yet again with an improved adoption rate.

Another upcoming test of this principle will be the Apple’s 3G iPhone. Will the average number of minutes browsing the web increase with the additional speed of a 3G network? Will faster performance make people use the device more? I suspect so. I also think it will increase adoption as many people were turned off on the idea of spending that much for EDGE. For 3G, that’s a different story.

It’s really pretty interesting stuff. People often associate usability with user interface design, and never performance. But that data really does seem to point to performance being one of the easiest ways to make a product more usable.

Images: Grand Central Terminal clock © 2004 Metropolitan Transportation Authority, Clock in Kings Cross, LCD Clock Grey via Wikipedia

Rebreaking The Web

It’s happening again. Once upon a time, browser vendors started adding their own features without consulting with each other and agreeing upon standards. What they created was a giant mess of inconsistencies across browsers and platforms that is still in effect today. Ask any web developer and they can tell you of the pains that they have suffered trying to make seemingly trivial things work everywhere consistently. It’s no easy task. Before IE 7, even an ajax required something along the lines of:

Javascript [Show Plain Code]:
  1. var httpRequest;
  2. if (window.XMLHttpRequest) { // Mozilla, Safari, …
  3.     httpRequest = new XMLHttpRequest();
  4. } else if (window.ActiveXObject) { // IE
  5.     httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
  6. }

That’s right, IE 6 didn’t support the native xmlHttpRequest object (more here). This is just one of many examples in JavaScript and CSS. document.all anyone?

The end result of this problem became to be known as the “Web Standards” movement. Simply put it’s an idea that code should follow a standard that results in consistent output across all browsers on various platforms. Write once, run anywhere. While it’s taken years for this to manifest, it’s slowly become a reality. Firefox, Safari, Opera have fairly consistent rendering (at least in comparison to the mess of just a few years ago on the browser scene. IE 6 was fairly poor in terms of modern web development, but IE 7 made progress, and IE 8 is Microsoft’s greatest effort to date to bring their browser up to speed.

(more…)