Progress Bars (Feb 26)

Goldenseal accounting software shows a progress bar for anything that takes more than a second or two. It helps entertain users, and makes sure they don’t think the computer has frozen. If the bar moves slowly, maybe there’s time to fetch a snack.

To make the bar work, Goldenseal uses about 20 lines of source code to create a progress window, move the bar as things happen inside a loop, then close the window when done. Some bars have a button so you can stop before the end, which is a couple more lines. Our staff copy/pasted code blocks each time, then tweaked the details for each action. That was a bad decision.

The new accounting software has a permanent bar at the bottom of the window. Progress messages are also at the bottom. The new code is entirely different. That means we need to revise 125 different chunks inside many files, scattered all over the place inside the business logic. Not a fun project.

Sometimes it’s possible to use clever text replacements, and update masses of code without much pain. Our staff tried that, but it was too big a gulf. Reluctantly, we got new bars working for a few of the more common actions that need them. The rest still need rewrites, which we’ll add gradually during testing.

At least the new design is better. Now there’s a bar manager that sits in the middle. Three lines of code is enough to set up the bar and move it. Business code doesn’t need to know anything about the interface, so the next update will be easier. Sometimes we learn things the hard way.

Computers and storage are much faster now. The new app zips through some things so fast that we don’t even need a progress bar. It’s something we can tweak during testing.

Some progress bars were in import/export code. It’s left over from the early days of Goldenseal, when we frequently changed data inside the company file. Rather than write code to support older formats, we exported sample data to a text file, then imported it back. We’ve never used it in the past two decades. The Reports interface is a better way to work with company data and export it as text.

Right now, the new software does not show import/export commands at all. We’d need to spend a few days on the interface to get them working, and it’s probably not worth the effort. Most likely we’ll abandon them, unless someone complains.

Dennis Kolva
Programming Director
TurtleSoft.com

 

 

 

User Interface (Feb 15)

It has been an excellent winter for working outdoors. Many warm spells. Not much snow, mud, or frozen ground. Zero sweat, sunburn or biting flies. Most days, the routine here has been daytime physical labor, then programming our new accounting software during the long evenings.

The big project right now is 300 feet of French drains to handle runoff from the neighbors. Step one is trench digging, with the soil going into raised beds for gardening. Then add a 4″ corrugated drain, plus a water line for irrigation. Finally, fill with many tons of crushed rock (slag?) that a previous owner piled onto everything not lawn. Removing it lets us use those spaces for planting. The project kills three birds with two stones.

Last week was warm enough to assemble a greenhouse kit from Amazon. Sadly, the build process was a nightmare, with instructions even worse than Ikea’s. It took 27 hours, mostly puzzling over what goes where, and redoing whatever went to the wrong where.

Good human interface design takes time and skill, but it’s worth the effort. This build would have gone twice as fast if it were set up better. It lacked 1/2/3 instruction steps, simple part labeling with up/inside/outside markers, photos for difficult areas, and maybe tricks like matching color dots where pieces connect. Instead, the project was such a brain-drain that it left no energy for programming afterwards. It cost us quality time, not just time.

User interface is even more important for accounting software. It will be used for hundreds or thousands of hours, so every time-saver (or time-suck) has a big impact. Our staff runs each screen and function many times to test and debug, so we also want it easy for selfish reasons. Plus we manage a couple of businesses with it, and have to suffer any flaws.

Right now the main focus is progress bars. They aren’t that complicated, but moving them from Goldenseal to the new accounting app is tricky. The work is about half done.

Dennis Kolva
Programming Director
TurtleSoft.com

Reconciling Walmart (Feb 2)

Goldenseal is pretty good at reconciling bank accounts, but our new accounting software is better. The list of transactions loads almost instantly. It’s easier to switch from one account to another. But there still is a rough spot: what do you do when the bank statement doesn’t match what you entered?

Sometimes it happens because of typos, or bad data from faded/crumpled receipts. Sometimes it’s because of Walmart. They have a bad habit of adding an extra penny to sales tax for online orders, but then rounding correctly on the actual charge.  The result is a Reconcile line item that’s off by a penny.

Goldenseal has no easy way to fix that kind of error while the middle of a Reconcile. The quickest goes like this:

      1. Remember or write down the error.
      2. Leave the Reconcile window.
      3. Find the bank transaction and change its status to Void.
      4. Save changes. That removes Paid status from the purchase and unlocks it.
      5. Open the purchase, and enter the proper amount.
      6. Go back to the bank transaction, and also give it the proper amount.
      7. Change payment status to Entered, and save changes. That also updates the purchase.
      8. Go back to Reconcile and try again.

More than three weeks ago, our staff set out to improve that. The goal was to do the One Penny Tango in just a step or two. Except, we ran into bugs. Many bugs. One crashed the new accounting app. Several were due to changes in bank transactions. One zapped the purchase record in the database. That took a couple days to track down: a lingering problem in how we mark records as “dirty” so they’ll be saved.

The Walmart problem is almost fixed now. You can double-click in the Reconcile window, and see the bank transaction. Then right-click to see the purchase. You can change them and save, but we haven’t tested the posting yet. That will be tricky. It also needs to update the line item in Reconcile.

Adding those pop-up transactions is a big design change. We’ll need to play with it for a while, and see how well it works in real life. If good, the same thing can happen in all the other action windows: Pay Bills, Project Billing, Deposit Funds, Job Costing, etc.

Linking from one record to another is a big strength in our software. Usually it’s easy to get from here to there. The links also are a PITA for our programmers. They make a complex web, with so many ways to go wrong.

Dennis Kolva
Programming Director
TurtleSoft.com