Date post: | 15-May-2015 |
Category: |
Technology |
Upload: | satoshi-kikuchi |
View: | 1,918 times |
Download: | 0 times |
THE STATE OF THE WEB2008
So we have a brand-new web browser!
1
...which was introduced to the world via comic book...
2
...but there’s an important thing to realize: Scott McCloud and the Googleplex notwithstanding, this new browser isn’t actually a new browser. It’s an existing browser...
3
Safari. Chrome is a WebKit browser, so in terms of rendering and standards support and all the things we’re used to caring about, it’s Safari.
(There’s a lot more to it than just WebKit, but I’ll get back to that later.)
It’s an interesting choice: Gecko would seem to be a more natural cross-platform choice. I suspect the reason is Mobile Safari and the work being done by the WebKit team to advance standards support.
Speaking of standards support, Internet Explorer...
4
...is passing the Acid 2 test in IE8 internal builds.
Meantime, Opera and WebKit ran a very close horse race earlier this year to pass...
5
...Acid 3. I have some concerns over how Acid 3 was assembled and the challenge met, but it’s still an interesting benchmark.
Standards support is advancing-- slowly, but still advancing. There’s much slower advancement in the realm of standards creation, as was thrown into sharp relief recently when Ian Hickson gave an interview where he said HTML5 would be finally wrapped up in...
6
2022?!
Seriously.
But what he was really saying was that the absolute last word would be written on HTML5 by then, NOT that it would be 2022 before we could use HTML5. In fact, the point at which HTML5 can be used is more like...
7
2008
...right now. There are already features of HTML5 present in browsers. For example...
8
...canvas. Here we see two demos of vector graphics being rendered via canvas, which was first introduced a couple of years ago by the WebKit team and quickly adopted by Gecko and Opera.
With canvas you can do some pretty cute stuff...
9
...like little drawing tools, for one. This is being done by drawing shapes on the canvas through some fairly simple declarative methods through JavaScript.
Aw, ears.
It’s certainly possible to go beyond early 21st-century recreations of the core features of MacPaint, of course. For example...
10
...you can do fairly decent “3D” effects; here I’m wandering through a small map. This is all my input, not a prescripted path. Notice also the “radar” in the corner there.
11
And then there’s typeface.js, the recent canvas hack to support arbitrary fonts, much the same way sIFR did with Flash. ...and both of which are replacements for @font-face and other font-downloading mechanisms that never took hold.
The real point being this is all being done natively in the browser, accomplished with JavaScript and canvas. No plugins, just built-in features.
Because all this is dependent on JavaScript, which is really reaching maturity as a programming language, then it’s obviously important to have the best JS performance possible. And currently leading the pack is...
12
...this lovely fellow. This is SquirrelFish.
13
14
1.83x
22.5x
6.26x
6.46x
Then there’s Tracemonkey, the improved version of Spidermonkey, Gecko JS engine.
15
More Tracemonkey stats.
16
So what’s becoming important is the engine inside the browser-- the guts of the user agent, which directly impacts the user experience, especially as the use of JavaScript increases (thanks to AJAX, for example).
Engines actually have a long and storied history in supporting JS libraries.
17
IE7 is one of the earliest libraries, transparently extending IE6’s CSS and XHTML support via JavaScript.
18
Sizzle is apparently similar to IE7 in its transparency; focused on extending selector support for ALL browsers to the furthest corners of CSS3.
19
Sizzle is an outgrowth of jQuery.
This is a very popular framework for JS-based application development.
20
Here’s typeface.js again, with examples of its three available fonts (you can convert fonts you own into typeface files).
21
Bluff can be used to add very simple graphing to browsers.
22
Raphael is more of a generic vector-drawing library, again done with JS.
23
North 280 created 280 Slides, which is liek Keynote except it’s entirely web-based.
And to do this, they created Objective-J, where they actually recreated large chunks of Objective-C in JavaScript. Think about that.
24
In a like vein, there’s also processing.js, a port of the programming language Processing to JS.
(Processing is very popular with data artists.)
This all summarizes what may be the most important trend on the web right now, which is the extension of browser capabilities using JavaScript and standards support as the base.
They’re like plugins, except there’s nothing to install.
These extensions, in turn, depend on (and are enabled by) the advances in browser’s JavaScript engines.
25
Which brings us back to Chrome.
Chrome uses WebKit, it’s true, but they’ve done a lot to rework the way JavaScript is handled, and the way individual browser sessions are structured in memory. Their stated intent is to enhance JS and browser instances so that web-application needs are far better supported.
They’re doing what the other browser teams are doing in their JS improvement efforts, but in a somewhat different way. But the different ways may well converge and give us another giant leap in JS performance.
This isn’t actually new to Chrome. They’re just making a bigger deal of it.
Furthermore, the name “Chrome” is interesting because it implies that the browser is really just a front end to something else-- which is true.
And in Chrome’s case, the web as we know it is just one “something else”. There’s room for other stuff in there. RIA environments like Microsoft Silverlight and Adobe Air could live side by side with the Web environment (WebKit). And they could put more than one web environment in there.
26
It will be interesting to see how Android, which shipped recently, progresses.
27
...especially as compared to the iPhone
There is a great deal to be discovered in terms of the best way to handle mobile web and application experiences, and this is absolutely crucial because the next expansion of web usage is not on the desktop, but in the handset...
28
...not just for what we might think of as the usual “developed world” mobile user, but the billions of people who will have their first and possibly only web experience in a mobile device.
29
This is why Tim Berners-Lee recently announced the creation of the W3F, whose goal is to advance web availability (web accessibility) to everyone.
In many ways this is the first step toward the culmination of TBL’s original vision, which was to have information and communication accessible to everyone, everywhere, no matter what device they use to reach it and each other.
So as I see it the state of the web is continued advancement, both technical and social, and that’s as it should be, because this is a medium whose very essence is change.
And while change can be good or bad, it is constant, so any medium which embraces change will always be at an advantage.
30
THE STATE OF THE WEB2008
Thank you very much for your time and attention.
31