Categories
Mozilla Open Source

Chromium’s WebKit Fork Is No More

This is very cool news for both WebKit sand Chromium. Chromium will no longer use a forked version of WebKit. This will mean more contributions directly to WebKit and a more current Chromium.

I wish all browser vendors could agree and sync engines a bit more so that Safari/Chrome would ship the same version of WebKit rather than stagger based on their own release schedule. Same for Mozilla/Flock etc. While very difficult in many respects it would make it much easier on web developers to have less products out there to test against. I think it’s unlikely to happen, but that doesn’t mean it wouldn’t be convenient. Some Web Developer bias speaking here.

[Via: Tony Chang]

Categories
Mozilla

Acid2 Featured On Wikipedia

Acid2 featured on wikipedia

I just noticed that the Acid2 test is today’s featured article on Wikipedia. It is a well done article that even shows a timeline of when browsers became compliant and screenshots of various browsers status. The Acid3 article is also rather good.

Categories
Mozilla

Thunderbird’s Future

Thunderbird is not dying. Great work has already taken place by some talented developers. Need proof? Check it out (though take note it’s a beta and shouldn’t be used in a production environment, yada, yada yada). That said, it been a long road to 3.0 but progress is being made.

You can also take a look at Postbox (run by some ex-mozilla folks), based the same core code with some pretty innovative features.

Categories
Mozilla

Reasons To Use Internet Explorer

reasons for using explorer

They forgot about “target of profanities while testing my web code”, though that might require a second pie.

Firefox got a 2nd mention on “The Cheezburger Network”, though I couldn’t bare to back to back posts.

Next few blog posts need some substance I think.

[Via GraphJam]

Categories
Mozilla

Firefox Has Crashed

Firefocks has Crashed - needs cuddles

Someday these may stop being amusing. Obviously not today. If you’ve got an alternate caption leave a comment.

[Via: icanhascheezburger.com]

Categories
Mozilla Open Source

Open Video

Just the other day I was complaining that Ogg Theora/Vorbis hasn’t really proven itself and achieved market penetration to the point where people will still care about it in several years. My concern with less popular file formats is that data is lost forever if future computing can’t view it. Popularity, while it may not be fair does help encourage it. For example I can still open up old WordPerfect files easier than I can Professional Write files (trip down memory lane anyone?)

I’m thrilled to see a push for open video. Better encoders and decoders along with working with the Wikimedia Foundation (Wikipedia’s use of Theora can be very influential) will hopefully provide a boost for these formats which tends to be a cyclical trend once it gains momentum.

Categories
Internet Mozilla

BitTorrent For HTTP Failover

There is a proposal circulating around the web to create a X-Torrent HTTP header for the purpose of pointing to a torrent file as an alternative way to download a file from an overloaded server. I’ve been an advocate of implementing BitTorrent in browsers in particular Firefox since at least 2004 according to this blog, and like the idea in principal but don’t like the implementation proposed.

The way the proposal would work is a server would send the X-Torrent HTTP header and if the browser chose to use the BitTorrent it would do that rather than leach the servers bandwidth. This however fails if the server is already overloaded.

Unnecessary Header

This is also a little unnecessary since browsers automatically send an Accept-Encoding Requests header which could contain support for torrents removing the need for a server to send this by default. Regardless the system still fails if the server is overloaded.

Doesn’t Failover

A nicer way would be to also utilize DNS which is surprisingly good at scaling for these types of tasks. It’s already used for similar things like DNSBL and SPF.

Example

Assume my browser supports the BitTorrent protocol and I visit the following URL for a download:

http://dl.robert.accettura.com/pub/myfile.tar.gz

My request would look something like this:

Get: /pub/myfile.tar.gz
Host: dl.robert.accettura.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate,torrent
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://robert.accettura.com/download

The servers response would look something like this:

Date: Sun, 18 Jan 2009 00:25:54 GMT
Server: Apache
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/x-bittorrent

The content would be the actual torrent. The browser would handle as appropriate by opening a helper application or handling it internally. If I didn’t have torrent in my Accept-Encoding header, I would have been served via HTTP like we are all accustomed.

Now what happens if the server is not responding? A fallback to the DNS level could be done.

First take the GET and generate a SHA1 checksum for the GET, in my example that would be:

438296e855494825557824b691a09d06a86a21f1

Now to generate a DNS Query in the format [hash]._torrent.[server]:

438296e855494825557824b691a09d06a86a21f1._torrent.dl.robert.accettura.com

The response would look something like a Base64 encoded .torrent file broken up and served as TOR or TXT records. Should the string not fit in one record (I think the limit is 512 bytes) the response could be broken up into multiple records and concatenated by the client to reassemble.

Odds of a collision with existing DNS space is limited due to the use of a SHA1 hash and the _torrent subdomain. It coexists peacefully.

Downside

The downside here is that if your server fails your DNS is going to take an extra query from any client capable of doing this. There is slight latency in this process.

Upside/Conclusion

The upside is that DNS scaling has come a long way and is rarely an issue for popular sites and web hosts. DNS can (and often is) cached by ISP’s resulting in an automatic edge CDN thanks to ISP’s. ISP’s can also mitigate traffic on their networks by caching on their side (something I also suggested in 2004).

BitTorrent may be used for illegal content, but so is HTTP. I think costs for ISP’s and websites could be significantly cut by making BitTorrent more transparent as a data transfer protocol.

Categories
Apple Mozilla

3rd Party Web Browsers For iPhone

There’s some buzz around the web regarding 3rd party web browsers for the iPhone now appearing in the App Store. This really isn’t as good as it sounds. In fact, it’s misleading. From what I can tell they are all using WebKit (Safari) API’s. UIWebView to be specific. These are just applications that serve as an alternative UI for WebKit.

This isn’t even totally new as there are several apps that have done this in the past, the most popular being Twitterrific who ships a “mini-browser” for the purpose of viewing links in tweets without leaving the application. What’s new is that an application’s sole purpose can be a browser. Though there’s no official word on a policy that I know of.

That means no you will not see Java, you will not see Flash, you will not see Firefox. You may perhaps see some user experience improvements which of course are welcome, but not another “browser”.

Categories
Hardware Mozilla

Palm Pre Thoughts

The big news today seems to be the new Palm Pre. It’s a rather beautiful device, though I’m not sure it will save Palm.

  • Developer API – Palm choose to make it literally a “WebOS” (that’s what they call it). Applications are written using HTML5, CSS, JS (via WebKit) and there are API’s to access a variety of services. While cool this does have a big downside. There’s no real way to make it into the gaming platform that the iPhone is becoming. <canvas/> can only take you so far animation wise, not to mention JS isn’t really an ideal language to make a full length game. These applications are essentially widgets. That’s fine for many/most mobile apps, but not all. It also doesn’t allow you to take advantage of 3rd party libraries that aren’t on the device or written in JS.
  • Development Community – Palm is going to have a tough time building a dedicated development community. There will be lots of “widgets” ported to the device, but with the iPhone being mandatory for hot new apps, Android showing lots of potential and backing, and BackBerry being ubiquitous, how many more platforms can developers target in this economy? There’s also Windows Mobile with an established user base. They will need to sell a lot of devices to attract developers.
  • Many Features Easily Duplicated – It has copy/paste, MMS, IM, and other things many people gripe about the iPhone not having. That said, they can be implemented in a software upgrade on the iPhone leveling out the playing field quickly. Hardware wise, the removable battery and 3MP camera can’t be easily duplicated. Those are solid enhancements.
  • Background Applications – Since it’s WebOS, the “applications” are nothing more than tabs in a browser. Application switching is then nothing more than switching tabs. How will this behave in real life? Hard to say. I’m hoping each “application” is isolated into it’s own process similar to Google Chrome rather than one process. I’m not sure how they balance CPU time between competing processes.
  • Battery Life – I can’t find much on battery life. I presume that depends on application usage but it’s not prominent on the Palm site or any review I’ve seen so far.

I should note that since it’s API is essentially building widgets using web technologies, don’t expect to see a Mozilla browser anytime soon. The closest you’d get is a Fennec-like UI built on and around WebKit. It could prove to be an interesting UI experiment, but it won’t share the same technologies.

It’s ironic but so far Windows, Android and BlackBerry are the only major mobile OS’s that allow 3rd party applications to be downloaded directly to the device unrestricted. Maemo does as well, but it’s more internet tablets. iPhone while based on open source require you go through a proprietary app store. Both the iPhone and Android have a kill switch so that they can terminate software that doesn’t abide by their policies. Palm (also based on open source Linux) won’t even allow true native applications so far.

It’s a cool device, but I wouldn’t declare Palm back from the dead yet, nor would I declare them dead. Like I said, it’s competing with 3 mega platforms for not only users, but developers whose applications will bring in users.

Update [1/9/2009 @ 9:45 AM EST]:Clarified App store requirement is for iPhone and that a kill switch exists on both the iPhone and Android.

Categories
Mozilla

Microsoft Cutting Back On IE?

Asa pointed out an interesting CNBC piece regarding cutbacks in what looks like contractors on the IE team:

One of the units already seeing cutbacks is Microsoft’s sagging browser business. A report in the Seattle Times says 180 contract workers were told last month that their services would not be renewed. Just yesterday, researcher Net Applications reported that Microsoft’s Internet Explorer browser registered 68 percent market share in December, down from 74 percent in May.

If this is true, and I think it is likely as CNBC is a rather reputable source of business news, I predict Trident’s days are numbered. As I pointed out back in November, Balmer suggested they might look at WebKit. I should note I do not think this will have any impact on IE 8, which is nearly complete. They could of course choose Gecko which would save them from needing to work with Google and Apple (which might freak out some government regulators).

The other very real option is to either license Opera’s Presto engine, or simply buy Opera which would give them some strength in the mobile market. I think Microsoft would prefer to buy simply because of the mobile implications. Opera has a decent foothold in the mobile market. They would still have the expense of developing a rendering engine but instead of playing catch up they would be much more “ready to play”. This would save them the overhead expenses of trying to cram several years of development to simply catch up to the other browsers. Since Presto is proprietary they still can utilize their other proprietary technologies without leaking any code to the open source community. As I said in the past, keeping things proprietary is important to Microsoft’s web strategy.

Poor standards compliant, performance, bugs lingering for years, security issues, are all issues that have plagued this rendering engine. The final nail in the coffin might end up being a recession and the need to cut costs.

Of course it’s possible Microsoft may not be renewing these contractors since IE 8 is nearly done and it will simply slow down IE 9 development, but I don’t think it’s likely considering the speed the competitors are going. I don’t think Microsoft will fall asleep at the wheel a second time.

So I’d like to adjust my statements back in November regarding Microsoft’s use of WebKit. I said before that it was unlikely. If this news is true, I think it’s becomes very realistic they will drop Trident. Maybe it really is as busted internally as we’ve all suspected for years.

There will still be fierce competition between WebKit, Gecko, and Presto regardless of what happens. Innovation and competition are essential to a healthy internet. This in fact makes it much more competitive since the one in last place in terms of supporting the latest in standards would suddenly catch up overnight.

Enough speculation for now. Lets see what turns out to be fact, and what turns out to be CompSci Fiction.

Edit [1/3/2009 @ 9:40 PM EST]:: Via Asa, apparently the layoffs were actually the MSN Homepages team, not the IE team as CNBC suggested.