Thursday, 5 July 2007

SketchPath Version 1.0?

Will there be a finished version of SketchPath?

The answer to this depends on a number of factors. In order to get a software product sufficiently tested for a public '1.0' roll out there has to be a significant test period.

The hope was that a public Beta test would assist in this, however, a month after the first Beta release, and over 100 downloads later, only a handful of responses have been received. This hardly constitutes a thorough test phase!

Mindful of this, there is now some doubt about the viability of a 'stand alone' freeware XPath tool such as SketchPath. The temptation is therefore growing to discontinue public Beta development of SketchPath and instead see if a specialized version of it can be included as part of a 'business package' for contracts with selected customers. We will see what the future holds...

XPath Debugging

After having done quite a bit of work recently on the user interface parts of SketchPath, its time now to get back to basics and make sure that the XPath debugger is sufficiently enhanced.

The 'Predicate-Aware' step-through debugging, could be a unique 'selling' point for SketchPath so its important that it performs to spec. Most of the predicate handling now works but now this has to be combined with stepping through XPath functions within an expression in a more useful way.

The next release of SketchPath (0.4.2.0) will therefore not see significant changes to the user interface but there should be noticable improvements in the debugger, especially for expressions using funcions.

Monday, 2 July 2007

User Interface for Managing Grouped Items

Whilst working on the latest release of SketchPath, I had the problem of trying to provide a user interface for moving items between different groups. A tree-view was one option I considered, but because these groups are not nested, there is probably no need for this.

Instead, I decided to go for the approach used by software, such as backup tools, and also interestingly, on mobile phones, where you first mark the items you want to perform an action on (in this case move them) and then you perform the action.

Whilst it takes a bit of time to get used to this, I found it extremely powerful. This was especially the case when synchronising two grids of the same data. The 'master' has all columns, whilst the secondary pane has a subset of columns and is also filtered, both by a selected group name and by whether an item is marked or not.

This combination of grids allows the user to view, at the same time, the other items in the group that they are about to transfer items too.

A few simple action buttons, such as 'Mark Group', 'Mark All' and 'Transfer Marked Items' provide very powerful functionality. This does take some learning, but it seems to make for a more powerful and flexible way of managing grouped items that are not in a complex hierarchy.

Anyway, time will tell whether this approach works, more details on this part of the user interface on the SketchPath web page for the XPath Expression Library.