Understand Software Technologies

imagesThe vast majority of computers utilise Graphical API (Application Programming interface), API’s assist programmers in the creation of applications. API employ various preset data structures, libraries, routes & operating system services to assist in the creation of applications, an example of a graphical API is DirectX. DirectX created by Microsoft Corp. in 1995 was Microsoft’s solution to program development. Developers tended to favour previous Microsoft OS (Operating Systems) to develop games and applications for, the main reason being they considered it a proven and better platform to create games on. Microsoft’s new OS (Windows 95) was initially treated with suspicion because of the new technology but DirectX allayed these fears.

The first release of DirectX was in September 1995 with Windows Games SDK (Software Development Kit). DirectX allowed all Microsoft versions to incorporate high performance multimedia for the first time. Prior to the release of DirectX, Microsoft incorporated aspects of Open GL on their Windows NT based platform. At the time Open GL required high-end hardware and was mainly focused on Engineering & CAD users rather than the average person while DirectX was intended to be a light weight partner to Open GL. Since its introduction in 1995 DirectX has been incorporated in all current builds of the Microsoft OS (Operating System) and it can be used in conjunction with Open GL. An advantage to Open GL is that you can freely modify Open GL because it is Open Source. It can also provide both hardware and software support unlike DirectX which cannot be modified in the same manner and only accommodates software support.

A sound API (Application Programming interface) such as Open AL or Java Sound API is similar to Graphical API in the sense that they both assist programmers in the creation of applications. OpenAL is a open source (Free Software, Free to use, Free to modify within the licence agreement) cross-platform audio API. OpenAL was developed by Loki Software and later managed by free software/open source community it was developed in order to assist in the porting of Windows and Linux. More recently Creative Technology has taken over management with continued support from free software/open source community and Apple. The API its self employs various preset encoding source objects. The API utilizes buffers that contain audio data in either 8 or 16 bit (mono or stereo), the data is formatted in PCM format. The API is available on most modern platforms some of which are Mac OSX, iPhone, GNU/Linux, BSD , Solaris, IRIX, Microsoft Windows and the Xbox/Xbox 360. Unlike Open GL , Open AL includes two subsections of the API, open function calls and ALC (Audio Library Context) these provide a higher level convenience functions.

Java Sound contains several wrapper libraries that allows Java programmers to access OpenAL, this feature allows java programmers to utilize facilities such as 2D, 3D sound in applications and games. Java Sound is developed by Game Technology Group which is a division of Sun Microsystems, unlike OpenAl, Java Sound is licensed under BSD license and when compared with OpenAL it is not Open Source (not freely editable).