Getting to know SketchFlow
Expression Studio 4 is out and I can’t tell how happy I am to see the version 4 finally released. I started out with version 3 then moved to version 4 beta recently. It wasn’t all happy and jolly to work with both versions of SketchFlow, but I think I built up some love/hate relationship over time. And I definitely became a friend with version 4.
I was introduced to Blend/SketchFlow at Mix10 last March and pretty impressed with what I saw. I am a big fan of wireframing and prototyping and it seemed like the perfect tool for the job. Now I think of it, I might have fallen for the marketing ploy of some sort (even if it might be in a very loose sense of it.) Mix10 is MS conference after all. What did I expect?
Even though I had a rough start, I quite like the SketchFlow now. But not in a “it’s so cool I can sell this” way, but more in “it’s growing on me” way. Here are some things I learned about SketchFlow and how I became a “friend” with it.
1. It is not wireframing tool or development tool. It’s somewhere in between.
I usually use Visio or Omnigraffle to do wireframes. Both needs some getting used to but at least it’s plain and simple what it does and what it doesn’t. The biggest issue I had with SketchFlow initially was that I thought it was some magical tool that sort of works like Visio or Omnigraffle but makes things interactive by adding bit more to it. And of course, I was very wrong. It was harder to set things up since all controls are mapped to either WPF or SilverLight controls. So you really should know how .NET controls work in a way, at least if you want to use it efficiently and methodically.
2. Do not expect to convert SketchFlow right into the development project.
Coming from developer perspective, I wanted to created something super useful and clean that other developers can take and start adding functionality to it to finish the project. When I tried to change the name of the file and noticed changing filenames does not change class references associated with it, I knew I misunderstood what the tool is about. This is prototyping tool and that’s it. Developers might be able to use portion of it but whole setup might be off the mark for them. For instance, I did few prototypes for WPF applications and sometimes created several screens of same window to see the flow of information. In a dev environment, I definitely wouldn’t set it up that way. So if you’re project manager goes, “We already have SketchFlow prototype so we can do it in two weeks instead of a month.”, you might want to see the files first to see that’s correct.
3. It might be a good idea to do some tutorials before diving in right away.
I laughed at the notion first. “What tutorials? Developers just do it and get used to it.” – Wrong. Big time. It might have saved time to see how DB works, how to use states, and difference between user controls vs. components etc.
4. It is not perfect but so I am.
I was frustrated at first. Then got to know the tool better. I realized I was expecting something that tool wasn’t. Now I know the way around it and now everything’s so much better. So I became good friend with SketchFlow at the end. We still have differences but I learned to accept for what it is.
The thing about SketchFlow is it’s still pretty new. So if you’re getting into this tool, there must be many things you have to figure out yourself. I looked around for some tips and I couldn’t find much online. But once you got into it, you’ll see the value and what it can bring to your application in general. The biggest win for me was that the tool helped me demonstrate the power of rapid prototyping to the folks I work with. To me, it’s worth all the frustrations I felt initially.