archive for September, 2008

Userscript: Google Maps Print: Skip Steps

Last weekend I was printing directions for driving around L.A. and it really bugged me that the starting and/or ending steps of the directions were usually things I already knew.  Since I don’t work at Google, I can’t fix it for everyone, but I can fix it for myself (and maybe for you).  I wrote this little script to modify the Google Maps print directions page so that I can hide any steps that I don’t actually want to print.  If you want to use it, you’ll need to use Firefox and Greasemonkey, then follow the link above to install the script.

Oh, and I have to say thanks to the creators of the jQuery library.  Without it making life (and coding) easier, I probably wouldn’t have have even attempted this project.

Google Chrome: Day 1

Here are my release day thoughts:
There are a couple things that I can do with Firefox that Chrome can’t do that’ll keep me from switching:

  1. Firebug or equivalent JavaScript debugger.  I’m sure this is in the works.  Google writes tons of JavaScript code and really requires a good debugger themselves.  They have some tools in Google Web Toolkit, but for everything else, something in the browser would be great.
  2. Bookmark sharing.  Maybe Google is planing on making the current idea of bookmarks obsolete, but until that time I need an easy way to have the same bookmarks on all of my computers (thanks Foxmarks!).  Oh, and of course they need to add a bookmark manager, but I’m sure that’s coming soon too.
  3. Mac support.  Once again, it’s just a matter of time.
  4. Add-on extensions.  Google has said that they’re working on it.  Hopefully it doesn’t take too long before some good ones are available.  Add-ons are an essential way to customize a browser so that it works how I need it to work without cluttering the system for the other 99% of the users.

Overall, it’s pretty usable, just not quite there yet.  I don’t think I’m ready to recommend it for my friends or family either.

The whole multi-process thing has been making me think.  This kind of architecture would work really well in a distributed environment (like Google’s own data center environment).  If Google could find a way to bring that kind of power to the desktop, their web applications might have a huge boost over all of the other software that isn’t designed to be so parallel.

Another thing that’s very clear is that Microsoft has no incentive to make a good browser.  Their two main moneymakers are Windows and Office.  Making a good web browser would mean that more companies could make good web applications.  Good web applications would mean that Windows would be completely optional.  Building an Office suite on the web would be a lot of work, but a lot of companies are working on it.  If web browsers were 10 times faster (on the same hardware) and had access to the file system in a secure way, there’d be a much better chance for competitors to eat into the Office pie.  Once again, once there are good office suites available online, then Windows is optional and Microsoft would have to really compete.

As a web developer, I have a great incentive to get more people to use better browsers–it makes it easier for me to develop better software.  So, if you know anybody still using IE6, please tell them that they have a choice in browsers and using one that’s 7 years old is not a good thing.

Google Chrome

Some information on Google Chrome was leaked today, primarily this comic.  I’m looking forward to actually trying out the new browser when it’s released.  For now, here are some things I find interesting.

Omnibar – This sounds a lot like Firefox 3’s awesome bar, but maybe with some improvements.  It also serves as the search bar, something that all other modern browsers have placed to the right of the address bar.  Not only that, but it looks like the browser will automatically pick up new site searches based on usage.  It’ll also do in-line autocomplete, but only for URLs you’ve actually typed.  That sounds like it could be nice.

Tabs – From the screen mock-ups, having the tabs on top does look a little more natural than the hanging tabs of other browsers.  I don’t know how it’ll actually look/feel once they get the rest of the window frame around it.  The new tab speed-dial feature looks like it could be helpful.  Mozilla’s concept work looks a little more powerful.  There’s definitely some room for improvement here.

Pop-up Handling – Instead of opening in a new window, pop-ups will open within the same window.  I don’t know if there’ll be any difference between pop-ups that are generated from a mouse click vs. opening automatically.  I’m really curious to see how this feels.

Multi-process – Each tab and plug-in gets its own full process.  So, if one web page is misbehaving, it won’t kill the rest of your browsing experience.  It looks like they may be giving developers multi-threading, but that may be the Gears feature.

Automated Testing – It sounds like they’re doing automated unit testing, and also doing some sort of layout tests against the 1,000,000 (or so) most popular sites.  WebKit (the rendering engine) is already pretty well tested, but this should help make sure they don’t introduce any new problems.  Since Google will be using a new JavaScript engine, and many sites use JavaScript to manipulate layout, the automated testing should really help validate their JavaScript implementation.

V8 – Speaking of JavaScript, it looks like they’re really trying to push it forward.  Their implementation is a virtual machine called V8 with some new features.  For one, they’re doing something called “hidden class transitions” which might just speed up object oriented JS code.  They’re also adding a compiler to convert JavaScript into native machine code which can run a lot faster than interpreted code (of course, if their compiler sucks, then it’ll still be slow).  I don’t really understand how garbage collection works in FF, IE, Opera, or Safari, but Google says that they’re doing it differently, more like a real virtual machine.  This should be iterseting.

Full Text Serach – You’ll be able to search the text of every page you’ve looked at and stored in your history.  Hopefully this will automatically exclude secured pages (I’m sure it will).  Firefox 3 already provides this for URLs and page titles, but I’d sure like it for the full page body too (I think).

Overall – I don’t expect Chrome to pick up much market share any time soon.  The market share that it does pick up is as likely to come from Internet Explorer as it is to come from alternative browsers such as Firefox and Safari.  [Edit: deleted MS gripe.]  My big hope is that Chrome will spur innovation in all of the browsers and everyone will win.  Oh, and if the JavaScript really is super fast, there should be some really cool applications and games popping up in the next year or so.

Questions – Will it have add-ons like Firefox?  Will different pages/web apps have their own browser toolbar buttons (for example, a Compose button for gmail)?  How easy will it be to keep your info private from Google?  How will it make web development easier (JS debug? DOM inspection? etc…)?

PS: I love the Dr. Horrible reference on page 1. 🙂