TrialBalance - New UI
Some time ago I wrote that I’d decided to use Kevin Moore’s Graph sample as the main view of accounts in TrialBalance. I was impressed by the “coolness” of the Graph, and as soon as I saw it I decided I wanted it in TrialBalance. You can see how I used it below:
Now, TrialBalance is used for storing double-entry accounting information, and the main “artifact” in accounting is an Account (Assets, Liabilities, Equity, Revenue and Expenses). This view is meant to list all of the Accounts that TrialBalance knows about, so you can navigate through them and open an account to add transactions.
After using this view for some time, I’ve begun to feel that although it looks cool, it’s not very functional for TrialBalance:
- Performance degrades pretty quickly when the window is maximised, or when there are a lot of items on screen.
- When there are more than a handful of items, they start to bounce around and overlap.
- Having to click through the nodes to find the account you want makes it a little slow.
- Keyboard navigation is pretty unpredictable.
- The nodes need to be small to fit it all on screen, but at the same time there’s data I would like to show on them - such as the Opening Balance, the Closing Balance, and the Category of the account (Current, Non-current, etc.).
Note that these aren’t really issues with Kevin’s Graph, just my use of it - it just isn’t the right “view” for this purpose.
I think what I need is some kind of vertical list. If I had them in a list:
- It would handle many more items
- You would be able to find the accounts you want quickly (thanks to a “filter” text box, similar to the one in MSN)
- Keyboard navigation would be more predictable
- I’d be able to show more data for each item in the list
Funnily enough, I was actually using a list in TrialBalance before I decided to use the Graph, and it worked quite nicely. But at the time, I felt rather silly: Windows Presentation Foundation gives developers and designers the ability to create all kinds of amazing data visualizations. Lists, such as ListViews and Data Grids, have been around since the stone age. Using a boring DataGrid in WPF felt like wearing bell-bottoms to a 2007 new-years eve party.
I got to thinking about different ways to visualize accounts. I decided to look at it from the point of view of paper-based accounting.
In paper-based accounting, accountants generally have a filing cabinet full of paper cards, each with a number on the top left corner. The number means they can open the cabinet, and thumb through the cards in drawer just looking at the numbers (which are numbered in what could be described as the accountants version of the Dewy Decimal System). When they find the card they want, they pull it out of the drawer. The card contains a list of all of the transactions for that account.
I figured it wouldn’t be too difficult to imitate this in TrialBalance.
I imagined a series of cards, stacked on top of each other, with only the numbers and headings visible:
Moving the mouse over the items in the stack would be the equivalent of “thumbing through” the cards. Clicking on one would be the equivalent of “pulling it out of the drawer”.
Now as you thumb-through a folder searching for an account, you generally lift each card out just a little bit to see some more details as you search. I decided that the mouse-over should “lift” the card out of the list:
It was a little difficult to show on this proof-of-concept demo that I was doing, but lifting the card out would show some extra information, such as the category, a description, etc.
I’m also toying with the idea of being able to attach custom pictures/icons to an account. There might be some inbuilt ones users could pick from, as well as being able to attach their own photos - such as a photo of the machinery in the Machinery account. These pictures would also be shown on the list.
My only worry is that the way the cards “lift out” when you mouse over them might become a bit of a nuisance. So I’ve uploaded an XBAP proof-of-concept version that you can try out right now. If you have .NET 3.0 installed (get it here), simply navigate to:
http://www.paulstovell.net/tbpoc/trialbalancepoc.xbap
Play around and let me know what you think.
Filed under: Trial Balance


Pretty smooth, Paul, but for some reason the fact that the cards pop up to the “top-left” looks wrong. I can’t put my finger on it, but I think it’s something to do with the way Windows has the “light source” coming from the top-left.
Can you make a version where the cards pop up to the right instead? Just to see how it looks?
The only thing that I don’t care for is that when a card lifts up it obscures the card above it. It’d be nice if you could still see all the cards as you’re “thumbing” through them.
I like the view, I like the metaphor but maybe more true to real life when you mouse over (thumb) through a card the cards below the card should move down and to the right a bit? Ideally you could use the 3D utility library http://blogs.msdn.com/wpf3d/archive/2006/12/12/interacting-with-2d-on-3d-in-wpf.aspx that came out to fold the cards down even
Not sure though…maybe that would put you back to where you were at before–too much bling!