GUIs can be fun (even when they’re pointless!)


Despite the fact that I went to an arts college (SUNY Purchase), founded a media company (One Source) and used to style myself an artiste (a frigging Theatrical Lighting Designer) I’ve never been a user-interface guy.

I’ve done a bunch of UX work, of course, but I much prefer to play with the back-end (i.e. services, logic, databases, tooling, etc.): the invisible yet ultra important glue that lies at the heart of every non-trivial application. Even so, there are times when it’s hard to resist the pull of the front-end, especially if I have a chance to work with my hands-down favorite UX technology: WPF.

For the uninitiated, UX is developer-speak for User Experience (GUIs, HTML, graphic design, etc.).  You know, the shiny bits our end-users adore!  Unfortunately, like most programmers I hate my users.  Only kidding.  Maybe.

This evening, I found myself in need of a UI testing harness to validate a new trade-execution engine I’m writing.  In it’s real-world use the engine won’t come within a light year of an actual UI, but for testing purposes only, something GUI-ish was just the ticket.  I still haven’t finished the overall program, although I did just complete a major component: a Bid/Ask box. If you’ve been trading for a while you’re no-doubt familiar with such things.  On the other hand, if you’re a serious trader you shouldn’t do manual trading, and Bid/Ask boxes are all about manual trading.  Yes, I know it’s a bit of a pickle, but there it is.

The component took three mostly pointless hours to develop–I say pointless because I could’ve addressed 99% of my testing need in about 15 minutes.  Even so, I’m more than a little pleased with the result.  There’s something delicious about sweating the details; making sure each pixel is in the exact right spot, making a UI so neat you almost want to run your fingers over it.

Anyway, if you’d like to play around with the code, it can be downloaded from GitHub.  Enjoy…

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s