Google Chart Generator (Beta)
January 31st, 2010

Today I was going through some of my old Subversion repositories and came across a slew of projects I forgot I made.  One of them was an javascript google chart generator and I’ve put it up at tomgraft.com/gchart.  It’s one of the least impressive projects I found, but it was the easiest to put back up on the web.  Over the next few days (weeks? months?) I plan on uploading more of the re-found code on github.  Stay tuned.

Google Chrome’s Incognito Mode
December 11th, 2009

About a week ago or so I downloaded the Google Chrome browser for OS X.  I recently discovered that, like most other recent releases of Firefox / Safari / IE, it contains the incognito mode.  For the uninitiated, it simply means that when you turn this setting on, the browser won’t record what sites you visit in your history or save cookies (read: your porn account logins).

This is the message that greets you when you open an “incognito window”:

chrome-incognito-osx-screenshot

You’ve gone incognito. Pages you view in this window won’t appear in your browser history or search history, and they won’t leave other traces, like cookies, on your computer after you close the incognito window. Any files you download or bookmarks you create will be preserved, however.

Going incognito doesn’t affect the behavior of other people, servers, or software. Be wary of:

  • Websites that collect or share information about you
  • Internet service providers or employers that track the pages you visit
  • Malicious software that tracks your keystrokes in exchange for free smileys
  • Surveillance by secret agents
  • People standing behind you

I’m curious if they’ll keep this version of the text in the final release. Anyway I haven’t used it enough to give any meaningful review, but a few things are worth noting.

First, it’s not faster.  It’s not particularly slow either, but pages take just as long to render to my naked eye as any other browser (Safari, Firefox, Camino) on my mid-level hardware (Macbook, 2GB RAM).   Most sites have browser specific CSS so even major players like Twitter don’t render 100% correctly because they don’t have a CSS case for Chrome.  Granted, a lot of benchmarks do show performance improvements, so take it with a grain of salt that my experience is *only* with the OS X Beta version (which is why I’ll forgo mentioning that it freezes/crashes as much as any other browser).

At the end of the day, there are literally dozens of third party OS X browsers out there.  Chrome has a lot of features that look good on paper and who knows what the next few years will bring.   That being said, I haven’t found a compelling reason to use it over Firefox or Safari.  I know that at least the Windows version of Chrome is allegedly faster and benefits from using a new process for each window/plugin.  However, until there’s a Chrome Firebug/Adblock/Web Developer Toolbar/Colorful Tabs/Greasemonkey/DownThemAll/Modify Headers/Tab Mix plugin, I’ll be sticking with Firefox.

See the New Google.com
November 27th, 2009

1. Go to Google.

2. Copy/paste this in to your address bar and hit enter:

javascript:void(document.cookie="PREF=ID=20b6e4c2f44943bb:U=4bf292d46faad806:TM=1249677602:LM=1257919388:S=odm0Ys-53ZueXfZG;path=/; domain=.google.com");

3. Refresh the page.

Don’t forget to check around to other Google properties (Google News, Video, etc) as many of them also received significant updates as well.

Google Acquires AdMob to Become the #1 Mobile Ad Network
November 9th, 2009

It was only a matter of time, but it seems AdMob is now a Google property.  It remains to be seen how this will play out, but one thing is certain: Google is now the #1 mobile advertiser.

From mocoNews.net, Aug 10, 2009:

Here’s the updated list in terms of monthly unique visitors:

1. Millennial: 45.6 million 
2. Yahoo: 36.1 million
3. Google: 31.9 million
4. AOL/Platform-A’s Third Screen Media: 28.6 million
5. AdMob: 25.7 million
6. Microsoft’s MSN Ad Network: 25.4 million
7. Jumptap: 23.4 million
8. Quattro Wireless: 23 million

The combined uniques of the #3 Google and #5 AdMob edge out the #1 Millennial by over 10 million uniques.  Even assuming that half of AdMob’s uniques also counted toward Google’s uniques, we’re still looking at a healthy contender for #1.

When do we stop calling it the Internet and just call it Google?

The Google Logo is a Barcode Today
October 7th, 2009

Google’s logo is a barcode today. Check out their other logos here.

Adobe Flash to be on Smartphones Except the iPhone
October 5th, 2009

From MocoNews:

Adobe has secured relationships will Research In Motion, Windows Mobile, Palm and Google to roll out full Flash capabilities to the various smartphone platforms. With such a complete line-up, the only obvious phone remaining is Apple’s iPhone.

This is of no surprise to me, and the reason should be obvious: the App Store is a cash cow.  To allow Flash on the iPhone would severely hurt App Store sales, reduce the number of developers for their platform, and severely reduce the number of downloaded apps.

From Apple’s point of view, adding Flash capability to the iPhone would need to bring in more sales than the inevitable reduction in App Store sales.  It’s very likely that they don’t believe it will.

I for one am not terribly bothered by this.  Flash support is far, far down the list on my “Things I’d Like To See on the iPhone”.  Some more important improvements could be being able to set custom text tones, being able to add content to the iPod App without needing to go through iTunes, garbage collection (Android can do it), customizable themes, or at least being able to change a few basic things, etc.  I say, make it a fully featured phone first, a mini-laptop second.  iPhone users only recently were given the ability to receive MMS, something my clunky phone circa 2002 could do (and with a similar quality camera, for what it’s worth).

Google Map API (with a tiny tutorial)
April 22nd, 2009

The Google Map API is excellent, I’ve been using it on a recent project.

Google Map

To get something that looks like the above image, get a Google Map API key, include the relevant Google API Javascript files, and add:

map = new GMap2(document.getElementById('classroom_map'));
map.setUIToDefault();
map.setCenter(new GLatLng(42.3337872, -71.0958314), 10);
marker = new GMarker(new GLatLng(40.6101, -79.9669));
marker.bindInfoWindowHtml("HTML GOES HERE");
map.addOverlay(marker);

Breakdown:

map = new GMap2(document.getElementById('classroom_map'))

Creates a GMap2 object in the div with the id ‘classroom_map’.  Elsewhere on the page, we would have an empty div with the id ‘classroom_map’ and whatever CSS we want our Google Map to have.


map.setUIToDefault();

Sets the various default widgets (Zoom, Map Type) to their default positions.


map.setCenter(new GLatLng(42.3337872, -71.0958314), 10);

The GLatLng object is first created with the lat and lng values shown. The map.setCenter() method takes in this GLatLng object, along with a zoom level (10). So this step centers our GMap at the above coords and zoom level.


marker = new GMarker(new GLatLng(40.6101, -79.9669));

Using GLatLng again, we create a GMarker object called ‘marker’. GMarkers are the little red arrows that you can click on Google Maps. This step creates the marker object but does not display it. We won’t want to display it yet because first we’ll want to bind the tooltip shown in the example picture.


marker.bindInfoWindowHtml("HTML GOES HERE");

This step adds the HTML that is displayed in the tooltip. “bindInfoWindowHtml(the_html)” basically says “When the user clicks this marker, show a tooltip with ‘the_html’ as the content of the tooltip.”


map.addOverlay(marker);

This step adds the marker to the map.


And that’s pretty much it!  I didn’t show any of the advanced features of the Google Map API but with only a few lines you can have a functional map with tooltips.