Our KickStarter campaign for Goldenseal Pro for Macintosh is almost 25% backed. Thanks to all the early backers!
The campaign for Goldenseal Pro for Windows is now live.
They both end August 31. 34 days to go!
These days, almost everyone carries some sort of mobile device. The big question is, how do you connect it to your business computer(s) when away from the office?
Questions 2 to 4 from yesterday are: where is the application located? What runs the user interface? And, how do the devices communicate? I’ll try to cover them all at once. This will get pretty technical, and if you want the short answer, you might better just skip to the end!
APP DEVELOPMENT ABCs
We consumer software developers have three basic choices. We can create desktop apps that run on Mac, Windows or Linux. We can write mobile apps for iOS or Android. Or we can build a web app, which runs inside a browser.
Desktop and mobile apps run code on the local machine. Apple pushes Objective-C (and soon, Swift) as a programming language for both Macs & iOS (iPhone, iPad). Android pushes Java. However, C++ (the language we use for Goldenseal) is popular and very solid, and all platforms support it. It gives excellent performance with high reliability (if you use it right!), and is probably what is used most often for “serious” software.
WHERE WE ARE HEADED
I spent a few months last winter, learning new languages and considering a switch to web app development. Unfortunately, http and web protocols were designed primarily as a page-rendering system, not for secure business use. Many programmers are valiantly making banking & e-commerce work on the web, but it’s an ugly process, and there are many ways to fail badly. Languages and standards are also rapidly evolving, so code has about a 5 year lifetime before it needs a total rewrite. Maybe web development will be mature in 10 years, but right now it’s a tough environment.
On the other hand, desktop apps are stodgy but stable. Yes, Apple has gone through 3 OS designs, 4 basic languages, 3 hardware chips and 3 development platforms since we first prototyped Goldenseal, but that is still a much slower pace than the current WWWeb. Our 14-year-old Goldenseal code still runs OK, and it doesn’t need a ton of work to last another 14 years. In general, we have well-tested, stable, reliable code that would be nice to keep using.
A few Goldenseal users already have managed to connect remote laptops to their offices via a VPN (Virtual Private Network). VPN a feature built into all modern desktop and mobile devices, which lets you use the Internet to hook into a wireless or Ethernet network. However, it’s not very easy to set up, and we currently use a server-discovery process (broadcast UDP) that is blocked by many VPN routers.
VPN seems like the way to go, and we can rework the network code in Goldenseal Pro, to make it easier to connect.
For laptops, that would mean signing on to your office server, from anywhere that has a decent Internet connection. It would look exactly the same as if you were in the office, with acceptable speed.
For phones and pads, we can write new mobile apps that would let you do the same thing– but it will need a much simpler interface, designed for small screens. It may work best to have separate small apps with just one function: enter an expense, view an estimate, enter a customer contact. Android & iOS are really not well-suited for complex business apps.
We have been playing with designs for an on-site pocket estimator, using inteface that we first developed for BidMagic and its precursors. Estimating will work better on pads than phones, since it is really tough to do much on a screen with only 6 square inches.
Turtle Creek Software
Hi this is fascinating. But are you ever going to build something that can be web hosted? I need a solution that I can use at two locations- working on files with my business partner. –Pierre
Our current model is to store your company data on your own, local hard drive. It’s secure, convenient, and can be automatically backed up by the OS (Mac: Time Machine, Win: Control Panel -> Backup and Restore). You can put a copy on your laptop, and access your data even where there is no phone or Internet connection. Files are not very big, so it’s not a burden to store them.
Quickbooks Online offers a web interface and convenient storage of your data on their servers. That approach is great for Intuit, since they kind of hold your data hostage. It locks you into their service, and gives them a regular monthly income pretty much forever. We have definitely considered doing something similar.
However, quite frankly, we don’t have the balls to go that route. It would require a lot of web programming and interface compromises, and there are many, many security issues that we surely would not get completely right. Web security is extremely hard. Some day, Intuit will probably have a huge hacker breach and/or loss of many people’s data, but they are big enough to survive it. We’re too small to take on that kind of risk and responsibility.
So, we will probably stick with our current model of local data storage. Since most users do not host a website from a local computer, we can’t get that data into an http/website stream easily. However, we already have multi-user code to share data on a local network, and just need to improve our VPN (Virtual Private Network) interface so you can connect securely over the Internet.
That’s one of many things we can do better after we get out of our old PowerPlant/Carbon/QuickTime code, and into modern frameworks.
Our KickStarter campaign for the major Mac upgrade is now live! The one for Windows is still awaiting approval.
A user newsletter will be going out soon, with more details.
We released Goldenseal 1.0 back in 2000, so the software is now about 140 years old (in software years)! During that time we made approximately 45 updates. We hit every decimal from 2.0 to 4.9, with a few extras in between.
Our previous MacNail program went into retirement at this same age, and we are now making plans to move on from Goldenseal as well. Time to begin our next generation!
The good news is, most of our accounting and estimating code has become polished and mature, and we can continue to use it with minimal rewriting. Most likely, we can keep the same file format, or at least provide an easy conversion for existing Goldenseal data.
The bad news is, our business code sits on top of a basic framework that needs a major rewrite, so we can keep moving forward.
This is a big enough overhaul to deserve a new product name. We are tentatively calling the next generation Goldenseal Pro, but may switch to something different before it is completed.
The framework change will greatly improve the screen appearance, allow us to take better advantage of modern OS features, and insure compatibility with future OS updates. It will also let us start integrating with mobile apps, so it’s easier to run one’s business from anywhere.
More discussion to follow!
We have completed all the app files for version 4.9, and will upload them as soon as we get our local Internet connection back! Unfortunately there was a lightning strike Wednesday night that disabled a local relay tower. Right now we do not have any info on when it will be back online.
EDIT– everything is now uploaded.
Turtle Creek Software
As of Thurs July 3, we have successfully built version 4.9 on all Mac platforms (OS9, PPC, Intel). There have been enough major code changes that it may take a few more days before the Windows version builds properly.
Some technical details: over the past month we have been moving gradually to newer versions of Xcode (the program that converts our C++ code to a working application) and the Mac SDK (base code libraries that make things run on Macs).
Version 4.81 was built with Xcode 2.0 and SDK 10.3, but one part of that code breaks with Mavericks, and probably more things will break with the next Mac OS release this Fall. We’re now up to Xcode 3.2 and SDK 10.6, which probably will be enough to run in the next couple of OS updates. Along the way, we’ve had to remove or rewrite a lot of older code that is no longer supported. Most is in other people’s code, so it can be challenging!
We will be using this blog to keep users posted on news from Turtle Creek Software. Most likely we’ll be tweaking it as we go.
Current news: we are almost done with the version 4.9 update. If everything goes perfectly, we will release it in 7 to 10 days. Most likely there will be snags, and it could easily take longer.
We are mapping out plans for work on our “next generation” of software, and will talk more about that after 4.9 is released.