Product Portfolio
See the fascinating and cutting edge instruments and devices for which Full Spectrum has developed the software!

Everything from nanotechnology, wireless patient monitoring, gene sequencing, advanced EEG, molecular imaging, spectral analysis, proton radiation therapy and much more.

You tell us what you want to see and we will build the list of project examples from the 150+ different projects that we have completed.

Click here for simple registration and to gain immediate access.

Porting Services

 

As new platforms and technologies emerge, our clients often want to migrate their existing technology to take advantage of new markets, new operating systems or new hardware. Full Spectrum has an unmatched experience in porting and maximizing code, intellectual property and algorithm reuse.

Porting Older Code to New Platforms

Frequently our clients simply want to move to a new version of an operating system. As older operating systems reach end-of-life, a migration is unavoidable. New operating systems provide increasing capabilities and make integration of new software features easier to implement. These types of ports are generally fast and require a minimum of rework with the focus frequently on security changes in the operating system.

Sometimes the development environments reach end-of-life. To adopt a new platform in these cases, the software often requires significant rework. Using modern tools and technologies, it can often be faster and less expensive to port algorithms, communication protocols and state machines rather than attempt to port a complete code base.

Porting Existing Code to Different Platforms

Clients looking to change platforms or support new platforms face the challenge of migrating between platforms. In these circumstances it is important that the development team be fluent in both platforms. Often there are shared or "common" modules of code that can be used on multiple platforms (platform agnostic) while other modules are written to the native operating system. This allows the products to take advantage of specialized services and user interface elements on each platform.

An alternative to the native/common hybrid approach is the use of cross-platform software development toolkits. An example of a very powerful cross-platform toolkit that Full Spectrum commonly uses is QT by Nokia. This C++ SDK allows our team to write the product once and use native compilers and libraries to achieve multi-platform support.

Porting to New Languages

Many of our clients have products that exist as separate executable programs. Frequently these applications were built over the course of many years and some portions are written in one language while others are in another. This presents maintenance challenges as the maintenance team must be fluent in each language. User interfaces may seem disconnected due to the use of different SDKs and code reuse is negatively impacted.

Some clients have implemented a prototype in one language or technology and find they would prefer a different language. For example, we often see scientists using Python for proof-of-concept work but commercialization of the product will be done in C++ or C#. Within the prototype there may be tremendous value in algorithms, mechanical automation or other intellectual property. Full Spectrum will strategize the port to ensure algorithms produce the same or better results with equal or better performance. Often we can take advantage of threading or GPU technology to improve system performance by an order of magnitude or more.

For a related article on how advances in platforms have had a major impact click here to see a recent editorial article from Medical Devices and Diagnostic Industry magazine written by our CTO, Andrew Dallas.


shadow