Goldenseal Pro for Smartphones (Aug 12)

Many people have asked if we can put Goldenseal Pro on a smartphone. Unfortunately, the answer is a resounding “no”.  The hardware is too underpowered, the screen is too small, and the operating systems (iOS and Android) are simply not designed for building complex desktop apps.

However, what we can do is build multiple small smartphone apps that each do one thing, and “talk” with the home company file back on your desktop.

Android and Cocoa Touch (the Apple framework for mobile) both have excellent support for communicating via html. We can package our data easily into something called JSON, for sending between devices. The hard part will be getting the desktop version of Goldenseal Pro to act as a web server, so the mobile apps can connect to it via html. If that isn’t possible, we can use a VPN (virtual private network) or something else.

We already need to rewrite our current desktop networking code to run under Cocoa and MFC, and it would sure be nice if we can use the same code to connect all types of devices.  Right now Goldenseal uses TCP/IP sockets to communicate between desktops, but it’s time to consider other approaches. To test them, we’ll need at least a prototype version of a smartphone app. The best tool for that will be an app for iPhone and iPad, using the new Swift programming language. We will start with something very simple, like entering a purchase or viewing the contact log.

Prototyping is a gradual process, so we’ve started on it now, and will mosey along on it over the next year or so.  The goal will be to have it functional by the time we start work on networking, which is probably a year off. 

Networking code is very hard to write. In the past we subcontracted most of it. However, if we can use something that is built into the operating systems, we may not need to.

Dennis Kolva
Programming Director
Turtlesoft.com

 

Author: Dennis Kolva

Programming Director for Turtle Creek Software. Design & planning of accounting and estimating software.