Chromium Blog
News and developments from the open source browser project
A sneak peek at the Native Client SDK
Wednesday, May 12, 2010
Today, we’re happy to make available a developer preview of the Native Client SDK – an important first step in making Native Client more accessible as a tool for developing real web applications.
When we released the research version of Native Client a year ago, we offered a snapshot of our source tree that developers could download and tinker with, but the download was big and cumbersome to use. The Native Client SDK preview, in contrast, includes just the basics you need to get started writing an app in minutes: a GCC-based compiler for creating x86-32 or x86-64 binaries from C or C++ source code, ports of popular open source projects like zlib, Lua, and libjpeg, and a few samples that will help you get you started developing with the
NPAPI Pepper Extensions
. Taken together, the SDK lets you write C/C++ code that works seamlessly in Chromium and gives you access to powerful APIs to build your web app.
To get started with the SDK preview, grab a copy of the download at
code.google.com/p/nativeclient-sdk
. You’ll also need a
recent build of Chromium
started with the --enable-nacl command-line flag to test the samples and your apps. Because the SDK relies on NPAPI Pepper extensions that are currently only available in Chromium, the SDK won’t work with the Native Client browser plug-ins.
We’ll be updating the SDK rapidly in the next few months, so download a copy, develop some cool apps,
share them
with the community and
send us your feedback
! If you build useful libraries in the process, please also consider submitting a patch to the
SDK packages directory
– chances are, what’s been useful to you will be useful to others. Finally, if you’re attending Google I/O, come to our
Beyond JavaScript
session, or meet the team at the Developer Sandbox.
Posted by David Springer, Senior Software Engineer
The future of O3D
Friday, May 7, 2010
We
launched
the O3D API about a year ago to start a discussion within the web community about establishing a new standard for 3D graphics on the web. Since then, we’ve also helped develop
WebGL
, a 3D graphics API based on OpenGL ES 2.0 that has gradually emerged as a standard, and is supported by other browser and hardware vendors like Mozilla, Apple and Opera.
At Google, we’re deeply committed to implementing and advancing standards, so as of today, the O3D project is changing direction, evolving from its current plug-in implementation into a JavaScript library that runs on top of WebGL. Users and developers will still be able to download the O3D plug-in and source code for at least one year, but other than a maintenance release, we plan to stop developing O3D as a plug-in and focus on improving WebGL and O3D as a JavaScript library.
We did not take this decision lightly. In initial discussions we had about WebGL, we were concerned that JavaScript would be too slow to drive a low-level API like OpenGL and we were convinced that a higher level approach like the O3D scene graph would yield better results. We were also cognizant of the lack of installed OpenGL drivers on many Windows machines, and that this could hamper WebGL’s adoption.
Since then, JavaScript has become a lot faster. We've been very impressed by the demos that developers have created with WebGL, and with the
ANGLE
project, we believe that Chromium will be able to run WebGL content on Windows computers without having to rely on installed OpenGL drivers.
The JavaScript implementation of O3D is still in its infancy, but you can find a copy of it on the
O3D project site
and see it running some of the O3D samples from a WebGL enabled browser (alas, no
Beach Demo
yet). Because browsers lack some requisite functionality like compressed asset loading, not all the features of O3D can be implemented purely in JavaScript. We plan to work to give the browser this functionality, and all capabilities necessary for delivering high-quality 3D content.
We’d like to thank the developers who have contributed to O3D by delivering valuable feedback, submitting changes to the plugin and developing applications. To help you convert your application to the new WebGL implementation of O3D, we will keep our
discussion group
open where our engineering team will answer your questions and provide you with technical advice. For those of you concerned about support for Internet Explorer, we’ll recommend using
Google Chrome Frame
once it supports WebGL, and hope to see IE implement WebGL natively someday. We hope you will continue working with us and the rest of the WebGL community on moving 3D on the web forward.
Posted by Matt Papakipos, Engineering Director, and Vangelis Kokkevis, Software Engineer
Globetrotting with Google Chrome Extensions and HTML5
Thursday, May 6, 2010
The Google Chrome Developer Relations team has been working hard to spread the word about Google Chrome’s extensions platform and support for HTML5. Besides speaking at developer events around Silicon Valley, we’ve made it a priority to connect with developers in other locations in and out of the United States.
Following
our trips last year
to the Czech Republic, Russia, and Argentina, we spent a good chunk of the past few months on the road meeting with hundreds of developers and
Google Technology User Groups
.
For starters, Brian Kennish spoke about
advanced extensions
at Google DevFest in Tokyo, Japan and Google’s South by Southwest Interactive booth in Austin, Texas. You can check out a
video
of Brian’s DevFest session.
Next, Ernest Delgado, Jeremy Orlow, and Arne Roomann-Kurrik presented extensions and HTML5 to developers in London, England. Both presentations were actually implemented using HTML5 — the
extensions deck as an extension
and the
HTML5 deck as a webpage
.
Ernest and Arne went on to deliver this content to developers in Spain, Germany, and the Czech Republic. Here’s a
video
of the talk they gave to the Brno, Czech Republic Google User Group.
We love to help developers get their “hands dirty” with code too, so the team organized several hackathons during these trips. Brian led a
hackathon in Sydney, Australia
and
another in Austin
, where developers built lots of great extensions. Meanwhile, Ernest and Arne led students through building extensions at universities in Madrid and Brno.
We’re keen to continue connecting with developer communities around the world. If we haven’t visited a location near you yet, we hope the resources above come in handy. And for those of you who want the thrill of a hackathon experience, our friends at Twilio recently launched an
online extensions hackathon
with awesome prizes. We look forward to trying out what you create.
Keep an eye on this blog for future announcements and event plans. We won’t be traveling for the next couple weeks as we prepare new content for
Google I/O
, but perhaps some of you will be making trips of your own to see us there!
Posted by Arne Roomann-Kurrik and Brian Kennish, Developer Advocates
Learning from the experience of four extensions developers
Monday, May 3, 2010
Since our launch last December, all of us on the Google Chrome Extensions team have been excited to see a steady stream of new developers trying out our platform. Besides reading our
documentation
,
Twitter account
and our
blog posts
, a great way for an interested developer to get up to speed has been to participate in the extensions community. For example, in our
discussion group
, experienced developers often provide advice and answer questions for those working on their first extensions.
We wanted to take this community knowledge sharing process a step further. We reached out to our friends at
Aviary
,
Zemanta
,
Web of Trust
and
Glue
and had them discuss their experiences with Chrome extensions on camera. In the videos below, you’ll learn some of the innovative approaches developers from these companies used to create their extensions. You’ll also hear about the technical challenges they faced, the techniques they used to make their extensions more popular, and some of their upcoming plans:
We’re sure that these short videos did not answer all the questions you have, so if you’re attending the
Google I/O
conference on May 19th, make sure to stop by the sandbox area and meet the Zemanta, Aviary, Web of Trust and Glue teams in person. They’ll be happy to share the benefit of their experiences with anyone looking to write a Google Chrome extension. If you can’t attend, make sure to get involved with the
community
and we’ll get you on your way to making an excellent Google Chrome extension.
Posted by Arne Roomann-Kurrik, Developer Advocate and Christos Apartoglou, Product Marketing Manager
A New Approach to Printing
Thursday, April 15, 2010
When we
demonstrated Google Chrome OS
last Fall, a few folks asked us how it would handle printing. Today we wanted to give developers a little more insight into our approach for printing from Chrome OS and other web-connected platforms.
While the emergence of cloud and mobile computing has provided users with access to information and personal documents from virtually any device, today’s printers still require installing drivers which makes printing impossible from most of these new devices. Developing and maintaining print subsystems for every combination of hardware and operating system-- from desktops to netbooks to mobile devices -- simply isn't feasible.
Since in Google Chrome OS all applications are web apps, we wanted to design a printing experience that would enable web apps to give users the full printing capabilities that native apps have today. Using the one component all major devices and operating systems have in common-- access to the cloud-- today we're introducing some preliminary designs for a project called Google Cloud Print, a service that enables any application (web, desktop, or mobile) on any device to print to any printer.
Rather than rely on the local operating system (or drivers) to print, apps can use Google Cloud Print to submit and manage print jobs. Google Cloud Print will then be responsible for sending the print job to the appropriate printer with the particular options the user selected, and returning the job status to the app.
Google Cloud Print is still under development, but today we are making
code
and
documentation
public as part of the open-source Chromium and Chromium OS projects. While we are still in the early days of this project, we want to be as transparent as possible about all aspects of our design and engage the community in identifying the right set of open standards to make cloud-based printing ubiquitous. You can view our design docs and outlines
here
and we hope you stay tuned for updates in the coming months.
Posted by Mike Jazayeri, Group Product Manager
Technically speaking, what makes Google Chrome fast? (Part II)
Wednesday, April 14, 2010
If you’ve dug around the many graphs that are displayed when you type “about:histograms” into Chrome’s Omnibox, you’ll notice that we’re still obsessed about measuring, benchmarking, and improving speed and performance on the browser.
Previously, we
published a series of video interviews
on several key engineering pieces that go into designing a fast, responsive modern browser, namely
DNS pre-resolution
, the
V8 JavaScript engine
, and
DOM bindings
.
In this next installment of technical interviews on Chrome’s speed, we’ll dive into two more areas that contribute to Chrome’s speed: UI responsiveness and WebKit.
WebKit
with James Robinson
1. What is WebKit?
2. How does WebKit contribute to Chrome's speed?
3. Tell us more about current and future work on WebKit and Chrome
4. Tell us more about new WebKit APIs that can further improve performance
5. What are the challenges of developing a new API for the web?
6. Tell us more about optimizing performance hotspots in WebKit, such as strings and repainting
UI responsiveness
with Peter Kasting
1. What is UI responsiveness?
2. What are examples of UI responsiveness in Chrome?
3. How does multi-threading improve UI responsiveness?
4. Tell us about how the backing store cache improves UI responsiveness?
5. How do you benchmark UI responsiveness?
6. How does Chrome's simplicity contribute to a responsive UI experience?
7. What are future plans to further improve UI responsiveness?
8. What motivates you to work on UI responsiveness?
Posted by Min Li Chan, Product Marketing Manager
Calling all Students! Work on Chromium during Google Summer of Code
Tuesday, April 6, 2010
This Friday, April 9th at 19:00 UTC is the deadline for students to apply to this year's
Google Summer of Code
.
The Chromium project has been accepted as a mentoring organization for this awesome program. This means that you have the opportunity to work on exciting new features for Chromium over the summer, experience real-world browser development with a Chromium team mentor, and, of course, receive a stipend.
To participate, first pick an idea off our
handy ideas list
or come up with your own. Next, discuss it with a prospective mentor on our
mailing list
or
irc channel
. Finally, when you’re confident you have a solid idea, write up a proposal on how you'd implement it in the allotted time frame (3 months) and submit it at the official
gsoc website
. In evaluating proposals, we'll be looking for familiarity with the codebase and lots of intelligent detail. The more detail you can provide, the better!
Once again,
proposals are due
Friday. We're looking forward to seeing great project proposals and expanding our community!
Posted by Jeremy Moskovich, Software Engineer
Labels
$200K
1
10th birthday
4
abusive ads
1
abusive notifications
2
accessibility
3
ad blockers
1
ad blocking
2
advanced capabilities
1
android
2
anti abuse
1
anti-deception
1
background periodic sync
1
badging
1
benchmarks
1
beta
83
better ads standards
1
billing
1
birthday
4
blink
2
browser
2
browser interoperability
1
bundles
1
capabilities
6
capable web
1
cds
1
cds18
2
cds2018
1
chrome
35
chrome 81
1
chrome 83
2
chrome 84
2
chrome ads
1
chrome apps
5
Chrome dev
1
chrome dev summit
1
chrome dev summit 2018
1
chrome dev summit 2019
1
chrome developer
1
Chrome Developer Center
1
chrome developer summit
1
chrome devtools
1
Chrome extension
1
chrome extensions
3
Chrome Frame
1
Chrome lite
1
Chrome on Android
2
chrome on ios
1
Chrome on Mac
1
Chrome OS
1
chrome privacy
4
chrome releases
1
chrome security
10
chrome web store
32
chromedevtools
1
chromeframe
3
chromeos
4
chromeos.dev
1
chromium
9
cloud print
1
coalition
1
coalition for better ads
1
contact picker
1
content indexing
1
cookies
1
core web vitals
2
csrf
1
css
1
cumulative layout shift
1
custom tabs
1
dart
8
dashboard
1
Data Saver
3
Data saver desktop extension
1
day 2
1
deceptive installation
1
declarative net request api
1
design
2
developer dashboard
1
Developer Program Policy
2
developer website
1
devtools
13
digital event
1
discoverability
1
DNS-over-HTTPS
4
DoH
4
emoji
1
emscriptem
1
enterprise
1
extensions
27
Fast badging
1
faster web
1
features
1
feedback
2
field data
1
first input delay
1
Follow
1
fonts
1
form controls
1
frameworks
1
fugu
2
fund
1
funding
1
gdd
1
google earth
1
google event
1
google io 2019
1
google web developer
1
googlechrome
12
harmful ads
1
html5
11
HTTP/3
1
HTTPS
4
iframes
1
images
1
incognito
1
insecure forms
1
intent to explain
1
ios
1
ios Chrome
1
issue tracker
3
jank
1
javascript
5
lab data
1
labelling
1
largest contentful paint
1
launch
1
lazy-loading
1
lighthouse
2
linux
2
Lite Mode
2
Lite pages
1
loading interventions
1
loading optimizations
1
lock icon
1
long-tail
1
mac
1
manifest v3
2
metrics
2
microsoft edge
1
mixed forms
1
mobile
2
na
1
native client
8
native file system
1
New Features
5
notifications
1
octane
1
open web
4
origin trials
2
pagespeed insights
1
pagespeedinsights
1
passwords
1
payment handler
1
payment request
1
payments
2
performance
20
performance tools
1
permission UI
1
permissions
1
play store
1
portals
3
prefetching
1
privacy
2
privacy sandbox
4
private prefetch proxy
1
profile guided optimization
1
progressive web apps
2
Project Strobe
1
protection
1
pwa
1
QUIC
1
quieter permissions
1
releases
3
removals
1
rlz
1
root program
1
safe browsing
2
Secure DNS
2
security
36
site isolation
1
slow loading
1
sms receiver
1
spam policy
1
spdy
2
spectre
1
speed
4
ssl
2
store listing
1
strobe
2
subscription pages
1
suspicious site reporter extension
1
TCP
1
the fast and the curious
23
TLS
1
tools
1
tracing
1
transparency
1
trusted web activities
1
twa
2
user agent string
1
user data policy
1
v8
6
video
2
wasm
1
web
1
web apps
1
web assembly
2
web developers
1
web intents
1
web packaging
1
web payments
1
web platform
1
web request api
1
web vitals
1
web.dev
1
web.dev live
1
webapi
1
webassembly
1
webaudio
3
webgl
7
webkit
5
WebM
1
webmaster
1
webp
5
webrtc
6
websockets
5
webtiming
1
writable-files
1
yerba beuna center for the arts
1
Archive
2024
Aug
Jun
May
Apr
Mar
Feb
2023
Nov
Oct
Sep
Aug
Jun
May
Apr
Feb
2022
Dec
Sep
Aug
Jun
May
Apr
Mar
Feb
Jan
2021
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2020
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2019
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2018
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2017
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2016
Dec
Nov
Oct
Sep
Aug
Jun
May
Apr
Mar
Feb
Jan
2015
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2014
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2013
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2012
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2011
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2010
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2009
Dec
Nov
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2008
Dec
Nov
Oct
Sep
Feed
Follow @ChromiumDev
Give us feedback in our
Product Forums
.