Skip navigation.

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.

An XHTML 2 far

, , , ...

Before the weekend W3C announced that the XHTML2 Working Group would be discontinued. That hardly came as any surprise, and mixed with that feeling of relief and melancholy the death of a terminally ill patient may elicit. To me XHTML2 was the next HTML3, another ill-fated W3C spec discontinued at an early stage and superceded by a browser-supported spec, HTML 3.2. The difference was that I had an inside view of XHTML2.

Read more...

A little knowledge is a dangerous thing

, , ,

This was a comment on a New Scientist piece, Linking genes to geography could revive race myth.


The concept of human races that most of us have grown up with has been shown to be at best simplified or misleading and at worst completely false. That hasn't and won't make racism go away. Furthermore this racial theory we have inherited is founded on Victorian science, and an enlightened project to classify and make sense of the world as they knew it then. The racial theory we know is far better founded than the theories at their time, but that wasn't good enough.

Combined with the obvious question at the time, "Why are Europeans so apparently superior to other human beings?", this cause profound misery in the late 19th and the first half of the 20th century. The scientists did their best based on what they knew moved on based on new data. But the societies didn't as there will always be a generation gap between the two.

I think history might repeat itself. Phrenology and talking about the Mongoloid race is (mostly) a thing of our past, slowly so may the Victorian idea of race do as well. The question of today seems to be "Why are the East Asians so much better at making money than other human beings?" Based on the past we can expect racist attacks and theories both against and by ethnically East Asians.

Science has moved on, we don't talk of race any longer, we talk of populations. But when it comes to genetics we are no better informed than the Victorians were about anthropology. We are making our conclusions on very scant material. There will be something in it for everyone, and many of these will have an axe to grind. By carefully selecting data you can get material to support every wild idea you can find on the Internet.

Nothwithstanding "It is important to emphasise that there are no genetic variations exclusive to any racial group. Some are more common in certain populations, but their distribution does not align with social categories of race." the idea of race is too ingrained and too useful to go away.

And it isn't just about race. Say you have data that 30% in a population, such as a classroom or an office, are predisposed to obesity. How are the 30% or the 70% to react to this information? If you know you are predisposed, would you eat less, or will you eat more because you can't help it anyway? What if you are predisposed to being bad in math? Or to violent crime? What if it is the neighbour and the neighbour's kids?

And what if 15 years later scientist discover that you or your neighbour weren't predisposed for obesity or being bad in math or violent crime after all? How would your life have changed from living 15 years under false assumptions?

Opera Unite: Web Untied

The most revolutionary new feature in Opera 10 is also among the oldest. In this case, while the teaser promising a reinvented Web may have been over the top, the hype is factual. Opera Unite is a revolution, among other wheels in motion.

My favourite headline has been El Reg's Opera to take web back to the old days.

For decades Web intellectuals have railed against the client-server model, argued that it is too stale and authoritarian, had the server point of failure and couldn't scale with the exponentially growing Web. Power to the distributed systems. Then Google came along and showed you can build a bigger server. The bigger the problem, the bigger the server park. Problem, any problem, solved. But way back in the CERN pioneering days the client was the server, the consumer was the producer. This grass root idealism didn't survive the Web's brush with success in the mid-90s, and when the revolutionaries no longer had scale on their side the revolution faltered, ending up with SETI searchers and UFO fanatics.

Unite is old within Opera as well, I couldn't put a date on it but as a concept it would be Opera 7 to Opera 8 territory. Having a server on a phone generated some buzz on Friday nights, or maybe it was the beer. I have some very simple ideas for what I want from computing, among them I want to liberate data from the machines they are running on. Lars' concept, which Opera Unite is based upon, takes the opposite approach, it gives the machines a human face. To me this is a little weird, Opera is after all in W3C parlance a user agent, not a machine agent, and a little wonderful as well. It hasn't fully dawned on people yet, but Opera might unite not just them, but their machinery as well.

Concept is one thing, doing the work is something else. There were some very tricky problems to be solved for a browser-server solution to work in practice, and it was integrated with the widget framework, which has a number of advantages, ease of authoring and a common security model among them.

This leads us to now. What if we have a revolution and nobody comes? Even if beneficial for the Web, it is no guarantee that Opera Software will benefit from the revolution they have started, past revolutions and Opera's past performance should give enough historical evidence of that. Worst case this might end up as Opera Hypercard, technologically interesting, even influential, but with little commercial benefits.

There are immediate advantages, obviously to run the servers Opera would have to be installed on the machines, and it can be an argument to switch browser. Longer term Opera's benefit largely lies in letting us eat a bigger cake. As long as their slice of the cake is as small as today others will profit from the sweat of Opera's labour, but browser vendors today are marked by coopetition, competitors with a strong incentive to cooperate, though some of the vendors have other agendas as well.

Seemingly going from the client to the server is a step backwards, after all some can recognize the Opera brand, many more the Firefox brand, but almost nobody can name the Apache brand, even though this is arguably the greatest success story of them all. But by turning a client into a client-server, and the server as well, you have peers. Opera Unite wouldn't be an efficient way to distribute content, or even to represent me or mine, but it can be a flexible way to communicate.

The 20th century just died after prolonged illness

, , , ...

CSS today, yesterday, and tomorrow

, , , ...

I held a CSS talk at CVUT a week or so ago.

155102: Losing data with Firefox 3 and Opera 10 Alpha

, , ,

It doesn't really matter much these days which browser you are using. On the whole I find Opera less annoying to use than Firefox, and Opera additionally has some nice perks like better keyboard access and Opera Link.

Once in a while there are things that really makes a difference. On top of my list is that a browser should never lose my data. On the whole Opera is pretty good in this regard, but it has a huge gaping hole in its armour. If you type in text and the window is closed, you can restore the window but the text is lost. This is almost adding insult to injury, as you can see the empty space where the text you worked so hard at used to be. This excruciatingly horrible bug has a name, 155102, and has been known for a while now, but for a number of reasons it has taken time to fix.

The workaround is simple: Never put anything valuable directly into a textarea. I have used Notes, I have used mail compose windows, I have used external programs. They all have their disadvantages. Copy to note (Ctrl+Shift+C) is particularly convenient and very robust, but you end up with your notes full of half-written texts, and with Opera Link those texts are synchronised to every Opera client you have, which in my case is quite a few. Opera Mail and external programs often mangle whitespace. The biggest problem with all workarounds is that you don't always know you're going to write a long text, and the web page text entry boxes are alluringly convenient.

I am fairly active in the forums, and while I could do the workarounds above, or make sure to preview often, which usually does the trick, in practice I am too lazy to do either. So when I lost and had to retype a longer post yesterday, and lost another one today, I decided I couldn't wait any longer, so I downloaded Firefox 3 and Opera 10 alpha. Firefox is reported to restore user entered text, though when I tested it it didn't work. Maybe I have to find some particular extension. The bug isn't fixed in 10 alpha either, so I am back to Opera 9, looking for a better way out. Suggestions would be appreciated.

The Masters of My Opera could add an AJAXY Javascript to automatically save the posts-in-writing, but those scripts are fairly intrusive and liable to fail with different browser configurations, as well as slowing things down. This really ought to be done by the web client, only that none seem to do that now.

From Opera to opera

, , ,

During the last few months I have gotten myself another permanent residence (especially after they got WiFi), a Chinese restaurant here in Prague. I spend more waking hours there than I do at home.

Eating, drinking, socialising, and being on the Internet has occupied large parts of my life anyway, but I enjoy organising as well. Today the first major event I've helped with, a night at the Opera, will be live this night. For Opera employees in Oslo this may be familiar, the Underwater pub nearby the Opera HQ has opera nights Tuesdays and Thursdays, and have had it for years, and it is a favourite Opera hangout.

Still, the Chinese-Czech musical connection is fascinating and appealing, we'll see how it works out tonight. See you there?

The Folly of New Scientist

, ,

New Scientist recently published a special issue, The Folly of Growth, ostensibly an expose of flawed economic theory.

As you can deduce from this blog and writings elsewhere, New Scientist is my favourite magazine, and I have read practically every issue the last twenty years. While generally of quality there have been some duds among the articles and issues. This issue is among the worst.

New Scientist has changed through generations of editors, but retaining many of the strengths and weaknesses. It has never done economy well, and most of the time it has been weak in information technology, doing better these days.

Whatever your viewpoints this issue was bad economics, anyone reading it would not learn anything about economy from it, and whatever they learned would be more likely to be wrong than right. Through a Global warming thread in the forums I was pointed to a rebuttal from The Register (of all places), as the errors were basic and numerous that saves me some time.

What dismayed me more with this issue was bad science. I would love to see a scientific outlook on the "dismal science", where you can find much folly indeed. New Scientist here wasted a good opportunity. I know how hard it is to make a special issue work well, you depend greatly on the contributors and the editors to turn the disparate articles into a coherent whole, and reject the articles that can't be improved. I don't know who declined to participate, but of the contributions several articles should never have been published in New Scientist.

Several contributors were recycled from the old-style ecological movement. This in itself was bad judgement, they have repeatedly been shown to have poor domain expertise. Traditionally ecologist have had poor grasp of economy and vice versa, which can seem odd given that both are working with complex dynamic systems that in many ways are similar.

I would pick out Tim Jackson's article Why politicians dare not limit economic growth as particularly badly written, he should stick to writing letters to the editor, or at least do some research. I pick on him for an article with no substance and horrible style.

Originally posted by Tim Jackson:

The message from all this is clear: any alternative to growth remains unthinkable, even 40 years after the American ecologists Paul Ehrlich and John Holdren made some blindingly obvious points about the arithmetic of relentless consumption.

The Ehrlich equation, I = PAT, says simply that the impact (I) of human activity on the planet is the product of three factors: the size of the population (P), its level of affluence (A) expressed as income per person, and a technology factor (T), which is a measure of the impact on the planet associated with each dollar we spend.

Take climate change, for example. The global population is just under 7 billion and the average level of affluence is around $8000 per person. The T factor is just over 0.5 tonnes of carbon dioxide per thousand dollars of GDP - in other words, every $1000 worth of goods and services produced using today's technology releases 0.5 tonnes of CO2 into the atmosphere. So today's global CO2 emissions work out at 7 billion × 8 × 0.5 = 28 billion tonnes per year.



I in particular take exception to this language, I don't expect to see arguments by the "blindingly obvious" in New Scientist, this is a scientific journal, not a religious one. If this had been a post in our own Debates & Discussions he would be promptly shot down.

This is not to say that there was no thought-provoking content in this issue, but what was there to be found was badly edited and hidden by the chaff. The editor of New Scientist, Jeremy Webb, may right that NS should be an ideas magazine and not do proper science the Custodian of Truth. The open questioning approach of NS is why I am a fan of the magazine after all, other magazines tell you what science "has discovered", no questions asked. The Folly of Growth had preciously little opennness however.

As an example of an almost-good article asking an important question I would highlight Does growth really help the poor? Unfortunately the article is only half-done, but it was a good start. Fundamental questions like this, testing whether the economic system actually achieves what it proclaims to do, would be within the domain of New Scientist to ask. Unfortunately they forgot to be a science magazine this time.

PROWAS time again

, ,

For anyone in Prague with an interest in Internet standards, it pays to look up the PROWAS site for the next event.

Which happens to be today. The topic is HTML5 is happening, the speaker is Martin Hassman, and the talk will be held in Czech, with discussion in any language you like. The place is the Chinese restaurant Dobrý Den nearby the Flora metro station, the time is 18:00.

Decadance

, ,

Some nights ago, at a pub in Žižkov that used to be called U smrku (The Pine), I was chatting with a friend while not listening seriously to the songs being played. I asked her what would be the ten most decadent songs in history, without really coming up with suggestions of my own.

I tentatively put up "Crazy frog" (Axel F) in position #8, but I am really not good with lists, particularly not with music lists. Maybe you can come up with some suggestions?

Crisis, what crisis?

, , , ...

So the Irish vote was "Lisbon nil points". An interesting state for this virtual superstate I'm living in. The Lisbon treaty isn't necessary for the EU to continue, which may be seen as a good thing as Lisbon is dead.

The only way it can be revived is if the Irish somehow decide to change their collective minds. How likely do you think that is? Discussion at the forum.

While constitutionally the EU treaties isn't getting anywhere fast, the European countries and people are growing more integrated. Maybe it is time for the EU to swap the bike for a more stable vehicle,

A day in an Opera owner's life

, ,

I am interested in the concept of employee ownership, and early on while working for Opera I set a goal of a 1/1000 ownership. I never quite reached that goal, the rest of the world has more money than I do and I have not been willing to borrow money to invest in shares, but still I am more economically exposed to the fortunes of Opera Software than anything else I own. So when Opera posted excellent results, the market reaction made me more paper money in a day than I can expect to make in real money in this year. ;cheers: I'd say.

This 17% rise in a single day and a similar fall earlier when a disappointing result was posted is fair enough, this can be seen as a reaction to real performance by Opera, but most share price movements have not been a result of changes in Opera's profitabilities or potential. My experience of Opera Software is as a serious longterm company, my experience of Oslo Stock Exchange (OSE), where Opera is listed, is the very opposite. OSE has had a terrible reputation in the past, and there is no indication that it is any better in the present. In my view OSE has been, is, and will be gamed, and there is not much to lead you to believe that the Norwegian government will apply the same rules of transparency to it as it does to itself. OSE is no more trustworthy than most emerging market bourses.

As an Opera employee I reflected that it was probably possible to make (or lose) more money on short-trading the Opera stock than what it would be as an employee. Due to insider trader consideration short term trading was inconvenient to say the least, but it was pretty obvious that the market had little understanding of the consequences of an event, reacting strongly to an inconsequential event and ignoring an important one. It was also a useful lesson in why not to invest in the company you are working for, not so much due to spreading risk as due to the delay in buyng/selling stock.

I could go into trading, at least on a hobby basis. Two things hold me back, high transaction costs and a distrust of OSE. That said, longer term fundamentals always matter, some of the time.

State of the Mobile Web

, ,

Opera has published some stats on phone use with Opera Mini the first quarter this year (based on the URL this seems to be a front page rather than a quarter report 2008/I, so if you read this post later the content may no longer match). To what extent this can be generalised to phone browsing in general is less clear.

The first graph, cumulative users per month, isn't very interesting unless you're into marketing or wonder how well Opera Mini fares, even then it is less useful than the two other graphs for page views and data consumed that tells something about how much it is used as opposed to how often it is installed, and the use grows considerably faster than the number of installs. The consumption table is particularly freaky, what happened in December that almost doubled the traffic (and increased the number of pageview by almost a half)? In November Mini 4.0 was released. That the data consumption increased faster than the number of pages viewed would either mean that people were viewing more advanced (or bloated) pages than they did before, that the data compression is less efficient than 3.0, or both.

The bigger story is that five times as much traffic is handled this March than a year ago, and though the columns are too small to measure precisely that in turn was five times as much as March 2006. So will the current 1 terabyte of data every day turn into 5 terabytes by 2009? By the guesstimate that Opera Mini uses a quarter of Norway's bandwidth, they should be using five quarters of the bandwidth by then...

Of more general interest would be which sites are visited, but I am missing the PC top 10 for the different countries to compare results. The variability from a country to the next is pretty high, possibly higher than desktop. I also wonder how the sites are classified.

If social network sites are relatively more commonly accessed on a phone than on a PC, it would fit my tenet that a phone is a more social device than a PC. A high number of searches wouldn't be surprising either, you get the answer where you are, and now you have a fair chance of getting the answer before you forget the question too.


What is the use for ODF?

, , , ...

This post is a reaction to xErath's comment to an earlier rambling.

Originally posted by xErath:

There's enough info online about the deficiencies of ooxml. I don't need to quote them here.

Just to have it over with, we agree. I may be a Microsoft groupie at heart, but I don't have time for OOXML. People who want to discuss OOXML should feel free to do so, elsewhere. More interesting is this part:

HTML5 is a big patch over HTML4, made to be backwards compatible with the complete mess that is the web.

ODF on the other hand is a clean approach to define an abstract model of document formats. Then ODF has many features that html5 will never have nor will make any sense. I doubt html5 will ever include native spreadsheets support, slide transitions, page footers and headers... you name it. ODF will not support local databases nor globalStorage.

First, I have come to realise that the phrase "it is a complete mess" is a shorthand for "it works very well, and I don't think it should". In fact the Web is a remarkably sane place. We have millions of monkeys making Web code every day, and it works. The Web is more like an ecosystem than an engine, you don't stop and "repair" it, it is survival of the fittest. If you look at Web code written today and ten years ago the old code was worse and still achieved less. The Web has evolved and it keeps evolving.

Read more...

How long will the web last?

, , ,

At least until tonight when we, if in Prague, will find out. Opera's Håkon Wium Lie (nice interview), will count down to its doom.

Leaving Opera

, , , ...

That should more properly be "having left Opera", as I am no longer an Opera employee, but that doesn't work as well as a title. There is nothing dramatic about the decision, and I think Opera is an excellent employer, but I had been at Opera for seven and a half years and that was long enough.

Much of my work at Opera has been with standards, and standards don't matter. Having standards does, but as long as they are reasonably sane it doesn't matter what they are. The latest standards debacle in Norway wasn't related to browsers but with office products, word processors and the like, with the competing standards called ODF and OOXML.

ODF is not a good standard. You can read through the entire spec and will find nothing clever there. Anything ODF can do HTML5 can do better. Add cursor position to HTML5 and it could have been called ODF 2.0. What it has going for it is the absence of bad. Microsoft makes good standards, much of the time. OOXML is not one of those times, what it is lacking is the absence of bad. Could it be fixed? Probably, but to me it isn't worth it.

As for Web standards I think it should be an optional for Opera. Opera should encourage the presence of standards, and follow them unless they are bad, but it shouldn't necessarily form them. Opera should do what makes its users happy.

Opera Mini makes me happy. It lets me do things I couldn't do before. This entry was intended to be typed in on Opera Mini while I was on the move, but in the end it was typed in on a PC. It wasn't written in Opera Mini because Opera Mini isn't data loss safe, without copy&paste or save I can easily lose what I write, and data loss does not make me happy.

Being unemployed makes me happy as well, for now anyway. It's been a long while since the last time, as the last few times I changed jobs I went directly from one to the next. It is almost the same elated feeling as being homeless. I haven't actually been homeless in the sense that I own one flat and rent another, but I have adapted to a mobile lifestyle and from time to time I've not known where I will spend the next night and that is a strong feeling of freedom (until nightfall) — I can go whereever I want. I have used to claim that the bag in my one hand is my office, containing my laptop and other work stuff, and the bag in my other hand is my home, containing clothes and other private stuff. For now I can move with one bag less.

Ooh, shiny, shiny

, , , ...

This Thursday May 8, was a local holiday, the liberation day for the end of World War II. Liberation day used to be the 9th of May, but perspectives change. It also led me out into the Prague suburbs as the latest, and last for a while, extension of the Prague Metro was opening. In the 18 years since I first visited Prague, the metro system has doubled in length, with 19 new stations (Oslo in the same period added 3 new stations). It is a fairly young system, it opened in 1974, and is efficient, convenient and pleasant to use.

While I am an early adopter in the sense that I quickly visited the new stations, I actually never have bothered to be there at the opening (not the official opening, but when it opened its service for the public a couple hours later). With the next station opening in 2013 at earliest I took the trip to the suburbs where the three new stations, Střížkov-Prosek-Letňany, were located, or at least two of them. The terminus, Letňany, is placed in the middle of an empty field. There's an small planes airport nearby and it is just between two large suburbs (Letňany and Kbely). Supposedly the location could come handy if Prague won its 2016 Olympic bid, which is not going to happen. The station is integrated with a nice new bus terminal, as well as a new Park and Ride, so the communications in this part of town still have improved.

What's more the station itself is pretty in blue-tinted glass and highly reflective chrome (at least for now). The most noticeable station of the three is still Střížkov. This dome looks like how the future could be imagined in the 1930s, or progressive architecture concepts from the 1970s. Open, light, and practical. Absent at the opening was commerce, no shops and no pubs or bistros. I can only assume that they will come later, one picture series indicates we can at least expect a hair dresser soon.

More pictures can be found in my album. Skyscrapercity has a relevant thread, and then there is the metro site if you can read Czech or just like to look at the pictures.

The evolution of language

, , , ...

There have been many language threads and digressions; I should know, I have participated in most of them. Maybe it's time to start talking about talking: What is language, where did it come from and for what reason? How do languages compete, cooperate, coopt each other? Where are they going? Is one language better than another? What about dialects, sociolects, idiolects, jargon?

Follow the discussion here

More science, religion, ethics, and peer reviews

, , ,

It seems to be science week at the Debates & Discussions forum, and of course I couldn't resist butting in, be it peer-reviewed sinful science, or the study of armageddon.