Archive for the 'general geek' Category

On videoing conference sessions

PPK has released a very good Conference Organisers’ Handbook in which he writes

Recording the sessions on video is becoming a custom, and a very good one. Every single session that’s out there as a video increases the knowledge of the web community as a whole, and in the end that is the goal of your conference, too.

I completely agree. Speaking at conferences is a big part of my job evangelising open Web standards for Opera, and videoing the talks is a great way to reach even more people.

So here are some notes on PPK’s advice.

Don’t try to claim copyright

I spoke recently at an excellent event and, as I was preparing to leave, I was handed a release form that granted the organiser the right to publish the video. I always read these, and encourage every conference speaker to do so. It’s lucky I did; a clause in the release form asserted that I grant copyright to the conference organiser, and give them the right to pass on the material to subsidiaries, and “third-party affiliates”.

There are several problems with this. Firstly, and primarily applicable to speakers who are representing their employers: I don’t own the copyright to my talks, Opera does as Opera pays my salary. Also, I have no authority to bind Opera to a contract anyway, so wouldn’t be able to assign such rights away. Most importantly, however, and applicable to most speakers I see: I don’t own copyright for the creative-commons images that I use in my talks, so cannot assign those rights to someone else.

(There is a happy ending to this: when I pointed out the problems to my hosts, they immediately understood and sent me a much simpler agreement that said simply “we will publish the video but make no claim to ownership or rights to the content”.)

Don’t make the video members-only

If you publish videos, don’t put them behind some kind of login or (worse) a paywall. I consent to conference organisers publishing video because it enables those who couldn’t come to the conference to get the content. If it’s only behind a login, it doesn’t get that extra reach.

If it’s behind a paywall, I can’t allow you to reproduce my slides, as some of them are licensed creative commons non-commercial. Now, I’m starting to think that creative commons licenses are so ambiguously worded that it’s impossible be sure that you’re not in breach (see my concerns about sharealike), but to me, using an attributed non-commercial image is OK as long as I’m not directly profiting from that image, eg by selling copies of it or making t-shirts with that design. But I don’t know if it counts as “commercial use” if it’s in a presentation behind a paywall. As I have no wish to be sued in order that someone else can make a profit by restricting circulation of the video, I don’t consent to that video being published. (It’s why one talk of mine was recently published audio-only).

Commercial conferences should transcribe the videos

If you’re a commercial conference, you should transcribe the videos at your own expense so that they’re accessible to people with disabilities. (I don’t mean for grassroots conferences that charge a small entrance fee to cover costs, I mean for big commercial conferences that have a ticket price in the hundreds of dollars).

Creative Commons Share Alike, my bum

As part of tarting up Introducing HTML5 for its second edition, I’m discussing the very useful -moz-ui-invalid pseudo-class. The documentation at Mozila Developer Centre is a paragon of clarity and succinctness, so much so that my instinct is to quote the 4 lines “The result is that .. unchanged valid value” with attribution, rather than rephrase it and reduce its clarity.

However, the license for that page is CC Share Alike:

Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

Now, I don’t know whether quoting within a chapter is “building upon” or not. I can’t release the book under a similar license as neither Remy nor I own the intellectual property (we tried to persuade the publishers to release it but they were… somewhat antipathetic (ahem) to that idea).

Twitter chums advised that quoting 4 lines was OK as “fair use”. But I’m in the UK and as far as I can tell, we don’t have that concept here. Wikipedia says of UK “fair dealing”:

Under the Copyright, Designs and Patents Act 1988 (CDPA), fair dealing is limited to the following purposes: research and private study (both must be non-commercial), criticism, review, and news reporting (sections 29, 30, 178). Although not actually defined as a fair dealing, incidental inclusion of a copyrighted work in an artistic work, sound recording, film, broadcast or cable programme doesn’t infringe copyright.

But our book is a commercial project. It’s not criticism, review or news.

So I’ve emailed the MDC to ask them to waive their rights. I’m writing this book as a private individual, and the derisory royalties that technical books produce don’t make me willing to accept personal legal risks: no way am I risking my house, which is the only thing of value I own. (Hiring a lawyer would use up all my royalties.)

This emphatically is not a criticism of Mozilla – they’ve always had an excellent track record of openness and I’m certain they’d be delighted to be quoted in a chapter that praises them.

It’s a criticism of UK copyright law and the Share Alike license which doesn’t define “build upon” or “non-commercial” in any useful way.

Reading list

HTML5

Other Web

Lulz

Opera Dragonfly

The big news was that Opera Dragonfly was released. I made a video to introduce it to you (best viewed full screen):

Opera Dragonfly tour (8 mins) from Bruce Lawson on Vimeo.

You want HTML5 funky dirty native, don’t you?

Made by someone commenting in Haavard Moen’s post about the announcement of "native HTML5", this video does NOT represent Opera’s official position, but it did make me laugh. Personally, I like "native HTML5". It’s important that it not be tainted with our "modern ways", but preserved for diversity reasons (thx @stommepoes!).

Microsoft announces an important innovation.

Official interview with me about Native HTML5.

Screencasting an Android phone

For my talk on HTML5 multimedia next month at web directions @media I plan to very quickly demo the HTML5 getUserMedia API (formerly <device>) on my Nexus S.

On my old Windows Phone I had a lovely program called MyMobiler to view your mobile screen on your desktop, which you installed and Just Worked.

Not so easy on Android, it appears. I found Android screencast but couldn’t get it working on Windows. So I tried it on Ubuntu; still no joy. When Ubuntu, hacking and things not working coincide, the way forward is to invite Stuart Langridge out to the Opera-Canonical Temple of Synergies and buy him beer while he swears at your machine, Google, Oracle, Ubuntu and anyone in the immediate vicinity. (“Java! You’re a massive cock-bubble!” was one exasperated highlight.)

And he did it! Read how in Ubuntu and Android, sitting in a tree (nearly), in which Stuart calls for Ubuntu to become the best platform for Android development.

Then we put the world to rights and agreed with each other about Apple again.

Update: Since writing this, I’ve been recommended Droid@Screen. I haven’t tried it yet, but I’m told it’s better than the method above, and it can be started by double-clicking the JAR file.

Hurray for friends who are cleverer than oneself.

Windows Backup did not complete successfully

This took me ages to discover (and hat-tip to Sarah Bourne for the answer) so I’m posting it as it might help someone else.

If you suddenly start getting this error when doing backups on Windows 7, run a full security scan and kill any quarantined viruse. (I use the free-to-download Microsoft Security Essentials.)

Why the error message is so stupidly unhelpful, and why Windows back-up doesn’t simply carry on in the legitimate assumption that you’d rather not backup quarantined viruses, are just two of the many mysteries of the universe.

Old programmer war story

I had to smile to see some young whippersnapper ask “What are the Windows A: and B: drives used for?“, and thought back to when I started using computers that were even pre-floppy drive (you saved and loaded from a cassette tape and sat listening to the high-pitched noise as it loaded for 10 minutes with fingers crossed in case of data error), and decided to write down my favourite computer war story of prehistoric times.

Between 1988 and 1993 I worked for a very large computer services company, writing VAX/VMS Fortran and Cobol programs that drove an “online” Viewdata service that allowed the dealer network of a British car company to record sales and arrange finance. No program module could be more than 8K, I recall – so fripperies like comments, meaningful variable names or 4 digit year numbers were luxuries we couldn’t afford.

At night, the service was suspended while batch jobs ran to produce great big magnetic taps of data that were taken by motorcycle courier from the West Midlands to London in time for the BACS run at 7 am, when the banks did all their transactions. If you missed the BACs run, the previous day’s sales were not debited form the customers’ accounts and therefore not credited to the car dealer. Because of this, members of the team took it turns to carry a pager so that we could be contacted if there was a problem outside office hours (no mobile phones then!).

In the early hours of the morning of 2nd of August 1991, I was disturbed in flagrante delicto by my work pager chirruping. I phoned the operator at our computer data centre to be told that one of the batch jobs had failed with an inscrutable error message. Of course, these days I’d open my laptop and search the Web, but way back then I had no option to get a taxi into the data centre and go to the big cupboard full of the big orange ring binders that contained the manuals.

The error message told me that a data type had overflowed. A further 30 minutes led me to conclude that the running total of sales value was being stored in an INTEGER*4 variable. Because it was an integer, it was being tallied in pence rather than pounds – and at £55m (or 5.5 billion pence) the number was too big to store in 4 bytes. The previous day’s trading, 1st of August, was the first day of the new registration year, so everyone had rushed to be the first on their street/in their office to have the newest registration plate.

Another half hour with cigarettes, vending machine coffee while looking at the manuals suggested that I could substitute a REAL*4 variable and tally in pounds with two significant decimal places for the pennies. With no time for fripperies like testing my theory, I recompiled and relinked all the programs and ran the batch job again as dawn was breaking.

The leathered-up motorcycle guy was in Reception by this point. “It’s going to start getting busy on the M25″ he warned as we mounted the tapes to write to.

It was with a queasy feeling that I checked the logs before writing the tape to make sure that the grand total was £55million. If I’d got it wrong, I would rather not send a tape to the bank at all than send a tape that erroneously debited £5million or £550million. I was also painfully aware that I had no authority to take such a decision—and a day’s interest on that kind of money was not trivial. But by the time I had found the number of someone with such authority, phoned him, awoken him, explained the position to he could take the decision, it would be too late.

Success – the total was correct! While the courier grumbled that he was going to perhaps exceed the 70mph speed limit on British motorways, the tape was written, boxed up and put in the cycle paniers. As the courier roared off, I wearily got into a taxi back to my sleeping lady-friend, to shave and shower to start work at 8.30 again.

You young ‘uns with your APIs and debugging consoles. You don’t know you’re born.

Five things carrots can do that HTML5 can’t

I saw the marvellous 10 Flash Things You Can’t Do With HTML5 and it made me realise that HTML5 is rubbish.

In fact, it’s not even as good as a humble carrot. Here are five things carrots can do that HTML5 can’t, presented by Dr Archimedes Einstein.

(Captioned HTML5 video on Monday when I’ve worked out how to do it – it’s my day off and kids are nagging me to go swimming.)

Oh, and here’s the gag reel.

Notes on Birmingham Council website post mortem

The city I live in, Birmingham, launched a new Council website. It made the headlines because it was three years late, and considerably over-budget. I’ve been reading their post-implementation report Web CMS Project Post Implementation Review – Final Report (PDF, 440K) (check out the humane URL of that document: thank goodness for the new Fatwire CMS!)

One day, I am going to get rich by doing post-implementation reports on public sector websites (if such a thing as “public sector” remains, of course).

From my experience at the Law Society, and reading reports such as this one, I could easily produce a template document citing the usual reasons for the deadline-breaking, budget-demolishing usability atrocities that get commissioned, and then I’d just slot in the client organisation’s name and charge them a few grand.

I would use the Birmingham report as a basis, as I’ve already paid for it with my council tax and it lists (or hints at) all the depressingly usual suspects:

  • Scope creep
  • CMSs are bought off-the-shelf, massively customised to the point that they’re unstable and no-one knows how they work any more
  • organisational disdain for their own employees’ accumulated vital knowledge and experience
  • obsessive organisational risk-aversion
  • managers with no understanding of how the web works being put in charge of projects
  • PRINCE2
  • endemic mis-communication

Joking aside, I’m not qualified to judge how accurate this report is, but it rings true, except for one vital area.

The report’s authors offer advice on enhancing the accessibility of the site. The advice is wrong.

I can’t find the names of the authors to judge their qualifications to pontificate on accessibility but the inaccuracy of terminology of the assertion “W3C rules state that an ‘alt tag’ should be used on all images” makes me uncertain that they really know what they’re talking about (there is no “alt tag” as there is no alt element in HTML).

Section 13.3.2 says

…a visually-challenged visitor should be able to increase the font-size and to change text and background colours to make the site legible for him or her. It is possible for an individual to change the font size using their browser settings but it is not possible on the BCC site to do this on the web pages themselves.

I challenge the assertion that you need text resize widgets on the page. It wastes space, only works per page (unless you set cookies), and requires JavaScript. At the very least, this should be usability tested with representatives of those who would allegedly benefit.

Section 13.3.3 says

… Browsealoud (http://www.browsealoud.com/ ) is recommended by many bodies including the RNIB. Many visually-impaired people use the system and it is enabled on many government and local government websites – including a subsidiary standalone site of the BCC (www.adultcareinbrum.org.uk – see below).

Systems like these allow a visitor to listen to the content of a site, thereby making it accessible to those with visual, literacy, and dyslexia challenges.

We recommend that Browsealoud or another similar system be implemented on the main BCC site.

Browsealoud costs money. It’s basically a plugin that reads text, but has none of the navigational functionality that fully-fledged screenreaders have. The site owner pays to have their web site added to a whitelist contained within the plugin.

Extensions such as Opera’s Voice (select text, right click, “speak”), Firevox for Firefox, built-in screenreaders on the operating system such as Micrsoft Narrator or Apple Voiceover perform this job without requiring the council to spend money, and (most importantly) at greater utility for the consumer. Browsealoud (or similar plugin) requires that the user learn a new way of interacting with this specific website; using the alternatives I list above enhance the user’s experience on every site she visits.

It appears that during development of the site, Birmingham City Council procured four third-party accessibility audits of the website, all of which mention non-resizeable text (but recommend setting it in CSS with relative units rather than coding text resize widgets). None recommends browsealoud or similar plugins.

I hope that Birmingham does not follow the two accessibility recommendations of the post-implementation report, until it can demonstrate that the authors of that report have significantly greater experience and knowledge of accessibility than the authors of the 4 accessibility audits I obtained under my Freedom of Information request.

This is a personal post and not the opinions of my employer, wife, children or hamster.

Birmimgham also features in another of my Usability Atrocities with its legendary Strategy to develop Short Breaks for Disabled Children.