[ Back to Kevin's Homepage | Back to Ramblings and Brain Farts ]

Data Interface

What is a better user interface? I would prefer to see a data interface, not a user interface. What I want the computer for is the manipulation of data. take this document, summarize it. link it to these other topics and web pages. save me local copies of these documents for future reading, and remind me to do it.

All of these seemingly disparate resources need to be modularly integrated into one interface such that users can easy cross-link between resources. html has shown us how cross-links can be useful, but we need to take it to the next level. We need persistent workspaces; dataspaces.

Also, today's interfaces are too single-task oriented. To move to the next level, we need to be able to stack or layer our commands, such as: Link current document to... damn, I don't know where it is. Initiate search, find it, and then you now can complete the "link" command that you started with.

Message from Fred X <fredecks_cs@yahoo.com> --
>Seriously though, it ain't just Microsoft. Software *SUCKS*.
>In short, software has clearly moved backwards. I think it's far
>worse today than it was 10 years ago. Upgrade cycles are now
>continuous, always disruptive, and although new "features" are
>added with each new release, they're always buggy and half-implemented.
>It's amazing that people PAY for this shit!



And linux is even worse (specifically in this instance, tcl/tk). I tried compiling application XYZ, and it says it needs itcl. so I get itcl, compile, but it needs tcl. So I download tcl, compile it, but itcl still fails. An hour later, I figure out that itcl needs tcl8.2, not tcl8.0 as I've been trying. (with tcl8.3 or tcl8.4 being the latest?) THEN, the app still doesn't compile. Take a closer look and it wants itcl 3.0, not 3.1. ARGH. And older versions of itcl are nowhere to be found.

how stupid can these dependencies get?


>Suffice to say, my next job will not involve computers.

actually, I plan to move away from the micro-details and move into higher levels of abstraction. Working in perl/python is much much easier, and much more error resilient.

Java is similarly higher level, but at the same time, it has all the problematic details - all the abstract data types (list, vector, etc) are actual objects, not part of the language, so that you have to remember how each one operates, the names of the methods, etc.

Sure, you learn them over time, but it's not as easy as a language embedded list where it is just treated as an array. Sure the language based list may be a bit more tricky to learn, but it's a shallower learning curve.

The real problem I see is in the abstraction. we need much much more abstraction. as a command-line interface, I'd like something to sit on top of the shell. run command A, run command B, then ask the system to compare them, visually (xdiff - a WONDERFUL tool) by column X.

not too terribly difficult, but then how about this: edit file G and file H, highlight two sections, and then ask the system to compare those snippets. Today, I have to:

 open a shell

 mark section G
 cat >/tmp/g
 <paste> <ctrl-d>

 mark section H
 cat >/tmp/h
 <paste> <ctrl-d>

 xdiff /tmp/[gh]

now that works if I'm comparing several lines, but if I want to see what part of a line is different (i.e. a singular cc line that's 500 characters long), that tool doesn't exist (yet).

also, I frequently find myself taking notes on paper. why? because I can't get the snippets of information I want on-screen. Virtual post-its can help, but only if you can get them to stick to the "glass" instead of the "desktop" (probably is already an option; I haven't looked).

What the newton did would be rather useful: you can mark a snippet, and then drag it to the edge of the screen where it would "stick" until you went to pick it back up again to drag it to its destination.

Why would I want this? For example: I was browsing a pdf catalog the other day, and I wanted to put the part #'s into a clipboard so that I could order them later. well it's a pdf, you can't do that. If it were markable, it's a PAIN to copy and paste between apps. Perhaps virtual bookmarks would help? for this specific application, it probably would, but the bookmarks would have to allow me to select a rectangular region, since the catalog would have 30-200 items on a page, and I'd only want one specific item; I wouldn't want to search the whole page again for what I want. Think circling a want-ad with a pen.

Why do I draw all these parallels with the real world? because that's how our brain works. We have extremely good positional memory, which pdf's help exploit (it's two or three pages back at the top...), but the computer throws all that away.

I could go on-and-on, but this is the core of my problem with computers - they still aren't that usable as generic tools. you still have very specific applications that do specific things, and if you don't fit that mold, well too bad, you now have a only partially working tool. like trying to cut down a tree with a toothbrush.

2000.01.10 kjw - created
2000.01.10 kjw - last modified