Skip navigation.

"This is your brain on Kafka"

, ,

This Is Your Brain on Kafka

Absurdist literature, it appears, stimulates our brains.

That's the conclusion of a study recently published in the journal Psychological Science. Psychologists Travis Proulx of the University of California, Santa Barbara and Steven Heine of the University of British Columbia report our ability to find patterns is stimulated when we are faced with the task of making sense of an absurd tale. What's more, this heightened capability carries over to unrelated tasks.

In the first of two experiments, 40 participants (all Canadian college undergraduates) read one of two versions of a Franz Kafka story, The Country Doctor. In the first version, which was only slightly modified from the original, "the narrative gradually breaks down and ends abruptly after a series of non sequiturs," the researchers write. "We also included a series of bizarre illustrations that were unrelated to the story."

The second version contained extensive revisions to the original. The non sequiturs were removed, and a "conventional narrative" was added, along with relevant illustrations.



In other news, Reader's Digest files for bankrupcy. Hope for the human mind?

The SVG path

, , ,

The last W3C working group I participated in, Multimodal Interaction (MMI), is at the periphery of the Web and is unlikely to make much of an impact on it in the foreseeable future. However they have produced a few interesting specs (and a few uninteresting frameworks), one of which I will return to in much greater detail later.

The most obscure one may be InkML. The name might imply a language for tagging with paint, but is really describing the set of movements registered by a touch-sensitive tablet or screen so that the scribbles you make can be processed and enhanced by someone more clever than the tablet driver. Unfortunately this specification is made by a tablet-maker subgroup that like Schrödinger's cat is living or dead depending on your perception, and the spec is progressing at a less than vital speed.

Read more...

Veien til fremtiden

, , , ...

To transportinnlegg på fremtidsblogg.

Augustine-kommisjonen til Obama: Ingen måneferd før 2020

Kan høyhastighetstog bli ryggraden i vår megaregion?



Cat free 9/9/9? Great, but what about all the other days?

Into the bog

, , , ...

This entry was actually made, well conceptualised, back in early July when I wrote several entries on HTML5 and XHTML2. If I made it then it could be considered prophetic, though it would only show a Nostradamus-style prophetic ability ("there will become a war, and in that war some people will suffer badly"). I lost that opportunity, but if something is worth doing, it is worth doing very, very slowly. And trust me, there will become a war, and in that war some people will suffer badly.

Read more...

Dele, ikke stjele?

, , , ...

Denne uken kom det et opprop fra kunstnerdypet, iallfall noen av dem, som sa seg forfordelt, eller var det forforstjelt? At bransjeorganisasjonene ikke er velvillig innstilt til fildeling er knapt nytt, men denne gangen var kampanjen frontet av forfattere og utøvere. Gitt det 20. århundres historie gir forfatteropprop meg mange assosiasjoner, ikke alle like gode.

Read more...

"How XML Threatens Big Data"

Minimal markup seen from a data point of view rather than a document point of view.

I wouldn't say it is XML's fault as such, but it being used for a purpose it is less than ideally suited for, a consequence of early oversell (those who remember 2000 would know what I talk about).

There is another lesson that is web-relevant. Big dataset like these shouldn't be naively be tagged into an XML format and presented as is on the Web. This is because in a web setting the overhead for each element is rather large as the DOM will be applied to it, allowing arbitrary dynamic mutations. It is easy to overwhelm even the most powerful processor this way and zap all available memory.

How clever are smartphones really?

, , , ...

Last issue of New Scientist published a paean to IPhone named Appland: How smartphones are transforming our lives. It follows a traditional NS pattern of being ahead of the curve for science and behind it with technology. The author was elated, and there is a crucial distinction between things that make you happy and things that don't.

Read more...

Minimal Markup

, , ,

I have earlier proclaimed markup an [necessary] evil. A more constructive way of putting it is to say that markup should always be minimal. You should use as much markup as you need, and no more. Markup is something we add to aid machines. Too much or wrong markup can do more damage as too little or too vague.

This design principle determines how to standardize markup. Unless the author knows something the user doesn't, the markup should not be there.

This principle obviously caters to the author's laziness, the admirable human trait not to do more than necessary. It is less obvious, but no less important, that it also empowers the user. More minimal markup means more flexible and accessible markup, assuming that the user agents do their job and actually act on their users' behalf.

Read more...

Conditional Comments in HTML5?

, ,

Where we are

Four years ago I wrote a small piece on conditional comments in IE7, and whether there should be an institutionalised Opera CSS hack, in the style of @opera or @browser opera. While IE's standards support isn't stellar, it is still better than it was four years ago, and the desire to make specific hacks for the shortcomings of IE, Opera, or any other browser hasn't gone away and is unlikely to go away in the next decade either. This entry is triggered by a comment this Friday asking for Opera conditional comments. For all the talk about the ills of browser sniffing, and using capability detection instead, it is not going to go away. In that case wouldn't it be better to make browser sniffing less bad?

Read more...

Returning to space

,

More musings on manned and machine space travel in Travel to Mars? I hope not.

"There’s No App for That"

,

SVG 2.1: Foreshadow support

, , , ...

Well over four years ago Opera made the first native SVG implementation, with the first useful implementation the following year, and Safari and Mozilla got into the game. By 2007 SVG became a browser business and earlier limited use of SVG faded into the background. Roughly at the same time Safari came up with Canvas. Then as now SVG was commonly seen as the more conscientious but awkward elder brother of Canvas.

Read more...

The Missing Link: Connecting Boxes

, , , ...

There is one basic document functionality that none of HTML, CSS, nor SVG can do. None can represent one box, another box, and a link between the two.

Graph where box One has arrow to box Two

Read more...

HTML5 token support

, ,

One common situation when registering a new account with a service (say my.opera.com) is that it requires email confirmation from you to activate that account. This is part of a handshake, where both parties present their credentials and confirm who the other one is. It is also a neat way for the service to make sure that the user has a valid email (to be blocked if a troll or spammer) which is also a universally unique identification. Two independent parties will never have the same email address while they could have the same username on different services (I am "jax" here, but on other sites someone else could have taken that username).

Unfortunately as often as not the confirmation request message to make sure that the user is not a spammer will itself end up in the user's spam folder since the mail program or service can't know that the email isn't from a spammer.

Read more...

Accessible JavaScript: Making the user object

, , ,

For many "accessible JavaScript" would be an oxymoron, but in principle JavaScript could be as accessible as anything else if the author was very careful or if the user agent would know more of what is going on.

Read more...

Can HTML5 make accessibility usable?

, , , ...

Following up the discussion on Accessible drag and drop using WAI-ARIA, I think HTML5 may be a huge win for accessibility. HTML4 was filled with good intentions, HTML5 should be filled with good implementations.

HTML4 became a W3C standard 11 years ago. By now we should have plenty of implementation experience with the standard, user agents, web developers, and authoring tools and what has actually made the Web more or less accessible. Ideally there should be an audit of all the HTML4 features for their impact on accessibility, whether they were designed for the purpose or not.

We also have extensive implementation experience. Accessibility was central to the design of Opera from the very beginning and part of the company culture, but that doesn't mean every initiative was a success. Other browsers and tool makers should have learned something the last decade as well. Accessibility enjoys considerable goodwill among developers, most want the Web to be accessible, but to turn good will into good products first we need to make the implicit knowledge explicit, what failed as much as what succeeded and why it failed.

Read more...

Bending or breaking the tree: Extensibility in HTML

, , , ...

A link to the past

HTML is the Hypertext Markup Language. Hyperlinks is what made HTML special. When I came to the HTML Working Group, shortly after the browser war was over, the feud of the day was with XLink 1.0, which quickly had become a Recommendation through a flawed process. The HTML group wasn't happy about it, as they didn't think the specification fulfilled its design goals.

XLink had a complex history, originally it was meant to be an Extensible Linking Language to complement the Extensible Markup Language (XML). The specification ended up creating a number of attributes in the XLink namespace, 'link:type', 'xlink:href', 'xlink:role', 'xlink:arcrole', 'xlink:title', 'xlink:show', 'xlink:actuate', 'xlink:label', 'xlink:from', 'xlink:to'. The idea was that any XML language needing hypermedia functionality would mix in the appropriate XLink attributes.

When I left the HTML Working Group a few years later XLink was forgotten, but the HTML working group had made a very similar collection of floating attributes for XHTML2, 'xhtml:href', 'xhtml:role', 'xhtml:src', 'xhtml:about' and so on. The idea now was that any XML language needing hypermedia functionality would mix in the appropriate XHTML2 attributes.

Read more...

HTML5 — XML's Stealth Weapon

, , , ...

Even after the death-of-XHTML2, syntax debate still dominates the day. Here is my contribution.

The XML story

In the beginning was SGML. There is a lot to be said about SGML so I won't. HTML was specified to be an application of SGML, but that never happened in practice. Among browsers Opera kept the pretence of supporting SGML for the longest time, causing us a lot of trouble because Opera behaved differently from every other browser. DocBook is another known SGML application, but in general SGML was no success.

About a decade ago a small group of people started a reformulation of the old SGML standard, First they did it outside of the W3C and later, when the success became apparent, within the W3C. The story of this simplified SGML, now known as XML, may be best told via the annotated XML, by Tim Bray, one of the principal authors. Essentially XML is angle brackets and a number of production rules on top of Unicode (for a fuller description see Comparison of SGML and XML).

Read more...

Image: A thumbnail view

, , , ...

Raster graphics (PNG, JPEG, and the rest) are used in a variety of contexts and a variety of resolutions, but most are come from a small number of sources, above all the digital cameras. Since the digital cameras still are marketed by the megapixel, and the lazy option is to publish the oversized photos unedited. This leads to unnecessary bits clogging up the Internet, slow downloads and excessive memory use.

Modern image formats are designed for lower bandwidth, with interlaced and progressive functionality, showing the image in progressively improving resolution as the bits arrive, but there is no functionality to say that enough bits have been transferred already and that any further bits won't add to the quality of the image.

The usual approach is to generate thumbnails based on the full-size images, and let the thumbnails function as links to the full-size image. The problem with this approach is that the image and the thumbnail are unconnected. Given the image address you can't use the thumbnail to quickly display a rough outline of the image until it is downloaded, given the thumbnail you can't download the image if the resolution is insufficient, and there is no way to cache an image's thumbnail.

Given the multimegapixel image sources there will be at least three levels of raster images, the original which tend to be too large for any useful purpose, the edited/enhanced Web image, and the scaled down and often cropped thumbnail. The same applies to the audio and video media types as well, only here the downsampled files can be even more dramatically smaller than the raw source files.

A thumbnail should link to the image it is derived from and describe the list of operations done to generate the thumbnail. In formats that supports it like PNG this could be stored in a chunk, but markup is a more generalised solution.

Keyboard drag and drop: HTML and accessibility

, , , ...

Should-read article: Accessible drag and drop using WAI-ARIA

The keyboard-friendly design of Opera was one of the things that attracted me to the browser in the first place, and one I am disappointed with the slow progress with. Keyboard-wise Opera today isn't substantially better today than Opera 3, or at least Opera 7. In some cases it is better (like spatial navigation when it works), in other cases it is worse (I still haven't found how to recover the Alt+Z history view, one of Opera's greatest inventions). I don't think Opera does any keyboard-only or keyboard-augmented usability testing.

Opera's lack of progress is one thing, but in the Web sphere things are actually getting worse. Early on you could do keyboard-only browsing most of the time. If the site used frames it was very awkward and it was better to use any mousing device available, and you had the occasional idiot who used 'onclick' functionality to recreate actual links, either because he didn't like the colour or underline of links or simply because he could.

Most of those idiots have discovered CSS by now (there should be a Hall of Shame site for those who haven't), but in these webapp ajax gidget 2.0 days recreating the user interface is the game of the day, and that usually means breaking the keyboard.

One of the tasks you can't reliably do with the keyboard today is drag and drop, and that goes for navigating to dynamically generated submenus and choices as well.

In my view the raging accessibility question shouldn't be whether the 'alt' attribute is optional or mandatory, but how we can make the Facebooks of the future accessible.

This ties in with HTML5 and the obituaries over the dead discontinued XHTML2 spec. XHTML2 and XForms were designed with accessibility in mind, HTML5 was designed primarily with web designers in mind. For a devoted keyboard user that should make the preference easy, right? Not so. The HTML4 spec, like XHTML2 and XForms, is filled with well-intentioned accessibility features, but those features are no good if they are not used.

An attribute like 'longdesc' can make an inaccessible picture into a device-independent and accessible textual representation of that picture. All the designer has to do is to spend a couple hours for each picture describing them in detail what they depict and what they are used for in an as context-independent way as possible. For some reason most web designers opt not to do that.

Given the choice between having Facebook and similar sites mostly usable or the WAI site and a couple other special interest sites perfectly accessibly marked up, Facebook is the winner. If the spec can give designers the features they crave and then behind the scenes give the browser or the assistive tool the information they need to cater to their users we have a winner. The HTML5 work with drag and drop looks very promising in this regard.

What the HTML5 spec doesn't cover, and which Opera has struggled with in its extensive keyboard support, is how to handle the conflicting interests of the web application developer and the user agent, be it a browser and/or assistive tool. As an example Opera uses the A key to navigate to the next link, what if that key is used by the application? In a keyboard not having the A key another key is used instead, or the user can configure his own keyboard mapping, so it wouldn't make sense to make a collection including A "reserved key" unavailable for the application. So who should win in a battle of A, the web application or the user agent? CSS has covered a similar conflict in the Cascade (the C in CSS), essentially default < author preferences < user-important preferences. For a User Agent I believe the best option is to let the UI be overridden by the web application (otherwise the application won't work in that environment) but have a mechanism to override the application when needed.

Related, given the great variety of keyboards, some user mechanism to remap keyboard mappings is necessary not only for the user agent, but for the web application as well.


Here is a demo of keyboard-accessible drag and drop in action.