google chrome
New Asynchronous APIs for Dart
The latest Dart SDK now provides a cohesive API for asynchronous programming. Some of the new or improved classes in this release include Stream, a sequence of asynchronous events, and Future, a single asynchronous result.
The Stream class is new and delivers on a common developer request for a more unified approach to events. An event can be any Dart object, which makes Streams very flexible. Consumers of a Stream can listen for events, and streams can be piped, transformed, filtered, and more. We are working to apply them across HTML, I/O, isolates, and more. Here is an example of using streams with the HTML library, treating clicks as a stream of events:
query('#button').onClick.listen((e) => submitForm());
Here is an example of streaming the contents of a file. Notice how streams can be transformed.
Data Compression in Chrome Beta for Android
Today’s Chrome Beta for Android update brings your saved passwords and autofill entries from your desktop to your phone and tablet. This release also introduces an experimental data compression feature that will yield substantial bandwidth savings. This feature is powered by a connection to a SPDY proxy running on Google’s servers, paired with content optimization performed by our open-source PageSpeed libraries, specifically tuned for Chrome Beta on Android.
Programming's not for you? How about thinking? Be empowered.
There seems to be two extremes of this whole "Learn to Code" movement which has come to a crescendo with the "What most schools don't teach" video from Code.org.
People seem to fall on the side of "Everyone should learn to code! Teach the babies Common Lisp!" or "Not everyone can be a programmer! Relax!"
Faster web pages thanks to better compression
Today, we released the Zopfli Compression Algorithm, a C library that compresses existing web content 3–8% more densely.
Zopfli is compatible with the normal decompression mechanisms already present in web browsers and uses a much slower but more exhaustive compression algorithm than, for example, the zlib library. This can result in smaller data sizes and faster web pages.
To learn more about Zopfli, visit our site.
Building Web Apps with ASP.NET Jump Start - 8 Hours of FREE Training Videos
Last week Jon Galloway, Damian Edwards and myself (with a raspy throat) were up in Redmond at the Microsoft Campus filming at Microsoft Virtual Academy.
They've got a whole studio there so we spent the whole day presenting LIVE. There were several thousand folks watching live and interacting with
The Internet's Best Placeholder Image Sites for Web Development
So you're making a site but you haven't got the images ready. You'll need placeholders, but things are changing quick and you don't want to make a bunch of images you'll eventually throw away.
Enter placeholder image sites. The de factor standard for these sites is that you call a URL similar to sitename.com/width/height and you'll get an image back. Sometimes you can add text, or add a g for gray scale. You'd be surprised how much more compelling it makes basic layouts.
For example, gets you this:
Here's a collection of the web's best sites for dynamic placeholder images.
On the track with Chrome Super Sync Sports
Earlier today we launched Chrome Super Sync Sports. It’s an interactive web game that enables up to four friends to compete in running, swimming and cycling events on a shared computer screen, using their smartphones or tablets as game controllers.
Chrome Super Sync Sports was built with the latest browser technologies:
Being a Remote Worker Sucks - Long Live the Remote Worker
I've been a 100% remote worker at Microsoft for just about 5 years now. My last two jobs were both 7 year long gigs, so this isn't the longest I've worked somewhere, but clocking in at a half-decade, it's the longest I've worked remotely. Given that I haven't yet been fired, it's fair to say that I'm a pretty good remote worker.
I've been writing about Being a Remote Worker on the blog here for a long time.
Chrome 26 Beta: Template Element & Unprefixed CSS Transitions
Today’s Chrome Beta channel release includes a slew of awesome new features to help you make your web apps more powerful and beautiful. Unless otherwise noted, all updates apply to Chrome for Windows, Mac, Linux and Android.
Element
The element is part of Web Components, a set of cutting edge standards that will make it possible to build reusable widgets for the web. The element allows you to store HTML fragments that you intend to use for any reason at any time during the lifetime of your page, but that aren’t ready or shouldn’t be used during page load. Here’s an illustrative code snippet from the HTML5 Rocks article:
RELEASED - Download Internet Explorer 10 for Windows 7
Just about a month ago the IEBlog published a post to allow business to manage the update schedule for Internet Explorer 10. It says "this approach lets organizations control when they are ready to deploy IE10 to their Windows 7 users." I took from this that IE10 on Windows 7 was imminent.
Today it's out. You can download IE10 for Windows 7 now. The details are over at the IE blog.
Hanselman's Newsletter of Wonderful Things: February 4th, 2013
I have a "whenever I get around to doing it" Newsletter of Wonderful Things. Why a newsletter? I dunno. It seems more personal somehow. Fight me.
Still, it's one more site to check and it's a hassle for some of you Dear Readers. Therefore, I will still do the newsletter, but I'll post each newsletter to the blog some weeks later.
You can view all the previous newsletters here. You can sign up here Newsletter of Wonderful Things or just wait and get them later on the blog, whichhopefully you have subscribed to.
Hi Interfriends,
Chrome app launcher developer preview
Today, on the Chrome dev channel for Windows, you can try the Chrome app launcher--a dedicated home for your apps which makes them easy to open outside the browser. This is the same experience as the app launcher on Chromebooks, but for other platforms. It’s available on Windows now, and will be coming to Mac OS X and Linux soon.
You’ll need to install a Chrome packaged app, such as IRC client CIRC or Text Drive, in order to try out the Chrome app launcher. Chrome packaged apps deliver a native-like experience across multiple platforms with the security properties of a web page. Just like web apps, packaged apps are written in HTML, JavaScript, and CSS. But packaged apps launch outside the browser, work offline by default, and have access to powerful APIs not available to web apps.
Essentials: Business in a Box
We spend a lot of time online sharping our skills and looking at varies ways to improve our business as well as our clients. When we stumble over something that we feel will really help our clients business we like to share those findings. Today we shared on our Facebook page the Business in a [...]
You're just another carriage return line feed in the wall

I love getting pull requests on GitHub. It's such a lovely gift when someone wants to contribute their code to my code. However, it seems there are three kinds of pull requests that I get.
- Awesome, appreciated and wanted.
- Not so good, thanks for trying, but perhaps another time.
- THE WALL OF PINK
I'd like to talk about The Wall of Pink. This is a pull request that is possibly useful, possibly awesome, but I'll never know because 672 lines (GitHub tells me) changed because they used CRs and I used LFs or I used CRLF and they used LF, or I used...well, you get the idea.
There is definitely a problem here. But what's the problem? Well, it's kind of like endianness, except we're still talking about it in 2013.
Free up memory in Google Chrome with The Great Suspender
Last year we ran a comparison of the memory usage of popular web browsers and discovered that Chrome used more memory than Firefox, Opera or Internet Explorer despite its leaner and slimmer image that it has. While that may not be an issue at all, if you have lots of memory installed, it may be an issue for users who run systems where memory is always maxed out.
Chrome users who do not want to switch to another browser to reduce the memory consumption of their web browser can use tricks to reduce it. One option is for instance to restart the browser regularly which resets the memory it uses. While that may be an option, it is not really practicable. A far better solution is to make use of extensions that help you reduce the memory consumption.
The Great Suspender is a free extension for the web browser that can suspend tabs manually or automatically after a set period of time.
Here is how it works. The extension adds an icon to the browser’s address bar that you can click on to suspend the active tab, all tabs, or to reload all tabs. Suspending in this regard means that the extension saves information about web pages before they are replaced with a placeholder that uses less memory and lets you reload the page when the need arises. A click on the information reloads the page in the browser.
Using WebP to Improve Speed
Since speed is critical for a good experience when using the web, at Google we’re always exploring ways to make the web faster. As it turns out, one of the biggest bang-for-the-buck ways to do that is by replacing JPEG and PNG images with WebP. WebP offers significantly better compression than these legacy formats (around 35% better in most cases), and when you consider that over 60% of typical page sizes are images, the benefits can be substantial. WebP translates directly into less bandwidth consumption, decreased latency, faster page loads, better battery consumption on mobile, and overall happier users.
Case in point: the Chrome Web Store uses many large promotional images and tiles on its home page, making it a very heavyweight page. The team was eager to find ways to improve its speed, without sacrificing the user experience or giving up image quality. WebP to the rescue!
Updates to manifest V1 Chrome Web Store items to be blocked in March
Last year, Chrome introduced manifest V2 to Apps and Extension developers, which brings a variety of security and API improvements such as a default Content Security Policy. As of Chrome 18, manifest V1 was officially deprecated. At the time, we published our manifest version support schedule to give developers transparency and insight into our plans for migrating to the new version.
Today, we’re announcing a slight update to that schedule, to let developers know that they have until Monday, March 4, 2013 to make updates to their existing manifest V1-based items. After that date, the Chrome Web Store will block all updates to products based on manifest V1 unless the update includes switching it to manifest V2.
Introducing “Find Your Way to Oz”, a new Chrome Experiment
Earlier today we unveiled Find Your Way To Oz, a new Chrome Experiment inspired by the upcoming feature film Oz The Great and Powerful. Developed by UNIT9, this experiment brings together Disney’s unique storytelling tradition and the power of the web platform, allowing users to interact with the web in a completely new way.
The desktop version of “Find Your Way To Oz” uses many of the open web’s more advanced features:
- Immersive Graphics: The experiment uses WebGL for the main 3D environment, CSS3 features such as CSS Transitions for various visual embellishments, and GLSL shaders for the tornado’s ominous look and feel.
- Rich Audio: As the user explores the experiment, the 3D sound dynamically adapts thanks to the Web Audio API. The same API powers the experiment’s music composing section.
- Camera-based interactions: Through WebRTC’s getUserMedia API, users can become circus characters or record their own mini-movies.
The experiment’s mobile web version also uses cutting-edge web technologies. These include graphics features such as accelerated 3D transforms and sprite sheets as well as mobile hardware features like camera, multi-touch, gyroscope and accelerometer. Together they create an experience that can normally only be found in native apps.
To learn more about how this experiment was built, read our technical case study and join us for a Google Developers Live event on February 11th at 11 a.m. GMT where we’ll be talking to the team behind the project. Alternatively, use Chrome’s developer tools to see how the experiment works on your own, perhaps finding in the process your own path to the yellow brick road.
Hanselman's Newsletter of Wonderful Things: January 7th, 2013
I have a "whenever I get around to doing it" Newsletter of Wonderful Things. Why a newsletter? I dunno. It seems more personal somehow. Fight me.
Still, it's one more site to check and it's a hassle for some of you Dear Readers. Therefore, I will still do the newsletter, but I'll post each newsletter to the blog some weeks later.
You can view all the previous newsletters here. You can sign up here Newsletter of Wonderful Things or just wait and get them later on the blog, which hopefully you have subscribed to.
Hi Interfriends,
Hello Firefox, this is Chrome calling!
For the first time, Chrome and Firefox can “talk” to each other via WebRTC. WebRTC is a new set of technologies that brings clear crisp voice, sharp high-definition (HD) video and low-delay communication to the web browser.
From the very beginning, this joint WebRTC effort was embraced by the open web community, including engineers from the Chrome and Firefox teams. The common goal was to help developers offer rich, secure communications, integrated directly into their web applications.
In order to succeed, a web-based communications platform needs to work across browsers. Thanks to the work and participation of the W3C and IETF communities in developing the platform, Chrome and Firefox can now communicate by using standard technologies such as the Opus and VP8 codecs for audio and video, DTLS-SRTP for encryption, and ICE for networking.
To try this yourself, you’ll need desktop Chrome 25 Beta and Firefox Nightly for Desktop. In Firefox, you'll need to go to about:config and set the media.peerconnection.enabled pref to "true”. Then head over to the WebRTC demo site and start calling.
For developers looking to include this functionality in their own apps, there are a few places you can go to get more information. You can look at the source code of the AppRTC demo, a library that makes writing cross-browser WebRTC apps a snap, and a document detailing some of the minor differences between browsers.
You can read more from Mozilla’s hacks blog here and view our first “Official” call at the video below:


