February 14th, Valentine's
Day, marked the three month point for me here at Google. I thought I
would take a moment to share my observations and experiences now that
I've been here a little while on what it's like to work here and what
it is we're doing.
I joined Google to work on Chrome –
the browser, the Chrome Web Store, the Chrome platform, ChromeOS /
Chromebooks, etc. One of Google's core missions is to move the web forward, and Chrome is a very important part of that mission. Over
the last three months, I've talked to dozens of partners about
building and monetizing their Web applications for the Chrome Web
Store, built a couple of apps and extensions myself (more on that in
future posts), worked with exciting new HTML5 features that change
the very nature of what you can do with a browser, and helped
continue to plan and build out new ways of delivering rich
experiences using Web technologies.
Here are some of the things I've
noticed and learned along the way here at Google so far:
1. Chrome has become much more than a browser
Chrome has really come a very long way
since I first started using it a few years ago. Not only has it
become the
world's second most used browser, but it's really
redefined how I do my work at a fundamental level. During a typical
work day, I
rarely find myself having to go outside of Chrome
to get my work done. I create, edit, and share documents and
spreadsheets with co-workers, organize my daily to-do lists, conduct
and manage research, videoconference and chat with colleagues and
partners, listen and respond to voicemail, and much more – all from
within Chrome. I don't even have a desk phone here at Google.
Seriously.
I just don't need one.
What has made all this possible is that
Chrome, in all its forms – along with the Web itself – has become
an extremely powerful platform.
The underlying technologies like HTML5, the V8 engine, Native Client
(NaCl), etc. have enabled apps that just a few years ago (heck, even
a few months ago)
weren't possible. You even write Chrome extensions and applications
using the same HTML5 and JavaScript that you would use to create a
site, and they just work across OSes. All you need to do is visit the
Chrome Web Store to see what the result has been – there's been a
veritable explosion of creativity in the kinds of things you can now
use a browser for.
2. The short ship cycle has become a very virtuous one
I have to admit that a few years ago I
was initially skeptical of the whole 6-week release cycle and
auto-update policy that Chrome follows, but seeing it in action has
erased all of my doubts.
The short development cycle enables new
technologies to be introduced and integrated in a way that is
predictable and usable for developers, starting with the Canary
build, then the dev channel, then into the stable build. Developers
can try these features out, get them integrated into their apps, and
get those new features into the hands of users faster than ever
before, thanks to the auto-update.
These apps can then use real-time
analytics and performance measuring feedback to help developers
fine-tune their code and find and fix errors faster than ever before,
as well as deliver new features with a higher precision of knowledge
of how they'll actually be used. This results in far more stable,
consistent, and feature-rich applications for customers, and the
cycle then repeats.
When I first started working as a
software engineer 20 years ago (wow!) on shrink-wrapped packaged
software, products and update patches were delivered on floppies
directly to end users, who (hopefully) manually installed them. Some
did, some didn't, so you never had a good idea how consistent your
product codebase was out in the wild. It was also a huge bottleneck
on getting updates out to customers – since shipping floppies (and
later CDs) was expensive, you needed to gather as many updates as you
could into a batch before sending them out to minimize costs.
Short ship cycles, along with
auto-update and distribution over the Web, have largely eliminated
these kinds of bottlenecks. The amount of time lapse between the
introduction of new features into Chrome and when they get into
users' hands has been greatly compressed.
3. Web developers are true developers
in every sense of the word
I was one of the original Dreamweaver
developers at Macromedia back in the 90s, and back in the early days of the Web I began to
notice that the term “developers” got applied to people who used
“real” languages like C, C++ and Java. Coders that used other
languages, like JavaScript and VBScript were derisively referred to
as “script kiddies” - in other words, people who made cute little
animations like image rollovers and did form validation
logic, but not much else.
Fast forward to today, and I don't hear
that term used much anymore. There are many reasons for this, but
some of the big ones in my estimation are:
- The sheer scale of what is now
possible in a modern Web application requires a lot of traditional
engineering discipline knowledge and computer science theory,
- JavaScript itself has come a long
way since its humble beginnings, and even though there are still some
shortcomings, it has evolved into a very powerful language,
- Scripting languages have been
embraced by industry titans like Google who have created some pretty
impressive apps.
As a result, JavaScript developers are
demanding many of the same tools and platform capabilities that more
traditional developers have had for many years now. Chrome strives to
provide these developers with the tools and platform they need to
build the next and future generations of Web apps.
The last three months here at Google
have been absolutely exhilarating – it's great to see the
excitement around Chrome, Web apps, and the Web store. In the short time I've ben here so far, I've been amazed at the level of effort the Chrome team puts out to create a world-class browser and platform. I feel
honored and privileged to be part of such a great team, and I'm really
looking forward to helping Chrome move the web forward and redefining
what's possible with Web applications.