加载中...
Oct172011
File Under: Browsers

Opera 12 Alpha Adds Hardware Acceleration

Opera software recently cranked out a new alpha version of its upcoming Opera 12 web browser. Opera 12 has been in development for a little while now and recently added full hardware acceleration for WebGL graphics.

If you’d like to take Opera 12 for a spin, head on over to the Opera Next downloads page.

Before you consider taking it for a spin though be aware that the new hardware accelerated WebGL features work best with “modern graphics cards and up to date drivers.” The Opera blog also notes that “testing Opera 12 alpha can trigger bugs in your graphics card and in worst case blue screen your computer.”

The new hardware acceleration features mean that every element on screen in Opera 12 — not just, say, the canvas element — is now handled by your graphics card (provided it’s up to the task). Right now the acceleration only works with an OpenGL backend though Opera plans to add support for DirectX (and more graphics cards) as Opera 12 progresses.

While the hardware acceleration is definitely the big news in this release there are a few other new features as well, including a new HTML5 engine, some improvements for Opera themes and a revamped address bar.

Also due to eventually make its way into Opera 12 is experimental support for the new CSS Paged Media proposal, but regrettably that’s not part of the alpha release.

I played with the Opera 12 alpha over the weekend and found that it was indeed a bit snappier, but unfortunately it also seemed to add almost a 100MB of RAM when loading the same dozen tabs that I had open in the current release, Opera 11.51.

Of course it’s still early in the development cycle, and, assuming Opera can bring the memory overhead back down to match that of Opera 11.51, and improve the range of graphics cards supported, Opera 12 looks to offer quite a speed bump over previous versions.

See Also:

Oct172011
File Under: Browsers, Mobile

Firefox for Android Plans to Go Native

Firefox on Android.

Mozilla is planning a makeover for Firefox on Android. The company has announced it plans to abandon the usual Firefox look on Android mobile devices and will instead use Android’s native user interface widgets.

Switching to native widgets on Android will mean a faster, more responsive mobile browser, but it might also make for a Firefox no one recognizes.

Under the hood Firefox for Android will still use the Gecko rendering engine, but without the XUL interface that powers Firefox on every other platform, Firefox for Android might be missing its familiar look.

XUL, which comes from the mouth-twisting phrase eXtensible User interface Language, was originally developed so that Firefox could have a similar interface across platforms. That is, with a few tweaks to Gecko, Firefox can easily move from Windows to Mac to Linux and back while maintaining a reasonably consistent appearance. Behind the scenes XUL means that Firefox has to do some extra work to draw itself on the screen, but on the desktop it’s hardly noticeable.

However, on mobile platforms, where memory and processors are still very limited, XUL is slowing Firefox down.

Writing on the Mozilla Mobile Platforms mailing list, Johnathan Nightingale, Director of Firefox Engineering, says that the move to a native Android interface will mean faster startup times, significantly less memory usage and a much snappier user interface — particularly when performing common mobile tasks like zooming and panning.

Of course everything in software is a trade off and the significant downside to using native elements for Firefox on Android is the possible loss of XUL-dependant add-ons. Nightingale says that the mobile team is working with the add-on team to find a solution, but so far nothing has been decided for sure. One possible solution would be to use native widgets for the main Firefox interface elements, but keep XUL around under the hood so that add-ons could still function.

Another concern is that, without its familiar user interface, Firefox won’t really be any different than other Android browsers. Firefox developer Robert Kaiser writes that he believes a “Firefox with native Android UI won’t be very much better than the native Android browser.”

Asa Dotzler, community coordinator for Firefox, is more confident, claiming that Mozilla is “not bound by any technology,” and that, if it needs to, Mozilla can “make add-ons work with a native [Android] UI.”

Nightingale says that a decision regarding add-ons will be made in the next few weeks, but that “Firefox 8 and 9 will ship with the XUL UI,” including the new user interface for tablets, while work continues on the native Android version. In other words, the native version isn’t likely to arrive until Firefox 10 rolls around in 2012.

If you don’t want to wait that long there is already a branch of Firefox on Android using the native widgets. There’s no binary yet, but if you want to try it out you can grab the source and compile it yourself.

Photo: Johan Larsson/Flickr

See Also:

Oct142011
File Under: CSS, Web Standards

CSS ‘Paged Media’ Brings Book Smarts to the Web

Håkon Lie's mock ups of CSS Paged Content. Pagination shifts as screen size changes

What if you could flip through a regular news website like a magazine?

Håkon Wium Lie, Opera Software’s CTO and creator of cascading stylesheets, has proposed a new set of CSS tools that transform longer web pages into a more book-like experience, where the reader flips from page to page instead of scrolling down one long screen.

Lie’s proposal, the Generated Content for Paged Media standard, is a mouthful. But behind the awkward name lies an intriguing idea.

It’s a concept that’s gained considerable weight with the arrival of touchscreen tablets and smartphones, both of which lend themselves to very book-like reading experience. Indeed popular magazines, including Wired, all offer platform-native applications that mimic the reading experience of a book or magazine. That’s precisely what Lie wants to make possible on the web.

“The form, the presentation of content is important,” says Lie. “The turning of the page is an event, we anticipate what is on the other side, we look forward to it.” The endless scrolling of the web lacks such events, but Lie believes CSS can bring what’s good about reading in the real world to the web.

At its core, the Paged Media standard offers web developers a way to paginate content — that is, take a single webpage and break it into multiple “pages,” with each page automatically fitted to the screen size of the device you’re using. For example, this article might be three “pages” when viewed on an iPad. However, because the pagination is done with CSS and the HTML remains as it is, there’s no added load time when you flip to the next page. So it’s not a tool that can easily be abused by publishers to mine extra pageviews. It adds all the good things about multi-page layouts and none of the bad.

The Paged Media proposal isn’t just about pages, though; there are also tools defined for gestures — swiping to turn to the next page, or, at the end of an article to the next article (all built off the existing HTML rel=next/prev tags). There are also magazine-friendly layout tools, like the ability to float elements across multiple columns of text, as well as hyphenation rules and a means of styling footnotes.

If all that sounds like a very print-oriented set of tools, well, you’re right. Lie believes that the web is undergoing a fundamental shift in metaphors, one he compares to a similar shift that happened hundreds of years ago — the shift from scrolls to books.

This shift makes particular sense on tablets. The “flipping” action to turn pages on a tablet makes sense in the same way it made sense for newspapers to be pages rather than enormous scrolls. There is, after all, no reason the newspaper couldn’t be delivered just like a webpage — an enormous roll of paper that you unroll as you read. It’s not of course, because that’s not the ideal form factor for reading in the situations that people read newspapers. Nor is vertical scrolling ideal when you’re reading with a tablet. Paging is easier than scrolling on a tablet. Both are swiping gestures, but scrolling requires a controlled swipe to a selected area, whereas paging is a much less precise, and therefore easier, gesture.

Lie tells Webmonkey that he doesn’t believe the venerable scrollbar will go away, rather that the CSS Paged Media tools will offer another way to render web content. In fact, Lie thinks Paged Media would be a natural companion for CSS media queries, perhaps becoming another element of responsive design. By pairing the two, developers could nicely paginate a longer article for a magazine-style reading experience on tablets and revert to a more traditional layout for desktop browsers.

A magazine-style reading experience isn’t necessarily right for every site, but one of the markets Lie has in mind is one that’s already trying to put the magazine on your tablet — the publishing world.

Publishers are spending ever-increasing amounts of money developing and maintaining native apps across a variety of smartphone and tablet platforms. The majority of these apps are little more than content containers, niche browsers if you will. Most of them are just trying to recreate the paged layout of their print cousins. CSS Paged Media would allow that same content to be paginated the same way in any web browser, on any platform.

It’s an ambitious goal and one that won’t happen overnight, though Lie did say that very experimental support for the Paged Media standard would be available in a coming labs version of Opera 12.

More importantly, Lie’s proposal is already on the table. While he concedes there are many things to still be worked out — including how Paged Media will fit some of its layout tools alongside CSS Regions or how users will bookmark paginated content — David Hyatt, Apple’s Safari and WebKit architect, has already expressed some support on the W3C mailing list.

That’s good news — without widespread browser support Paged Media won’t be dragging the web out of the papyrus-crusted past any time soon.

See Also:

Oct142011
File Under: HTML5, Programming

Gate One Puts a Terminal Emulator in Your Web Browser

If you’ve ever needed to connect to a remote server without installing any desktop software or doing anything other than opening a new browser window, then you need to check out Gate One. Gate One is a web-based terminal emulator and SSH client that will work in any modern web browser.

The brainchild of developer Dan McDougall, Gate One is the result of nine months of coding. While Gate One may not be the first project to put a terminal emulator in your browser — existing options include Shell in a Box and Ajaxterm among others — it has quite a few features that go well beyond the basics found in other emulators. For example, Gate One uses WebSockets rather than traditional polling so it’s able to keep SSH connections open without spiking your CPU and grinding the browser to a standstill. Gate One also has the ability to resume sessions after being disconnected.

Throw in multiple simultaneous terminal sessions, a way to save SSH bookmarks, a plugin architecture and the ability to play back, save and share terminal sessions and you’ve got a pretty respectable replacement for Putty and its ilk. Not that Gate One is intended to replace a desktop SSH client, but for situations where you can’t run a desktop app Gate One just might be the emulator you’ve been looking for.

The front end of Gate One is written entirely in HTML5 and JavaScript, which means it will work in any modern browser. Behind the scenes Gate One uses HTML5 WebSockets to connect to a Python-based SSH server.

Gate One is available from GitHub and is dual-licensed under either the AGPLv3 or a proprietary license.

See Also:

Oct122011
File Under: CSS, Web Standards

Adobe Proposes New Standard for 3D Effects on the Web

Adobe has proposed a new set of CSS-based tools that the company hopes will one day become a standard on the web. Following on the heels of Adobe’s effort to improve web layout tools with CSS Regions, Adobe is now proposing CSS Shaders, which would bring high-quality cinematic effects to the web without the need for plugins like Flash.

“Shader” is a term pulled from the 3D graphics world; it refers to small programs that create 3D effects, like the rippling motion in a waving flag. The CSS Shaders proposal would add similar tools to the CSS specification, allowing web developers to easily apply cinema-style filter effects to any HTML content. Think grayscale to color transitions, animated shadows, photo-realistic warping and other mainstays of the 3D animation world.

CSS Shaders will look familiar to anyone who’s used the various filters in Adobe Flash since they are essentially the same thing applied to HTML. At the moment there’s no working demo, but you can see CSS Shaders at work in the video below:

Some of what CSS Shaders do in the demo above is already possible using WebGL. However, WebGL’s magic only works on the HTML5 canvas element and can only apply the shader effects that WebGL supports. CSS Shaders, on the other hand, would allow anyone to write custom shaders, load those shaders via the page’s stylesheet and then apply them to any HTML element.

Adobe has been working with Apple and Opera to create the new CSS Shaders draft proposal at the W3C. The CSS version of shaders borrows some ideas from the earlier draft spec for SVG filter effects (now Filter Effects 1.0), but would apply the filters to HTML rather an SVG.

As for the real world, John Nack, Principal Product Manager at Adobe, reports that the code used for the demo is “under consideration for inclusion in WebKit.” For now though Adobe is using its own build of Chromium to create the demo videos.

If you’d like to learn more about how CSS Shaders work and what sort of filters Adobe has created, head on over to the company’s devnet site where Adobe’s Vincent Hardy offers an overview of CSS Shaders, a look at the proposed syntax and several more (sadly not embeddable) demo movies.

See Also:

Oct112011
File Under: Uncategorized

Adobe’s New ‘Unblur’ Filter Makes CSI-Style Effects Real

You know that scene in CSI and its ilk where the detective says, “Can you enhance the image?” and some faceless tech hits a few keys and suddenly the license plate is clear and readable? Nerds have been mocking those scenes for decades, but it might be time to stop.

Last week at its Max Conference Adobe showed off a new Photoshop tool the company calls unblur. Unblur does exactly what the cliche detective is asking for — it makes blurry photos sharp. While there may be some forensic use for unblur, the filter seems aimed more at those with less than steady hands. That once-in-a-lifetime image ruined by shaky hands? No problem, just unblur it.

The video below gives some more details about how unblur repairs blurry images. Unfortunately, the video itself is too blurry to really see how well it works. However, given that unblur was demoed to a crowd of photo and imaging specialists who proceeded to gasp and applaud, I’m guessing the results were pretty impressive.

So far Adobe has given no word on when or where the unblur filter might land, but the next version of Photoshop seems like a safe bet. Until then, please, feel free to mock CSI.

See Also:

Oct112011
File Under: CSS

‘Donatello’ Library Simplifies CSS 3 Drawings

A clock drawn with Dontatello (rendered in Firefox)

Most modern browsers support the HTML5 canvas element and SVG for drawing and animating. There are, however, some cases — particularly with mobile browsers — where it might make more sense to use CSS-based drawing tools.

Donatello is a JavaScript library that can do much of what the Raphaël JS drawing library does, but instead of using SVG to draw shapes, Donatello renders in pure CSS. Here’s how Donatello developer Dan Newcome describes the advantages:

Since all rendering is done using HTML and CSS, and a lot of effort is going toward optimizing CSS using graphics acceleration in the major browsers, there is the opportunity to do very efficient and performant drawing in the browser using this technique. In future versions I hope to be able to leverage CSS animations and transitions for efficient hardware-accelerated animations.

Using Donatello is simple, just include the library in your page and then create a Donatello drawing surface, known as paper (similar to canvas, if you’ve been using canvas-based libraries). Once you’ve set your paper, you simply use the Donatello API to draw pretty much anything CSS is capable of creating, for example, the clock face above.

For more details and some more examples, head over to the Donatello page on Github.

See Also:

Oct102011

Google Throws New ‘Dart’ Programming Language at the Web

It’s not every day that someone tries to add a new programming language to the web. There’s a good reason for that. The great trinity of web development — HTML, CSS and JavaScript — while not perfect, has proved itself highly flexible and capable of adapting as it evolves, which, in the end, might be more important than perfection.

But, regardless of how well those three have served the web thus far, they are not enough for Google, which is hoping the web will now embrace Dart, Google’s brand-new programming language for “structured web programming.”

The first hint of Dart surfaced about a month ago when an internal Google memo was leaked onto the web (the memo itself dates from 2010). In it Google claims that “JavaScript has fundamental flaws that cannot be fixed merely by evolving the language.” The answer, for Google, was to go off and create its own homebrewed solution.

That solution is Dart, a “class-based optionally typed programming language for building web applications.”

Lars Bak, a software engineer working on Dart, says the language is designed to work with every thing from “a one-person project without much structure to a large-scale project needing formal types in the code to state programmer intent.”

In other words, Dart is aiming to be a one-size-fits-all solution for writing apps on the web. Dart has been built from the ground up with this goal in mind. Indeed Dart offers some interesting tools, including optional types and the ability to declare private methods via an underscore. Unfortunately for Dart, a couple of novelties don’t seem to be winning over programmers. The Hacker News discussion thread on Dart is full of rather barbed critiques with hardly a supportive voice to be heard.

Dart on the web

Appealing to programmers is only half of what Dart needs to succeed; it also has to work well on the open web. For that Google has two solutions.

The first and ideal solution will be to execute Dart code in a browser-native virtual machine (very similar to how JavaScript is handled today). Of course that means the rest of the browser makers need to join Google in supporting Dart. Because that isn’t likely to happen any time soon, nor will it ever happen for legacy web browsers, Google has a fallback plan — a compiler that translates Dart code to JavaScript.

While the JavaScript compiler solution will mean slower web apps, it also means that Dart apps would always be able to run, regardless of the browser in question. That’s good for older browsers, but it also raises some questions about where Google plans to go with Dart.

Essentially, Google has set up a two-tier system for running Dart in the browser, and that is where Dart might run afoul of the open web.

Prior Dart Art

How Standards Proliferate by XKCD

The leaked Google memo that appeared on the web last month created a tempest in the web standards community teacup. The idea that Google had a secret project designed “to replace JavaScript as the lingua franca of web development” did not sit well with those who support open web standards.

The company appears to have backed off that stance somewhat for the official release. In fact, Google hardly mentions JavaScript in its Dart announcement and Lars Bak tells CNet that Dart is “not going to replace JavaScript…. JavaScript is a cornerstone of the web today, and it will continue to be for a long, long time.”

That message may be too little, too late. Publicly, Google may now be pushing the message that Dart is complimentary to JavaScript, but the blunter language and goals outlined in the leaked memo are already out there, fresh in developers’ minds. That, combined with Google’s less than stellar track record with its “open” projects may make it difficult for Dart to find supporters.

While Dart is open source and available for anyone to use, Google does not have a strong record of fostering open projects; that is, projects where the community can not just download and compile code (Andy Rubin’s “definition of open“) but can actually have a hand in creating features and guiding the direction of the project.

Until the latter component is well established, don’t expect other browser makers to adopt Dart. So long as Google controls the strings it’s unlikely its arch rivals like Microsoft and Apple will support Dart.

Without that support, Dart won’t be running in a virtual machine; instead it will fall back to running as JavaScript. That effectively means that, while Dart will run in any browser, it will likely have subpar performance in any browser lacking the virtual machine.

What standards proponents fear is a web where only Google’s Chrome browser ever fully supports Dart. That would mean that, while Dart apps would work everywhere, they’d be significantly faster in Chrome. That would send the web back to the bad old days of “works best in Internet Explorer” websites, only this time around it would be “works best in Google Chrome.”

Future Dart

It’s possible that Google will use Dart to finally create a true community-driven project. The company has already said it plans to eventually submit Dart for standardization, which would certainly help.

It’s too early to write off Dart, but it’s also too early to say it will be anything more than a novelty Google uses in its own apps (like WebP or even SPDY). Even if Dart can convince both developers and browser makers to jump on board, don’t look for Dart to become the “lingua franca of web development” any time soon.

See Also:

Oct72011
File Under: Browsers

Mozilla Plans to Silently Update Future Firefox Releases

Firefox's sizable updates will soon download and install without bothering the user

Mozilla is changing the way Firefox handles updates. Mozilla has announced it will take yet another page from Google Chrome’s playbook and move automatic updates to the background where they will happen silently, without the need for user input. Of course that also means Firefox updates will happen without user consent, something Mozilla avoided in the past.

The new silent update policy, which Mitchell Baker, Chair of the Mozilla Foundation, announced via her blog, will not take effect until Firefox 10, which will arrive in early 2012.

Lest you think that Mozilla is moving to Chrome-style silent updates simply because it wants to, Baker clarifies that the change is in response to user feedback:

In the past we have been very careful to make sure people know something is changing with their web browser before it changes. We did this to make sure people are aware and in control of what’s happening to their environment. Our position was to err on the side of user notification. Today people are telling us — loudly — that the notifications are irritating and that a silent update process is important. This work is underway.

Moving to a silent update system will help address what’s known as “update fatigue” by eliminating the endless update notices. Google Chrome has already shown that this is a much more effective way to keep software updated without troubling users every single time a bug fix arrives.

However, Chrome has another trick up its sleeve that makes its frequent updates easier on users — a custom compression algorithm that reduces the size of those updates. Chrome’s Courgette project makes sure that silent updates don’t choke your bandwidth while they’re downloading. Firefox, at the moment, does not seem to have a similar tool in place. As it stands, when Firefox downloads an update in the background it’s only marginally smaller that what you’d download if you used the downloads page.

Hopefully Mozilla plans to enable some better compression tools — and thus, smaller updates — in the future. While Baker doesn’t specifically address the issue, she does say that Mozilla has a long-term plan that will “alleviate the issues” many users have had with the new rapid release cycle and that Mozilla will have “improvements rolling out in the coming weeks.”

See Also:

Oct62011
File Under: Uncategorized

Jobs

It’s impossible to imagine the web as it is today without Steve Jobs in the story. Even something as seemingly simple as proportional width fonts might not exist were it not for Jobs and Apple, to say nothing of the WebKit project and dozens of other contributions.

Through it all Jobs and Apple always managed to keep the focus on people. Computers, useful as they are, are nothing without people. The web is the same. The web is about people. It’s a tool to help people imagine more, do more, be more.

So thank you Mr. Jobs for being crazy enough to think you could change the world and the people living in it. It’s clear that you did.

If you haven’t already, check out Steve Levy’s piece on Jobs over at Epicenter. Below is a video of Jobs’s 2005 Stanford commencement address.