Log on:
Powered by Elgg
Spreadfirefox Affiliate Button

Steve Lee :: Blog :: Archives

April 2007

April 01, 2007

Following on from my last post I've become more and more impressed by the work of Seneca's School of Computer Studies in Toronto.

This summary document from David Humphrey is, well, exciting. Not only are they equiping students with the skills needed to work on Open Source projects but they are also funding projects, providing infrastructure and engaging in open source projects such Linux and Mozilla. This is a true 2 way relationship with Seneca students working on projects that matter to the communities and community leaders contributing to the college in ways such as delivering guest lectures.

Locals schools are being equipped with LTSP Linux thin client software on their ageing machines and given support and training in the best Open Source model as we see from innovative schools such as Parrs Wood here in the UK.

In short Seneca is actively engaging in so many of the advantages of Open Source that we promote at schoolforge, and then some.

Seneca is really excited about open source, and we are trying hard to infect our fellow colleagues, students, and the technology community abroad with the same enthusiasm. While we have already managed to achieve some great things, we are excited about what will happen next. As is the case with most open source endeavors, ours is very much a grass roots effort. Hopefully the momentum we have created will see Seneca rise to become more organized and influential in the open source world. 

Perhaps Seneca would be interested in supporting Elgg?

You can join the the senca students and other Mozilla developers on the seneca irc channel irc://moznet/%23seneca .

Posted by Steve Lee | 0 comment(s)

April 04, 2007

This Amazon Patent for 'Hybrid machine/human computing arrangement' reads like something from Sci Fi. I first thought it was an April Fools joke as seems on the face of it to potentially cover many computer usage situations. The change of perspective to computer centric is a little disconcerting.

 

Keywords: computer, Patent

Posted by Steve Lee | 0 comment(s)

Here's a nice example of animated PNG, or APNG, as will be available in Firefox 3. This work comes from a Senaca student project and Google Summer of Code. It pretty much removes the last advantage the non-open GIF format had and show's the impact Seneca is having (I have no links to Seneca, honest guv).

There's more examples on the student's (Andrew Smith) page including this nice one

You'll need a preview release of Firefox which is called Minefield in order to make it clear it is NOT a released version of Firefox and is for devleopers and beta testers only due to its being unstable. Get yours from the nightly trunk builds and look for the latest that is something like firefox-3.0a4pre.en-US.win32.installer.exe.

Posted by Steve Lee | 0 comment(s)

April 16, 2007

Martin Kliehm at 'A List Apart' reviews the WAI-ARIA features that make Web 2.0 application accessibility a reality

 

Keywords: accessibility, Web 2.0

Posted by Steve Lee | 0 comment(s)

April 17, 2007

listen. lead. play.

That's the tag line of this interesting post from Mike Beltzner exploring how Mozilla are attempting  to harness their community energy in order to produce well designed and high quality software.

Having worked in commercial proprietary software and also been a fan of Open Source for many years I often mull over the many different approaches from strict waterfall, through Agile to bazaar-like Open Source.

One of Mike's slide titles is 'Embracing the chaos....' which strikes me as a good approach and a much need alternative to the 'stifle the chaos' approach that has so often been the strategy. It won't be easy but then software development never is easy, being as it is at the nexus of engineering, art, craft, discipline and creativity. It's about people sharing ideas and creating something out of complexity. Even more it's about letting users play an active  part in that process

I really enjoyed the buzz, creativity and free sharing of those early-years computer clubs but recognise the need for good user-focused design, architectural strategy and strong QA. I have often felt ill at ease with practices being used, often feeling the tensions between  users, developers, marketing and management were not being harnessed constructively.

Time will show if Mike and Mozilla are onto good thing but it makes a lot of sense to me and they are certainly having some great results with Firefox at the moment.

Posted by Steve Lee | 0 comment(s)

These Apple adds are just soooo wonderful. Which is your favourite?

 

These programs are soooo annoying. Which makes you see red?

Keywords: annoying programs, Apple, Mac, Microsoft, PC Ads

Posted by Steve Lee | 0 comment(s)

April 18, 2007

Ian Lynch has just announced that the excellent INGOTS ICT qualifications from The Learning Machine are now fully QCA Accredited (QCA is the English Government's regulator for all recognised qualifications). If you go to the OpenQuals web site at www.openquals.org.uk and put TLM in the search it will pull up the certificates.

That's great news as INGOTS give first class assessment of ICT skills, concentrating on understanding rather than rote memory training on specific products. They are implicilty Open Source friendly as they don't specify any particular products and also explicitly supportive in that the higher levels require community service via contribution to an Open Source project such as Open Office. I believe an intention is also to generate an income stream to help fund Open Source projects (Ian is lead of the Open Office Education project).

INGOTS are attractive to schools as they have very low adminstration costs with registration and certificates  issue being online. As Ian says

They can get students a vocational qualification without having to do anything other than what would be considered good  practise and it will count for points in league tables and be less  expensive than conventional GCSEs. They can even pay with e-learning  credits. The big challenge we face now is to get the word out without a significant marketing budget :-)

Pass it on.

They are being taught in South Africa (with some Shuttleworth funding) and there is much interest in Poland.

My children are happy members of the Otto club having both passed the introductory 'My First INGOT' (now re branded).

Posted by Steve Lee | 0 comment(s)

April 19, 2007

In a previous post I described how it was easy to get Ubuntu Linux Desktop edition working on a Lenovo 3000 N100. Well I just tried the latest preview daily build of the next Ubuntu 7.04 (or Feisty Fawn) and it is even easier. What's more Feisty is officially released tomorrow, 19 April.

This time first impressions are of a cleaner and faster experience and the only customonisation I've had to do so far has been to install 915Resolution so that the 1280 x 800 display is properly supported. Boot time is conciderably reduced and feels really snappy compared to windows.

The sound no longer needs a manual tweak to work. In fact the reason I tried Fiesty was so I have working sound when evaluating  LSR screen reader as a platform for Jambu. However it turns out I had disabled the onboard modem in BIOS in the hope of saving power and the kills the sound.

The touch pad is now better supported with scrolling by sliding a finger working. I have not yet found out if the webcam and microphone work. The camera is listed in device manager but Ekiga setup did not find it. There's a neat warning that the wireless driver is not Open Source and so cannot be fully supported by Ubuntu from the new restricted driver manager. 

A nice touch is that if you try to play media such MP3s which need non-open drivers or codecs you get walked through installation from Ubuntu's repositries. This new policy is a big improvment over the previous one of leaving it all up to the user. It's much closer to Ubuntu's concept of 'it just works'  and may well be a contribution to Ubuntu's success. It a shame it is not extended to Firefox plugins like Flash which stills needs a manual installation. 

Wifi support has improved with a roaming mode that is much more like the simple to use  support in WIndows. Unfortunately though you can specify a WEP key you still cannot say which of the 4 your are using in any of the UIs so I had to set maunal mode and edit  /etc/network/interfaces as last time in order to use my setup. 

The only slight niggle is that you can't just remove a USB datakey without warnings, you have to 'eject' it. There are no doubt sound technical reasons but it is a pain. I'm sure there is a way round it if I digg deep enough and accept the risk.

The usual selection of useful applications are there and Open Office is the latest 2.2.

Although I'm not a screen reader user I turned on the assitive technology and played with the Orca screen reader. The team have done a great job and I agree the eSpeak speech engine is very usable. There's a set of regional accents (I assume not dialects) such as Lancashire and the best BBC 'Received Pronunciation' which are rather fun though living in Devon I dread to think of what would be done for a Devon variant given the usual stereotypes.

Installation was straight forward and did not take long. Having booted the live CD and performed a few tests you select install from the desktop. I used the manual partition manager to reuse and reformat my Linux ext3 partition. I also took the opportunity to mount the windows and recovery partitions. Next time I may split out the linux partitions so I can upgrade the os without wiping eveything.

So all in all Feisty is an even better desktop experience on my laptop and I highly recommend it, especially if you're concidering Vista and don't want DRM madness or expensive new hardware.

[Update Jul 19] Well it released to day and the servers are getting hammered. Here's a good review which also concludes that it's a great release for GUI desktop users. I've found 1 problem in that hibernate gives errors and the wifi fails to restore. I l also just noted that pluging in headphones now mutes the internal speaks. Something that really impressed me was that I just plugged in my Epson 760 printer and a builtin driver had documents printing in no time at all. I was expecting to fiddle arround for ages

Keywords: Fiesty Faun, laptop, Ubuntu. Linux

Posted by Steve Lee | 0 comment(s)

April 22, 2007

It just occured to me that I have not been posting much about Jambu lately which is rather suprising as it is the focus of most of my energy. Thinking about it the reason for this is at least partially that I tend to blog as a little light relief or to get something off my chest or even as a way to make notes. I try to keep posts informative and not too technical.  Jambu documentation has it's own place

I've been testing the suitability of XULRunner with Python as the platform and having now completed a technology tester sample I have taken the opportunity to review the situation. I've decided that XUL is not the way forward. Instead I'm now planning to use LSR, the Linux Screen Reader created by Peter Parente.

Why? Well XUL is an effective platform and has many great features for rapid development of rich applications, especially those with strong internet features. However XULRunner and especially XULRunner with Python is not yet fully supported by the main development efforts, is rather unstable and is missing features needed of a productive development environment. This is set to change but with timescales that are to long for my purposes.

It's become clear that Jambu's strength is to be in providing flexible alternative input device support as well as providing attractive and effective computer access. Handling many differing devices effectively in conjunction with a11y APIs is a complex task and requires a good infrastructure for which XUL has little support.

<stage type="entrance">
  <move who="LSR" type="enter" where="left" />
  Enter LSR in shiny suit.</stage>

LSR's name is misleading as it is actually a platform for developing accessibility tools and provides a good architecture supporting devices, a11y APIs, dialog based user interface, flexible user configurations and persistance. In fact as I'm learning about the architecture that Peter has carefully crafted I'm getting thoroughly impressed. It addresses several of the issues I've already thought about and I'm sure many more. It may appear fairly complex but I'm getting the impression of good abstractions and high utility without getting in the way of what I want to do. LSR appears to provides much of the needed functionality, leaving the display of an OSK and in application selection.  For graphics I plan to use Cairo which GTK and onBoard are already using. In fact I may leverage onBoard, at least initially to get a workable OSK.

One issue is that LSR is currently Linux, GNOME and AT-SPI specific. Personally that's no problem as I relish developing on Linux again (as well as Python), even though it adds some learning curve and thus delay (fortunately LSR abstracts much). While modern Linux such as the latest Ubuntu provide an excellent user experience, most target users and their supporters are using Windows, largely as most programs are still Windows only. While it may seem a good plan to make Linux attractive by having great switch applications, I think changing OS is too big jump and the better approach is to provide a smoother migration path from Windows. Fortunately LSR has been designed with portability in mind though that would be a conciderable chunk of work. While that porting will be needed, the plan for now is to reduce further delay and start on Linux, while keeping one eye on the port to Windows. LSR's architecture and the availablity of IA2 makes it a much simple problem to solve. In addition the fact that initially we're looking at access to Firefox only makes a Linux Live CD or virtual machine image a possible interim (obviously not much use for controlling Windows programs).

A lesser concern is how well Linux, well X, supports USB switches as they are seem to be the most common way of connecting. I haven't yet researched it in detail but I got the impression at the Gnome/Mozilla Summit last year that it was not perfect. It may that we need to contribute some improvements there.

The LSR team is small compared to Mozilla which is perhaps an advantage in that developments can happen fast if people are free. Peter has already proven highly responsive and I know he has very comprehensive experience of a11y, Linux, Windows and Python. I think I'm going to enjoy working with LSR.

So over the next couple of weeks I will be investigating LSR and putting it through it's paces. From what I've seen so far it has all the hallmarks of being a good choice. The delay has been frustrating for all and it's to Mozilla and Aaron Leventhal's great credit that they are being supportive of the delays and this change.

So has my work on XULRunner been wasted? Not at all. It's been an important part of refining the requirements. I have made contacts and contributed to the community, including documents and a couple of bugs. I have gained a huge amount of knowledge about Mozilla technology and operations that will be invaluable when working on Firefox access or Firefox accessibility. My experience has left me even more impressed with Mozilla's operation and how they are embracing their wide community and coordinating everyones energy to create high quality open source software. XUL is highly recommended and many interesting applications are appearing that are based on it (E.g. Songbird, Joost).

Finally here's a list of features I need in a platform. LSR scores well. 

* Flexible access to all input devices - gestures across devices
* Good access to any application including via a11y APIs
* Good graphics support, eg SVG and basic UI
* Good support for user customisation - preferably UI, declarative & script
* Good development tools leading to fast development with good architecture
* Interpreted & interactive, Python or Javascript, some C++ OK
* Cross platform - Windows first, then Linux, then Mac
* Easy deployment
* Use common dev skills - attract developers
* Stable and well supported - mature
* liberal licence (non copyleft)
* use open standards
* An existing developer community to tap into would be useful

[Update 1 May 2007]

LSR provides a sophisticated model with many abstractions appropriate for the core requirements of Jambu.  GTK and Cairo add support for UI widgets and graphics. Jambu code will leverage the abstractions with little need for direct access to a11y apis or devices. Direct ow-level access is still possible if really required and Python's large selection of extension 'modules' can be leveraged.

Abstractions provided by LSR are:
* Python - the productive 'high level' scripting language is used throughout
* Adapters - abstract the platform a11y api and events
* Walkers - abstract navigation of the a11y hierarchy
* Devices - abstract i/o devices such as keyboard, TTS and braile
* Gestures - abstract device event sequences
* Profiles - organise behaviour for specific purposes (e.g screen reader)
* Tiers - organise behaviour for individual applications (e.g Firefox)
* Perks - collections of related behaviour, execution context for tasks
* Tasks - fundamental unit of behaviour (cf. event handler or function)
* Choosers - pattern for managing UI especially GUI such as dialogs
* TaskTools - API used by Tasks, providing an abstract environment
* Monitors - and logging provide visibility of behaviour

The architectural model is a core Access Engine comprising a number of managers
* Device Manager - devices
* Event Manager - raw a11y (via pyLinAcc),  device and abstract LSR events
* View Manager - a11y adapters and walkers
* TierManager - Tiers, TaskTools API support Perks, Tasks & Choosers,
* Registrar - configuration and persistence

and extension 'User Interface Elements' of which a number are provided
out of the box:
* I/O Devices
* Perks, Tasks for specific applications
* Choosers - settings dialogs
* Monitors

The platform abstractions should ease the process or porting to
Windows and Mac. In particular the effort would be focussed in The
Access Engine and Choosers.

Posted by Steve Lee | 0 comment(s)

April 26, 2007

One of the themes that crops up on this blog is the accessibility issues presented by Web 2.0 technologies such as Ajax. Becky Gibson's article Ajax Accessibility Review provides a good introduction to the issues ,as well as presenting guidelines for ensuring accessibility, including the W3C WAI work (WCAG and ARIA).
 

Keywords: Accessibility, Ajax, Web 2.0

Posted by Steve Lee | 0 comment(s)