Friday, February 24, 2012

Friday Roundup - News from Across the Chrome and HTML5 Ecosystem

Google launches new branding and redesigned site

"Our goal with the Google Developers site is to bring together all developer resources, programs, events, tools, and community into one place. Soon, all our information will be on this new Google Developers site, and Google Code will return to its roots as an open source project hosting service. As part of this project, today we’re introducing a new identity, complete with a new look, to unify all of our developer offerings. Our new logo says Google Developers, and that's intentional: it reflects our focus on you, not just the tools we provide."
Google Developers logo

Chrome Dev Tools get a CSS Color Picker

"Another 1,642 changes landed in the repositories last week, 958 for Chromium and 684 for WebKit. Highlights include a color picker for Web Inspector and early functionality for the calc() function. Brian Grinstead’s color picker is now enabled by default in WebKit nightlies, following some slight polishing. To aid the undo and redo system, an event has been added to monitor CSS modifications"

Apple Games Converge With Android’s by Using HTML 5 Code

"The goal of HTML 5, which is gradually making its way into all modern Internet browsers, including ones on mobile devices, is to make sites look and feel just like applications downloaded directly to a phone or desktop. Until recently, that was more of a promise than a reality. That’s changing in part because of the steamroller effect of Apple’s iPad and iPhone, which don’t run Flash content."

Getting Started with the HTML5 Track Element

"The track element provides a simple, standardized way to add subtitles, captions, screen reader descriptions and chapters to video and audio. Tracks can also be used for other kinds of timed metadata. The source data for each track element is a text file made up of a list of timed cues, and cues can include data in formats such as JSON or CSV. This is extremely powerful, enabling deep linking and media navigation via text search, for example, or DOM manipulation and other behaviour synchronised with media playback."

Why HTML5 makes justifying native applications more difficult

"One of the biggest shifts in development in the last few years has been the move to Web applications. For a long time, developers resisted this move, and some of the reasons why were good. For example, I said that for a long time the Web model wasn't so great--the UI capabilities weren't there without a ton of work, and the ability to do "real work" was lacking. Some of the reasons were not so good, and mostly boiled down to a refusal to learn something new. I have recently become very bullish on Web applications, and I now highly recommend that you consider them over desktop applications in all but a very few sets of circumstances."

Friday, February 17, 2012

Friday Roundup - News from Across the Chrome and HTML5 Ecosystem

Dartium - Tech Preview of Chrome with Integrated Dart
" we’re making Mac and Linux binaries available that integrate the Dart VM into Chromium
This technology preview allows you to run your Dart programs directly on the Dart VM in Chromium and avoid a separate compilation step. Over time, these programs will take advantage of the VM’s faster performance and lower startup latency."
Chrome Web Store Categories Updated
"The new structure of the store will improve discoverability for apps. For example, users searching for a photo album app can now easily drill down to the “Photos” subcategory level and track down the app they are looking for. At the same time, apps assigned to a subcategory show up in the category page as well giving them wider exposure; an app in "Photos" will appear on both the "Photos" page and the "Entertainment" page."
HTML5Rocks Updated with New Look, Web App Field Guide
"Yesterday, the Chrome Developer Relations team launched several new resources, including the Field Guide to Web Applications. It’s a new resource that is designed to help web developers create great web apps. We’ve heard loud and clear from users that they want more and better web apps, and we hope this new field guide will enable you to create those web apps."
Google Chrome will see greater expansion on mobile devices
"There are roughly 200 million Chrome users worldwide, and while Chrome is primarily a desktop experience as part of Google's dual strategy (Chrome and Android), it's starting to make its way on to mobile devices.Last week, Google released a beta version of Chrome for Android for mobile devices running Android 4.0 (Ice Cream Sandwich)."
Chrome Could Exceed 50% Market Share by End of 2012
"In December 2011, Chrome 15 became the most popular browser in the world, beating Internet Explorer 8, but if you combine all IE versions, Microsoft still holds the number 1 spot....If our prediction comes true, Chrome will by May 2012 be neck and neck with IE, and by June, it will have taken the lead. Note that this would be right on track with our prediction from last year."

Thursday, February 16, 2012

Google, Three Months In

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:

  1. 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,
  2. 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,
  3. 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.

Wednesday, February 8, 2012

New Year, New Job, New Blog

Now that we've passed both the Western and Chinese Lunar New Years, I thought it would be a good idea to establish a new place for me to talk about the things I'm doing here at Google. I hope you find the information I talk about here useful, and please feel free to send me feedback and ideas for further discussion. Welcome!