Log on:
Powered by Elgg
Spreadfirefox Affiliate Button

Steve Lee :: Blog :: Archives

March 2007

March 03, 2007

Mozilla's Manifesto and the associated pledge can be read on Mitchell's blog

The Manifesto sets out a vision of the Internet as a piece of infrastructure that is open, accessible and enriches the lives of individual human beings. It includes a pledge from the Mozilla Foundation about taking action in support of the principles of the Mozilla Manifesto. It extends an invitation to others to join us, either by working directly with the Foundation or through other activities that support the Mozilla Manifesto.

Posted by Steve Lee | 0 comment(s)

March 12, 2007

Computer World have a great list of 20 must-have Firefox extensions. One of the great features of Firefox is that while it's core download provides excellent basics, a large and expanding collection of extension exist to add bells and whistles as required. A highly active community of developers has grown up proving a wide variety of open addons.

It's a mixed bag of extras that make life on the web through the Moziila Firefox web browser that little bit better. For example session managers, settings transfer and mail monitors all provide and enhanced experience. Forecastfox provides local weather info. Answers has educational value by providing a link to a definition of a word. Stumble adds a toolbar for easy StumbleUpon social bookmarking and networking.

For developers the Web Developer toolbar provides powerful features and thought not mentioned it also provides a powerful tool for accessibility testing. The wonderful grease monkey and firebug get mentions too.

The great thing is as Open Source the code for the extenstions is nauturally available so they make great examples for anyone interested. That leads to education possibilities which I'll mention in my next post.

Posted by Steve Lee | 0 comment(s)

Mozilla is poised to become a compelling environment for use in ICT education.

Mozilla Firefox, Thunderbird and a growing collection of media programs such as Songbird, Democracy and soon Skype's Joost all have one thing in common. They are developed using the Mozilla Platform or XUL. This provides a way to create programs using the web style techniques which are now so pervasive. These 'programs' can exists as Firefox extensions, standalone applications running in XULRunner or as web pages powering corporate web applications on intranets or public web applications. They automatically run on Windows, Mac or Linux and can have rich and attractive User Interfaces.

Being based on web standards like HTML, XML, CSS and Javascript means that all this power is available with a short learning curve from  basic web devleopment skills and so could become part of core curriculum. In addition the declarative nature of HTML and CSS is fairly easy to learn and adding Javascript script introduces programing concepts. This would provide students with the ability to create interesting and realistic tools and programs whilst re-inforcing web development abilities. The interpretive nature of the platform allows rapid development of quite complex systems.

Another advantage is that modern standards-based web development techniques can be taught using HTML structual content markup, CSS to control appearance and layout and Javascript for behavour. This provides a way to introduce accessibility issues and concepts such as unobtrusive javascript and graceful degredation for users choosing browsers without javascript or with their own stylesheets

Currently XUL is not as easy to use as say Visual Basic and my initial efforts with Jambu on XULRunner have show documentation and visibility of errors need improvment. However moves are underway to improve the situation. With a little attention to the developer experience XUL will be a fantastic development platofrm.

Finally,  at least one existing extension provides further possiblities. Grease Monkey alows you to write code that affects the behaviour of websites, even linking them together.

Posted by Steve Lee | 0 comment(s)

March 15, 2007

Here's a review of the songbird media player with it running on Linux. It appears to be coming along nicely but my main interest is the fact that it's based on Mozilla XUL as is my project Jambu.

What's more as it's Open Source I've been able to access the code to help get to grips with XUL which is a large and complex system. There's nothing like working code to help understand something. So for example I accessed this .mozconfig file from the web accessible source repository to get some clues for how to configure my build of Mozilla XUL

Offical Songbird Website: http://www.songbirdnest.com
Screen Cast showing Songbird's Features: http://www.songbirdnest.com/screencast

Keywords: Jambu, Mozilla, Songbird, XUL

Posted by Steve Lee | 0 comment(s)

March 16, 2007

Dana Blankenhorn thinks there are 3 markets for Open Source Software. Now That's an interesting idea but I would add:

4. Public sector - Government, education, NGOs

5. 3rd sector - charities

There is some overlap with Dana's categories but are probably sufficiently distinct. They both have a huge amount to gain from FOSS but are often hamstrung by politics and policies as we see in UK education. Indeed you could argue that public money must be spent on Open standards and software.

 

Keywords: Education, Open Source

Posted by Steve Lee | 0 comment(s)

March 17, 2007

Dell might be loudly declaring their ideas for providing Linux on PCs in the USA but ZDNet's latest investigation shows it is still almost impossible to get a PC without windows from the main suppliers in the UK. Even when those manufacturers claim it is an option.

Still there are some signs of change and pressure will mount as Linux looks to be poised to become a viable and popular alternative on the desktop. For example here's a glowing review of the beta of the upcoming release of Ubuntu Linux, Fiesty Faun.

Keywords: Linux, PC, Windows

Posted by Steve Lee | 0 comment(s)

Having hacked a bit with Mozilla's XULRunner platform I now have clearer ideas of the issues new XUL devlopers face and what could be done to make it a best-of-breed development platform. I'm only partially up the steep learning curve of the various technologies to be used for Jambu; MozillaBuild, XUL, XBL, XULRunner with Python and XPCOM, MSAA and IA2 and SVG. Fortunately I'm already familar with XML, HTML,  JavaScript, Python. My deep experience with make, configure and C++ helped with problems building the Mozilla source.

Many of the problems I hit where amplified by the fact that the XulRunner Python
support is bleeding edge. I would benefit from more time looking
at the core code, samples like Komodo, the Active State list (and
sitting next to Mark Hammond for a week :-) ).

Finally I'm at the stage where the platform is working and I'm starting to access Firefox/Minefield via MSAA from Python in XULRunner. I could do with a python debugger hooked up to speed turn around but at least I can use Python's great interactivity from a console. I seem to have hit a few issues with gecko's MSAA implementation of accChild and accDoDefaultAction but that may just be my lack of understanding.

The mozdev.org community hosts XUL projects and looks like being a rich picking ground for ideas. However I'm happy Jambu is hosted at oatsoft.org as Jambu is OATS and we need input on how to improve the forge side of oatsoft.org.

Anyway here's a list of some of the things I think will make life easier.

1)  Provide an 'out of the box' dev environment. The binary is only
part of the picture and we need a console (log + interactive prompt),
Inspectors (DOM, CSS) and a debugger. This could be realised with a
development binary with these all enabled and compatible with the
release binary.

2) Provide great examples and reference apps that exercise the main
features and show best practice but are easy to digest.

3) Centralised and up-to-date documentation for the latest story. This
is a general FOSS problem as examples appear all over the place and
often conflict or are out of date. XULPlanet is great and could do
with development. Perhaps commission a new 'fast track' book (I found
the McFarlane one too verbose). How about 'Dive into XUL'?

4) Clear examples of how to build your own platform with common
features. There's a lot of options in configure --help with many
subtle interactions. Problems building with free tools. Ben's doing a
great job with the new MozillaBuild.

5) Instructions and possibly tools for making a deployable program.
Presumably XULRunner will be shared or eventually already installed
with Firefox.Thunderbird. Probably not much to say for normal XUL but
Python adds problems.

6) Keep it all up to date

Some more detail:

* Allow extensions to be installed. This ideal is limited by context
issues such as web functionality being missing.

* Make the distinctions between contexts like XULRunner and Firefox
extension clearer and reduce if possible.

* Too many consoles. I have the native console, the Javascript console
and a Python console and errors or vital info can appear on any.

* Python debugger needed. At least python has good intraspection.

* A binary Python build of XULRunner (release and perhaps debug). Need
to resolve dependencies on Python. Perhaps integrating it ala
py2exe/pyinstaller as long as can still add 3rd party packages like
Python for Windows.

* Python path issues for 'import' of modules

Posted by Steve Lee | 0 comment(s)

March 27, 2007

CSUN was inspiring, partly as this was my first visit to L.A. and CSUN, but mostly as I was part of the team that Aaron Leventhal and Frank Hecker have brought together to ensure Mozilla product's are highly accessible (for Firefox web accessibility see www.accessfirefox.com).

 

The Marina Del Rey meeting room full of people The Mozilla booth during a rare quiet timeAssistive technology developers, manufacturers, suppliers, researchers, users and service animals thronged together in 2 large exhibition spaces. Mozilla's territory consisted of a booth in the Marriott exhibition space and the Marina Del Rey meeting room for parking laptops and discussing accessibility (the Moz Pit). These 2 locations became the focus of activity for the 16 people that Mozilla brought together from around the world. Accessibility representatives came from Mozilla, IBM, University of Toronto ATRC as well as independent developers freely mingled with others from the likes of Sun and Yahoo. In addition to manning the booth, discussing, planning, hacking and networking many also led seminars, demonstrations and workshops.

 

We kicked off with a summit which was a time to introduce our projects, discuss issues, hack on some problems and find common ground. The projects discussed included NVDA Windows screen reader, Dojo Ajax toolkit accessibility, a Dojo chat client, the chatzilla IRC client (used by most Mozilla developers) and Jambu alternative input. Other parties including Will Walker of Orca screen reader popped in at various times to hang out.

 

Booth duty was a chance to take it in turns to meet users and those interested in Mozilla Accessibility features. A number of people passed by calling out 'we use Firefox' or 'we think Firefox is great' which was a delight and I felt proud to be representing Mozilla. Freebees we gave away included documents, stickers (perfect for laptop lids), badges (buttons), sharpie pens and the extremely popular Mozilla Live Access CD. Charles Chen tirelessly demonstrated his FireVox and CliCk, Speak addons to Firefox despite having an allergic reaction to oak. Frank Hecker, director of the Mozilla Foundation was with us the first 2 days and his friendly, unassuming and hands-on attitude is an inspiration.

 

Mick Curran's NVDA screen reader for Windows is also on the Live Access CD and Mick and his partner Amy were in great demand from many interested parties. NVDA has only been in development since April but already is a very usable and compelling tool, clearly filling a gap in provision of a popular low cost screen reader. Mick demonstrated it to interested parties and the Adobe team were most keen to see if NVDA supported the Flash plugin in web pages.

 

Tim Riley is Mozilla's director of Quality Assurance and spoke enthusiastically to us about the testing workand plans, both in a more formal presentation and during many other chats. It is clear that Tim is working hard to improve the QA processes and testing by working with the developers and users. QA is always a challenge and the nature of Open Source development adds extra dimensions for Tim and his team to juggle. It's clear that the already excellent quality of Firefox and the other products will improve further. Good test engineers are being sought by Tim to help with the task.

 

Aaron presented on the Mozilla Accessibility ecosystem and despite the early hour of 8 am there was a good turnout. Aaron had craftily enlisted 3 other colaborators (and clearly good friends); Doug Geoffray of GW Micro on Window-Eyes, Scott Moore of Ai Squared on ZoomText and Alex Faaborg of Mozilla on User Experience and Microformats. Several of us with Mozilla grants stood up in the audience to summarise our projects. I was very pleased when Aaron provided more detail on my project Jambu in response to an interpreter's request; he made it sound very compelling.

 

Gijs worked with Charles to solve some sticky accessibility problems with Chatzilla which is a very good test case for the issues of live updated user interfaces (with updates not triggered by the user, as most screen readers assume). Other successful collaborations occurred in the ever occupied meeting room including work on the Dojo accessibility projects.

 

Michael Stewart and I managed some productive hacking, getting MSAA events working on the XULRunner-with-Python platform. Michael is currently looking at an IAccessible2 test tool using the same platform as Jambu so we are able to collaborate. Peter Parente of LSR provided invaluable input from his extensive experience of Python accessibility on Windows and we got it working just as they left to catch their flights.

 

Socially we met for meals, trying various restaurants and found a good Deli between the venues. As always the quantity of food and quality of service was impressive. My only gripe is that I did not discover such excellent beer as was to be drunk at Boston's Cambridge Brewing Company during last years Mozilla A11y Summit (there's no pleasing us real ale fans).

 

Manhattan Beach, apartments from pierManhattan Beach, along waves from pierManhattan beach's endless sandy stretch was the scene for our closing offsite and we were joined by Aaron's family who soon got to work handing out drinks and moving as much of the sand as they could with their hands and shoes. (A huge thanks to Tim Riley for packing up the booth so that Gijs and I could go) We walked the pier, watched the surfers and dolphins, paddled in the sea, ate sandwiches and generally kicked back and chilled out. Gijs and I had to leave early to catch our flights and looked back to see the Mozilla CSUN 2007 team standing in a ragged group on the sand, munching sandwiches and drinking soda.

 

So CSUN has given me a much improved sense of team membership and I'm fired up to develop Jambu. It's clear that Aaron and Mozilla are fully supportive of Jambu and I've come away with many ideas for features, so just watch this space.

Keywords: Accessibility, Assistive Technology, CSUN 2007, L.A., Mozilla, Open Source

Posted by Steve Lee | 2 comment(s)

March 29, 2007

Why is it that you often find the resource you needed some time after you needed it? A case in point is the video lecture How the Build Works by J. Paul Reed. It's a great overview of the Mozilla build system providing a 'cruft and all' exposition of why it's the way it is. The Q&A section also goes into some depth on tinderbox the continuous integration server and bonsai the web inteface to CVS that provides the effect of change sets.  You'll need at least a nodding acquaintance with make and autoconf etc. and should probably browse the developer build docs first.

I spent some time rummaging around the the make system when working out how to build XULRunner with Python. To my advantage was the fact that I didn't need to get in too deep as I just needed the right options and was not adding new code. Plus I have worked on similar complex nested make systems before. Otherwise there's a lot to get to grips with and the video should help with the Mozilla specifics.

This is one of several interesting videos of guest lectures on Mozilla from senecac college. 

One question he doesn't answer is why client.mk and not Makefile? That way it would't be necesssary to specify it every build. I suspect it something to do with fact it checks itself out or gets called recursively.

Keywords: build, make, Mozilla, senecac, tinderbox bonsai, XULRunner

Posted by Steve Lee | 0 comment(s)