Slashdot Mirror


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?"

9 of 315 comments (clear)

  1. BOB UI and WinXP by mESSDan · · Score: 5, Informative

    While reading the first article, I was struck by something strange:

    In the picture of the Bob UI, it shows a little dog who has a caption bubble coming from his mouth. Well, in WinXP if you do a file search (hit F3), you'll see an almost identical dog.
    Maybe Microsoft thought that Bob was ahead of its time?
    Anyway, it's strange.

    --

    -- Dan
  2. SNOBOL4 by geophile · · Score: 5, Informative

    The greatest string processing language of all time. Blows away Perl. In SNOBOL4, the space was (is!) an unbelievably powerful pattern-matching operator. A single match could break apart a string and assign variables with pieces of it. A single statement could succeed or fail, and then there were up to to transfers of control at the end, one for success and one for failure.

    SNOBOL4 was completely flexible on type, (e.g. you could do "5" + 3); had dynamic memory allocation and garbage collection; had the ability to evaluate dynamically generated SNOBOL4 ... the list goes on.

    It's probably still in use, and it was bizaare and wonderful. I also have fond memories of two compiler courses taught by RBK Dewar, one of the implementers of the Spitbol implementation of SNOBOL4.

  3. Other Language? by Foxman98 · · Score: 4, Offtopic

    Hmmmmmm...... how about Latin? Not everything has to be computer related...

    --
    S.t.e.v.e.
  4. Subgenius by nickovs · · Score: 5, Funny

    Bob is a language. Bob is an OS interface. Bob is everything. You would know this if you had joined the Church of the Subgenius.

    May Bob be with you.

    --
    If intelligent life is too complex to evolve on its own, who designed God?
  5. Bob the language by p3d0 · · Score: 5, Informative

    Just in case anyone is wondering...

    It's hard to find any documentation for the Bob language. Having a quick look at some Bob source code, it is a simple OO language without classes, where subclassing is the same as instantiation, much like Self or Cecil. It seems to support only single inheritance, though I gather it's dynamically typed, so there's no need for "interface inheritance".

    It's not "purely" object-oriented, since you can define procedures that are not methods of any class. At first glance, there doesn't seem to be any access control: all features of an object are public.

    --
    Patrick Doyle
    I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    1. Re:Bob the language by p3d0 · · Score: 5, Interesting
      Good description, but...
      Languages such as this are called prototype-based languages, and are generally seen as the successor to object-oriented programming.
      "Generally seen" by whom? Perhaps I'm out of touch, but I have never heard this before. Is this really a common belief?

      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....
  6. Re:The disaster that was Bob... by Maigus · · Score: 5, Informative

    Not Quite.
    Karen Fries was the driving force behind Bob. Melinda was just part of the PM team associated with it.
    I was on that team as a contract tester. It was my first job after dropping out of college. I'm terribly surprised I still work in the industry after being associated with that disaster. I did come away with some entertaining memories, however.
    The original project codename was "Utopia" (actually, it might have been Utopia Home). I've still got a T-Shirt with the Petie the Parrot character on it and Utopia scrawled across in a kind of abstract architect font.
    When the name Bob was revelaed, there was a meeting of all the team members and a bunch of muckety mucks. This incredibly cliche marketing consulting team was the group which came up with the name. They were all up in front of the room in their black turtle necks and black plastic framed glasses.
    When they got through their powerpoint presentation to the name and the glasses wearing smiley face icon the room was deathly still except for Karen Fries excited squeal and clapping. She looked out over the crowd assembled and started to look cross - we got the message and started clapping.
    Now I've been involved with more than a couple doomed projects since then (perhaps I'm some sort of CS pariah) but I've never seen a group of people so unhappy and depressed about their work.
    A little while after that, I believe, Melinda got her engagement ring. There was another big party. The joke I always tell about that event is: "It was a pitty about her arm..." I'm sure, being a geek that Bill felt he had to make up for something there and prove to the world that this relatively attractive woman was indeed taken. The rock on her ring was as large as one of my knuckles. There's no way when wearing that ring she could put her hand in a tight pocket. It was one of the most ridiculous and sad things I've ever seen, yet there I was saying, "Wow, that's... great!"
    We knew when we were working on Bob itself that it would be a disaster. At the time, Pentium computers were just coming out in the consumer space. A P90 was reqiured to run Bob with any sort of usability. Most of it was written in VB, back when VB had no chance to rival C in any task and just using the product was painful. These computers were 3-5 thousand dollars and we expected new computer users to buy them just to use a piece of even less functional than MS Works software?
    The whole thing would have been unbelievalbe to me if I hadn't lived it myself.

  7. GUI's still aren't good enough by olevy · · Score: 5, Informative

    OK, first I have to admit that I was one of the developers for Bob. Don't hold it against me, it has been a long time since I worked for Microsoft. Most of the other Bob developers have long since left as well.

    Bob, was one of the very, very few truly creative product attempts for the general market Microsoft has ever made. The first version was deeply flawed, but it also had some very good ideas. Microsoft is not very comfortable with the messiness of creativity and so like a foreign microbe Bob got expelled before these problems could be fixed. Version 2 got cancelled just a week before going into general beta.

    The product started out as skunk works, and if it had stayed like that, we might have done a better job. However, I think the biggest curse was that mid-project our Product Unit Manager (PUM) became Melinda French, soon to become Melissa Gates. Melinda never had much direct say in the product, but she was obviously very well connected. We then got showered with money and developers and it went to our heads. It has become a very good object lesson to me on the dangers of over-engineering.

    What I find distressing, though is that the good ideas that were in Bob are ignored, and no other product seems to be picking them up.

    Here are some of the key ideas:

    * Menus are not necessarily the best UI. Think about it; they are passive, they quite often show lots of options that are in appropriate, and the commands are stuffed in all sorts of weird places. Even experienced users have trouble finding some of the options.

    * A shockingly high percentage of people are still scared of computers. If you are truly going to create consumer software you have to address this somehow.

    * UI is a conversation. GUI's are built on the realization that we are very visual creatures. But what about tapping into our sociability? We are very social creatures. There is a body of evidence that shows that people interact in a social way with their computer (really!). That is where the characters come in -- in extensive usability tests we found a real benefit to them. They helped allay the fear factor and they served as a useful UI metaphor -- UI as a conversation. By the way, the characters were always completely optional -- there was a very easy way to turn them off completely.

    *Task basked UI. Most programs are general purpose programs that do quite a number of things. The only problem is that the vast majority of people only use a small fraction of the features. One solution is to take the code for word processing and present it as a family of specialized tasks. So you would end up with a letter writer, a report writer, an e-mail writer, a list maker, etc.

    I wrote Bob's Letter Writer. This may sound like a weird specialization, but since we knew that people using this particular program were just writing letters, we could do a great job of making mail merge easy, and also doing neat graphic effects (ala Publisher) that would appeal to someone writing a letter to a friend.

    * Files are a low level concept. I mean really -- why should the common user have to care about such a geeky thing as a file? They just want to get their document. They could care less about whatever low level construct the developers have come up with to store this information, and really they shouldn't have to. It is weird that we still do not have an object oriented OS. My biggest disappointment with Linux is that it has done very little to push forward truly new ideas (I'm still rooting for it though).
    On a technical side, the reason why Bob performed so poorly was because we tried to create the very first OLE component system that worked just as well for C++ as for Visual Basic. VB was not yet up to the challenge, and yet most of the apps were done in VB. We also used every Microsoft technology (the Jet database engine, the Quill word processing engine, VBA, etc.) and yet machines of that time only had 4 megabytes of memory! We required way too much memory for the time -- probably around 12 MB. The graphics looked bad because we had such a tight memory budget that we did not use any bitmaps at all. Everything was done with meta files (vector objects). On top of that we had to write to Windows 3.1 -- 16 bit programming.

  8. Re:Clippy NO! NO! NO! NO! NO! NO! NO! NO! by n8willis · · Score: 5, Interesting
    Lord, no! I implore you! Stay AWAY from The Media Equation! This is one of the worst peices of drivel ever pawned off on an unsuspecting public. Please allow me to elaborate.

    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.