A resurgence of vi?

Building on yesterday’s post about the command-line interface, the same sorts of interface concerns play into this discussion of the renewed relevance of the vi input model when using a laptop [via Digg]. The argument is that, without a mouse and with generally poorly placed navigation keys, editing that centers on the home keys and minimizes complicated key combinations is ergonmically desirable. This actually relates nicely to an article I saw linked over at Slashdot about motivations behind the design of vi based on an interview with its creator Bill Joy. The liimiting factors back then were certainly different than those motivating a continued interest in the editor:

It was really hard to do because you’ve got to remember that I was trying to make it usable over a 300 baud modem. That’s also the reason you have all these funny commands. It just barely worked to use a screen editor over a modem. It was just barely fast enough. A 1200 baud modem was an upgrade. 1200 baud now is pretty slow. 9600 baud is faster than you can read. 1200 baud is way slower. So the editor was optimized so that you could edit and feel productive when it was painting slower than you could think.

While this type of bandwidth issue isn’t an issue for most users today, it makes sense that an editor designed to be minimalist in a world where every keystroke cost real time would translate into an editor that is desirable in a physical interface setting where it is also desirable to conserve keystrokes. It makes me wonder if vi isn’t in fact the ideal editor for handheld devices….

4 thoughts on “A resurgence of vi?

  1. This would make sense, as I’ve started to do considerable amounts of editing using Vim, and even spent a day going through the tutorial to learn it. There are lots of the nice shortcuts, like using dd to delete an entire line, but the navigation keys always did throw me off.
    In my opinion at least, Vi does have it right, but Vi has fallen out of style since we no longer 1) Need to save RAM/CPU cycles, and 2) can do things with a nice GUI and a mouse.
    Things are getting too bloated, it’s getting to the point where it takes several MB just to use a simple editor, which just because the extra power is there does not necessarily mean you have to use it.
    I realize I’m getting off point, but it’s something that needs to be addressed. It’s an increasing problem with code writers it seems to make programs do more than what is necessarily. Example for me is Vi, why I use it instead of something like Kwrite. Another and probably better example is using Abiword to type reports rather than OpenOffice. I simply don’t need the extra bloat.
    I’d like to see programs be slimmed back down, like when every character took up bits on the hard drive and space had to be conserved, and the same goes for RAM usage. This is why I will keep using Vi for my simple editing, because it is quick, efficient, and it doesn’t waste my time.

  2. If you want to be cynical, the computer industry has significant self-interest in perpetuating bloat, not minimizing it. I can’t remember the last time I replaced a computer because it actually broke; it is alawys a matter, for me, of not being able to run the latest operating system and software due to the processor and memory limitations of the machine. Bloat ensures a more frequent hardware replacement cycle, locking us into a disturbing trend towards computers as disposable items.

  3. While this is true, I’m not sure if there is really a conspiracy theory behind it all. I think programmers as a whole have just gotten sloppy, and which gigabytes of free space available for programs, just simply do not streamline down. There just aren’t elegant “hacks” anymore for making things work.
    I would honestly like take apart an operation like OpenOffice and see how much of the code is either 1) comments and left in there, or 2) completely expanded garbage that can be eliminated into simpler terms
    It doesn’t make sense to me that a program like Abiword, which to me, seems to have much the same functionality as OpenOffice Writer, can be so much smaller without lacking something. So far I have not really noticed anything missing that I would need in a word processor.
    Just using the RAM usage monitor I have, I fired up Abiword, closed it, and then opened OpenOffice and closed it. Abiword utilized around 7-8 MB of memory to start, and came up in a matter of less than 2 seconds upon clicking.
    OpenOffice took about 10 seconds and used up approximately 23-25 MB of memory.
    What is in the code of 2 programs that do things similarly, but 1 takes 5 times longer to start, and uses up 3 times as much RAM? The idea to me is either functionality is missing from 1, or the other has completely unnecessary things running in it.
    I’m placing my money on the second option.

  4. I don’t think there is actually a conspiracy afoot, but I do think that this trend is unlikely to change since it actually leads to more, not less, profit to continue the bloat. It would be really interesting to see an evaluation of the two sets of code – I suspect the answer is a combination of the two, but that there is a huge performance difference based on optimization. And optimization is undertaught – including by myself, I am willing to admit. It’s something I’d love to wrap into a second level programming class, if I get an opportunity to offer one.

Leave a Reply

Your email address will not be published. Required fields are marked *