Neil Hopcroft

A digital misfit


What does the future look like? More specifically, what does *my* future look like? Lets assume for the moment that the human race really does have a future and that I will be, for a few years at least, a part of that – no such speculation can continue without these assumptions.

There are some things which are obvious. Things are going to change, they have to change. The software industry (indeed, the technology industry) is approaching something of a complexity singularity. Before that, though, the mobile phone business is going to go through a whole lot of changes.

One way or another there is likely to be another wave of mobile phone boom as people buy devices which really do live up to the promise of the 3G hype of 2000. These won’t be the chunky bricks with no battery life you get on todays 3G networks.

But what happens after that? Comoditisation? More and faster? What happened in, say, the VHS video recorder market when it hit saturation?

Once the technology reaches a certain point, people simply don’t want anything more, they’ll only replace their phone when they break or lose their old one. There is a certain amount of user churn at the moment since the operators are constantly fighting to get new customers, this could drive sales for some time, but it won’t last forever.

There might also be another wave as seamless roaming between wifi and cellular networks becomes a useful reality – the funding of this is somewhat unclear to me at the moment. This will probably coincide with soft radio interfaces which will allow devices to be upgraded on the fly as they roam from one net to another, or as stack improvements are developed.

But sooner or later the industry specialisation I currently have will no longer be in demand.

Further than that the complexity horizon of the technology industry is approaching. Many years ago now we passed the point at which one person could keep all of technology in their head at once (polymaths? Benjamin Franklin, Thomas Edisson, perhaps even Richard Feynmann), more recently there was a similar milestone for technical specialisations. Now there is no way that any one person can remember even one percent of, say, the design of a modern mobile phone. What happens when we get to the point where we can’t even remember enough to find all the information we need to further our designs?

We are already seeing the first signs of this problem, where companies are concentrating on adding functionality without considering the effect on the products stability. Well designed products will have no stability problems, they will have been designed to deal well with the things that cause instability.

Nanotech is the next big thing on the horizon, but that will suffer the same problems we currently have with electronics, they will be significantly worse since its scale is considerably smaller.

What can we do about this potential problem? We could try making people cleverer, but I don’t think that going to happen anytime soon. We could try being less demanding of our gadgetry, but theres no money in that.

We could design things better. But how? We need better information management, that is clear, computers are excellent, versatile machines which are very good at remembering things and doing repetitive things quickly. We need to be able to harness that power, to fit them into our consciousness stream, to get them to do the things we’re bad at while we get on doing the things we’re good at.

These days they are powerful enough to provide visualisations of both data and processes. However, the software for producing such visualisations is still extremely complicated, difficult to set up and administer, and extremely expensive. As an old colleague of mine would say “it’s a sharp tool, you’ve got to know what you’re doing”.

In days gone by this approach was perfectly valid – the people who could afford (and benefit from) computers were prepared to go through the pain of having to work around the pain for the gain they gave – the people who actually used them were often people who were adept at arcane interfaces and happy to delve in.

Todays computers have lost touch with their users, that schism needs to be addressed somehow.

What can we do to make the tool safe for *everyone* to use? Why does the tools interface have to be arcane? How could we make it so that my dad could use it without worrying that it was going to break?

I don’t know what the answer to these questions is, but clearly visualisation is a large part of it, creating on the screen a picture of a mechanical world. A world that the user can clearly understand. One where the computers model and the users mental model of how things will work are closely aligned.

Would it be possible to build an entire operating system in a such a graphical language? Something akin to UML, but less confusing? Or maybe just presented in a better way than Rational Rose?

So, how do I fit into this future?


8 comments

    • Thank you.

      What do you consider wrong about UML? I find some parts of it a useful common language, a shorthand if you like, for expressing design ideas to others. The whole thing has an evil methodology that requires you to buy into CMM, but you don’t need to take that bit, just the pretty pictures.

      What I was advocating was the move to design mechanisms that have obvious functional models, UML is a bit arcane for that but potentially provides some groundwork and some good ideas.

      • Yes, I realised you weren’t really posing UML as the Way of The Future ™ :)

        UML and I got off to a bad start when I was a student, I’ll happily believe it’s not as grim as I remember. It just seemed to be one of those things that became exponentially huge and unwieldy the minute you started using it for anything other than toy examples.

        I have a UML chart on my wall here that I drew up for something a year or two back, but fundamentally it could have been just as well acheived by drawing boxes and arrows :)

        • Yegads! I never met anyone that knew all of it. I’m not worthy!

          There are three diagram types that I regularly use, class relationship diagrams (which merge somewhat with object relationship diagrams, depending on their context), swimlanes and state diagrams. The rest I wouldn’t understand without resorting to a heft book. Basically I use the parts I find helpful and forget the rest, its a kind of UML-lite, but everyone I’ve worked with has always been impressed I know so much about this methodology. Eep. Much as I dislike recommending Microsoft products, Visio Professional (but not standard, I think) now has quite a reasonable set of UML diagramming tools in – they’re actually usable, unlike Rose.

          So, how do you go about designing something? And explaining that design to other people? Do you use diagrams? What sorts?

  1. Hi Neil!

    I’m sure you know more about mobile phone technology than me, as an insider, and I have to confess that I still only have a pretty fuzzy idea of exactly what you do (writing the phone equivalent of operating systems?). But I think you might be unduly pessimistic about the potential for convincing people they need to upgrade their phones continually. Don’t forget these are not just useful items of technology, but fashionable lifestyle accessories too. Did we need polyphonic ring-tones? No, but lots of people have bought them anyway.

    I think we can observe the same thing in your example of VHS video recorders. These got sleeker and sexier, more likely to fit in with modern decor and more replete with add-on features such as long-play, tape counters which count in real hours and minutes instead of meaningless numbers, new ways of programming from the remote control or a bar-code, etc. etc. Hence people did not keep the original chunky recorders they had bought in the 80s, but kept upgrading, even though the basic technology (except for my Dad, who is an engineer and a purist about these things). When the industry ran out of new ways to make video recorders cooler, they then invented DVDs.

    The same phenomenon can be observed with cars, kettles, radios, toasters, electronic toothbrushes, televisions, regular phones, and the most obvious example of all, personal computers. There will _always_ be ways of persuading people to upgrade their technology when it still works perfectly well and meets all their needs.

    Network providers, on the other hand, may well suffer from the problems you describe – you seem to know of all sorts of cunning plans for improving network coverage that I don’t know about, but I think that basically, to an ordinary member of the public (e.g. me), your network connection either works or it doesn’t, and the only way you can be persuaded to change it is via money-saving deals offered by a rival network provider, i.e. regular old healthy price wars.

    Anyway, maybe you don’t need to panic as much as you think – just keep writing more complex operating systems with funky features!

    Penny

    • Yes, operating systems, though I’m currently bringing together a all the features needed for a modern high spec phone, operating system, application software, synchronisation, connectivity, all kinds of things, so its a bit more than operating systems.

      Its no panic yet, but I’ve got to be ready to make the move into another field before the bubble bursts again. I’m just trying to figure out which way to move.

      System visualisation software looks like its going to be important, not just for computing systems but once you start looking at nano scale technology too. So thats a valid direction, and I’m picking up a bit of background there. But what other directions are there?

  2. Re: Meandering rant/reply

    Yeah, those 3d displays are quite cool – the one I saw was an early ‘public’ demo version which didn’t have the switching for 2d. Free floating 3d is good but the fact you have to get your head in the right place makes it a little cumbersome for general use – imaging spending all day with your head unable to move more than five centimetres in any direction.

    VisualBasic isn’t the answer, though it does have its uses, it is very good for prototyping user interfaces, since it is quick to hack together a half decent looking UI. The problem with this is that management see that and think you’ve finished.

    Smalltalk is something I’ve been meaning to take a closer look at…

    Part of the purpose of the original post was to figure out whether there is anything I can be looking at now, while I’m away, that could help setting up a proper company when I get back (I’ve got a shell around my contracting which I’m hoping will generate enough cash to let me drift for a couple of months to have a go at something).

  3. Re: ringtonage

    The problem at the moment is that they don’t actually do any of those other functions well, yes they take pictures but its not replacing an SLR anytime soon, yes they store schedule details and can talk to GPS, but they’re stuck in this world where people don’t care as long as the tick box is ticked – camera, yes, bluetooth, yes, wap, yes – without any feel of the quality.

Leave a Reply

Your email address will not be published.