Software Portability
Weighing Options, Making Choices

By Ken Garen

E-mail Story
Print Story
NOVEMBER 2007 - The world of software moves at either a snail’s pace or lightning fast, depending on one’s perspective. We constantly hear of new applications and uses for technology that build on previous concepts. For example, the iPod has rapidly become ubiquitous, leaving Sony Walkmans to gather dust in our closets.

But portability remains a complicated issue. For example, we can’t listen to iTunes music files on Microsoft’s Zune the way we could take cassettes or CDs and play them on another maker’s device. Instead, we are locked into hearing music on the system we purchase. And however much we love our iPods, limiting our choices as consumers to Apple’s proprietary system seems fundamentally wrong.

The idea of portability—how easily a program can be moved between and used on different computer operating systems (OS)—has been around since the mid-20th century. Portability does not imply that the application will transfer simply to the new platform, but nor does it mean a major effort is required. Portability is simply the ability to use the program on another system with reasonable cost and effort. If the cost of porting a program to another OS is more than writing a different version of it for that OS, the program isn’t portable.

From an end-user perspective, portable software means:

  • The software can be moved across a wide range of systems with minimal changes;
  • The program works with other applications on local or remote systems; and
  • Users require little or no retraining on the program.

Portability is highly desirable for software products, saving time and money. What company wouldn’t want to run its accounting, payroll, and tax software on any PC it chooses? But in most cases, the same application won’t run across platforms. Instead, the program written for Windows is fundamentally different and virtually impossible to transfer to Unix, Linux, Macintosh, or some other operating system. To make matters worse, we can’t even use the same software on different versions of the same operating platform. What’s a business to do if some computers run Windows 98, while others use XP, but everyone needs to access the same program? If the software developers had written the applications to be portable, there would be no issue.

A notable and commonly understood example of portability in the software world is Adobe’s Acrobat Reader, a free program for viewing and printing documents whether they have been created in a Windows, Unix, Macintosh, or other environment. Acrobat files end with .pdf (portable document format). This format allows easy and free access to documents without the need to own the software used to create the document.

The History of Portability

In the late 1950s, the U.S. Department of Defense brought together members of six computer manufacturers and three government agencies to discuss solving the problem of lack of portability. This committee arrived at standards in 1959 for a common computer programming language that could be used on any system. Portability took hold in the business community with the resulting language, Common Business-Oriented Language (COBOL), because it handles financial data and numbers with aplomb. Most major industries, from financial applications to manufacturing, rely on COBOL, as do operating systems such as IBM’s OS, Microsoft’s Windows, and the Unix/Linux families. The Gartner Group reported that in 1997, 80% of global business ran, at least in part, on COBOL-based programs.

The Department of Defense is even more concerned with portability now, primarily because Microsoft’s Windows has the lion’s share of the global OS market. Having virtually all of the world’s computers using one operating system (96.7% as reported by OneStat.com in August 2006) leaves those computers vulnerable to viruses and hackers. There are murmurs that the Department of Defense may mandate that no more than one-third of its computers run on a particular operating system so as to prevent a single virus from taking down all of its computers at once.

Common sense suggests that placing all of one’s eggs in a single basket is a recipe for disaster; however, it is not unusual for one company to have a dominant market share. In the 1950s, IBM had almost 100% penetration with its operating system and hardware. The marketplace, and the government with its antitrust watchdog function, demanded change. Other companies made computing affordable for those who couldn’t afford IBM’s expensive mainframes. Today, Microsoft faces the same antitrust and marketplace objections. The rise of Unix and Linux and operating system variants testifies to the ever-changing technology environment.

Choosing Wisely

Why worry about portability when considering accounting software? Small Business Trends magazine reported in 2006 that small U.S. companies (up to 99 employees) spent approximately $410 million on accounting software solutions, a figure expected to top $500 million by 2008. Companies are searching for easy-to-install, user-friendly solutions tailored to them. In addition, nearly 75% of these businesses upgrade their accounting software package every one to two years.

Even more importantly, Small Business Trends reported that more than half of all small businesses use no accounting software at all. The pressures of a changing regulatory environment and the need to operate more efficiently, as well as the desire to exchange data with larger customers and suppliers, suggest that many of these companies will purchase accounting software in the future.

Running a business in the current regulatory environment, including compliance with the Sarbanes-Oxley Act (SOX), is nearly impossible without good accounting software. In addition, more states are moving toward requiring the e-filing of payroll and tax returns. Most software creators are using such mandates as a revenue opportunity to charge consolidation fees of three or four dollars per return. This can easily add up to thousands of dollars a year in extra cost unless a business owns software that will allow an accountant to file directly with the IRS and states.

Allowing each user to work on the workstation of their choice (including Mac or Linux) is a major long-term cost saver and productivity booster. This can happen only with software designed for portability, where different operating systems can access the same data files simultaneously. Users can run on $500 Linux computers instead of $2,000 Windows boxes.

Another major long-term financial consideration is the cost of relicensing fees for nonportable software if a user changes platforms. For example, if a user moves from Windows 95 to Windows XP, most software vendors would charge for a “new” version of the software that is already owned. Software designed for true portability would run on all platforms, eliminating any need for relicensing fees when a business moves to a different platform.

Portability Pros and Cons

Open portability has important advantages:

  • Long-term viability of the application: There’s no need to reinvent the product to make it usable from one version of an OS to the next.
  • Resource allocation: More developer resources can be put into new features and products if developers aren’t spending time debugging for the latest OS version.
  • Scalability: Portable software can be designed to accommodate one or many users, and small or massive amounts of data.
  • Versatility: It’s easy to add features and have the assurance that they will run on all platforms.
  • Keeping data is flexible: Choosing a database or index file system matters a great deal. For example, indexed sequential access method (ISAM, a way to store data for fast retrieval) files are fully portable without modification.
  • Moving data from one application to another is easy.

Portability also has downsides, however. Writing platform-independent software requires high-level skills and a good grasp of portability issues. Few developers know how to do it. Companies that create software development tools make many processes or procedures automatic in order to allow a developer to concentrate on the interface and functionality.

Marketers have cast a negative light on software written for portability, but it’s been working since 1959 and new applications continue to be developed, which shows that portability remains a viable technology strategy.

Platforms and Products

Windows. The most common operating system platform by far today is the Windows family of products, the latest version of which, Vista, launched recently. Windows’ broad use—every information technology professional knows it—means that it’s easy to find qualified help and to hire employees who have experience with it. A wide variety of programs are written specifically for Windows.

Unfortunately, Windows users will need technical assistance with some regularity. Windows doesn’t run trouble-free. Windows applications don’t scale as well as Linux- or Unix-based ones, and are often unstable. Because Windows faces no real market competition, however, users accept its foibles and vulnerabilities to hacking and viruses.

Most software for the accounting profession, whether designed for small or large companies, is written exclusively for Windows. Unfortunately, these programs often don’t allow data to be transferred between them, so switching from one program to another requires recreating or porting the data at great cost. The software may allow only limited options for exporting data.

Linux. Linux is making inroads in operating-system market share for larger corporate users for web servers, firewalls, and databases. Working in Linux’s favor is its more limited vulnerability to viruses and hackers, its faster and more stable performance, and its scalability and open systems. Because Linux is an open-source system, users can actually see and manipulate the underlying code for it. This makes it easier for a company to adapt Linux systems to its specific needs.

On the downside, Linux is definitely a “geekier” system, requiring specialized technical assistance. The software interface is not as user-friendly. Also, there are fewer end-user applications for smaller businesses. One thing keeping Linux from wider use in corporate environments is that it has no equivalent to Microsoft’s Exchange Server, which handles e-mail and meeting functionality.

Unix. The Mac OS is now based on Unix, making it a limited, but popular, choice. It’s also limited in its vulnerability to exploiters, and is stable. The Mac OS is also designed to do many functions for the user, providing more flexibility.

But Mac and Unix users trade off that ease of use for functionality. For example, Unix is difficult to customize for an individual user, is graphically impaired, and requires arcane commands. Unix is definitely for geeks only, reflecting its origins in the mini-computer world. Other than software written for the Mac OS, almost no programmers are currently writing in Unix.

Portable Software

Accounting software developers with products designed for platform independence include SouthWare, SAP, and UBCC. SouthWare touts its scalability from one to many users, while SAP’s programs are designed for mid-sized to large companies (often entailing seven- or eight-figure installation costs).

True multiuser, multitask accounting software can be easily ported to other systems if it is designed properly. The product should run well on a multitude of platforms, including all Windows, Linux, and Unix operating systems, and even IBM mainframes. These would not be different versions of the software written for each system, but rather one set of source and object code and one set of data files. The same program that runs on an ancient Windows 95 machine should function on an IBM mainframe or the latest Macintosh, with no need for the user to relearn the software.

The benefits of using the most portable software available are manifold.  Companies can seamlessly grow from one to several thousands of users, or switch platforms or operating environments without jeopardizing mission-critical software systems. Companies can preserve their investment in hardware, data files, software, and training time. Copying files from one operating environment to the other and restarting the software on a new desktop can be done in a matter of minutes. Another benefit of building an application for platform independence is that printing should be a snap, with all the functionality built into the application.

Pricing and Purchasing Decision-Making

There are several providers of full-service payroll bureau products, with prices ranging from $3,000 to $25,000. Some providers offer more flexibility in pricing by allowing users to independently purchase features and functions, including general ledger, depreciation, inventory management, and order-billing.

When a company chooses software, it is also buying the pros and cons of the architecture upon which the software is constructed. There are several dimensions to application portability that a company should investigate:

  • Program portability: Will the code run exactly the same on all platforms?
  • Data portability: Will data files be transferable and run as is on all platforms?
  • End-user portability: Will the program have the same look and feel across platforms? Will the commands and keystrokes be identical? This flexibility must be designed in from the outset.
  • Developer/documentation portability: Will a developer or user be able to use a standard set of skills to understand the program?

Businesses often stay with their existing accounting systems too long because the status quo is comfortable. Many times, switching to something new brings apprehension, and raises questions of time and resources. But comfortable doesn’t cut it when the future of a business is on the line.

If companies voted with their dollars and demanded portability, more software would be written and more developers would write for it. Portability should be at the top of the list when companies look at future software features.


Ken Garen, CPA, is the founder and president of Universal Business Computing Company (www.UBCC.com), a software development firm of high-volume and high- productivity accounting and payroll solutions.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



The CPA Journal is broadly recognized as an outstanding, technical-refereed publication aimed at public practitioners, management, educators, and other accounting professionals. It is edited by CPAs for CPAs. Our goal is to provide CPAs and other accounting professionals with the information and news to enable them to be successful accountants, managers, and executives in today's practice environments.

©2008 The New York State Society of CPAs. Legal Notices