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.

Categories
Internet Mozilla

We May Look At That

The big story over the past 24 hours is Steve Ballmer’s statements regarding WebKit:

“Open source is interesting,” he said. “Apple has embraced Webkit and we may look at that, but we will continue to build extensions for IE 8.”

Categories
Google Mozilla

Initial Thoughts On Google Chrome

I figured I’d blog my initial thoughts on Google chrome. Rather than a hard to read essay, I figured bullet points are easier to read/scan, so that’s what I’ll do.

Announcement

  • Another One Bites the Dust – The classic Queen song was played both before and after the presentation. I can’t help to think this was an intentional joke about a browser biting the dust.
  • From Scratch – How can a browser be both written from scratch, and based on the existing WebKit at the same time? Is this a bug? 😉
  • Ben Goodger – Did a good job selling the UI.
  • BSD License – All of it is BSD licensed. Very interesting that it’s not pulling a Safari. Chromium Project, V8.
  • Incognito Mode – Ben/Brian discussed it without mentioning the word “Porn”, though you can somewhat tell that they were both dying to use the “P” word…. uhh for research… for a friend!
  • Static Content Performance – As shown in the demonstration: IE7: 220.64ms, Chrome: 77.28ms. Less is more.
  • Dynamic Content Performance – As shown in the demonstration: IE7: 5.8 RPH, Chrome: 569.3RPM. More is more.
  • Search Box Missing – I agree with merging the search box with the url bar. It makes sense and results in a cleaner UI.

My Testing

  • Build – This is build 0.2.149.27 (1583)
  • UseragentMozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13. Noteworthy that they keep “Safari” in there. This looks like what I’d expect.
  • Bug Type – “reporter” feature has a “Bug type” called “browser crash… go boom”. I like jokes in software.
  • Tubes – The gears plugin in the chrome install has the file description “These are the Gears that power the tubes!”. Awesome Ted Stevens reference.
  • History View – I always wanted the history view in Firefox to be in a page rather than a sidebar. I understand the thought behind the implementation, but when you see how Chrome is laid out, it’s clearly superior.
  • No PPC Support – Because of how V8 works, I strongly suspect Google Chrome will never support Mac/PPC despite it still being supported by Apple until (likely) 10.6. In the press conference they said anyone can port V8 to another platform, if you have 3-4 months. Doubt they will use any other engine for that one platform. I’d say it’s toast.
  • Chrome API – The announcement mentioned plans for an extension API. Looking at the files it ships, it looks like almost all dll’s. Because of this I doubt we’ll see a method as simple as Firefox. Not sure how the interface is put together but it doesn’t look like anything as flexible as XUL, Boxely or XAML.
  • about: – So far I’ve found about:, about:memory, about:plugins.
  • Slickspeed Test – Ran a test and found Chrome did 115ms, 130ms, Safari 3.1 did: 28ms, 68ms, while Firefox 3 did 179ms, 294ms (prototype, jQuery). Interesting that Safari selectors are still faster.
  • Walt Mossberg – Everyone’s favorite tech writer Walt Mossberg wrote:

    Despite Google’s claims that Chrome is fast, it was notably slower in my tests at the common task of launching Web pages than either Firefox or Safari. However, it proved faster than the latest version of IE — also a beta version — called IE8.

  • Icon – Daniel Glazman identified the source of inspiration for the icon.
  • Phone Home – Matt Cutts has a blog post on when Chrome phones home
  • Omnibox – It’s ability to find new search engines is pretty neat… wonder how well that really works in day to day browsing though. Otherwise it’s essentially an Awesomebar to me.
  • Application Shortcut – The Prism-like functionality is just that. Essentially it just passes the url as a param into the Chrome exe via a shortcut. Looks like unless Gears is used you’ll use the Favicon which looks pretty bad.
  • Download Manager – The download manager is pretty cool, but if you download a number of files, I think this interface can get pretty cumbersome. Just like Thunderbird with a lot of attachments.
  • Font Rendering – It looks like they are using GDI Text rendering to avoid that blurry mess that Safari uses on Windows. I suspect Apple will do the same soon.

Overall it seems pretty smooth. From what I’ve seen, the process model does result in more memory in total than Firefox 3, since most tabs I open stay open for quite a while. It’s clearly still a little rough, but it’s not even out for 12hrs yet.

I await a Mac release. I just realized Pinkerton is working on Chromium as well, so I have a feeling the Mac release won’t suck but will be a real port that looks and feels like a Mac application should.

I don’t think it was mentioned in the press conference, but the Chromium blog is open.

Wired has a great article on inside the project. In addition to the names I mentioned yesterday, Bryan Ryner was also involved in at least the prototype.

I’ll make one prediction: The code most likely to find it’s way into other browsers is the GreenBorders stuff. It was originally for IE/Firefox, making it most suitable for possible adaptation to be included in other browsers. I’m not sure how much of it remains and how easy to adapt it would be though.

I’ll leave this “review” right here and unfinished since it’s still an ongoing project. Just wanted to share my initial thoughts. I’ll follow up at some point in the future when I feel it’s right to do so.

Any thoughts/additions? Feel free to leave a comment.

Edit [9/2/2008 @ 10:55 PM EST] – Added prediction about GreenBorders and link to Wired Article.

Categories
Google Mozilla

Google Browser Is Now Google Chrome

I’ve mentioned the long fabled Google browser for ages now “googlefox” as it began. Some more interesting news came today regarding “Google Chrome“.

Some of the features touted by the comic include:

  • faster – mentioned throughout via new js virtual machine (might be SquirrelFish) that’s potentially embeddable into other applications and using WebKit. Also multi-threaded.
  • More Stable – Separate process for each tab means one page doesn’t crash the browser. Also more memory efficient in the long run since you’ll kill tabs that hog memory at some point.
  • UI – UI is minimal, tabs contain the controls (tabs on outside), are detachable from the window, and similar to Prism can be minimal enough to make a web application feel like it’s not in a browser. Omnibox (awsomebar equivalent), auto complete only to what you’ve explicitly typed before, improved new tab screen (similar to others proposed and implemented).
  • Secure – Sandboxes processes (sounds like the work from GreenBorder), plugins running in their own processes, phishing protection. Also has porn privacy mode.
  • Compatible – Based on WebKit, automated testing via “chrome bot” browsing pages, unit tested, fuzz tested.
  • Google Gears Included – Includes Google Gears, which is downloadable for other browsers already.

Also interesting were some of the names mentioned in the comic. While long known a few Mozilla hackers went to Google, here’s a list that are mentioned in the comic: Darin Fisher, Ben Goodger, Brett Wilson (various Mozilla contributions via Google), Arnaud Weber (Netscape).

Check the comic for more details. This is pretty much the main info in there for those who don’t have the time to sift through it all.

Edit [9/1/2008 @ 6:23 PM EST]: Google Blog post.

Edit [9/1/2008 @ 7:45 PM EST]: John Lilly’s Thoughts on Chrome & More.

Edit [9/1/2008 @ 9:05 PM EST]: Apparently this was announced prematurely due to someone not realizing that it Labor Day isn’t in Germany. As a side note, how does one get on that mailing list?

Edit [9/2/2008 @ 8:55 AM EST]: Code should appear here.

Categories
Mozilla

Getting Faster With TraceMonkey

Mike Shaver has an awesome blog post on work to speed up JavaScript. Granted Firefox 3.0 is pretty fast already, 4.0 is shaping up to put 3.0 to shame. For those who don’t want to read it all, here’s what you really should know:

The goal of the TraceMonkey project — which is still in its early stages — is to take JavaScript performance to another level, where instead of competing against other interpreters, we start to compete against native code. Even with this very, very early version we’re already seeing some promising results: a simple “for loop? is getting close to unoptimized gcc[.]

That is a very impressive feat, and even more impressive is that it’s so early on. Schrep has a demo for anyone who still doesn’t see what this really means for future web applications.

Brendan has a great blog post with some more details on what has been done so far, as well as some more graphs.

The first thing that comes to mind is that it makes <canvas /> much more useful. While it already is handy, one of the big problems is that it doesn’t take to much to make it feel slow.

I think the real benchmark for most people these days is Gmail and Yahoo Mail, which are likely the two most JavaScript intensive applications most people use on a daily basis. Most people saw a nice gain when moving to Firefox 3.

Considering a substantial part of the browser chrome is implemented in JavaScript, this work has significant impact in the future performance of the browser as well as the web applications that run within it.

This all comes just a matter of hours after querySelectorAll landed, which will also give a boost in performance as John Resig explains.

A few months ago I mentioned SquirrelFish, the WebKit teams attempt to improve JavaScript performance. It’s great to see performance being such a focus.

It’s important to note that this isn’t just about making things feel faster, it opens up the web to handle things that previously couldn’t be done before. It also paves the way for a better mobile experience. Two fantastic things. Things that previously a browser just couldn’t do as well as a desktop application will become possible in the not to distant future.

Categories
Apple Google Mozilla

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.

Categories
Google Mozilla Open Source

Summer Of Code 2008

Google announced the project lists for Summer Of Code 2008. Some of the more interesting projects from my perspective:

Adium

Dojo Foundation

FFmpeg

Gallery

Inkscape

Joomla!

The Mozilla Project

MySQL

PHP

Pidgin

WebKit

WordPress

Categories
Apple

GDI Text Rendering For Safari On Windows

Looks like Apple will be switching Safari to use GDI for font rendering on Windows in the future. Not such a bad thing. The CoreGraphics antialiasing looks good on a Mac, but does look strange on Windows. I think this will please more Windows users who expect Safari to be a good citizen and blend in.