Computing Fallacies [or: What is the World Coming To?] - Michi Henning ====================================================================== Fallacy 1: Computing is Easy - Teach Yourself C++ in 14 Easy Lessons - CORBA for Dummies - Complete Idiot's Guide to Win32 - Java for Morons - Windows 98 Unleashed [now examining different areas - non books] - Brain Surgery in 14 Easy Lessons - Bridge Design for Dummies - Complete Idiot's Guide to Contract Law - Air Traffic Control for Morons - Ballistic Missiles Unleashed We are special in the IT industry in that we can find these fallacies. This talk is an hour long bitching session for everything that has annoyed me in the last 20 years. Fallacy 2: Computers Allow People to Do things They Could Not Do Otherwise - All you need is a good work processor to create a great doc - All you need is a great spreadsheet to make accurate sales predictions - All you need is ... Fallacy 3: Computers Increase Productivity - The sound effects in this presentation will make all the difference - It only took five hours to format this memo - The shading on this pie chart is simply superb - The icons on my desktop are lined up perfectly [sound of car screeching to a halt for each bullet point] We still produce exactly the same amount of letters as in 1945. Back then it was okay to have 3 or so typos per page without re-typing the entire letter. Nowadays, we rewrite the letter many, many times, changing fonts, format etc. We are no better off in terms of letters produced. Fallacy 4: Programs Help Their Users - What can we do that will force an upgrade? - What can we do for the next release that might sell? - How can we kill the competition? Fallacy 5: If It's Graphical, It's Easy - Single click, double click? - Where is the #$%^@!! menu?? - Which part of the UI does *not* do something? - With a GUI, anyone can be a - System administrator - Programmer - Typesetter - Accountant - Statistician - ... Double clicking is politically incorrect in terms of RSI. We have to re-learn to use single click or to type on ergonomic keyboards. There are so many UI features that we only learn by accident eg. double clicking the title bar, dettaching the toolbar. Why is the minimize button beside the close button on the title bar? This is equivalent to have the eject seat button right beside the light switch in an aeroplane. Let me introduce you to a friend of mine. M$ paperclip. Eyes start to follow Michi as he walks back and forth across the stage. [Histerical laughter]. It's in principle a really good idea, something that monitors your progress, but when it starts to interrupt your work, by telling you a joke, it is ethically wrong to release this to millions of people. Fallacy 6: Computers are Getting Faster - How long does it take for your PC to boot? - How long does it take to - start your word processor? - load a web page? - compile a program? - how long did it take - five years ago? - ten years ago? We have come along and destroyed all the gains we have made in hardware. Fallacy 7: Programs are Getting Better - How often do you need to - animate your fonts? - embed live information from the web in a document? - perform a Fourier analysis? - create a pie chart with alpha blending? - create a pie chart? 99% of all documents are written to be printed on paper. His wife was trying to save a 2.2MB for a 2 page Word document on a floppy disk. Plain text, default font, left aligned. There was one email address, underlined. After 17 minutes of searching, he found a way to turn off this email address highlight off. The document was then saved at 800KB. Fallacy 8: Programmers are Getting Better - Average education time: 2 years? - How many students coming out of university know what a core dump is? - Written an Excel macro? You are qualified! - Average retention time in a job: 18 months Great programmers have a greater amount of short term memory slots. Most of these people will have written some assembly at some stage in their lives. Fallacy 9: Programming is About Date Structures and Algorithms - How many times have you written a linked list? - How many times have you used STL? - How many books have you read about HCI? We spend so much time designing our API's, but who taught us whether we should return a boolean or an integer as an error? We are not taught to design. Fallacy 10: Open Source is the Answer - Economic model is doubtful - Source code is useless - Motivation for Open Source is inappropriate for most software - Nerd culture is counter-productive We write software for peer recognition. We write fancy structures because 'it's cool', but not particularly useful. Fallacy 11: Standards all the Solution - Usable standards are created only years after the fact - Standards are foul compromises Fallacy 12: We are Making Progress - Progress in data structures and algorithms have been remarkably slow - Progress in management techniques has been remarkably slow - Progress in quality assurance has been remarkably slow We put all the not so good programmers into quality assurance, when really it is the hardest part. Fallacy 13: The Industry Knows Where it is Goling - Today's clever hack is tommorrow's solution to take us into the next millenium - There haven't b een any new ideas in a decade - We have run out of ideas, so we rehash old ones Oh My God! It's All So...Depressing! So What Do We Need? - 'Progress' is detrimental to progress - Focus on design - Realistic growth expectations - Legislation - Code of ethics - Growing up! The best UI people on the planet are those working in the car industry. We need to make it a criminal law to change certain API's. There are potentially huge impacts. When we produce a new drug, we can't just release it to millions of people without some sort of testing. We have to stop doing things just because they are fun. Nerds are not the people to run this industry. Useful Reading - Donald Norman 'The Design of Everyday Things' - Alan Cooper 'The Inmates are Running the Asylum' - Alan Cooper 'About Face'