Hey, Google: It's time to launch Gmail already!

Did you realize that Gmail is still in beta? Have you noticed that you still have a limited number Gmail invites? Huh?

You can call an application "beta" all you want, but when thousands of people (tens of thousands? hundreds of thousands?) depend on it on a daily basis, it's no longer beta. Gmail has been launched by consensus which means it's time for Google to tighten it up.

Rather than continuing to add features, I would much rather see Google bulletproof the features they already have and officially launch it so I can stop dealing with issues like these:

  • A surprising number of errors. Yesterday, the attachment scanner wasn't working. Today, clicking emails in my inbox is sometimes a NO-OP. I often have to click send several times to actually get an email to send. These are basic operations, no?
  • Since the recent update, only my Gmail contacts auto-complete in the "to" field. I don't know if this is a bug, or if this is designed to make me try to convince all my non-Gmail contacts to switch to Gmail, but it's extremely annoying, and it's not how it used to work.
  • If you have Gmail configured for multiple accounts, and your reply to a message that wasn't sent to your Gmail account, the new message always defaults to being from your Gmail account rather than the account the email was sent to.

None of this is to say that I don't like Gmail. Quite the contrary, in fact. I switched to Gmail after years of using Yahoo! Mail, and I've never looked back. And their new IMAP support was just what I needed to make getting mail on my iPhone bearable. However, whether Google likes it or not, Gmail is no longer in beta. So as we say in the software industry, lock it down, bake it, and ship it!

Update: Thanks, Soheil, for pointing out that Google has addressed the third point about the from address. That just made my day!

How web applications will get to the desktop

About a year and a half ago, I made a post entitled "Why web apps will move offline". All this time later, I've come to realize that we're in for much bigger and more interesting changes than just offline web apps.

It's inevitable that web applications will move offline, and we're already starting to see some examples (Google Reader using Google Gears, for instance), but I think that in the next year or two, we'll see something even more interesting: web apps that run in the browser with real desktop functionality. I'll call these "webtop" applications.

The first thing webtop applications need is secure local storage. Google Gears is addressing that with what I believe is a very interesting solution: a browser extension with SQLite embedded to give web application developers the ability to store data in a local database. Google Gears also has a local server bundled for caching assets offline, and a way to spawn additional threads in JavaScript to make web applications more responsive.

The next thing you need is desktop APIs, or maybe I should say OS APIs. We got our first glimpse of web applications using OS APIs at WWDC when Steve Jobs revealed how devleopers will extend the iPhone: web applications which will load into Safari. The iPhone version of Safari has APIs for things like making phone calls. These applications will run in some kind of a secure sandbox which will keep them isolated so that, in theory, they can't damange your phone or corrupt other applications.

So what's the next step? I see webtop applications moving forward in two different directions:

  1. I think there will be additional browser extensions which will add desktop functionality like drag and drop, system notifications, and maybe even limited file system access to browsers. I also think it's possible that Apple will add OS APIs to the desktop version of Safari, and now that Safari is available for Windows, webtop applications will be able to run cross-platform. (Apple has already done it on the iPhone -- why not on the desktop?)
  2. The Adobe Integrated Runtime (AIR) is another alternative (I'm a Product Manager on the AIR team at Adobe, but I'll try to be objective). AIR lets you build desktop applications using web application technologies like Flash, Flex, HTML, Ajax, etc. Rather than loading the applications from the web, however, you install them, more like traditional desktop applications, which gives them more desktop privelages than you would probably want to give something that was loaded from a web server. AIR applications bridge the gap between the desktop and the web by allowing easy access to remote services, and by providing a secure sandbox in which remote content can run in.

Not to be outdone, I'm sure Microsoft will join the party with additional Silverlight functionality which means some of the biggest software comapnies in the world (Google, Adobe, Apple, and Microsoft) will all be trying to bring web applciations to the desktop. Get ready for web to take a huge step forward.

A second look at Google Reader

The first time I tried Google Reader (which was when it was first introduced), I found it to be one of the more technically impressive JavaScript applications I've seen, as well as one of the least usable.  It seemed that the Google Reader team was far more concerned with pushing the boundaries of Ajax and JavaScript wizardry than they were with building a functional, practical tool.  The good news is that I think they came to the same conclusion, and completely redesigned it.  It's been some time now since they relaunched Google Reader, but I was so put off by their first version that I didn't get around to trying the new one until about a month ago.  I'm happy to report that I think Google Reader has grown into an uncommonly good application.

It's easy to get started using Google Reader, so rather than spending a lot of time reading my conclusions, I recommend that you go draw some of your own.  I would like to briefly point out some of what I consider to be the most compelling features, though:

  • It's fast.  I think speed has always been Google's secret sauce.  Speed is not a feature, as far as I'm concerned.  It's a necessity, and Google has proven that they are the master of responsive web applications.
  • It's optimized.  The UI, I mean.  Google Reader makes exceptionally good use of the browser window, and a lot of thought obviously went into how the user would interact with the application.  I'm able to take in a great deal of information at a glance, and easily uncover more information with a minimal number of clicks.
  • It's focused.  Although Google Read is actually pretty feature-rich (it supports tons of keyboard accelerators, you can add bookmarks to your toolbar which automatically navigate through your new posts, and you can read your feeds on a mobile device), the features stay out of your way until you want them.
  • Sharing.  My favorite feature of Google Reader is sharing.  When you share a post, it adds it to your shared list which basically auto-generates a link blog.  Very slick.  I've just started using this feature, so I haven't shared much content yet, but I think this concept has a lot of potential.  (If you're interested in what I find interesting, you can find my shared posts here.)

I've done a lot of work with RSS and blog aggregation over the last few years (I wrote the Adobe XML News Aggregator, News Brew, and the open source ActionScript 3 RSS/Atom libraries), so I feel like I have a special appreciation for when RSS aggregation is done well, and I think Google has certainly gotten it right. What do you think of Google Reader?  If you're not using it, what's your aggregator of choice?

eBay: the Internet's most successful bad idea

The first time I came across eBay, I was convinced it would never work. The idea of conducting anonymous financial transactions online seemed, on the best of days, insane. It'll be fraught with scams and spam, I told my friends. No matter how many guarantees they offer their customers, they won't be able to keep up with claims and disputes, both legitimate and fraudulent. Internet savvy con artists will find they can swindle dozens of victims simultaneously from the comfort of their own homes.

Now that billions of dollars find their way through eBay every year (yes, that's billions), I'll admit that I was wrong. I have a pretty good track record when in comes to predicting the success of new Internet technologies and businesses, but eBay was one that I missed. As it turns out, the good has outpaced the bad, and 11 years later, eBay continues to not only grow, but completely dominate the online auction space.

Only I wasn't completely wrong. If you use eBay long enough, it's pretty much a statistical certainty that you'll eventually have a bad experience. I've been using ebay for over seven years now, and last weekend, my luck finally ran out.

I've been on sabbatical from my Product Management position at Adobe for about three months now, so I decided to start getting rid of a few disused toys I have lying around in order to keep at least a trickle of cash coming in. Last week, I tried to convert a PSP bundle and an iPod Video into cash, so I listed them on eBay. Both sold on Sunday, and by Monday afternoon, I had learned that both buyers are deadbeats. The PSP auction ended with sniper taking it for $300, then like any good sniper, vanishing into his surroundings to never be seen or heard from again. The other auction ended with "Buy It Now" in about 30 minutes, and has been a much more interesting experience. The buyer had no feedback whatsoever, so I didn't have very high expectations, but I decided to give him the benefit of the doubt, and send an invoice anyway. Later that day, I received the following email:

Hello, how is you family and business? i just want to infrom u that i have made out my payment. once u get the comfirmation email from paypal pls get the iterm shiped.

Moments later, I received the expected forged PayPal email showing that I had been paid in full, and instructing me to send the iPod to, of all places, Nigeria.

Now I've been using eBay since 1999, and I've generally had pretty good luck, however an experience like this is enough to make you want defect to craigslist. Here's my current situation:

Continue reading "eBay: the Internet's most successful bad idea" »

How to use more than one computer

If you use more than one computer on a regular basis, here are five tips to make your life easier:

  1. Consider replacing desktop apps with web apps. Some desktop apps can't be replaced (especially on Macs), but some can (especially on Windows). If you're willing to sacrifice a few features and little performance, check out Writely (word processing), meebo (instant messaging), Num Sum (spreadsheets), Backpack (to-dos, notes, photos, files), Bloglines (RSS aggregation), and Yahoo! Mail or Gmail. What do we still need? A good calendar application (actually, personal information management in general), HTML WYSIWYG editor, and a good cross-platform, streaming music solution.
  2. Move your bookmarks online. Use del.icio.us, the Firefox bookmark synchronizer plugin (needs to be updated for 1.5), or get a .Mac account to synchronize your bookmarks across Macs (Safari only).
  3. Move your files online. I'm actually not sure the best way to do this. I'm using a Mac these days, so .Mac is one solution. I tried using Xdrive when I was using Windows more often, and it was a complete disaster. Omnidrive seems to have potential, but I've never used it, and it's still in beta.
  4. Move your music online with something like Rhapsody. Rhapsody is the first service like this I've tried, and it was great. Worth every penny. Until I started using a Mac again. Their Mac support doesn't really even deserve to be called such. I don't know of a good cross-platform solution except to just cary around a high-capacity MP3 player in your bag. If all you use are Macs, and you are usually on the same network, you can always just share your iTunes playlists.
  5. Work off a USB flash drive. If you need a lot of capacity, use a high-capacity compact flash card and a PCMCIA adapter, especially if you need your computer to be more easily mobile (a PCMCIA adapter sits flush with a laptop case while a USB flash drive obviously needs to be ejected and removed before your computer can be packed up.) For sensitive information that you're afraid could get lost, create a small encrypted partition on the flash drive. I carry a Swissbit Victorinox USB flash drive everywhere I go. You can even run several applications directly off of flash drives like Firefox and Thunderbird.

Any other good suggestions?

Bookmarklets for meebo

Update: meebo now has a very nice single sign-on implementation. These bookmarklets no longer work, and thankfully, are no longer necessary. Thanks, meebo.

I'm a big fan of meebo. I think it's creative, technically impressive, and very handy. As I experiment with moving as much of my desktop to the web as I can, meebo is a very important component since IM is almost as important to me as email. The only problem with meebo is that it's not as easy to use as my two other favorite IM clients (Adium on OS X and Gaim on Windows), mostly because it does not automatically log me in. Frankly, I'm actually glad I don't get automatically logged in since that would probably mean that meebo would have to store my passwords. I fully trust meebo's intentions, but I'm not sure I want to give anyone my AIM, ICQ, MSN, Yahoo!, and Google Talk credentials.

My solution was to write some bookmarklets that log in for me. The bookmarklets contain my usernames and passwords which essentially mean they are stored in my browser rather than on anyone's server, so they are as safe as my workstation is secure. For a little added security, the passwords in the bookmarklets are Base64 encoded which does not actually encrypt them, but it would protect them from the nefarious "quick-glance" attack.

There are step-by-step instructions below, but in general, the way these bookmarklets work is that you drag them into your bookmark bar (or otherwise bookmark the links), edit them so that they contain your usernames and passwords, go to meebo.com, and click on the bookmarklets to automatically drop your credentials into the appropriate fields. The bookmarklets will work whether you are logging in for the first time on the page with the four login forms, or whether you are already logged in to one or more systems.

Continue reading "Bookmarklets for meebo" »

Why web apps will move offline

Have you noticed all the downtime lately? Del.icio.us had serious database problems, Bloglines was moving to a new data center, and TypePad had problems with their storage system. Even MXNA, the Adobe aggregator I wrote and maintain, was down for a couple hours Saturday morning while I was forced by database errors to upgrade MySQL. Moving all your applications and data online certainly seems like a good idea until either the service you need isn't there, or your own Internet connection is down. Yesterday, I accumulated about half a dozen URLs that I needed to add to del.icio.us, but couldn't, and I was forced to use Google Reader while Bloglines was on vacation. Of course it could have been worse. It could have been Writely or Num Sum that was down, and I might have needed access an important document or spreadsheet.

As more and more applications move to the web, and as we all come to depend more and more on being able to access those applications, two things are going to need to happen:

Continue reading "Why web apps will move offline" »

Playing with the Yahoo! Mail beta

I finally got on the new Yahoo! Mail beta after applying three times and even asking some friends at Yahoo! to put in a good word for me. You see, I'm a big Yahoo! Mail fan. Back when Gmail launched, I created a Gmail account like everyone else, and I still use Gmail sometimes, but I decided to stick with Yahoo! Mail as my primary email solution. I've been using Yahoo! Mail for several years now, and I've always been happy with their feature set, and I always knew someday they'd release a revolutionary new interface.

Continue reading "Playing with the Yahoo! Mail beta" »