I'm having such a dilemma and its driving me crazy. Here is what I'm struggling with: lately, several of my customers have asked me to create or bid on projects where they expect to be able to go in and edit the content, images and layout of the project after the launch. They want to be able to tweak every aspect of the project once its complete. However, they have no technical background and are not interested in learning the tech. As a result, I'm being asked to over-complicate the programming for ease of use later.
First example - a local area church has asked me to develop a web site for them that they can edit themselves. They don't want a CMS (even the free ones), they want to be hand coded. No problemo - I build it in CSS at a fixed width and height per the design from their team. After its built out and they want to start adding content, their editor (who picked up Dreamweaver specifically for this purpose), can't get the WYSIWYG screen to work with my hand coded CSS. Sometimes Dreamweaver, especially older versions, have a hard time rendering the CSS correctly in the WYSIWYG view. The code is solid and displays wonderfully in all browsers, but the client hates it and hates me because it isn't easy to edit in Dreamweaver. After a week of no luck with tutorials and phone assistance, I rebuilt it from scratch using old table code and layout techniques from 2005. They love it. It stretches how they want, its easy to add the content they want and they are super excited about their site again.
I, however, hate it and will not be adding it to my portfolio. It's filled with nested table tags, bloated JavaScript and is "old school" code that I rarely write anymore. However, the client LOVES it and loves me for making their lives easier. I have overcomplicated the "behind the scenes" so the WYSIWYG view works. What!!?
Case number two: I'm bidding on an eLearning project where the client wants all images but the interface to load dynamically and be stored outside the project, all video and audio to load dynamically and be stored outside the project, and all text and headers to be in XML and load dynamically at run time. OK...this is not rocket science, but in an effort to make their lives easier (they won't have to learn Flash to make edits), they are making it much more complicated to develop. It's so much easier to just dump it all into flash, export to .swf and deliver an HTML file and a .swf file and be done with it.
In an effort to avoid learning code or learning Flash, customers seem to be asking for "do it yourself" solutions, when I'm thinking that they should pick up a copy of Dreamweaver or Flash and learn it. It's much more complicated to dynamically load XML text than it is to type the text in the Flash interface. Now, there are very good reasons for using XML for text (I have another client who is going to offer multiple languages and wants to use the same .swf but load the different language XML which is cool), but for simple projects, why make it so complicated?
Couple thoughts:
1) They don't want to pay me to edit the files
2) They don't want to take the chance of me going away and not being around in 3 years when the files have to be edited
3) They expect lots of changes to the files
4) They expect to have to make changes in a speedy, real time fashion
I'm all about teaching a man to fish, but this kind of falls into the "just cause we can, we will." I am all about the straight line - get what you need accomplished in the easiest way possible. Learn Flash. Learn ActionScript. Who says editing an XML file is easier than editing a Flash file? Is this "Do it yourself" idea good for eLearning? Shouldn't it be "Learn the tool."
Am I alone here? Is this something I should just deal with? Since when do customers care about the intricate guts of a project, rather than its functionality, look and feel? Should I just grow up and understand that customers are getting more technical and are asking to "peek under the hood"?
Thanks for listening. Anyone else experiencing this?
I recently engaged in a debate with one of my colleagues regarding the virtues of building eLearning projects that take advantage of current technological bells and whistles vs. building your project to work on older technology. The point boiled down to the fact that the users are sophisticated enough to download and upgrade their browsers which will allow them to experience the cutting edge stuff, so there was no reason to not utilize bleeding edge.
I disagreed.
It's been my experience that the home and small business user adapts and upgrades their technology way before the typical business user. It is also my experience that web marketing folks, web design folks and eLearning programmers at large organizations usually have the best hardware and software. They are usually given lots of control when it comes to what's installed, and often given the ability to install whatever software they need.
Not so for the rest of the organization. The sales teams, engineering teams, financial teams and other folks in the firm are not so lucky. On their first day, IT usually goes back into the closet, blows off the dust and pulls out an older machine for them to use. After all, it doesn't take much computing power to run MS Office and a web browser.
That's generally where the problems occur. The designer creates a multimedia masterpiece that the user cannot experience as intended. Did you know that the cool and interactive Flash demo requires the processing power of the host computer to make it run? Yes, after the .swf is downloaded to the user's machine through the browser, it still requires the processing speed of the user's computer to run correctly. This means older, slower, computer :: clunky Flash presentation.
And, the first thing that gets sacrificed in the Flash presentation is animation frame rate. Flash prioritizes the audio track before the animation, especially if you stream rather than event program your audio. What this means is that the audio track plays perfectly, but the animation stutters and hacks between keyframes to keep up.
Also, don't forget bandwidth issues. At last count, as much at 63% of home users have high speed connections. Most businesses do as well. However, if you forget that almost 40% of the users don't have it, you are losing almost half your audience! If you rely exclusively on large video and swf files that take forever to download, your learners are not learning...they are watching the %loaded figure slowly creep up.
Even though users have the opportunity to upgrade their browsers, many IT groups refuse to give admin rights to their users and frequently lock down software installation. Some IT groups lock the computer to a certain operating system and browser version. User's don't have the option of installing new technology, even though its readily available.
In my book, Technology for Trainers, I talk about an instructional design methodology for the creation of eLearning. When building eLearning for an organization, either the one you work for or for a client, you need to perform a technology review. What computer systems do they use? Operating systems? Connection speed? Average user's processing speed? Do they have the ability to install plugins? What is the current Flash plug in version? What is the current browser version? Do they have speakers? Higher end video cards? Can they save files from the web to their computer? Do they have a LMS? These are all questions that have to be answered before you build.
If you have an eLearning requirement in place and your learner cannot meet that requirement because of their technology sitting on their desktop, you have lost and frustrated that user. Also, you have put them in the uncomfortable place of being non-compliant with the learning initiative. You must perform a technology review in order to ensure that every user has the capability to see and experience your eLearning.
Does this mean you may have to design your course around IE 6.0? Yes. Does this mean you cannot use the new CSS anonymous table elements for layout? Unfortunately, yes. If your client is standardized on IE 6.0, you may have to dump CSS all together! Does your client have remote locations still using dial up? If yes, then you have to dump multimedia.
In conclusion, I must quote Ian Malcom, the Chaos Theorist who said "...your scientists were so preoccupied with whether or not they could, they didn't stop to think if they should." Just because we can do a thing, doesn't mean we should. Stop and think about your learners and ensure that your chosen eLearning technology will run on their systems, and that it is a learning opportunity they can experience. Don't be afraid to use old technology or design methods as an added insurance policy that it will work on your end-user's machine. Don't be afraid to abandon a technology if it won't work well for your users. Use the right tool for the job, but be sure your learners can learn from it.