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