On Monday, our staff finished work on the online Reference Manual for the new accounting software. Next on the list: triage the remaining site pages. Some go on the double-check list for the new app. Some move into the Reference manual. Most get a quick deletion. When that’s done, the new site will be very tidy.
All this recent website work has been useful. It turned up many small bugs and missing details. It also inspired a few interface improvements.
Also, there’s another reason for doing so much web work now. Our office is on the 4th floor of a circa-1890 office building. It’s not very soundproof. Last November, a dance studio moved in right below TurtleSoft. Before that, it was business offices or vacant.
Programming needs intense focus. It’s easily killed by distractions. Website work and testing are the best we can manage while there’s clomping feet and music downstairs. For tap dance, we need to leave the building or go nuts. Fortunately, classes don’t run full-time. Our staff still can program while it’s quiet.
Along with bug fixes, the main focus right now is Custom Layouts.
Qt has a nice sample app with boxes you can drag around and resize. A couple years ago, we started with that code for Custom Layouts. It only took a few weeks for it to look decent, and kinda work like it should. That’s where we left it until last December.
Getting the code good enough to replace Goldenseal has been much harder.
We use Qt Creator for design, coding and debugging. One component is a drawing window to set up dialogs and windows. It’s similar to Custom Layouts, but worse. You can’t nudge things with arrow keys. There’s no way to align fields. Shift-clicks don’t work. Double-clicks do nothing. It’s easy to accidentally select the wrong thing. The new Custom Layouts was like that, too.
Fixing those problems has been difficult or impossible. I think Qt Company wrote QGraphicsScene to make a good enough form editor, but didn’t make it expandable beyond that.
A few years ago, we set up Custom Layouts in Apple’s Cocoa framework, and had a similar problem. Their form editor also sucks. Our code also stalled out when trying to improve it.
You’d think that big companies could do a better job on their tools. It’s not like TurtleSoft invented anything new: we just copied the interface from MacDraw. Decent box-dragging has been around since the 1980s. Maybe the difference is that we use Custom Layouts a lot. Programmers at Apple and Qt don’t eat their own dog food.
Rather than settle for a mediocre interface, we started over. The new version uses the same code that already works for data entry screens and reports. Those have full control over mouse and keyboard actions, so we definitely can make it work well for layouts. As a bonus, the code is simpler now. QGraphicsScene had baggage that’s now gone.
It’s not fun to toss a couple month’s worth of work, but that’s part of the creative process. We’ve done it plenty of times before.
Dennis Kolva
Programming Director
TurtleSoft.com