Tuesday, April 30, 2013

WWW Project Turns 20

WWW Logo. Twenty years ago, on April 30 1993, CERN announced the World Wide Web project. While the web existed before then, this was the first time that HTML's specification was opened up to the general public, allowing anyone to learn how to mark up documents.

Eight days and twenty years ago, Mosaic 1.0 was released (you might recall I wrote up a little tribute). In the span of about a week, the first generally-available web browser and the first publicly-available HTML specification were both announced, all culminating in this very blog you are reading now (amiright?).

In honor of this, CERN has re-posted its web pages explaining the project.

CERN has created a companion site about the restoration of this first web site, where you can contribute and stay on top of ongoing progress to restore more of those early days of the CERN web environment. There is also an interview with Robert Cailliau as he reflects on the past 20 years. The BBC provides some coverage on its site, including some clips from its 20-year-old coverage. .net Magazine has an interview with Mark Boulton who has helped CERN with getting this site up.

I thought that it might be interesting to see those CERN pages using the web browser released at about the same time. Sadly, due to Mosaic 1.0 not supporting host headers, and due to the CERN site being overloaded today, I was forced to spider the pages and surf from local copies. Other than the address bar, however, these screen captures still load the same HTML.

NOTE: I plan to also show screen captures in a modern browser and a mobile browser, along with links to these pages so you can see them for yourself, but with the CERN site timing out, I'll have to add them later. There is a mirror available, however.

Screen Captures in Mosaic 1.0

You may click/tap/select each image to see a full-size version (800 × 700).

The World Wide Web project.
Technical Details.
HyperText Mark-up Language
Tags used in HTML
Hypertext Markup Language
Future plans for HTML

Screen Captures in Firefox 20

You may click/tap/select each image to see a full-size version (800 × 700).

The World Wide Web project.
Technical Details.
HyperText Mark-up Language
Tags used in HTML
Hypertext Markup Language
Future plans for HTML

Screen Captures in Chrome on a Nexus 7 tablet

You may click/tap/select each image to see a full-size version (800 × 1280).

The World Wide Web project.
Technical Details.
HyperText Mark-up Language
Tags used in HTML
Hypertext Markup Language
Future plans for HTML

Monday, April 22, 2013

NCSA Mosaic Turns 20

Mosaic logo. 20 years ago today (yesterday), NCSA Mosaic 1.0 was released (read Marc Andreesson's announcement on www-talk). Mosaic was the browser that opened the web to the masses, making the web more interesting for people like me.

As a college student who used Usenet, FTP sites, struggled with WAIS, Archie and Veronica, and had fallen in love with the ease of Gopher, the web was still just out of arm's reach for me. With Mosaic came the ability to see pictures directly in the page content — a whole new world for someone used to accessing the internet via only dumb terminals up to that point.

I had forgotten all about it until I saw this tweet from @mattur:

With this post, I'm not bringing anything new to the Mosaic story (at least no more than you get from this three-year-old Wired article on Mosaic), but instead I am taking time to remember that while it may seem like an eternity in web years, it still feels like yesterday that I was downloading Mosaic and trying the web seemingly for the first time.

You can also re-live at least part of this experience.

Download a Copy of Mosaic 1.0

Back when I became an ecommerce developer, less than 4 years after the release of Mosaic, I started an archive of browsers so that I could test the applications I was building in more than just the client's favorite browser. As time wore on and my collection grew, I created the evolt.org browser archive so that everyone could have access to any browser.

If you want to run NCSA Mosaic 1.0 and relive the early days of the web (even though few pages will render at all), just grab a copy of Mosaic 1.0 from the archive and fire it up. It turns out you don't need Windows 3.1 to run the Windows version, it will run just fine (mostly) under Windows XP, or in my case a Windows XP virtual machine.

Mosaic Screen Shots

NCSA is kind enough to offer a screen shot of Mosaic 1.0 for Windows so that you can see how awesome it was:

Screen shot of Mosaic 1.0 from the NCSA web site.

Sadly, that page on the NCSA site doesn't exist anymore. Visiting it in Mosaic 1.0 today gives you a funny-looking page. The browser uses the Mosaic icon for missing images and the full text of the Google Analytics tracking code is displayed (so they'll never know I was here):

Screen shot of Mosaic 1.0 today while surfing the NCSA site.

Even spending a few minutes in Mosaic, unable to surf most sites, will give you some insight into the early days of the web. There was no text styling. If you as a site owner wanted to enforce fonts or colored text, you couldn't. However, as a user of Mosaic, it was very easy to specify the font styles for different block-level elements within a font menu.

Eagle-eyed readers might notice a "Header 7" option:

Note the ability to change font settings for block-level elements.


If you find this kind of stuff interesting, the W3C has a Web History Community Group where you can help out with the challenge of archiving an incredibly fluid medium, and preserving a little bit of history in the process.

Yep, somebody made a page that tracks Mosaic logo sightings.

As John Allsopp points out, nobody responded to the original email announcing Mosaic 1.0, perhaps setting the tone for browser discussions for years to come:

Update: April 30, 2013

Just over a week later (from the launch of Mosaic and from the this post), CERN has re-posted its 20-year-old WWW Project site which helped provide everyone with an understanding of HTML so they could make their own sites. I have a write up, with screen captures in Mosaic 1.0, on my blog.

Thursday, April 4, 2013

Chrome: Blink and You Missed the News

The new Blink logo. It's old news by this Thursday morning, but in case you had not heard, Google is forking WebKit to make its own rendering engine, Blink. Opera will be using the Blink fork of WebKit as its rendering engine.

A combination of people who are far smarter, far more well connected, and in timezones that allow them to write about this sooner, along with all the Twitter chatter, has already hashed out the major details. As such, I will link to them below. I would be a terrible blogger if I didn't offer my opinion, however.

I will format this the way I did when I provided my in-depth analysis of Opera's move to WebKit (away from Presto) less than two months ago.

So what does this really mean?

For Developers

Any developer who is complaining that this means there is another browser/engine against which they will need to test has been doing it wrong.

Web developers should always test against different browsers, regardless of their engine. In particular, WebKit has so many nuanced implementations that not independently testing against each browser that uses WebKit belies either a lack of understanding of how WebKit is implemented or laziness.

If you aren't sure what is different between each WebKit implementation (Chrome, Safari, Android browser, Opera, etc.), I encourage you to read my post "WebKit Will and Won't Be the New IE," where I provide a high-level overview of these variances.

For Users

At this point it doesn't mean a whole lot.

Google will argue this is better for users. Apple will argue that Google took its ball and left. Opera won't be arguing. None of that impacts users because we have mostly done a good job of promoting standards-based development. I again refer you to "WebKit Will and Won't Be the New IE" for how poor testing can impact users, but that's not a function of the engines.

Because Apple only allows WebKit on iOS devices, and even then it restricts those browsers to a different JavaScript engine and thus a lesser experience, Chrome and Opera for iOS may still stay on WebKit. Over time as its harder to incorporate features from Blink back into the WebKit core, there may be feature divergence which may affect users.

That's just speculation on my part.

For Standards

For a specification to become a W3C recommendation, there must be two 100% complete and fully interoperable implementations, which basically means two browsers need to support it. When Opera announced the shuttering of Presto, that left Trident (Internet Explorer), Gecko (Mozilla), and WebKit (Safari and Chrome) as the remaining engines (of measurable size). Essentially, two out of the three of them had to agree to implement a feature.

With Blink, provided the W3C recognizes it as a stand-alone engine, there is now one more engine back in the mix, essentially returning the count to where it was in February before Presto's wind-down (to be fair to Presto, it's expected to exist in the wild until 2020, but with no new feature development).

I am hoping that this is a good thing for standards.

Blink won't be using vendor prefixes (even though it will have inherited some), so I consider that a step in the right direction. While I think this matters to developers, I think it matters even more to standards.

Technical Aside

From Peter-Paul Koch:

Chrome 28 will be the first stable release to use Blink; earlier versions will use WebKit. Opera and Yandex will start using Blink whenever they start using Chromium 28.


First some bits from The Twitters:

And now to the related links:

There's this one from 2010 by Haavard Moen that I thought worth highlighting: "Dear Google: Please fork WebKit."

Update, 5:35pm

A video Q&A from Google Developers about Blink (time markers available on the Chromium blog).