Gundrota: about HTML 5 standards,
about evolution.
But in reality,
I'm not sure we would've had this luxury
had it not been for Mozilla's and the community's
phenomenal work over ten years.
There was a time when people wondered,
uh, if the--that the odds were against you guys
with, uh, competitors that had the benefit
of preinstallation.
But you guys really proved-- you proved--
that you could build a community of hundreds of millions
of loyal consumers who chose Firefox
and you could build a better web.
So for all that you did, for what you're doing now,
and for what you will do, thank you.
Sullivan: Thanks. Thanks, Vic.
Gundrota: Thank you.
Sullivan: Well, I want to thank Vic
for that introduction.
Um, not for myself,
but on behalf of the whole Mozilla community
around the world that's made that possible.
Um, it's an amazing, vibrant, crazy organization
that it's fun to be a part of.
Um, I want to do three things today, um, real briefly.
I want to explain why Mozilla's here at I/O.
I want to talk about what's coming
in Firefox for developers,
and I want to give you a brief demo
of geolocation support in the browser.
So...
browser competition is heating up again.
That's--that's no secret to anybody here.
Um, and we think this is very important.
As users live more and more of their lives online,
it's very important that we continue
to improve the user experience, to make the browser faster,
and to protect user security and privacy online.
And we see what happens
when there isn't any competition in the marketplace.
Things stagnate. There aren't new features.
The web does not get better.
Now, since we entered the market with Firefox
and other browsers have followed--
these modern browsers that we're talking about today--
that's improved the user experience.
So it's very important to have that vibrant competition
in the marketplace.
And we're glad that these other--
other folks are producing browsers.
Now, it's also important to note that each of our organizations
have very different missions and motivations
for why we work on web browsers.
But today, we put all that aside
to focus on what we share in common.
So we share, I think,
three important things in common.
One, we believe strongly
that the web is the development platform
for our time.
More than any single operating system,
the web is going to drive the innovation
and the new services that are going to do amazing things
for people all around the world.
We also share a belief that we need to keep bringing
new capabilities to you as developers
so you can create these things.
And that means that we need to move quickly.
But also we need to make sure that we don't fragment the web.
There will be no worse outcome
than through this renewed competition
to have a fragmentation of the web platform.
You should be able to focus on--on building your house
and not worrying
about the cross-browser plumbing.
So we need to work together
to--to keep that standards held together.
And that's a challenge. And it's--it's the web.
So it's messy, right?
So we don't always agree on what the perfect API is
to expose a new piece of functionality.
We don't even always agree on the process
to run some experiments and then decide
which the best API should be.
But I strongly believe that a-a very, very good API
for something that's in five browsers
is better than a perfect API that's in no browsers
or one browser.
So we need to work hard together with Google
and the other browser vendors to hold that center.
And that's very important.
I want to talk a little bit about what's coming
in Firefox 3.5 for developers.
Now Firefox 3.0 is the most successful browser
that we've ever built.
Um, we have about 300 million users worldwide.
We just recently had our one billionth
add-on download.
Um, so Firefox 3 has been phenomenally successful.
But--but we believe Firefox 3.5 is better.
We believe it's much better.
Uh, JavaScript performance,
which is the underlying piece
that dr--that--that enables all of this innovation
in these apps that we're--
that we're working hard to build--
JavaScript performance is three times faster
in 3.5 than it was in 3.0.
And ten times faster than it was in 2.0.
So we've been working very hard to increase the speed
of JavaScript execution.
Um, you heard a little bit about how canvas works
and how video works.
And what I think is important here
is getting things like video
out of, uh, out of plug-in prison
so that we can script them.
And when you combine things like video and canvas
as--as Vic demo'ed,
you start to see the power of being able to use things
through--through web APIs
and be able to manipulate them
and mash them up in new ways.
And that's really a common theme
for some of this new functionality
is it's the web.
You should be able to touch anything,
hack anything, and mash up anything.
Um, we're adding support for geolocation.
And I'll talk about that more in a minute.
We're also--we also have support for offline storage
so that you can begin to write apps that work better
when they're disconnected.
That's--that's very important for mobile situations
and--and other use cases.
And we're also adding support for Web Workers
so that you can write scripts that run pretty intensively
without hosing your browser, a very important feature.
And all this stuff is-- is, um, you can--
you can look at the link up there and go there
and it'll take you to a description
of how to use these new APIs
and exactly what the level of support is in Firefox 3.5.
Um, I want to talk a little bit now
about geolocation support in the browser.
So in Firefox 3.5,
there's support for, um, the geolocation API.
And I'm going to give you a demo of one of the apps,
um, that's going to use this.
So be believe that there are use cases
in--in many, many, um, spheres
for geolocation support.
Um, we--we think it's going to change how maps,
local search, directions, all sorts of social networking--
anywhere where you want to tag something
with your location,
we believe it's going to change the nature
of how all of those applications work.
One particular application that's going to take advantage
of Firefox's support for geolocation is Google Maps.
So Google Maps, shortly, will be adding a new button
to the user interface called "my location."
And if I click this button, I get a prompt.
And I get request for-- if I would like to share
my location with that web site.
I'm going to go ahead and click share--
I'm going to come back to this
'cause I want to talk about this a little bit.
But I'm going to go ahead and share my location.
Couldn't be determined. Let's try that again.
Okay.
[applause]
Murphy's Law of demos.
Um, so--so I wanted to explain what's happened there.
So, um, what happened when I clicked that button
was the browser gathered up the signal strengths
of all the nearby Wi-Fi hotspots
and transformed that into a latitude and longitude.
If it was a cell phone,
I could've used Wi-Fi
or I could've used cell tower IDs
and the signal strength of those that are nearby.
Um, I could even use GPS if it's local to--to the device.
So there's a number of ways a back-end provider,
uh, can enable that functionality.
And because it's Firefox, user choice is important.
So users will be able to download
all sorts of add-ons that are going to provide
that back-end location functionality.
And web developers can enable their applications
with just a couple lines of JavaScript code.
It's dead simple to use the API.
I want to come back to one thing real briefly though,
which is--which is how a user opts in.
I think this is very important for features like this
that begin to blend services with client-side functionality.
Now, when I click the button, I get this mode list info bar.
Now, don't try to write down the URL.
It's not going to work.
It's behind some Google firewall.
Uh, don't try this at home yet.
Um, so--but I get a-- I get information
about what domain name is requesting my location.
I can click "learn more" if I want to understand
how the service works
and how the privacy policies work.
And if I just ignore this, nothing happens.
If I close it, nothing happens.
If I hit don't share--
and I can remember that not sharing
so that I don't get prompted in the future--
any of those things
and my location is never accessed
by the browser.
It's only if I explicitly opt in.
And that has to happen on a per hostname basis
for this to work.
So we're trying to err on the side
of--of the user being in control.
Even though it might include an extra click here and there,
we think it's important to err on that side.
So, um, that's it for the demo.
We look forward to see the--the great things
you're going to do with geolocation
and with all of these features.
So thanks, Vic.
Gundrota: Thank you. Thank you.
[applause]
Yeah, we love those guys and can't wait to see
what they're going to do next.
Uh, geolocation broadly available
in modern browsers.
Uh, before we move on,
I should show you one more geolocation demo.
Uh, Jay mentioned the importance of using geolocation
in mobile scenarios.
We've got exactly one of those demos to show you.
What you're looking at now is Latitude.
Latitude is an application Google released
several months ago for phones like the BlackBerry,
or Windows Mobile or Nokia phones.
What you're seeing for the first time
is Latitude on the iPhone.
And there's even one more surprise.
It's Latitude on the iPhone in the browser.
And the reason this is possible
is because in the next generation
of Apple's operating system,
they too have implemented the W3C geolocation API.
So we're able to build apps that were formerly impossible,
now possible right on the web, uh, uh, on the platform.
You--you'll see this app shortly after Apple releases,
uh, OS 3.0.
Okay, let's go back to slides.
And by the way, that's another evidence
of Google making the bet on HTML 5
and really try to build those flagship apps
so we can move the web forward.
Now let's move on and talk about App Cache and Database.