Client-focused

Software development isn’t just about programming. It’s also about working with other people and combining their skills and expertise into some meaningful experience and product, for you, the client.

As a client, you may not be all that tech-savvy. In fact, the thought of computers might scare the living daylights out of you. Whatever your level of technical knowledge or IT skills, it’s not a problem. After all, it’s my job to do the technical stuff. I won’t bombard you with techno-babble, unless of course you’re a technical person yourself and want that level of conversation. Before, during and after development, I aim to make your experience as easy and effortless as possible.

For me, software development is also about how I deliver and support my software, while keeping things as flexible as possible during development.

Delivery

As a client, from the very first time you receive your software, whether work in progress or fully complete, it should be really easy to use. Interactive CD-ROMs should begin automatically when inserted into a computer, or be really obvious how you can launch them yourself.

Kiosk interactives can sometimes be a bit more demanding, and are therefore best installed to a computer’s hard drive. Installing software can be done very simply, whether it is delivered by CD or DVD-ROM, flash memory stick, or some other medium.

Wizard-based installers are one of the most common and simplest ways of installing software. All you need to do is follow the on-screen instructions and the software is installed, configured, and ready to run. Installers can be made really simple, displaying only two screens and needing no decisions on your part, or they can offer you more choice in how you install and configure your software.

Screenshot of an installer introductionScreenshot of an installer folder selectionScreenshot of an installer start menufolder selectionScreenshot of an installer options menuScreenshot of a completed installation

Support

You may think that computers and software just crash all the time. You may have seen kiosks with crashed software, out of order signs, the Windows ‘blue screen of death’, or the Windows desktop with no software running. With a bit of thought and effort, these situations can be minimised or prevented altogether.

One of the great advantages in developing software for touch screen kiosks, is that you know exactly what hardware your software will be running on. Having access to that hardware during development allows the software to be fine-tuned for and tested using, the actual kit that it will eventually run on. Over the years I have established, and continue to enhance, a number of processes and procedures for developing, testing, installing and configuring touch screen kiosk software and computers. I have also created additional background software which integrates with the interactive software and corrects problems that it may encounter. The systems I have put in place aim to keep kiosk interactives up and running, and to hide and prevent access to the desktop and computer environment by end-users. This improves the overall branding and experience of interactives and gives clients less to worry about.

Interactive CD-ROMs require something a little different. It’s common practice to develop them to run on a particular range of computers. Even so, the hardware and software on that range of computers can vary greatly, and it’s not really possible to test on every different configuration. However, with a bit of thought, it’s possible to test on a set computers that includes a variety of the most likely hardware and software. Test early and often is the mantra of any good software developer, and in my opinion is the only way to make software.

Screenshot of Crash Recovery applicationScreenshot of Crash Recovery application

Flexibility

You might want an interactive that can be changed or enhanced in the future. Perhaps to allow new content or functionality to be added, to run in a foreign language, an interactive CD-ROM to run as a touch screen kiosk, or vice versa. Maybe you would like to add or amend the content yourself, including text and media such as images, audio and video. From a developer’s perspective, it’s certainly better to know about specific requirements before, or early in development, as it can save time in redeveloping work that has already been done. However, that doesn’t rule out all unforeseen changes or requests made later from being implemented. Any good developer should create software in a structured and modular way that allows some degree of flexibility with a minimum of effort. Indeed, many of the interactives I have created have changed shape and direction during the course of their development.

It’s possible to build kiosk interactives that can be easily updated in the future, even after they have been installed on-site. Updating can be done over a network, or with a CD or DVD-ROM, or flash memory stick. I have created many kiosk interactives which include a client control panel screen. This screen allows updates to be added, and settings for the interactive to be changed. Access to this screen is only available to clients, and is hidden from end users. To access this screen, a series of invisible buttons must be selected in the correct order, as shown in the screenshot below with three red areas. These red areas are actually invisible in the interactive. Once correctly selected, a pin code screen is displayed. Correctly entering the pin code through an on-screen keyboard will display the control panel screen.

Screenshot showing access to the control panelScreenshot of the pin code entryScreenshot of the control panel