Nov 10

Not Wife Swap: Computer Swap

Tech with tags: , , , , 2 Comments »

Bill Gates and Steve Jobs

It is always a touch sad when I have dreams that involve computers. The one that came to mind after I awoke after a short nap with Sam, was a TV show that I produced: Computer Swap.

The premise was that Linus, Steve Jobs, and Bill Gates each spent time watching each other use their native worlds, and then had to switch it up and spend a week on a machine pimped by the other.

At the end they were hypnotized, and gave their honest replies to various questions about their likes and dislikes.

I am sure at least 4 or 5 geeks would watch!

Nov 09

What’s the deal with highlighters?

Personal 1 Comment »


I hope you read the title with a Seinfeld voice. The last three flights that I have been on had one thing in common (apart from the pretzels):

People using highlighters on books / papers

I have never quite understood the desire to highlight as I have seen it in the US. I remember first watching this act at Uni here in the states. The practice looked the same for all three people on the flights:

  • Get your highlighter ready
  • Whiz through the current page as fast as possible highlighting sentences
  • Turn the page and go again

The strange thing here is that the people never seem to really be reading the darn thing. They are going at record speed. The other puzzling thought is that on average it appeared that two thirds of the page was yellow before it was all said and done.

Yes, MORE CONTENT was highlighted on the page than not! It’s crazy.

I could totally understand it if the process was:

  • Actually read the page
  • If there is a true gem, maybe one sentence per page, max: highlight it (or write in the margin something deep)
  • When you are done, go back and read the margins/highlights

Oh, and I know that you have been given a hand-me-down which is more yellow than not. How annoying is that :)

Nov 06

“Firebug can make Gmail slow”

Tech, Web Browsing with tags: , , , 5 Comments »

Man I love Firebug. How can you do web development without it? Unfortunately it does seem to slow down my general browsing experience now and then. Even when I have it disabled I see Firefox sucking down more memory, and taking longer to open new tabs and the like.

When I went to my Gmail account today I saw:

Gmail Firebug

Which links too Firebug can make Gmail slow:

If you’re using a Mac

Please note that if you’re using a Mac, you’ll continue to experience performance problems unless you disable Firebug for Gmail. To disable Firebug for, please follow the steps below:

  1. Click the green or red icon in the bottom right corner of the browser window to open Firebug.
  2. Click the bug icon in the top left corner of Firebug and select ‘Disable Firebug for’

If disabling Firebug for Gmail doesn’t improve performance results, you may have to entirely disable Firebug.

On Windows and Linux it suggests to turn off XHR logging (Firebug puts in a proxy XHR object to do all of the work). I wish that I could load up an instance of FF with it on, and one with it off…. I need to look into profiles again.

Nov 05

Arrington and Romney on Talk Crunch

Personal, Politics, Tech with tags: , , , , , No Comments »

I actually got to listen to some podcasts as I flew back West to California (and my wife and son were in front of me!).

As I went through the list I came across the latest TalkCrunch: Interview With 2008 Presidential Candidate Mitt Romney.

I like Mike. Ajaxian started to take off right when TechCrunch did. I feel like Ajaxian is the developer version, and TechCrunch is the business version. Of course, TechCrunch is now huge and Ajaxian… well it is doing well, but it ‘aint no TechCrunch!

Ben and I setup a little dinner with a tech journalist form the Wall Street Journal a few years back (right after Ajax/Web 2.0 was taking off) and Mike graciously showed up and was a lot of fun. That was the first time I met him. Mr. Gomes was a liberal, a touch ashamed of the editorial page in his paper (god knows what he thinks of it now it is FOX!), and I quickly learned that Mike didn’t lean that way…. and that I should never talk politics with him.

Fast forward to today, and I see he has a 10 minute chat with Mitt Morman Romney. The questions are softballs and the transcript could read like this:

MA: Mitt, would you raise taxes?

MR: Mike, no. Americans have to pay too many taxes.

MA: Mitt, Do you think we should abolish the H1-B visa limits?

MR: I can’t exactly say what I would and wouldn’t do buy I believe in the American people and we want smart people in the country paying taxes… but not too many taxes.

MA: What about capital gains taxes for VCs?

MR: Erm, erm.

MA: PC or Mac?

MR: PC, but 6 out of 12 of my kids use Mac’s and swear by them. The other 6 love PCs. I love all types.

My favourite question was about what Mitt has on his iPod:

Country (and Western?), 60s music (Beatles, Stones), and “inspiration music”.

Wow. cover the bases my friend. I wonder how Mitt and Mike got in touch? Does Mike contribute to the campaign? Is Mitt a fan of TechCrunch? Will Obama be on TalkCrunch next?

Nov 05

Gmail Greasemonkey Macros: Back, and Gmail even has support!

Google, Tech with tags: , No Comments »

Gmail recently got a JavaScript facelift which has subtle new features. For example, calendar attachments, smart top notices when you are disconnected and how the interface is retrying, and more.

However, most Greasemonkey scripts broke. This is bad news for me, as without Mihai’s macros script I feel real pain as I try to vi my way around the interface.

The new Gmail interface did add more keyboard shortcuts such as:

  • shift + i: Mark as read
  • shift + u: Mark as unread
  • shift + 3: Move to trash (not actually new, but not many people seem to know this one)
  • shift + 8 and a, n, r, u, s, t: Select all, none, read, unread, starred, unread

But, this isn’t quite enough. Luckily, Mihai has stepped up and ported over his work.

He has ported over:

  • g: Go to label
  • l: Apply label
  • b: Remove label
  • e: Archive (regardless of view, unlike “y”)
  • d: Discard (mark as read and archive)

and added:

  • f: “Focus” the current view (only show unread, starred or inbox messages)

What is really cool is how Dan Pupius and the team have truly acknowledge the Greasemonkey folk and have given us hooks to help us monkey around with Gmail:

For those of you adventurous enough to look at the script source, you’ll notice that it uses a gmonkey object that is present on the window, which in turn gets you a gmail object with methods like getNavPaneElement() and getActiveViewType(). What this means is that the version of Gmail, in addition to being faster, also has semi-official support for Greasemonkey scripts. I’m pretty sure official docs for this API will be out soon, but in the meantime, feel free to look at the script and use a tool like Firebug to investigate the properties of the gmonkey and gmail objects and play around.

Thanks Mihai and Dan!

Nov 05

Android: The GPhone is a Robot, and it isn’t a phone

Google, Mobile, Open Source, Tech with tags: , , , , No Comments »

One of the fascinating effects of working for a company that so many love to keep a look on is that you get to be on the inside watching the thoughts of “analysts”, press, and random folk.

Watching the speculation around the “GPhone” has been fun. I particularly loved it when people would come up with suggestions such as:

  • “The GPhone will read ads into your ear before each call”
  • “The GPhone will have scrolling ads through the screen”

Riiiiight. That would go down really well wouldn’t it! I love how some think that Google has to literally put ads everywhere to make it worthwhile. Google needs the web to keep expanding and to have more people on more devices on it. If that happens, Google will do well.


So there isn’t a GPhone, but instead there is the Open Handset Alliance, or Android (for a more fun name), which is an Apache licensed open source stack for mobile. No more walled garden. This is pretty huge. I can’t wait for the SDK to get out in the open on November 12th. I wish we could have gotten more information out there today to be honest. There are a bunch of usual suspects that people who read my blog also read that are a major part of this, so I am really happy for them that this is getting out in the open!

What I am looking forward to

The applications of course. Smart location-aware services will be fun, but what I really wish I could get is for a mobile digital wallet so I don’t have to use cash/credit cards. I want to use my phone for this just as they are able to do in parts of Europe and Asia. With an open platform that anyone can build applications for, I know it is going to happen.

Here is the fluffy look at Android, but for developers, please think about what apps you would like to see on a phone, and come back on November 12th for the real announcement that we care about… the SDK itself so you can see what you can do!

Nov 04

Microsoft Sync Framework != Google Gears (even if the press wants to make it look that way)

Google, Microsoft with tags: , , 3 Comments »

I saw Microsoft’s Answer to Google Gears popup in my news feed, along with Mary Jo’s piece itself: Microsoft delivers first test build of its online-offline sync platform.

I was excited to read about the sync platform and see how it compares with the Database, LocalServer, and WorkerPool components that you get with Gears.

Instead I end up at the main documentation which makes the sync framework look nothing like Gears at all.

Instead you see the providers:

  • Sync Services for ADO.NET: Synchronization for ADO.NET enabled data sources
  • Sync Services for File Systems: Synchronization for files and folders
  • Sync Services for SSE: Synchronization for Simple Sharing Extensions (SSE) such as RSS and ATOM feeds

This looks interesting from a client-side perspective, and I want to take some time to look at the sync API itself and see what good stuff we could potentially use in Gears. Microsoft has had to do various sync protocols over the years, so I am sure there is a lot to learn, but this isn’t a Gears rival in its current form.

Nov 01

OpenSocial: It’s a programming model, not a federation, for now

Google, Tech with tags: , , , , , , 2 Comments »

To say it has been amazing to watch OpenSocial come together in recent months is an understatement. OpenSocial isn’t a product that Google came up with, it is a standard. At first you have to get a large number of groups at Google to agree to the core ideas, and then came the partners. Working with the partners has been a real trip too, and the speed of development as well as decision making is truly astounding to me.

I knew that the press will jump on this as “a Facebook killer” or “Facebook vs. Google”, but that is b.s. Applications that are social can be better and we have only seen the beginning. F8 has opened up a lot of eyes, and many companies are going to innovate in this space.

Take a look at what OpenSocial really is. Check out the APIs. Understand that this is the beginning of something. The first set of APIs mesh closely with Gears, as I talk about on the podcast with Patrick Chanazon. There are a few core services (people, storage, activity stream) that have GData endpoints that you can access, including the core JavaScript library which is how development is generally done at the moment. The libraries will look especially familiar to Google Gadget developers, as they are similar in philosophy. To me, this isn’t about some huge new platform, but rather a set of components that people can use. Gears is the same way. You have three key components (as of now): WorkerPool, Database, and LocalServer.

As a Java guy Patrick and I even joked about how it felt a little like some of the Java standards in that this isn’t about “write once run everywhere” but is rather “learn once use everywhere”. OpenSocial has the concept of “containers” where these APIs run. This is where container partners such as Bebo, Ning, Hi5, a ton of others, and, oh MySpace come in. opensocial.newDataRequest() everywhere.

The API is at a point where there is value to using it, and having one API that containers implement allows a developer to develop against it, knowing that they can move their app around. On the other hand, containers can add to the API to give specific information that you may want. For example, if your container has a lot of music information you can share that, and if you are building a music app, that could be a good thing. There is a core set of APIs, and containers will add their value on top, just as WebLogic did through deployment descriptors :)

Back to Facebook. I actually don’t think this is a bad thing for Facebook. It validates the market, and will grow the entire pie. Now even more developers will think about developing social applications. Facebook has a lot of users hanging out on that network, and they are the kind of users that are used to installing applications at this point, so I think that a lot of developers will write applications than run across FB and OpenSocial and beyond. Having MySpace along for the ride is big, and maybe Facebook could join in too and we could create a true standard that the community pushes forward.

It has probably stirred up the FB folk too. They have known that this is coming. Competition is obvious, and I hope that OpenSocial can help push Facebook into getting increasingly open too. They sometimes get a bad rap there, and we keep forgetting that they opened up F8 only *months* ago, and are still working out what it means to open up a platform like this. It will take time and there are a lot of hard problems. As great as collaboration is, there is also a PC vs. Mac debate here. Facebook can run like the wind in their own direction. This could end up being a fantastic product. On the other hand the group could also run quickly as they have been doing, and instead of being stuck in standards hell, they could produce something just a great, across many containers.

Should Facebook implement OpenSocial? I personally think so. Why?

  • It will be a lot easier to grow the developer pool on OpenSocial as you can just get new partners and hitwise grows
  • If people developer cool apps on top of OpenSocial, why wouldn’t you want them to run as applications in Facebook? It could also allow developers who aren’t fans of FBML to use different methods of building their applications.
  • Facebook can still innovate as a top notch container that has a huge amount of users
  • It would negate “us” versus “them” talk.

It is going to be an interesting ride, and I hope that people don’t get sucked into the press too much and really check things out. With everyone jumping on board, I wonder what is next. Can we get to the world that Brad talked about? Will we get a federated world? There are some hard problems to solve.


Nov 01

Google Code relaunches new redesign using jQuery, great video content, and more

Google, Tech with tags: , , , , 2 Comments »

I have seen the Google Code team churning away under the inspiration of DeWitt for some time to get to where we are today. Google Code launched a redesigned site that is so much cleaner and gives developers access to so much more. I love the fact that we both ate our own dogfood, and some open source variety. DeWitt puts it well here where he talks about how we have grown:

One of the most exciting things about the redesign is that everything you see here was built using technology and APIs that are available to everyone. The pages we’re serving don’t rely on any secret back-end tricks; the site is built on plain HTML, JavaScript and CSS, each using our public APIs. In fact, all of the techniques used on Google Code can be duplicated on your own site.

For example, the search results pages use a combination of the AJAX Search API and Custom Search Engines. The homepage gadgets use the AJAX Feed API and Google Reader feeds. The videos are powered by the YouTube API, the blogs by the Blogger API, the events powered by the Google Calendar API, the metrics by Google Analytics, the forums by Google Groups, etc., etc.. And we’re pleased to use jQuery, the wonderful open source JavaScript library (not ours, we’re just fans), to help power each page. Stay tuned — over the upcoming weeks we’ll offer detailed articles and tutorials about how we built the various parts of Google Code using open technologies.

Remember when you would go to a huge list of APIs? Now more takes you a great product page which gives you a lot of context. Search is a first class citizen (which makes sense… Google and all) and you now have great suggestions and a fantastic use of CSE. I can’t wait to show you more of the innards via interviews with the team…. now that they can have a bit of a breather.

The breather won’t last long though, as this just the beginning. When I look at the thoughts for the future I get really excited. Google Code got a lot better today, and will go to a new level soon.

I love launch days :)