Sponsored Link •
As I can see the end of Thinking in Java 4e approaching, I'm starting to get into the mode to work on the Hands-On Java CD ROM (4th edition, skipping a release number to synch with the book), which I will do in Flash to eliminate various platform problems.
My previous attempts at making cross-platform multimedia experiences have generally worked, but there's always a small number of people for whom it's been difficult. Maybe it's too much to ask, but I'd really like to be able to put out a product and not have anyone say "it doesn't work for me." (It's never been clear why this has happened, but it often involves some kind of mis-configuration of Windows, or lack of backward compatibility of one Windows platform with another. I'm usually reduced to saying "please try it on a different machine.")
Flash seems to really have the cross-platform problem solved -- and not just across versions of Windows, but on Mac and Linux as well. This seems like the place to go.
One of the steps forward that Macromedia has done is Flex, which allows you to create Flash apps programmatically instead of being forced to use Director. This is important, but there are still questions about licensing for Flex, and with the acquisition of Macromedia by Adobe, it's not clear what's going to happen next.
One alternative is the open-source tool OpenLaszlo. Someone told me about this a couple of years ago, I tried it and ran into numerous problems which made me give up on it. But it's now in release 3.1 and seems much more polished. Before investing time in it, though, I'd like to hear if anyone has had good or bad experiences with it. Thanks for your comments.
First, I downloaded the product and browsed the documentation. This has clearly changed since I first looked at it, and it's very nicely presented. I have to say it's drawing me in, and seems to promise to do what I need it to do, and in a fashion that makes more intuitive sense to me than Flex does.
The one sticking point: they talked about "SOLO" applications (stand-alone, not delivered dynamically from their server -- which is what I want to be able to do. I would have thought that these were just SWF file) but they don't talk about how to do it, or at least I haven't found anything.
I got a message from a blind reader:
Reading your latest blog entry I see you talk about possibly using Flash for the upcoming Thinking in Java CD as you have a desire to make the content usable by all. A lofty ambition indeed and I'll make it even more stretching by pointing out the fact that the vast majority of Flash content is unusable to the blind and only increasingly less inaccessible for those with other disabilities. A good overview of the situation is at:
Now I'm not saying "Stop! Don't dare use Flash!" - even though I get very frustrated with technologies such as Flash and Macromedia's far from glorious history in making it better I'm also a realist. I suspect the blind audience for the CD is relatively small, I personally wouldn't be looking to purchase it as I'm in the category of having used Java long enough (since '97) that if I need interactive CDs to get to grips with new features then I likely need consider a career change. So I'm not for a moment suggesting you consider a non-existent legion of disabled developers who will be distraught if you do use Flash.
However, you are a very well known figure in the industry and people respect your opinions. Even if you could drop a paragraph on your blog pointing out that Flash isn't necessarily the universal delivery tool that it seems (at least not without conscious consideration of accessibility issues) then it could help the cause. I've never met a developer who sits behind the keyboard and cackles gleefully whilst twirling his moustache as he thinks up devious new ways of making the disabled user experience even worse. Most don't think about accessibility issues at all simply because they've not been exposed to them previously. Then when they hit the problems they don't know where to turn in search of mitigations if not solutions. When presented with the information they are usually very thankful and eager to work on a truly accessible site/app/whatever. And of course many of the guidelines that help make something more suitable for people with various disabilities also fall into the category of generally good user interface design. Keyboard shortcuts, effective contrast, logical tab orders, we all benefit from this type of thing.
For what it's worth, the current version of the Hands-On Java CD is at least as bad, except that a blind person has the possibility of installation problems. The real problem is that it uses graphics. On the upside, there's lots of audio.
Anyway, I don't think I will be making the situation worse by using Flash on this product, and I don't know how I would make it better by using any other technology. But I think the reader's point was to at least try to think about how a product might impact a blind person.
|Bruce Eckel (www.BruceEckel.com) provides development assistance in Python with user interfaces in Flex. He is the author of Thinking in Java (Prentice-Hall, 1998, 2nd Edition, 2000, 3rd Edition, 2003, 4th Edition, 2005), the Hands-On Java Seminar CD ROM (available on the Web site), Thinking in C++ (PH 1995; 2nd edition 2000, Volume 2 with Chuck Allison, 2003), C++ Inside & Out (Osborne/McGraw-Hill 1993), among others. He's given hundreds of presentations throughout the world, published over 150 articles in numerous magazines, was a founding member of the ANSI/ISO C++ committee and speaks regularly at conferences.|