Fog Creek Software
Discussion Board




Prototyping tool of choice

Howdy all,

I'd like to get some opinoins on application prototyping tools. What I'm talking about is something that strictly creates pretty user interfaces that an experienced demonstrator can refer to and click on.

Visio will let you paint screens but not something that is very interactive. I haven't looked at anything from Borland in some time, is there anything over there worth looking at?

We're leaning toward using VB6 or Visual Studio.NET (depending on the engagement) with a 3rd-party UI widget toolkit but that feels too much like real development and not focused on what we want to accomplish.

Ideas?

Mark Smith
Saturday, January 03, 2004

VB6.

Indian Developer in India
Saturday, January 03, 2004

My personal favourite is to use Perl with either Perl/Tk or Perl/Gtk (which would not work very well on Windows). I haven't tried wxPerl or Perl/Qt or whatever.

The difference is that Perl/Tk is very easy and fast, but is a bit lame, while Perl/Gtk is harder to get right, but can produce high-quality GUIs. They are both very nice.

If you don't like Perl you can take a look at Python, Ruby, Tcl, or whatever. The good thing about standards is that there are so many to choose from.

Shlomi Fish
Saturday, January 03, 2004

I tend to work on server and back-end utility type stuff and not GUI. Perl is the prototyping language of choice. For the rare GUI needs, wxPython looks mighty good, I'm just looking for an excuse to plunge. My brother, a hardware guy, just loves it to make cross-platform hardware interface/data acquisition tools.

Saruman
Saturday, January 03, 2004

Paper and pencil !  :)

Kentasy
Saturday, January 03, 2004

I vote for a variant of Kentasy: whiteboard and marker.

Showing people mocked-up UIs who don't understand coding, is a recipe for disaster.

Brad Wilson (dotnetguy.techieswithcats.com)
Saturday, January 03, 2004

Paper and pencils. They work amazingly well.

Borland Delphi 7

MX
Saturday, January 03, 2004

This is for the next step beyond a whiteboard mock-up. Scribbles on a whiteboard are not going to keep people engaged enough, espcially people who don't understand coding, to get buy-in to make the project happen. The whiteboard is fine to get started with a small group who are very interested in making a project happen, but a larger audience needs to see something slicker.

Plus, this isn't for small projects ($150k+); if people want to use the prototype that's actually good news: we hit the nail on the head.

Mark Smith
Saturday, January 03, 2004

Python with PyGtk is nice,  build the GUI in glade,  then just write some code to tie together the bits and pieces.  VB6 is something that's never really worked for me,  though some other guys at work always use it for POCs.

Michael Koziarski
Saturday, January 03, 2004

If people who do not understand coding see a slick UI mocked up, whether in Visio, Corel Draw, Photoshop, or whatever, nothing you can say or do will shake them from the belief that the coding is at least 90% complete.

Therefore it is imperative that your mock up look like shit in order to get the time and resources necesary to complete the project.

Thus whiteboard or paper and pencil are ideal.

Anonymous coward
Saturday, January 03, 2004

AC:

You're assuming that coding is most of the work for a large project. It isn't; coding is the easy part. If someone wants to assume that coding is 90% done after seeing a mock-up, that's fine. That doesn't translate into the project being 90% done.

Mark Smith
Saturday, January 03, 2004

Coding is about 15% of a large project. (Brooks, 1970, 1995)

However, a third to half the project comes before coding is started. By the time coding is 90% I'd expect the project to be well over 80%.

People who do not code are convinced that coding is 90% of a project.

Slick demos lead to grossly unrealistic expectations.

Similarly, demos must always use ridiculous data, otherwise the users will start analyzing the data and its presentation rather than the interface.

Anonymous Coward
Saturday, January 03, 2004

How about Powerpoint?

You can do some pretty sophisticated looking stuff, but since it's a powerpoint deck (which everyone will understand) you don't have the "it looks done" problem.

Chris Tavares
Saturday, January 03, 2004

How about a HTA... HTML-application for IE5.0 or later?

Eric DeBois
Sunday, January 04, 2004

Paper and Pen plus REBOL (the difference between a fully working application and a prototype can be rather narrow when using REBOL).

Lennart Fridén
Sunday, January 04, 2004

AC:
No one - NO ONE - who has been part of a large organization and who has any kind of seniority will expect that coding is 90% of a project. People who are new to a large organization may think this way; after about two projects they understand that budgetary process, resource acquistion, certification/deployment, and administration are much longer tasks (in terms of calendar time).

Our sales model (and the sales model of just about all corporate fulfillment firms) is to:
1. Forge a relationship with an IT executive (someone in the Director-AVP-VP range).
2. Come back to them with one good idea that is timely and solves multiple problems (not just business problems, but issues that may seem petty to others around personal ownership, timing, etc...).
3. Work with that executive to chisel out what the solution will entail. This normally involves lots of whiteboard time and creating a taxonomy.
4. Work through the IT executive to schedule a meeting with senior leaders in the business (in the Sr. Manager-Director range). We show that group of people something sexy; something that they can get excited about. We want them leaving the meeting demanding that what they just saw be deployed right now. If they think that it's already done, all the better. All of that pressure and discussion will drive the business senior management to open the checkbook and pull the trigger on the project.

The better the prototype looks, the more successful we are. This is akin to a child seeing a toy on TV that they can't live without and whining enough to their parents that the toy materializes. The child doesn't really care how the toy happens, they just want it to happen. For all they know it's Santa Claus.

Making a project happen in a large organization is much more social engineering than software engineering. "Mythical Man Month" is more about the latter than the former. Frankly, it doesn't apply here.

Mark Smith
Sunday, January 04, 2004

And the child's reaction when they get the toy and are told they can't play with it for another eight months "because it's not done yet"?

Philo

Philo
Sunday, January 04, 2004

Powerpoint with screen shots mocked up in VB6.

You get the UI that looks good without the audience thinking it's done.

However, one of the bosses here keep calling this sort of thing a "prototype" which leads others who haven't seen it to think there something to it. You learn to take what he says with a grain of salt and call the actual developer to find out how done it really is.

pdq
Monday, January 05, 2004

*  Recent Topics

*  Fog Creek Home