Tuesday, June 1, 2004

How PDA software is born

.FLYINGHEAD DEVELOPER’S VIEW
.TITLE How PDA software is born
.AUTHOR Dennis Crane
.OTHER
.SUMMARY This week, PDA developer Dennis Crane takes us inside the minds of the PDA software developer. If you’ve ever wondered how the idea for a product comes to life, read this article.
When you’re syncing a new program to your PDA device, have you ever realized what people had created it, why they had done this and how they had caught the idea? Sometimes I’m asking myself these questions. Working in software development industry for years, I saw the life of many software projects from the inside. Each program had its own destiny, successful or not, but almost each time I thought — "How did that programmer get the idea for the program?"

The human mind’s work is real magic that I’m trying to learn all my life.

This article is just a set of my own observations. It’s focused primarily on the idea’s development rather than on actual coding (that’s another topic for a special article that I hope to write one day). This article is definitely biased. But I’m sure that this could be interesting for all people who deal with PDA software — users, developers, distributors, IT managers and writers.

All these ideas could be applied to software in general, but as I’ve worked with PDAs for the recent several years, I can fortunately use samples from Palm software industry. So, how PDA software is born …

.H1 Eureka! Invent it
Likely, many of us have heard the story about a man who had seen in a dream a must-have program that pushed him or her into the Fortune 500. I’ve also heard a couple of the legends. Frankly, I don’t believe it. Ideas don’t appear suddenly. Everything in the world has certain reasons. Let leave this case for those who want to believe in legends. I’m going to focus on more prosaic things.

.H1 Clone it
Junior programmers flood the market with tons of programs. They got their first Palm just a week ago and they want to write something, no matter what, just to tell the world, "Look what a cool programmer I am!"

Usually, they don’t worry about the original idea of the program. Often, they simply copy a first program they saw somewhere else. So, when we’re searching a program in a software directory, we have to squeeze through the trash pile of ugly clones: useless notepads, awkward list managers, and poorly designed solitaires. I confess, being a college student in pre-PDA epoch of first PCs, I had written a couple of such useless programs for PC.

[For beginning programmers, building these "starter" programs are essential. But though they’re excellent training tools for the developers themselves, early programs by any developer is often not necessarily commercial in quality. We encourage novices to program, but if you’re purchasing a product, you should make the distinction between supporting a promising talent and purchasing a solution for a problem. — DG]

Figure A shows two sample Tetris programs by different developers. Can you find 10 distinctions? Hardly!

.FIG A Can you find 10 distinctions? Hardly!

.BREAK_EMAIL Learn a lot more about how new products are created by tapping your mouse here for the rest of the article.

To be honest, I must say that sometimes clones are really good and professionally designed. They can take market share away from the original products. Many unfair developers, sometimes big and well-known, use this doubtful strategy. I, personally, consider this a kind of piracy. Cloning is a real pain for many developers who wish to protect their software ideas from copying.

Especially, this is vital for games. The only way for the original developer to win the fight is to release regular updates with new features to make the clones outdated. I don’t mention the actual titles to not promote the cloning tactics, I’m sure you meet them everyday.

.H1 Improve it
This case is similar to the previous one. The programmers also copy existing ideas, but they slightly or substantially modify it aiming to improve its functionality, to add new features, or to simplify the user interface.

Often they choose the program that they regularly use themselves and which they feel could be improved. Sometimes, such idea alternations beat the prototype and become even more popular products.

Unlike cloning, the improvement tactic has positive effect. It gives new power to good ideas. This is the main engine of software industry. Really new ideas are rare but the desire to make something better is natural. The most successful programs appear when developer unites several of the most successful ideas.

A good example of and improved idea is SnapperMail (at http://snappermail.com) by Snapperfish. The idea of sending email from your Palm is natural and the traditional Palm Mail does this well. Figure B shows both, and you can see the improvements.

.FIGPAIR B SnapperMail shows the art of idea improvement!

In fact, the guys from SnapperMail team just added an ability to attach files to the messages and their program became a real killer app. So, they took the obvious idea, enhanced it with another one and … Voila! It’s like magic, isn’t it?

.H1 Focus it
The opposite approach can be also fruitful. Sometimes, it’s worthwhile to get an idea and to make it more focused and clear. There are many applications that became overgrown with lots of features. Users continually ask developers to add new functions and extensions to a program.

Soon, such a program will become a clumsy monster that hides the main idea under the pile of modules, extensions, add-ons, and rarely used functions. Here is a lucky chance for a developer who extracts that idea and builds a new small, agile, and focused product. Usually, such programs are strict and they solve the exact problem, but users surprisingly love this. Often they do not need a highly customizable application to perform a tedious operation and they prefer simplicity to versatility.

For example, there is a number of time management programs for Palm OS with tons of features and functions. They are popular among business people who have to mange complex schedule on their PDA. But most people don’t need such monstrous systems. That’s why they prefer simple yet powerful programs, such as BugMe! by Electric Pocket Ltd (at http://www.electricpocket.com/bugme-palm), shown in Figure C. It allows creating sticky alarms just in seconds. Nothing superfluous. Very focused and very useful!

.FIG C BugMe! is easy to use and very focused.

.H1 Listen to it
Often, good software ideas surround us, especially if you are a software developer having a product in the market. If the product is rather popular, then you should have a large amount of feedback on it. It’s the best source of fresh ideas I’ve ever seen.

The developers must pay maximum attention to what users tell them. When they are using software they always get thoughts how to improve it. Sometimes, these improvements develop into a standalone product.

Here’s a live example from my own program. When we released UTS Blood Pressure (at http://www.utracksys.com/plugins/blood_pressure), which allows people to log and chart their blood pressure and pulse with Palm handhelds, we immediately began receiving regular requests from diabetics to add an ability to log their blood glucose level as well.

Surely, we could add such function to the UTS Blood Pressure. But we made what has proven to be a wiser decision. We collected all those requests, analyzed them, and created a new product solely for diabetes patients: UTS Diabetes (at http://utracksys.com/plugins/diabetes), shown in Figure D.

.FIG D Users gave us the idea for UTS Diabetes. Listen to people!

It can work in conjunction with blood pressure module and became rather popular among people with Palm OS devices who have to track their diabetes stats.

Developers, it’s easy! Learn to listen carefully to what your users tell you about their need. Their ideas are invaluable.

.H1 Port it
"Do you have Palm/Pocket PC/Mac OS/PC version of the program?"

We answer several such questions daily. There are lots of good programs that work under certain platforms only, but people who use other operating systems are unable to use it. So, just find the appropriate idea and move it onto the Palm OS platform, for instance.

Porting tools are also popular among users. For instance, Documents To Go (from http://www.dataviz.com/products/documentstogo) by DataViz allows people to work with their Microsoft Office documents on their PDA, as shown in Figure E. Porting Office software in general to PDA platforms was a good idea and, I’m sure, profitable. Developers, look around — is there something to port?

.FIG E Working with Office documents on PDA is a brilliant idea!

.H1 Research it
Several times, I was a witness of how a boss told an IT director, "Hey! We have to grow. We need a new product. Research it."

Certainly, the IT director, who has his own view on the company’s future, can suggest cloning something to just formally report the task is completed. But if he or she agrees that the company must push something new to the market, then the work will be hard. To create truly new software product from the scratch is an outstanding task. It requires a detailed research of the market to find out what PDA users need, what they like, and what they are ready to pay for.

Once, I took part in such a project as a consultant. Unfortunately, I may not mention the company and the software title due to the certain terms of non-disclosure agreement signed. We spent about three months to find an idea and to polish it.

To get an overall picture in the industry we developed a Web script that had spidered and parsed all pages of several famous Palm software archives and created a huge database with all software titles. Each record included category, number of downloads, reviews, ratings, supported OS versions, and other software attributes. The multidimensional analysis of this data allowed us to select the category, the type of the product, the features the users want to use, and the balanced price.

We refined the idea during two months by using numerous techniques: brainstorms, consultations, comparisons and focus tests. And, that product is really successful now.

.H1 Just do it
All the above cases demonstrate how the software ideas are born in developers’ minds. Indeed, professional developers are not the only wizards who make software. All over the world, many doctors, scientists, teachers, musicians and other non-computer specialists are creating great PDA applications.

Their jobs and work environments are idea gold mines. Usually, they start to use Palm handhelds to make their daily work easier. They take notes, work with electronic documents, calculate and log values, and do all those tedious operations, which took a huge amount of work time or required sitting in front of PC all day before they started to use handhelds.

As they got more familiar with Palm devices and with their hidden potential, they understood that there were ways to make their jobs even more effective — specialty-oriented software, which incorporates all required functions into a sole environment.

Some of of these people, who are programming enthusiasts, try to develop such application themselves. But programming for PDA is rather tricky and requires minimum a year of experience to be able to develop a simple, yet reliable and handy program. As most people don’t have enough time, knowledge and resources, they send the application idea to skilled programmers, who then turn the idea into the windows, buttons, and checkboxes.

In most cases such software gets very specific and could be applied to company needs only. This is often called "custom software" and, in most cases, other Palm users even don’t know about a given custom program’s existence.

For instance, in November 2003, a Professor of Clinical Psychology at Nova Southeastern University, Florida contacted our company, UTracksSys.com LLC. He asked us to help them with their randomized control clinical research study examining the use of PDA for assisting the self-monitoring of an obesity treatment program.

Half of the study participants would be supplied Palms for tracking their progress and, between group sessions, recommended activities. The researchers had been looking for a tracking program that offers the flexibility of logging weight, activities, food, body mass index, and exercise data as well as some other very specific info.

Also, they wanted easily download the data into a Windows based spreadsheet for statistical analysis. We completed the project successfully and it’s working well now. In spite of the fact that we used our Universal Tracking System’s core as an engine, the software got very specific with rather exclusive settings. I doubt it would be successful in the general market and is only in use for this one project.

But sometimes professional-oriented software, also known as vertical market software, becomes an extremely successful product which holds a certain professional niche in the general market. A demonstrative example is ePatient, shown in Figure F, by IatroSoft (at http://www.iatrosoft.com) that enables physicians to more efficiently access, collect, and organize medical information at the point-of-care with their PDA devices.

.FIGPAIR F ePatient is software by professionals for professionals.

This is solely a vertical market product, but the great number of potential users in the medical industry makes this software pretty successful in its market. I’d guess that the early idea for ePatient appeared in a doctor’s mind rather than in programmer’s one.

.H1 Bottom line
Writing this article, I shuffled the examples among sections several times. The actual process of software birth is much complicated. Usually, it’s the combination of several tactics: research, cloning, improvement and many other ways that I surely missed.

All those samples are very symbolic; nevertheless, they help to look at PDA software development process under the new angle and to see new perspectives. I’m sure that now, when we are all anticipating the new changes in the PDA technology industry, meditating upon this problem is very valuable for everyone who deals with PDAs. Seeing how ideas are born, how they grow and get improved, and finally appear on your PDA always charms me and gives a great positive and educational impact. That’s why I call it magic.

.BEGIN_SIDEBAR
.H1 Product availability and resources
For more information on SnapperMail, visit http://snappermail.com.

For more information on BugMe!, visit http://www.electricpocket.com/bugme-palm.

For more information on UTS Blood Pressure, visit http://www.utracksys.com/plugins/blood_pressure.

For more information on UTS Diabetes, visit http://utracksys.com/plugins/diabetes.

For more information on Documents To Go, visit http://www.dataviz.com/products/documentstogo.

For more information on ePatient, visit http://www.iatrosoft.com.
.END_SIDEBAR

.BIO Dennis Crane (dennis@utracksys.com), a software professional developer, is a co-founder of UTrackSys.com LLC at http://www.utracksys.com, which develops multipurpose tracking software for Palm OS handheld devices. In the company Dennis is responsible for public relations, marketing issues and customer relationships processes.