views:

227

answers:

2

From an interview with Peldi Guilizzoni, the creator of Balsamiq--an Adobe AIR application for creating mockups:

And then you started working on the first version Balsamiq Mockups. Was there any hurdles in the development process?

Ha! There's always hurdles, it's part of the fun of coding isn't it?

Let me think. I think I rewrote the foundation classes (the Model, the Input Manager, the base UI Component, etc) a few times until I was happy with them. First I started with each UI control handle the mouse events for moving and resizing itself, then moved all the mouse handling to a transparent InputManager canvas that sits on top of the view (similar to what I had done for Connect's whiteboard). I also had to learn and digest all the different options for run-time skinning before I was able to create a strategy that worked for my tool, which took a while.

  • Is foundation classes a common term for the core classes in a framework?
  • Are "Model, UI Component, Input Manager" common themes in user interface development and what do they comprise of exactly?
  • What does he mean when he says he "moved the mouse handling to a transparent InputManager canvas on top of the view"? What is the view and the InputManager canvas.
  • Why does he do runtime skinning? Can't the skinning be done before hand? What other options are available that he could have explored?

I am trying to get a handle on his design architecture.

+1  A: 

I don't understand the question. To your first point, well yes. Why are you nit picking this guy? His application is pretty good. MFC == Microsoft Foundation Classes. To the second, I those are pretty straightforward, they roughly approximate to a MVC, it's just a variation on a similar pattern. As far as the third, well it's specific to his application; you would probably need to know a little more about how development occurs in AIR to know exactly what he means. But in general it doesn't sound very difficult to understand. For the last, I don't know. Ask him. :) It's a really neat application.

He was also interviewed on the Startup Success Podcast:

http://startuppodcast.wordpress.com/tag/balsamiq-mockups/

BobbyShaftoe
I don't think he's referring to MFC when he says foundation classes as this is Adobe specific. When I read Model I too though MVC, but I am trying to get a better handle on his architecture design.
aleemb
I know that he's not referring to MFC. But I meant that it is not a "crazy" term for it. :)
BobbyShaftoe
+2  A: 

He is doing mock-ups. So for him, each UI Component is basically a rectangle (or other shape) that needs to be drawn and react to input. The input can come from different sources (mouse, keyboard, prepared for multi-touch?), so an Input Manager makes sense. In a mock-up, most components will have the same simple behavior, so extracting that to a separate object makes sense. In a mock-up it makes sense to change skins at run-time

Stephan Eggermont