Thursday, September 4, 2008

Google Chrome: Brilliant Maneuver

The more I think about Google Chrome, the more impressed I become. Not just with the technology, but also with the tactics and the strategy (or what I can only presume is the strategy). I've found myself using web applications more and more and loving the advantage they have in being available anywhere (many of which are Google applications). However, I also like the spit and polish on desktop applications like iTunes, iPhoto, Pages, etc. I also liked the performance of those desktop applications, their ability to work with or without an internet connection, etc. What I really want is the best of both classes of application delivered as one.

So, let's see what Google Chrome brings to the table:

1. Speed
The Javascript VM in Chrome (called "V8") is a bytecode-less direct machine code translating VM. What all that means is that it's a fast, modern VM. Many times faster that the Javascript VMs found in other browsers in fact. The performance of this VM is also likely to be competitive with other object systems such as the Cocoa environment on Mac OSX. (did I mention that several longtime Smalltalk VM developers had a heavy hand in it?)

2. Robustness and Security
The browser uses process isolation to make sure that faulty code on one web page doesn't take down another. It also makes sure that it's physically impossible for one web page to access the state of another, thus adding an extra measure of security.

3. Application Shortcuts
An application shortcut is an icon on you desktop (or wherever) that takes you straight to a website without all the usual web browser "chrome" (the address bar, forward and back buttons, etc). This makes web based applications easily launched as if they were normal applications and with a normal application's framing.

4. Dynamic Language Support
Ruby, Python, Perl would all likely stand to benefit from the performance of the V8 VM. Among many other languages. These languages should start showing up for V8 in very short order. This means that the Chrome VM should be able to reach well beyond applications based on Javascript/HTML in the future. Imagine if the language support itself could be delivered over the web just as HTML and Javascript sources are today. Imagine just a little further, if you will, a future where none other than the virtual machine could be bootstrapped over the web providing not just support for an endless variety of languages, but *optimal* support for an endless variety of languages.

But let's not get too carried away and turn our attention back to the nearer term.

Here we have a platform that can deliver web based apps that have a desktop application's look and feel, the speed of a desktop application, the sand-boxing of a normal desktop application, the zero installation delivery of a web application, and is cross platform. Oh, and it's all open source.

Now, let's not forget that Google has a lot invested in web applications. For everything from spreadsheets to email, to photo management and groupware, Google has something. What Google needs is for these apps to work offline and feel every bit as natural as native apps. They need this to compete with the desktop applications delivered by Microsoft, Apple and scores of others. With Chrome, they now have the platform to make this happen (and it just happens to also be a great web browser too). Need to integrate with the platform's clipboard, no problem. Need to cache some data on the client for off line usage, gotcha covered.

Adobe, Apple, Microsoft, are you listening? Wasn't the .Net CLR supposed to provide this capability? Isn't Silverlight supposed to be the silver bullet for web based apps? Wasn't Adobe Air supposed to be the cross platform software delivery and development environment of the future? Aren't those MobileMe applications supposed to work and feel just like regular desktop applications?

As I said, brilliant maneuver.

Wednesday, September 5, 2007

My iPhone impression after two months of use

The iPhone is one of those rare products that actually does live up to the hype. I've had mine since the weekend they were introduced and I'm still loving it. My previous phone was a Treo and there is simply no comparison. The keyboard was frustrating at first. The learning curve is anywhere from 3 days to a week. But, once you get it, it's great. I was willing to compromise on that to get the additional screen real estate, but I no longer consider it any sort of compromise. I estimate that I type roughly twice as fast on my iPhone than I ever did on my Treo. The keyboard is going to frustrate any first time user, but don't let that initial impression scare you away. It gets better with time (much better).

Of the non phone apps, probably the #1 most often used app is Safari (the web browser). I find it quite handy even in my own home. I read the news in the morning on it with my coffee. I read articles in the evening while lying on the couch. And this despite having several computers in the house that are always on and ready to use. I never got that kind of utility out of the crippled browser on my Treo.

Email is similarly crucial. It took some tweaking to get GMail to only forward a subset of the email I receive on a daily basis (the subset that is non spam and non mailing list). Now that I've got it setup the way I like, it's terrific. Again, far better than my Treo (which I eventually stopped using for email). But, I suspect Blackberry might still have an edge here (but only a very slim one).

Google maps is indispensible when out and about. I find myself using it more and more every day. It's great if you happen to know the name of some store or restaurant and you know approximately where it is. Just pop into maps, search, click the push pin and instantly get directions or place a call. It's one of the things that amazes everyone I show it to. It's not that there aren't other phones out there that could do similar things, it's that the iPhone can do it with such efficiency and grace.

I use the iPod and photo apps heavily too (it's fantastic for sharing photos with friends). The iPod is also fantastic. I frequently use the world clock for setting alarms and timers. I sync my calendar and make appointements. I check stocks, the weather, and use the calculator from time to time. I snap photos with it when I don't have my usual camera handy. YouTube is a fun distraction every now and again. The Notes app is my least used app (though I do use it on occassion to jot down a reminder or list of some kind).

And, the great thing is that Apple appears eager to continue rolling out improvements in the software. That's something that Palm could have done with the Treo, but never really did. Other phones also just seem to push out the bare minimum in bug fixes and what not.

My one desire is for Apple to open up the iPhone to some form of third party application development. Right now, there is a lot of incredible stuff being done via Safari, but there are limits to that form of application delivery. I believe Apple will do that, I just believe they will work very hard to get it right and make a viable marketplace for those third party application developers.

Well, there just isn't much negative to say. Oh, the range on the Apple bluetooth headset isn't very good. Be prepared to return it if that's an issue for you. Otherwise, it's a nicely designed headset that's nicely integrated with the iPhone.

Friday, August 10, 2007

Copy and Paste on the iPhone

This is a hilarious demo of how copy and paste could work on an iPhone: http://vimeo.com/266383. It's actually a pretty good approach. Watch it all the way to the end to fully appreciate the humor.

The Apple Phone Show

The Apple Phone Show (http://applephoneshow.com) is a great blog and podcast for all you iPhone owners (and those considering an iPhone). It's a great resource for all things iPhone related, including tips, tricks, news and wild speculation!

Wednesday, July 11, 2007

iPhone email for GMail users

By now, you've no doubt heard all about the iPhone's push email capabilities via the Yahoo! email service. You may even have given it a spin by now if you're an iPhone owner. However, if you're like me, you were probably somewhat underwhelmed. You also probably noticed that this "push email" didn't seem all that pushy. I'm not certain whether it may have been early hiccups in the system, but email only seemed to get pushed if I was currently in the email app. If I returned to the home screen, emails didn't seem to flow into the phone in a push fashion.

In addition, the iPhone seems to lack any effective means of dealing with large volumes of email and spam. It basically has no ability to manage emails in bulk. And forget about more recent email management innovations such as keyword tagging. So, we're left with having to find a solution to this dilemma by external means.

I also prefer to use an email address on my own domain so that I can freely switch email providers without having to notify all of my contacts of a change in my email address. I forward my emails from this address to my GMail account. I also have GMail configured to use this address on my outbound emails.

My first attempt at a solution was to forward my emails to a Yahoo! account in addition a to my GMail account. However, I quickly realized that any emails I sent from my iPhone using the Yahoo! account not only had my Yahoo! address on them, but they also had Yahoo! advertising at the bottom. Unforgivable. I could find no way around these issues. So, I gave up on using Yahoo! mail altogether.

Fortunately, these issues can be overcome to make the iPhone a truly pleasurable email experience. First, I decided that I would use the POP account that I get with my home ISP (Comcast). This gives me the ability to use my own email address for both inbound and outbound email. I configured a POP account on the iPhone and set it to check for email every 15 minutes (since the so called push email didn't really seem to work anyway, and given the good battery life I seem to be getting, this didn't seem to be a huge loss).

Next, I needed to get email into this account. Rather than forward emails directly from my domain hosting provider, I created a GMail filter that forwards only emails that contain my email address. GMail is now filtering out spam for me and delivering only emails that explicityly reference my email address. I don't get emails from my mailing list subscriptions (unless they happen to cc me), but I find that to be a good thing. Only the emails that are likely to need to be acted upon in a timely manner reach my iPhone, which is exactly what I want.

The only downside to this approach is that emails aren't marked as having been read in GMail when viewed on the iPhone, but I find that to be a relatively minor annoyance. On the balance, this is a very workable solution. Happy emailing on your iPhone!

Friday, June 15, 2007

Safari on Windows? Here's why.

First, it encourages broader support for Safari among websites.  That alone is reason enough, but I think there's more to it; much more.  The other reason for Safari on Windows is that it brings with it many of the OSX APIs to Windows.

Why bring OSX APIs to Windows?  It's simple.  More and more of the most useful applications today are collaborative and social in nature.  Think about iChat.  Here is one application on OSX that is a nice spin on the idea of instant messaging and will be vastly improved on Leopard.  However, to benefit from many of the features in iChat, the other party needs to be running iChat.  That's a deal breaker since the majority of users are running Windows.  With the OSX APIs available on Windows (perhaps even a full Cocoa environment), porting iChat will be trivial for Apple.  Porting any app that has a heavy social or collaborative aspect to it will be trivial (and essential) for Apple.

And then what?  Well, Apple could expose that portability layer to third party developers.  They could even make it possible for independent software developers to leverage an iTunes like platform for software distribution in much the same way that iTunes is a music distribution platform today.  That would be huge for the small software developer that must overcome many barriers to get people to visit their websites and trust them with their credit cards.

Wednesday, May 30, 2007

RIP Palm (and other UMPC devices)

Well, everyone is bashing Palm today over the Foleo and with good reason. The problem with a device like the Foleo is that it doesn't have the utility of a general purpose laptop, nor does it have the portability of a smart phone. In a nutshell, it's the worst of both worlds. For the large majority of people, a laptop serves quite well as your primary computing device with decent portability, while a smart phone can make a good auxiliary computing device with ultra-portability. For the same reasons, I believe so called "UMPC" (ultra mobile personal computer) devices will never enjoy broad appeal. The best a UMPC could hope for is to serve as a laptop replacement for people that don't have a need to use a computer very often or very long and have some need for the portability it offers where a smart phone would not suffice. That sounds like a very niche market to me.