SmoothSpan Blog

For Executives, Entrepreneurs, and other Digerati who need to know about SaaS and Web 2.0.

Archive for September 9th, 2007

Using Mindmaps to Explore User Interaction and Create QA Test Plans

Posted by Bob Warfield on September 9, 2007

Using Mindmaps to Explore User Interaction is a cool idea.  Basically, you depict the flow through the UI as a visual map:

WordPress UI Mindmap

Doing so can give you an instant idea of how hard or easy it is to navigate the UI to key functionality.  I would venture to add that studying the “traffic patterns” along the mindmap’s highways and optimizing them the way you would a web site is probably a good way to tune up a UI.

Now here is a newsflash:  you can buy a piece of software that will automatically generate these mindmaps.  It’s called Rational Test Factory.  Here is a UI Map from Test Factory:

Test Factory UI Map

Same principle, with each UI object called out inside its container (window) and links showing how you navigate.  Test Factor is a product I built once upon a time at a startup I founded that was called Integrity QA Software.  There were a number of unique aspects to the product.  First was its ability to “spider” or crawl a user interface and produce these maps.  Second, it had the ability to automatically create test suites by using the map as a template to generate tests. 

QA people take note, because these maps are good for a lot besides UI design and optimization.  A mind map like this of a UI is exactly the map you need to plan your testing campaign!  I could see putting a big map up on a wall and using it to cross reference your test plans and see that you were getting proper coverage across the whole UI.

A third thing we did that was very powerful was we defined behaviours at each node.  A button is obvious, but menus and type-ins are more interesting.  For example, we made it easy to cycle through a bunch of test files.  The type-in for the file name would be given a property that was a list of test files.  Push a button, and a script got generated to crank through all those files.  Being able to define allowable inputs (for example, what is the range of valid numbers) is hugely powerful for testers.  But it would also be hugely powerful for UI and even program design.  This tool was aimed at testing, but at some point we planned to use it as a UI design tool and do code generation to create a UI from one of these maps.  Never got to it.

The fourth really cool thing this product did was to use Genetic Algorithms to generate optimal test scripts.  This was some seriously cutting edge stuff.  The UI maps gave us templates and made it easy to generate test scripts.  The role of the Genetic Algorithm was to evolve better and better scripts.  “Better” was defined by a fitness function.  We used code coverage and script length.  The shortest script that tested the most code was deemed the best script.  QA people loved this thing.  If the developer’s changed the UI, they could just remap and regenerate new scripts.  Add new code?  Regenerate scripts to test the new code.

The last way cool thing was that this was the first product I build with a grid architecture.  We had a demo room with a rack of 4 by 4 (16) PC’s and two really comfortable chairs set in front of the rack.  On a table between the chairs was the 17th PC that served as a control console.  We’d sit a customer down in one chair and the demoer in the other.  The customer’s software would be loaded.  Hit a button and all 16 machines started mapping the UI in parallel.  The customer’s eyes would literally bug out watching all that activity on their familiar product.  Then testing would begin.  Bugs would start being reported on the console.

I haven’t kept up with Rational’s doing with the product, but at the time it wasn’t suited to testing web applications because it was built before there were many.

It certainly is a fabulous example of how to use multicore to solve a hard problem.  The graphical programming aspect is also intriguing.  It begs for that UI design and code generation tool we never built.

Submit to Digg | Submit to Del.icio.us | Submit to StumbleUpon

Posted in grid, multicore, ria, software development, user interface | 2 Comments »

The Biggest Usability Bug in Windows

Posted by Bob Warfield on September 9, 2007

There’s an interesting rant over on Dexo that says the biggest usability bug in Windows is how long it takes to boot up.  I’ve got two other thoughts on this:

The second biggest usability bug in Windows is how long it takes it to shut down.  I can’t tell you how many times I started Windows shutting down at work, was in a hurry, left, only to come back in the morning and discover it hadn’t really shutdown.  Sometimes it would be in a weird brain dead limbo state.  More often, some program refused to cooperate and there would be a dialog asking me to confirm I really wanted to shut down.  Usually, that dialog was from Outlook.

Why is this a problem?  Well, it is annoying because you have to deal with it before you can start back up.  But worse, it is a huge security flaw in the whole thing.  Anyone who came along after I had left could sit down tell the dialog they’d made a mistake and be in my computer doing whatever they liked.

My second thought brings us to why this stuff happens at Microsoft (and believe me, we could make a long list of “this stuff” when it comes to usability).  I had an interview with James Allchin one time.  Allchin ran the entire Windows empire and Microsoft was one of those places like Google is these days:  they call and you show up, whether or not you were even looking for a job.  After the usual get acquainted chat, James fired his first pithy question.  Having noted I claimed some user interface expertise, he asked me what Windows biggest usability problem was.

This was in the day of Windows 98, and without hesitation, I stated that I thought the biggest problem was with the setup and configuration of programs.  There were so many little files all over that had to be fiddled with, that were invisible, that contained highly technical programmer syntax, and so on and so on.  Files like the old AUTOEXEC.BAT. 

James sat back in his chair, sucked on his teeth, and pronounced, “That’s not a usability problem.”  I went on to explain I thought the Mac did a much better job with resource files and tried to explain to him why this was a usability problem, but it was to no avail.  We talked for a little while after that, but it was clear the interview was over and I had failed.  It did not even occur to Allchin to think of that as a usability issue and I could not budge his thinking on this.

So it is with booting up and shutting down windows, and don’t even get me started on the new Office 2007 ribbon interface.  Ironically, Windows XP introduced the Registry and the Device Manager, so maybe word did get through at some level.  Never say never!

On the other hand, isn’t it great you don’t deal with anything I mention in this post when using web software?

Posted in saas, user interface, Web 2.0 | 2 Comments »

SaaS Resolves the Software Prisoner’s Dilemma

Posted by Bob Warfield on September 9, 2007

I read an interesting piece the other day about The Prisoner’s Dilemma in Software Development.  Others have stumbled on the same idea.  It was a sad piece really, because it dealt with the view that the relationship between the software developer (or ISV) and their customers is extremely adversarial, hence the “Prisoner’s Dilemma”.  Wikipedia says, “In game theory, the prisoner’s dilemma (sometimes abbreviated PD) is a type of non-zero-sum game in which two players may each “cooperate” with or “defect” (i.e. betray) the other player.”  You can begin to see the parallels.  Does the ISV and its customer successfully cooperate, or does one or the other betray?  The name derives from the idea that its about two prisoners, accused of a crime, separated, and asked to betray one another for a lighter sentence.

Ironically, the game theorists conclude that rational choice leads both players to betray each other.  Anyone that has been in the IT or ISV game for long enough will have seen this happen.  The ISV over-promises what can be delivered, secure in the knowledge that the further the customer gets before discovering this, the harder it is to back out.  The customer minimizes the complexity and difficulty of what the ISV has to accomplish, secure in the knowledge that the further along the ISV gets, the harder it will be for them to back out.  New requirements never heard of before materialize at the last minute just as the finish line was starting to be visible.

Each side strives to minimize its risk through various legal mechanisms as well as due diligence.  Acceptance clauses, SLA’s, and all the rest fit perfectly against the fabric of the Prisoner’s Dilemma.  Apparently, one of the best strategies to use in the game is Tit for Tat.  Start out trusting, and if the other side betrays you, then you should betray them.

Is this any way to do business? 

Software as a Service (SaaS) eliminates the Prisoner’s Dilemma aspect of the whole relationship by deferring payment until the solution is delivered and then charging as the solution is consumed.  The customer’s risks are then properly matched to the vendor’s rewards.  The fact that its much easier to get a SaaS solution running helps as well.

Clearly, SaaS is a much better game for customers and vendors alike than Old World On-Premises with perpetual licenses.

Posted in business, saas, strategy | Leave a Comment »

Headline Story: Newspapers Switch to SaaS

Posted by Bob Warfield on September 9, 2007

Newspapers are in a scary situation these days, and pundits seem to agree on that.  First, their most profitable source of revenue, classifieds, has been undergoing a mass migration to the Web.  More recently, news itself has become more accessible on the web. 

Wouldn’t it all be better if newspapers switched from On-premises over to SaaS?  Isn’t reading your news on the web basically a SaaS instantiation?

While we’re on that topic, don’t we want to head written documentation down the same path?

Just imagine what could happen if a major media brand really understood how to build a Social Network and exploit all the Web 2.0 Personality Spaces?

The trouble is we have another industry where computers are viewed as unrelated to the business or worse, they are seen as the enemy.  This just makes it easier for others to take their market away

Posted in saas, strategy | Leave a Comment »

 
%d bloggers like this: