According to Steve Jobs, Flash is dead. He should know, because he’s the one holding the murder weapon. Flash is dead to Apple because they are not allowing it on the iPad, a device which otherwise would seem ideal for viewing the kind of rich media content the Flash platform excels at.
Obviously, Apple’s decision, and Jobs’ declaration, is not a prescient message from the future, but a company policy intended to protect the profits from their app store. They do not want their sexy device to be able to access all the rich content from the web, they want to be able to charge you for it instead. Even so, when someone like Steve Jobs declares Flash is dead, people take notice. So if the future is no longer Flash, … what is it?
Even before Apple weighed in, I’d noticed the demand for Flash has been on the wane. And even more noticeable has been the wavering interest of my fellow Flash devs. Symptomatic of these times, the Flash Brighton group, the collective home of the finest Flash designers and programmers in Brighton, is in the process of a rebrand, which will very likely include (gasp) dropping the word “Flash” from the group name.
On an individual level, I’ve seen many of Brighton’s finest recently devoting their attention to non-Adobe products. And these are the folks who know. So here are some of the technologies people have been playing with:
Unity – a 3D games engine, also banished from the iPhone via their T&Cs, but capable of some amazing browser based interaction. See http://blurst.com/ for many fine examples. If you want a Unity developer, may I recommend my friend and colleague Iestyn.
OpenFrameworks – a C++ framework, capable of creating multi-platform content. Ideal for interactive art, ambitious installations and audio-reactive work, but also capable of publishing to devices such as the iPad, iPhone and Android. This has been my own favourite toy of late.
Processing – a highly accessible language based on Java. Not so great for the web, but excellent for digital art, video or offline interactive work. For the web there is Processing.js, a JavaScript port, which is probably the best Flash animation alternative currently. I have written an introductory book on the subject of Processing, if you want to get up to speed that might be a good place to start.
HTML5 – this is Jobs’ answer to the lack of Flash on the iPad. Unfortunately, while HTML5 has a huge amount of promise, it is still many years away from Flash’s current power. Even if Adobe were to cease developing Flash/Flex today, by the time HTML5 had caught up the iPad will be a distant memory (because we’ll all have migrated to Android devices long ago).
Objective C – inevitably, many Flash devs don’t like being locked out of the platform-de-jour, so have been awarding their attentions to Objective-C, Apple’s OS language. Again, if you want an iPhone developer, there are people I can recommend.
Flex – while Flash demand is dropping, Flex demand has been on the increase. Flex app are still using the Flash Player, so they’re no more welcome on the iPad than any other breed of Flash, but it still remains the best solution for rich media online.
Personally, I disagree with Apple; there is still a future for the Flash platform. Although Adobe are going to have to pull their socks up to fight back, ignore Apple’s greedy posturing, and focus on all the things that HTML5 can’t do very well. Video for example. Or how about 3D?
Adobe have just released their latest Flash Player penetration stats, which suggest that Version 10 now has an approximate 75% penetration.
Flash Player 7
Flash Player 8
Flash Player 9
Flash Player 10
Mature Markets
99.3%
99.1%
98.9%
74.2%
US/Canada
99.2%
99.0%
98.8%
74.5%
Europe
99.1%
98.9%
98.6%
75.3%
Japan
99.8%
99.5%
99.3%
72.0%
Previously Adobe’s own stats tended to be taken with at least a soupcon of salt, as they were based on visitors to their own site (who would obviously be more inclined to be Flash users), but in now employing third party market research for these statistics we might take them a little more seriously.
For an alternative view RIAstats offers some visual data too, which also puts FP10 around the three-quarters mark. Interestingly, they also give stats for Silverlight, Microsoft’s much mocked “Flash Killer“, which is now showing an actually rather impressive 25% uptake. I have slightly warmed to Silverlight in recent months, mostly thanks to conversations with Ed at Unwrong. It may yet be one to watch.
There are two things I have had on my to-do list for a few years – 1. do a Generative Art project, and 2. do an Open Source project, so this month I have ticked off two boxes at once with my new 100 Abandoned Artworks site.
A year ago I saw Robert Hodgin speak at FOTB07, which introduced me to Processing, an Open Source Java-based programming language. It is always good to teach yourself a new language every few years, just to keep things fresh, and to give you new perspectives on your work. And while ActionScript is still great, as the language has evolved from the hacky AS1 to the strict, ordered, enterprise-focussed AS3, it has lost a lot of its sense of fun and experimentation; the thing that attracted me to the language in the first place.
So, while I can still use AS3 to make my clients happy, Processing can be my playground. Which is the idea behind 100 Abandoned Artworks (http://www.abandonedart.org). I don’t have the time, or the sympathetic business partners, to be able to emulate Hodgin’s sophisticated works, so instead I am intending to do a high-volume, fast turn-around project (the only thing I can do with a wife, child and 20odd clients to keep happy).
Over the next 100 weeks I will produce an experiment a week and throw it out there, in whatever state I have got it to before one of my dependents puts a stop to my playtime. But I will also post the source code, so if anyone wants to take these works and run with them, or adapt them for another medium, they are welcome to.
I’m hoping it’ll produce some good stuff, and you’ll be able to see a upward curve in the quality of the work over the two years. Make sure you subscribe to the feed, because the more subscribers I have, the harder it is for me to bow out and quietly abandon the project.
When I was schoolboy I used to tape music videos off the ITV Chart Show onto a Betamax tape recorder. This used to require studious attention and a steady hand over the pause button. Going back and re-editing a playlist was near impossible. Now the only place I see music videos is on YouTube, and they can be added to or removed from my favourites list with a click. This is what we call progress.
Similarly, back in the heady days of 2007 I used to blog using WordPress, which involved actually writing words, adding links, and embedding media using a WYSIWYG interface. It also required you to have something to write about in the first place. How primitive. In 2008 I’m using Tumblr.
Multimedia and accessibility requirements can be the cause of much confusion. While it is inarguable that as producers of quality software we shouldn’t discriminate against any user, there is also a danger of over-compensating for accessibility requirements. Locking out any sub-group of potential users is never acceptable, but watering down the interactivity of an application so far that it loses sight of its original objectives should not be the solution.
Many organisations are feeling the pressure to bring accessibility to the forefront because of the legal implications of being seen to discriminate. But with confusion over the exact requirements of the law the tendency is to err on the side of caution and commission a ‘lowest-common-denominator’ designed application, just in case. The legal confusion gets even more complex when the target user base crosses national boundaries, as the majority of web content does, and so has to conform to a globeful of differing territorial law.
But there is no reason to lose one’s head over accessibility. It is just a matter of giving a little thought to the issues, and making sure no potential user is likely to be shut out of the experience. The idea of ensuring that all users, regardless of ability, have exactly the same user experience is probably misunderstanding the issue. A visually impaired user is never going to have the same experience as a sighted user for example, simply because the visual content is not available to them. So to compromise a sighted users experience too far to accommodate a non-sighted user is the wrong way of thinking about it. Instead it is important to think of ways we can give disabled users a comparative experience, within the context of their disability.
2.2 (p7): “The Act makes it unlawful for a service provider to discriminate against a disabled person by refusing to provide any service which it provides to members of the public.”
4.7 (p39): “From 1st October 1999 a service provider has to take reasonable steps to change a practice which makes it unreasonably difficult for disabled people to make use of its services.”
2.13 – 2.17 (p11-13): “What services are affected by the Act? An airline company provides a flight reservation and booking service to the public on its website. This is a provision of a service and is subject to the act.”
5.23 (p71): “For people with visual impairments, the range of auxiliary aids or services which it might be reasonable to provide to ensure that services are accessible might include … accessible websites.”
5.26 (p68): “For people with hearing disabilities, the range of auxiliary aids or services which it might be reasonable to provide to ensure that services are accessible might include … accessible websites.”
For the first provision you need to be clear on what constitutes the ’service’ you are providing. For eLearning the service is usually a training course, and the opportunity to complete it. This may mean removing barriers within the navigation; dependency on the mouse to progress for example, or providing audio alternatives to text.
Other territories have much stricter laws, Australia and Canada in particular. In the USA, Section 508 of the US Rehabilitation Act mandates that web content maintained by the federal government must be made accessible to people with disabilities. Section 508 is based on the W3C Priority 1 standard. Many legal standards are based on this W3C standard, either priority 1 or 2, which can cause difficulties. The W3C standard dates from 1999, and is inappropriate to anything apart from HTML (the majority of eLearning is Flash based currently, which barely existed in 1999). It is a little archaic (I love the provision it makes for ‘ascii art‘!) but is still useful. Although, it is actually quite easy to conform to the W3C, as most of the provisions are simply passed as ‘not applicable’. This is fine for legality, but not so good in ensuring accessible content.
There is also a key problem when it comes to eLearning that one of the lowest priority W3C requirements is that a page has to be able to function with scripts disabled. This means if you want your app hooked into an LMS, you cannot comply to even the lowest level of the standard.
User Focussed Design
My message is this: don’t take the letter of the law as your roap map to accessible content. If you do it will make for very sterile, non-user focused applications. Instead think about it from a user experience perspective. If you are task focussed, apply good user-centric design, and sensible building practices, meeting the requirements of accessibility law will just come naturally. Adhering to the law is the easy part, it is creating an engaging user experience that is the hard part. So don’t think legalities – think usability.
There are gains to be made by thinking outside the box on the issue, in order to stay focussed on your objectives. For example, if an application needs to cater for partially sighted, motor impaired, or any other user that might have difficulty with a traditional computer application, you might consider the cost/usability implications of making a written version of your content available by mail-order. This way you can cater for all users, without compromising the user experience of the majority. The approach you take should depend on the objectives of your content, not the medium of delivery. If you can meet these objectives in technologically agnostic ways, then you should feel free to do so.
As a final note, if you think accessibility considerations for eLearning are difficult, you should try making considerations for accessibility in the games industry (as I have had to in previous jobs). A game, by its nature, is designed to test motor skills, reaction times, etc. i.e. it is discriminatory by design. Although, if a user cannot play a game this is not really disadvantaging them more than they already are. But if you were to prevent them from buying a service, finding information, or completing an assessment it is a much more serious problem.
Further reading: There is a great case study on the RNIB site, examining the efforts made by J K Rowling website to reach all it’s readers.
I love 70’s childhood pictures. It’s as if everyone’s childhood had the same washed out colour palette.
This was a little AS3 experiment I did earlier in the year, back when I used to have time for coding. It draws in random photos from flickr and applies a few filters to try and recreate that 70’s childhood pics vibe.
There’s not much to it but I was rather pleased with it. If you like it too, you might also like some of the other stuff on my generative flash page.