gray bar
Your competitive advantage for innovative software solutions

Services :: Application Porting

The objective of application porting is to create an application on a target platform that behaves like the original version, thereby making the application available to an expanded market.

Orbital can port software applications to and from any platform, including Windows to Mac, Mac to Mac (Classic to Carbon to OSX), Windows to Windows, and Windows to Unix / Linux.

Orbital has completed a variety of complex and innovative porting projects for clients that have wanted to extend use of their software to one or more additional platforms. Some examples of software porting pathways completed by Orbital are as follows:

  • Windows to Mac
  • Mac to Mac
  • Windows to Windows
  • Windows to Unix/Linux

Orbital has the ability to conduct porting from any source platform to any target platform. The following general steps are typically involved in design and development.


DESIGN AND DEVELOPMENT

Given the complexity of porting a software program, Orbital has developed a rigorous scientific approach to this discipline. The following is a summary of key development considerations addressed during each project.

Comparison of Source and Target Platforms

Orbital's design team will first research the source platform version and determine any user-model idiosyncrasies that will cause concern during the port. In situations where an obvious solution is not provided, the possible solutions are presented to the client with explanations and comparisons.

Functionality Mapping

In conducting research on any porting project, our team will carefully distinguish between the Core and Platform Functionality of a program as follows:

  • Core Functionality - That portion of the program code that is platform independent, and therefore should not be modified during porting of the program. This code typically includes patented or common algorithms and other basic functionalities that define the essence of how a program behaves.

  • Platform Functionality - That portion of the program code that defines specific characteristics regarding a platform, and is therefore modified during porting. This code typically applies to the presentation of information through the user interface of a program (i.e. computer screen and devices such as printers, mice, scanners, etc.).

Although these two definitions are independent, most platform specific code bases have inadvertently combined the two types in classes and routines for speed or ease of use. During this research phase, these areas are identified since they will need work to either (a) port them to the new platform as a whole, or (b) separate them into their core and platform dependent parts and port only the platform code.

Efficiency Review

The larger the amount of Core Functionality in a program, the more efficient it is to port this program to another platform. As a result, our team will work to maximize the amount of code that can be incorporated into Core Functionality to ensure rapid and cost-effective results.

Orbital's design team will also determine the most efficient means for porting from one platform to another. In this respect, sometimes it is faster and more cost-efficient to port a program to an intermediate platform before porting to a target platform, rather than porting directly to a target platform.

Porting and Compatibility Methodology

Orbital's design team will choose between the following two possible porting methodologies, usually depending on whether or not backwards compatibility is required by the client.

  • Shared Core Functionality - Under this scenario, Core Functionality is shared between the source and target programs, and only the Platform Functionality is different. This methodology provides for optimal backwards compatibility and reduces development when adding new features to both platforms. That is, the product can continue to evolve on both platforms at a reduced cost to the client.

  • Separate Source Copy - Under this scenario, the program created for the target platform is made using a copy of the source program. As a result, the source and target platform programs are completely separate. This methodology is generally applied when backwards compatibility is not required, or the client wishes to reduce the up front development cost of the port. That is, the product can continue to evolve on both platforms, but the cost is higher than if the core functionality was shared across platforms.

Coding

Once all the above issues have been addressed, Orbital will port a software program to the target platform in a manner that meets or exceeds the expectations of a client.

Quality Assurance

We continuously test the ported software throughout development and before shipping to ensure that we achieve results of the highest quality.

Acceptance Testing

Once we have completed our internal testing of the software port, we ship the product to our client and they complete Acceptance Testing, prior to signing off on the product.


BENEFITS OF APPLICATION PORTING

Our clients have experienced the following benefits in securing Orbital to port their applications to one or more platforms.

Exposure to a New Market

By porting a software program to a new platform, our clients are able to achieve increased sales by offering their product to a new market segment.

Leverage Existing Code Base

Our clients realize that leveraging an existing code base, by porting it to a new platform, offers a rapid and cost-effective solution and provides an optimal Return on Investment (ROI).

Improved Client Service

By porting a software program to one or more new platforms, our clients are able to respond to the changing needs of their customers, who may wish to move to a new operating system.

For additional information about our application porting services, please Contact Us.

ORBITAL CASE STUDIES

The following case study illustrates a project during which Orbital ported an application from a source to a target platform:



gray bar