JHC Software's Technology

JHC Software is a technology company working with many world-leading pro-audio (music) companies to create innovative and world-leading products. As well as providing services, we provide some key technology to our development partners. Below is an overview of what we can offer. While some of these technologies are available to licence, others can  only be provided as part of completed projects which we have been contracted to supply.



Fast, accurate frequency (pitch) measurement

Continually developed over the past 10 years, our world-leading finepitch™ frequency measurement technology is used in a variety of applications including hardware and software musical instrument tuners, pitch-to-MIDI converters, manufacturing, education and other industrial applications.

Designed to be scalable, finepitch™ digital tuning technology can provide a cost-effective solution for all application areas from highly accurate pitch measurement for precision musical or industrial applications to ultra-fast measurements for real-time pitch-to-MIDI conversion (e.g., MIDI guitar interfaces).

The key features are:



Poolster Billiard Engine

The "Poolster Billiard Engine" essentially encapsulates the physics of the motion of a billiard ball, and is used in both Snooker147 and Poolster. Because the physics is accurately represented, the actual motions of the balls are very close to those found in real life.

Realism was always the main aim for both Snooker147 and Poolster, and the Poolster Billiard Engine lets us approach this ideal. Even although both these games (perhaps more accurately, simulations) are 2D, the realism of the ball behaviour has been highly praised by many customers. Although these products are no longer maintained, they may be resurrected in the future. Indeed, we have prototyped a very accurate full-immersive 3D Snooker147 game using this technology, but decided not to bring it to market to allow us to concentrate on our core technologies in the music industry.

Some more on the billiard engine can be found here.



GUILib — cross platform OS and GUI support

For in-house development of PC- and Mac-based software, we have developed a robust, high-performance, cross-platform graphics and OS middleware technology. This allows the majority of an application to run in common code, simplifying development, reducing costs, and improving reliability. Currently supported on Windows 2000/XP/Vista and Apple OSX, it can be ported to other environments including Linux, and deeply embedded systems.



Bastion protection system

Today, software theft (piracy) is a huge problem, often resulting in great products being discontinued and companies going out of business. While there are many commercial systems that try to prevent unauthorised software use, they often only provide a temporary fix until the "crackers" find a way around the protection. Moreover, when one commercial system is cracked, it makes it easy to unprotect all software applications protected by the same scheme. The result is increased development costs, increased user-frustration but without a guarantee of software protection.

Encumbered by these problems, we set about to create a system that was more bullet-proof than any existing technology. The result is our Bastion Protection System.

Primarily aimed at Windows software (though also implemented in OSX) our technology has proven itself to be extremely robust against attack. Indeed existing products protected by our system have not been cracked, despite several years of trying!

The protection system consists of three parts: the application-level anti-tampering, the web forms, and the KeyServer.

Application-level anti-tampering

The main problem in trying to protect software is that because the software runs on a customers' computer, with appropriate tools and know-how they can freely modify the code to change its behaviour. With most software, it is quite trivial to make small modifications to bypass all in-built protection to allow unauthorised use.

Our technology takes two approaches to prevent this. Firstly, the code is fully tamper-resistant. It is impossible to change a single byte of an executable without the protection system detecting this. Moreover, this detection system is virtually impossible to bypass. Secondly, the software is tied to a user's computer using a unique "Machine Code". This ensures that "clones" of the software have limited use.

Web Forms

To unlock their software, the user only needs to access a simple web form (or the application can do this directly, even behind the scenes). This provides a secure front-end for the provision of Unlocking Codes that are tied to the user's computer (i.e., to their Machine Code).

KeyServer

The web form communicates with a dedicated PC running our proven KeyServer application. This is located in a physically secure location to make access to the key-generation technology impossible. Backed by an Access database, the KeyServer manages the registration of new users and the generation of Unlocking Codes.