VB gets a little respect. Very little. Tiny, even.

Joel Spolsky wrote an excellent piece about software prototypes entitled "The Iceberg Secret, Revealed" back in February, and I just ran across it. As I mentioned last month, I did some contracting for Joel circa 1992.

[krp: I originally identified Joel as a Mac-head, then as a Java-head (see comments)] Imagine my surprise when - in his piece on prototypes - he actually referred to VB! Specifically, he said "...mockups, created in Photoshop, not even VB." So, hey, VB's a better mockup tool than...Photoshop? Well, I guess we have to take our victories where we can.

Anyway, I did dozens of VB prototypes for Microsoft in the 90s. I did a bunch for the "Cairo" UI, the original demos for handheld devices back when Microsoft was trying to interest Japanese manufacturers (I think some of the lessons learned have been forgotten in the interim), all of the prototypes for the Microsoft At Work (or "MAW", over my loud objections) devices, and even a cool little consumer app for subscribing to and reading comics online (which required lots of, um, research ). Probably my favorite was a visual programming tool for gradeschoolers that Bill himself was supposed to be excited about. Ironically, while he actually presented a bunch of my demos, sometimes in public keynotes, it was always someone else who showed him how it worked. I also tested a lot of these things in the usability labs, which was always a humbling experience. You've got the most obvious feature, and the "user" can't find it to save their lives. Even with someone sitting there saying "this feature is on the screen you are looking at" they say "no, it isn't".

Often I worked with designers, translating their ideas into something that could be demo'ed and tested. Of course, they used Macromedia Director, not Photoshop. And sometimes things got lost between the prototype and the final product. Tabbed dialogs are a great example: The designer (and I) build in smooth animation showing the selected tab coming forward. The developer says, screw that, I'll just blit the thing and save a bunch of cpu cycles. And the designers overcomensate, so we get crap like the flying folder animations. At least Microsoft at that time had a central design vision and a chief UI designer, Virginia Howlett. She even wrote a book about UI design for Windows (I was the tech editor).

Of course, I also wrote important, production code using VB. Let's see, there was the MindMaze game in the first version of Encarta. And the "Tour" that shipped with Windows 95 (and the reason it came with the VB3 runtime). OK, maybe that stuff wasn't really so important after all. But at least it wasn't Microsoft "Profit", that best forgotten accounting package that was developed by Great Plains. May it rest in peace.

So...much of what Joel said in his prototyping piece rang true for me. In particular, his admonition to do what you think is best rather than to always give the customer what they said they wanted. Frank Lloyd Wright did exactly that, and look where he ended up. Which reminds me of the time I put zooming and panning into the MAW fax prototype, even though the PM told me to delete it. Then Brad Silverberg accidentally demonstrated it to a meeting of the entire Windows 95 team and everybody went "wow"! Sometimes you win, and other times...well, as Keynes said, "in the long run we're all dead anyway".

7 Comments

  • Oops, yes, my mistake. He's a Java-head. <g> I think I'll edit the post and fix that...

  • Do you know of any screen shots that are publically available of the "Cairo" UI?

  • His latest piece on prototyping is fundamentally flawed. He explains how it took a couple of interns all summer to generate a prototype which a staff engineer could implement in a week. No kidding! An experienced staff engineer could prototype it in about 1 day. To then conclude that prototyping doesn't save time is completely wrong.


  • Joel is neither a Mac-head nor a Java-head. His company's two main products, CityDesk and FogBugz are written in VB and ASP. I think CityDesk is an excellent example of what VB is capable of. That said, I look forward to moving to .NET and leaving a lot of the VB6 quirkiness behind.

  • Hmm...I'm going to have to retract even the Java-head thing, but I know where I got it: His personal home page mentions Java programming, but not any other languages. Looking at his resume, though, it's clear he's been developing in any number of languages, and clearly recenly focused on .NET.

  • The poster above is right. Joel Codes in VB and ASP, then uses C++ for the "heavy lifting."





    Do read his architecture descisions for citydesk on www.joelonsoftware.com for yourself. Of course he likes VB, it's the main language that's he's using!





    This is like saying "Hey, even Kent Beck likes Extreme Programming" or "Hey, even Larry Wall likes Perl" - not quite, but pretty close.





    geez.





  • OK, so I fixed (and annotated) the comment about Joel. Is that the right way to do it? Dunno. Mybe I need a new post about corrections / retractions. <g>

Comments have been disabled for this content.