Do You Remember Bob?
GdoL writes: "Do you remember Bob? Byte's editor starts his monthly column talking about Bob the OS Interface from Microsoft in the middle 1990s. And he didn't forget either Bob the programming language from a former technical editor of Dr. Dobbs Journal, David Betz. This OO language is widely use on 'DVD players and set-top boxes produced by the likes of Toshiba, Samsung, and Motorola.' Do you remember any other language long forgotten that is still used in the real world?"
I worked at a nuclear power plant for a while working on the plant monitoring systems. All the PC-based stuff was written for OS/2 using Modula-2. Anybody ever use Modula-2? Anyone ever use it outside of a first year CS class? Turns out it's actually a great language for systems programming, at least with the Object Oriented extensions that the version I used came with. It was actually a lot like Delphi. And much nicer to debug than C++.
___
Cogito cogito, ergo cogito sum.
I don't know if it's still in use, but it sure was odd. DataSaab was a division of Saab, and they had their own hardware and system software.
DIL16 was DataSaab Interpretive Language for their 16-bit minis. Looked like assembler but had no registers, and yes, it was interpreted. Completely bizarre. I used it to work on a teller system at Citibank in the mid 70s.
Any other DIL16 programmers out there?
The first version was widely reviled, but the team starting working on a second one. Now it is often true that the third version of a product is the one that catches on -- the first one is rushed out, the second has all the stuff that was supposed to go in the first, then the third can actually respond to user feedback and become useful. But for some reason, Microsoft untypically cancelled Bob 2.0 in mid-development.
Now if you imagine Bob continuing to evolve and eventually adding Internet access (still categorized, simplified, friendlier, etc), then it could have become...AOL. People make fun of AOL also (for similar reasons), but it's a pretty successful company and viewed in many ways as the only tech competitor to Microsoft. Now imagine if Microsoft had short-circuited that with Bob 5.0.
- adam
Last time I checked there were very few books being published on it and most new developers have never heard of it. However, several large insurance companies still use an app written in it. It appears they all bought the source code and continue to modify it to keep things up to date.
As a tip, if you are ever called out to do a consulting gig and the customer mentions "Visual DOS", run like hell.
Bob wasn't just a random experiment. Read _The Media Equation_, by Reeves and Nass. A very readable account of psychological experiments that show how people respond to computers, and to technology in general. Much of this research went into Bob, and later the Office Assistant. I'd love to know what went wrong.
Some examples: People watching a news program on a TV *set* labeled "news television" will rate that program as more informative and authoritative than those watching the same program on a TV labeled "general-purpose television". People using a computer program that praises another computer program will rate it smarter than a program that criticizes another program. Larger pictures will be better remembered and better liked than smaller pictures. People will rate a speaking tutorial program more honestly if the rating program uses a different voice!
Fascinating stuff.
I'd vote for Sanskrit myself - a dead language, the ancestor of many current Indic languages, and a distant relative of Lithuanian to boot.
Prototype-based languages have an interesting minimalistic feel that allows language designers to get right to the heart of some issues, and I think they are very valuable for that reason. However, I think ultimately classes will win out.
One of the common mistakes in OO programming is to confuse kinds-of-things with instances-of-things. A program for a clothing store might have "shirt" objects with properties such as the manufacturer, size, colour, and quantity in stock. Seems ok so far. Then, when looking for a place to store information on a specific shirt, such as the customer who bought it, the programmer notices that a "shirt" has two meanings: a kind of shirt versus a specific individual shirt. The quantity-in-stock belongs to a shirt type, while the purchasing-customer belongs to a specific shirt instance. The design has to be juggled a bit to accomodate this new insight.
Combining classes and objects the way prototype-based languages do seems to encourage this kind of confusion on a massive scale. Programmers would undoubtedly add comments to indicate which objects are actually "meta-objects" (ie. classes). The Bob language examples do exactly this, as a matter of fact. I suspect that the degree to which they don't differentiate between classes and objects is exactly the degree to which they will have confusion between instances and kinds of things.
Incidentally, I think there is a great deal of promise in the idea that everything (including classes) is an object, but I don't see prototype-based languages as being a successor to class-based ones.
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
And then there's PostScript. PostScript isn't forgotten, but there aren't a whole lot of programmers who know how to use it. It's a rather unwieldy language with a lot of primatives, but it looks a lot like forth. I preferred it over forth though, as it struck me as being a lot cleaner. If I were going to use a reverse polish notation language, it'd be a stripped down version of PostScript. If anyone wants to learn PostScript, Adobe sells a language reference manual and some tutorials that cover the language very nicely. Ghostscript is all the language interpreter you need. Then you could do cool stuff like make the printer compute and print calendars for you.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
You mean, like Lingua::Romana::Perligata, an interface that lets you write Perl programs in Latin?
--
Don't like it? Respond with words, not karma.
I had to read this book for a graduate Mass Comm class two years ago, and it is without a doubt the most awful excuse for experimental science that I have ever seen. Unfortunately for the authors, I had taken a class in research methods before I encountered their book (they should consider doing the same).
It's shoddy science, through and through. They ignore intervening variables, operate every experiment without controls, provide no accounting for intercoder reliability, the samples are always too small to be statistically significant (only one had more than 30 participants, many had less than ten), and comprised of forced participants (Reeves' and Nass's freshmen psych students at Stanford, to be precise. Even without a grade on the line, that's a bad sample). Usually, they rely on reported rather than observed behavior, and the only operating hypothesis ever examined is their goofy "equation" (you want me to spoil the beginning of the book for you? Here is The Media Equation: Media Equals Real Life. That's it. Word for word).
As if that wasn't enough, they make constant generalizations of their results (which with forced, nonrandom sampling is the first thing thrown out the window). They grandstand on every turn -- everything supports the Media Equation, and there is nothing it doesn't affect. You should always be suspicious when "scientists" do thirty experiments and always find their hypothesis supported exactly how they predicted. It's usually bunk, and in this case, it's a pantload. In one instance, they even admit to writing the hypothesis AFTER the experiment was performed. They make repeated references to other "research" in this area, but if you read through the bibliogrpahy, they are merely citing *themselves* from previous experiments. Many of these experiments, if you were interested, have still not been accepted for publication, many years after they were done. Most are not even available at the authors own Web sites. If it weren't for the fact that The Media Equation was published by Reeves & Nass's employer, I doubt whether they could've goten it published at all.
It's bad science, and it's only an afterthought: they plainly thought up their "equation" first, and then set out to prove it. That's the Scientific Method in reverse, people.
Let me give you one quick example in reference to the poster above: in the larger/smaller pictures experiment mentioned above, they show participants photographs of people's faces, some in close up and others standing 10 yards away. And the "test" is showing the subject another photo of the same people, and seeing which person the recognize most often. Guess what: it's the person who's face they saw in close-up. Surprised? You shouldn't be. No thinking adult would be; you see the face close up so you see more detail, and see it better. Plain and simple. But that's not the conclusion Reeves and Nass come up with; they decide instead that this turn of events means that you are having a psychological reaction to the face, and the biger face makes you happier because it seems more like a person. So if you think it's a person, you will remember it better.
That's the media equation, you see? The more person-like an electronic communication is, the better it works. The only time this has been tried under real-world circumstances, of course, is their grand experiment: Microsoft Bob. Funny how well that went over, huh.
Man, I hate that book.
Nate
PS - you might try the following link to Amazon, I submitted the review under "n8willis": here.
PPS - if anybody cares, I'll follow up what I say by emailing them the paper I had to write about this ridiculously bad book; it goes into more detail. Or perhaps I'll submit it as a /. book review. I meant to at the time, but it was just way too long....
-- Watch the REAL Jon Katz.
As the commenter above notes, the now standard WIMP (windows, icons, menus, pointer) interface isn't necessarily the optimal way to interact with a computer; it's just what we've all learned to work with. And it's worth noting that even that interface took several iterations to get right, just as it does for a lot of MS software (IE, Office, Windows, etc all seemed to come of age with the 3.x versions, and start surpassing the competition that they copied with the 4.x & 5.x versions. They of course start bloating by the time they get to 5.x & 6.x, but that's a separate problem... :)
Computer hardware is now drastically more capable than it was when Bob came out, to the point that software developers are always looking for ways to fill up all those extra clock cycles -- anything from running Seti in the background to having hooks in the Windows interface that pause for a few hundred milliseconds before opening a menus so that "it feels like the computer is working harder" -- surely my least favorite part of the Windows interrface and the first thing I try to disable with TweakUI on any computer I'll be using regularly. The really "revolutionary" releases of the recent past -- Mac OSX and Win XP -- aren't really revolutionary at all, but glossier and more refined versions of what we've been using for well over a decade now -- and in the case of OSX at least, you could argue that the interface is a step backwards in terms of flexibility and usability, emphasizing style over substance at the UI level, even if the underpinnings are surely much more advanced than before. XP might also be guilty of this, but I haven't used it yet so I can't say; I do know that the dissolving menus that Win2k had were guilty of the same sort of cute wastefulness that OSX/Aqua's pervasive translucence & drop shadows represent...
Maybe it's time to consider abandoning the WIMP interface. Maybe the world is ready for Bob or something like Bob to give it another shot. Or is it? Bob tried to represent the computer 'space' as the interior of a home, and for a desktop computer of sufficient power (i.e. what most of us have now, but didn't have when Bob came out), this isn't so bad. But in a networked world? Can you achieve some sort of network transparency & represent it in that sort of metaphor? I dunno, maybe. I am sure that it's an interesting challenge, much more than ever more glossy iterations of the same old Mac & Win interfaces could ever be, as they both try to refine their implementations of the Macintosh Interface Guidelines ever further.
Maybe it's time to give the Anti-Mac Interface a try -- a system that inverts all the assumptions that we've been working with for years now.
DO NOT LEAVE IT IS NOT REAL