Categories
Apple Software

Don’t Let It XPire

Seems everyone who tries Windows Vista comes to at least one of two conclusions (if not both):

  1. Please don’t let Windows XP Expire – There’s even a petition for those in this camp. And it’s getting press.
  2. Mac Time – Enough said. Mac OS X 10.5 isn’t perfect, but is anything? It’s about as close as anyone has gotten.

It will be interesting to see the fate of XP.

Categories
Mozilla

A Standards Based Future

I wrote a few weeks ago about Microsoft’s plan to require a meta tag to use standards mode rendering in IE8. There was a ton of backlash. I can’t remember the last time so many browser and web developers publicly spoke out so quickly on an issue. It was pretty obvious to everyone that it wasn’t a good thing for the web.

Microsoft has had a change of heart, and will now use the new standards mode by default, and an IE7 compatibility mode via a meta tag. This is a much better move as it will mean more rapid adoption of standards. The point in which we will be able to develop on a more level playing field moved much closer thanks to this move.

As everyone around the web is noticing, this little nugget in the press release is pretty interesting:

“While we do not believe there are currently any legal requirements that would dictate which rendering mode must be chosen as the default for a given browser, this step clearly removes this question as a potential legal and regulatory issue,? said Brad Smith, Microsoft senior vice president and general counsel.

Most seem to think that’s a reference to Opera’s antitrust complaint with the EU. I would agree.

Go Standards Campaign?

I wonder if it’s worth some sort of cross-vendor campaign (Mozilla, Microsoft, Opera, WebKit/Apple) to get users to adopt modern browsers in a much more rapid pace. IE6 is hanging around for much longer than one would like. I suspect IE 8’s adoption won’t be very quick either. Perhaps it’s necessary for it to be combined with a GoPHP5 style campaign where older browsers are unsupported as of an arbitrary date. While Microsoft may have some obligation to provide security patches until the apocalypse, there’s no reason why websites must support it.

This is of course hard to implement as nobody wants to jump on this train unless all their competitors join in. It would take coordination on the level of Google, Yahoo, Facebook, AOL, Amazon, Adobe sized sites. Odds of something like that working are <5%, but I could be wrong. As a web developer dropping IE6 is a dream I can’t wait to see happen. It would however be interesting to see what innovation would take place if browser support suddenly became much more level.

Give Us Milestone Builds

It would be nice if Microsoft would start shipping milestone builds in a somewhat regular interval (weekly, monthly) so that developers can constantly test and evaluate how their websites behave in IE 8. It would be nice to know up front what we are looking at. Of course this is best when your bug database is open, but even when it’s closed, it’s still helpful to know where you stand at all times. I regularly test websites I work on in WebKit, Opera, Firefox nightlies. Why do I do this? So I know exactly what’s coming. So I can track issues I may have to fix, or the vendor may need to fix. I also can make a time estimate on how long it will take until I’m ready for browser x. Generally with those browsers the time estimate hovers around 0. Every so often an issue worth looking into arises.

I think this would really help the web ease into a fully standards world.

The new generation of browsers including Firefox 3 and IE 8 are really shaping up.

Categories
Apple Mozilla

Apple’s API Advantage

Vlad wrote about his work on improving Mac OS X performance (which is awesome by the way), and his findings from looking at WebKit code. To summarize WebKit utilizes some undocumented API’s (ironically from the same company that makes Mac OS X 😕 ) that give it an advantage over other software which can’t use them. This is pretty anti-competitive, and Microsoft-like in behavior. For a company that built it’s modern OS on an open source core, and it’s flagship browser (which is key to their mobile initiative) on an open source rendering engine (KHTML), you would think they would be a little more understanding about crippling platforms. Then again, look at the iPhone controversy regarding it being a closed platform (though that’s supposed to change next week, and I’ll be sure to blog about that).

Robert O’Callahan’s got a got a great blog post on some of his observations of things Mozilla would likely make good use of. He also mentions one thing worth quoting:

It’s worth reflecting that if Microsoft was doing this, they’d likely be hauled before a judge, in the EU if not the US. In fact I can’t recall Microsoft ever pulling off an undocumented-API-fest of this magnitude.

This is a very valid point which I 100% agree with. Microsoft wouldn’t get away with this.

Safari developer David Hyatt (former Mozilla developer from when Lizards roamed the earth) commented about this issue. Essentially he justifies the decision based on it not being a good practice to use some of these methods, and other aren’t even used anymore. This of course raises the question: Should Apple be deciding what other software developers can do, when they themselves can’t follow the same standards? I’d say that if WebKit feels it has to use it, there’s likely others out there in the same situation regardless of “best practice”.

See, I’m not too much of an Apple fanboy to criticize them 😉 .

Categories
Mozilla Web Development

The Winner For Most Embedded Is: SQLite

So the format war of Blue-ray vs. HD-DVD is over. There are still several other rather significant battles going on in the tech world right now that aren’t Microsoft vs. Apple or Yahoo vs. Google. For example:

Adobe Air vs. Mozilla Prism vs. Microsoft Silverlight

Google Gears vs. HTML5 Offline support

Android vs. iPhone SDK vs. Symbian

Ruby On Rails vs. PHP

Not every case will have a true “winner”. That’s not really a bad thing. Choice is good. In some cases they will merge to form one standard, such as what’s likely for offline web applications.

What is interesting is that SQLite really dominates right now. Adobe Air, Mozilla Prism, Google Gears, Android, iPhone SDK (likely through Core Data API), Symbian, Ruby On Rails (default DB in 2.0), PHP 5 (bundled but disabled in PHP.ini by default). It’s becoming harder and harder to ignore that SQL survived the transition from mainframe to server, and now is going from server to client.

No longer is the term “database” purely referring to an expensive RAID5 machine in a datacenter running Oracle, MySQL, DB2 or Microsoft SQL Server. It can now refer to someone’s web browser, or mobile phone.

This has really just begun to have an impact on things. The availability of good information storage, retrieval, and sorting means much less of these poorly concocted solutions and much better applications. Client side databases are the next AJAX.

Edit [2/27/2008 9:14 AM EST]: Added Symbian, since they also use SQLite. Thanks Chris.

Categories
Mozilla Open Source

Microsoft’s Open Source Decoy

So Microsoft will open up with information on many protocols/formats, and provide a “covenant” not to sue open source developers. Note the exception. Microsoft reserves the right to sue companies who commercially distribute such implementations. They need to get a license. As Microsoft put it in their principles:

Open Source Compatibility. Microsoft will covenant not to sue open source developers for development and non-commercial distribution of implementations of these Open Protocols.

As far as everyones reaction to this, Arstechnica wins with the best quote:

“Instead of offering a patent license for its protocol information on the basis of licensing arrangements it knows are incompatible with the GPL—the world’s most widely used open source software license.”

It may settle some curiosity in regards to how close certain reverse engineered implementations are to the actual protocol, but beyond that I don’t think it will make any difference. I think this caveat would limit most projects ability to utilize the information. I don’t think any major project is willing to utilize code subject to that limitation.

For example I mentioned just the other day that Exchange compatibility would bring about the most corporate adoption to Mozilla Thunderbird. Well this could potentially help make that a reality, except Mozilla’s commercial arm would be subject to trouble come release time. Not to mention any downstream commercial distribution that includes it (including many Linux distributions) unless they include a version without this code.

It may however be possible for a company to sell a product and offer a GPL licensed open source “plugin” or “addon” that adds the functionality. So for example Thunderbird would ship as usual via Mozilla Messaging and various Linux distributions. If you wanted exchange compatibility you would need to go to mozilla.org and download the addon for it. Similar to the current process for the provider for Google Calendar. However this adds a nasty extra step for users. It’s far from ideal.

The other notable thing in my mind is this part of their principles:

Industry Standard Formats. Microsoft supports many data formats promulgated by standards bodies in its products today. We will apply Principle II with respect to any standards-based data formats in our high-volume products. We will incorporate customer advice from our Interoperability Executive Customer Council and our ongoing community and customer engagement efforts to give us guidance to prioritize which standards we support in any given product release.

We want OpenDocument.

So despite all the media attention, I don’t think open source gained much today. There’s potential (OpenDocument getting priority would be nice), but really no big win. I just don’t see projects giving up GPL, and I’m pretty sure this agreement would violate GPL.

Categories
Mozilla Web Development

Meta Stupidity Followup

In the past day I’ve been doing a fair amount of reading on what others think of this meta stupidity. A few suggested remedies are particularly good and worth a post linking to. My two favorites both from Mozilla hackers are these:

David Baron has a must read blog post. Since the bulk of these older sites are on intranets, why not just allow administrators to enable compatibility mode on intranets? Seems like a perfectly logical solution that doesn’t hold back the web, and allows them to achieve their goals.

Daniel Glazman has another idea that I think is very valid.

  • Microsoft should freeze, and I really mean it, its current IE6/IE7 HTML 4 engines, and drop that META tag idea.

Ditto. That needs to be a very deep and reliable freeze though.

Categories
Mozilla Web Development

Meta Stupidity

As Robert O’Callahan, John Resig, Anne van Kesteren all point out, this idea of using a meta tag to select a rendering engine is bad. Here are my personal thoughts on the issue. Not as a browser developer but as a web developer.

Essentially the argument by the IE team is this: Rather than fix the problem, lets create a larger problem so the smaller one isn’t very noticeable.

Yea, that’s how I parsed the blog post. For anyone who disagrees, perhaps I interpreted it wrong because they didn’t select the correct parser because they didn’t include the following:

<meta HTTP-equiv="X-UA-Compatible" content="IE=8;FF=3;raccettura=serious;OtherUA=4" />

All joking aside it’s an insane idea guaranteed to set things back.

Categories
Around The Web Google Mozilla

Secrets In Websites II

This post is a follow up to the first Secrets In Websites. For those who don’t remember the first time, I point out odd, interesting, funny things in other websites’ code. Yes it takes some time to put a post like this together, that’s why it’s just about a year since the last time. Enough with the intro, read on for the code.

Categories
Mozilla

Silverlight Update System?

Silverlight update dialog

So when I pointed Firefox to MSN tonight, this is what I saw. Is this really the best way of notifying users of an update? Could they have at least used a confirm() to allow the user to decide if they want to visit that URL or not. Or perhaps use a <div/> to overlay the content of the page when it loads. Is a user supposed to type that URL in by hand? Does the average user even know what to do when they see this dialog (other than hit “OK”)? Perhaps just say “visit silverlight.net and download the latest version”?

Just goes to show how awesome the Firefox automatic update system is.

Considering Microsoft has an update system on all Windows systems, you’d think at least for the Windows platform, they could rely on Windows Update.

Am I missing something? Is there really no better way than an alert()?

Remember everyone, that’s 0x4009e, those are ‘0’, not ‘O’.

No wonder people hate technology so much.

Categories
Google Mozilla

Browser Wars On Google

If you search for Firefox using Google you’ll see this ad towards the top:

Firefox Adwords Campaign

Look over to the right side and you’ll see this:
Microsoft Adwords Campaign

Here’s a larger complete screenshot for anyone interested.

Interesting eh? They aren’t threatened though. Here’s another tidbit. A search for “Safari” brings up a Microsoft ad as well. A search for “Opera” or “Opera Browser” does not. A search for “Browser” will. A search for “linux” will bring up a few Microsoft ads as well as a Firefox ad.