250 likes | 376 Views
Providing Reliability In Home Networks. Peter Kriens CEO aQute Technical Director OSGi OSGi Fellow. Contents. What’s wrong? Why is it wrong? What can we do about it?. What?. XSRW. SurfBoard. Dockable Camera and microphone. Speakers. The Future of the Past. Jetsons (sixties)
E N D
Providing Reliability In Home Networks Peter Kriens CEO aQute Technical Director OSGi OSGi Fellow
Contents • What’s wrong? • Why is it wrong? • What can we do about it?
XSRW SurfBoard Dockable Camera and microphone Speakers The Future of the Past • Jetsons (sixties) • Sunny Future, all Jetson had to do at the Spacely Sprockets factory was pushing a button • The 21st Century (1967) • By Walter Cronkite. Predicting the technologies of the year 2001 • A Space Odysee 2001 • A truly intelligent computer, HAL • Marvin (1997) • A Personal Assistant Project for Ericsson Research • Smart Homes (2000)
The Future of Today • My father recently bought a Personal Video Recorder • He spent 4 days trying to get it connected • It was connected .. • But he never used it until I visited him • It turned out that the PVR could not control the satellite decoder • Decoders were mentioned in the manual though • Making the PVR virtually useless for him • Then he also bought DVD-R instead of DVD+R discs …
The Future of Today • Connecting a home Cinema system is magic today • Digital Audio, S-Video, RCA plugs, 5.1, Dolby, THS, and all configurable • We have 6 remote controls • Have been able to reduce this to 3! After 3 days hard work • My family is puzzled why they can not watch another channel on the second TV • A satellite receiver can only handle a single channel • I have given up on synchronizing my Bluetooth phone • Too much work, too painful
The Future of Today • My Router • About twice a day it looses the external connection • My Printer • > 20 pages fail to print • My GoVideo Networked Music player often can not find the music server • And it only find one of the 3 “standard” UPnP servers on my network • My PC internal network card fails • Replaced twice, spent countless hours on support calls • Use a USB key now • Switched several PCs to fixed IP number • The automatic number assignment was too unreliable
Stupidity of Computers • Y2K “bug” • Too silly to even talk about • Viruses • Attack is often to simplistic to fool even a 3 year old • Blindly repeating the same mistake • Preventing user mistakes only with a lot of hard work • It is not the user, it is our fault … • Computers have no common sense
Human Nature • Users have very little patience to setup computers • Their primary motivation lies elsewhere • Lots people think computers are intelligent, • Which does not reflect well on their IQ • Eliza, Weizenbaum • Marketing does not help • People tend to blame themselves • Abstractions Impedance Mismatch • For most people, abstractions are very complex • For us, they are our bread and butter
Stupid Computers/Humans • "On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question."-- Charles Babbage (1791-1871)
Configuration and Setup • Too much flexibility • Requires too many choices • Huge gap between the developer and the user • And marketing: check lists • Security makes it beyond silly • 10 letter non mnemonic passwords • Change them every month • It took the telephone industry 120 years to invent covers!!
Too Much Functionality • Systems are being made too complex. • Look at Telephony … • The functionality offered is as simple as it gets • Connect one number to another number • 10-18 keys is all you need • 2 pages explanation • Still the system complexity is horrendous • Simple products have manuals that run into the hundreds of pages … • Feature Interaction • Usability
Stupidity of Programmers • Software quality is, on average, abominable • Bad design • Bad structure • Bad Coding • Very redundant • Most programmers think they can program better than the average programmer • Programmers are often very pedantic • Very few established best practices • Mixing too many different technologies • Testing is too often a tool to create quality, not to verify its presence • Too often going for new (and exciting) technologies • Too little knowledge of existing solutions • Ignoring lessons of the past • Coupling • Cohesion
Programming is Inhumane • On June 4, 1996 an unmanned Ariane 5 of $500 million exploded after lift-off. A 64 bit floating point number was converted to a 16 bit signed integer, and it was larger than 32,768 • if ((options == (__WCLONE|__WALL)) && (current->uid = 0))retval = -EINVAL;
Simplicity • Reduce functionality • Resist feature creep • Do not add a function because it is easy • Make it work well (and safe) in all cases • Reduce setup and configuration • Make it work out of the box • Make the life of the user easy, not yours
Reliability • We are trying to get away with cheap solutions • Reliability is not as important as price • But we pay for support and the consequences of the problems • We have the solutions, why don’t we use them • Redundant hardware • Distributed Transactions • Proven Solutions • Inspections and Reviews • Root cause analysis
Common Sense • With the current model, programmers will not be able to keep up with the complexities raised by • the application domains • the development process • Home networks and computers in general will not work until we understand “common sense”. • The Artificial Intelligence debacle of the sixties is still holding us back but breakthroughs must happen in the coming years • We need more research in this area, much more
Peter Kriens Mob +33633746480 Tel +33467542167 Tel +15123514821 9C, Avenue St. Drézéry, 34160 Beaulieu, France AOL,Yahoo, Skype pkriens, ICQ 255570717 Email: Peter.Kriens@aQute.biz www.aQute.biz