Pat Gunn (dachte) wrote,
Pat Gunn

The Big 7.0

I've been playing with Firefox 2.0 betas, and am surprised at how little has changed since earlier versions. Thinking about this further, I shouldn't be that surprised -- Firefox is a mature product in a mature market, and one of the things about things in that state is that there isn't that much to do -- we're in the realm of mostly small improvements. Other markets, like Automobiles, reached this point a long time ago - proceeding honestly, we can't expect cars to keep improving by leaps and bounds for the 120 or so years we've had them. Occasionally we see big changes (airbags, hybrid/gas engines, etc), but by and large the field has become boring. Like with cars, sometimes we see changes that are just for the sake of "mixing it up" -- merging downloads under a download manager (which I loathe -- I want the old, separate windows behaviour) is the software equivalent to changing the frame shape of a car. Is there room for much improvement in browsers? If there is, I suspect that it lies in the direction of intelligent agent behaviour -- once software goes far enough, that remains the final area to journey into. Sometimes this goes rather well (intelligent completion in IDEs), sometimes it goes rather badly (Clippy). There are a few barriers to effectively make software like this:

  • It's hard to debug, because to be really effective it relies on storing a lot of information about what the user has done in the past
  • The cost of not getting it quite right is high - ineffective help irritates people more than no help at all, and users will switch such features off (if they can) even if there's a net savings of time
  • It's hard to design, involving skills that programmers of the system usually don't have. The more deep and numerous the other disciplines a programmer needs to implement, or the more non-programmers they need to talk to to understand what they're doing, the less likely such functionality will be implemented correctly and well.
  • Programmers often won't use it, so the "eating the own dogfood" factor is hard to apply
  • The stuff going on the scenes is often too complex for users to understand and tweak to their needs. If, for example, I turned on predictive function completion, should I need to read a long document describing the knobs the thing has? Alternatively, if I want to tell it to never tab-complete some functions when I'm working on a particular module, what's the best way to do this? We might say it should notice, but if so, when I write new modules, I might want it to immediately figure it out if I know what I want and can tell it.
The alternative to all of this is to provide lots of programming hooks into everything and let users register scripts into whatever they're using. Photoshop, for example, has a decent set of Javascript hooks (although I'm unsure if the hooks only move in the direction of letting an external program tell PS what to do rather than making PS call their code for common operations), and Emacs takes this philosophy to its logical conclusion, being written in Lisp and customisable to the deepest possibility. MacOSX has hooks of several sorts that are useful for clever folk -- applescript is good at telling running applications what to do (imagine something like gimp-remote, for all applications), and by dropping in OpenStep-style extensions, applications can be extended in a number of clever ways (with little or no effort by the developer required).

In the future, perhaps knowing how to program will be a passport for computer literacy... Intelligent Agents represent another path -- we may go down both or neither.

It turns out this is a great time to visit the Cleveland/Brecksville area -- this saturday is my grandpa's 80th birthday.


  • Still alive

    Been feeling a bit nostalgic. Not about to return to LiveJournal - their new ownership is unfortunate, but I wanted to briefly note what's been up…

  • Unplugging LJ

    It's about time I pulled the plug on the LJ version of my blog: 1) I'm much more active on G+ than I am with general blogging. I post many times a…

  • Mutual Trust

    I don't know which should be considered more remarkable: That a cat should trust a member of a far larger and stronger species that it can't…

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded