The secret of NAIM ( Native Application Interface Management ):
In a previous post, the political ramifications of defining a specific API for the VM OS layer was assessed. The goal was to achieve a standard homogeneous API that closely paralleled the OS interface and would allow condensation of existing technologies to a simpler more easily understood and usable interface. But in that post, it was not clear how to procede.
There are actually a couple issues.
1) It is required to define which API style should be used on the layer without creating a project collaboration rift.
2) The Native OS API may be used for a large percentage of applications which run client side off the desktop using native library routines, but require web access and functionality, making them more than simple desktop applications.
And this in fact, suggests a universal solution which is based on an API that may be dynamically managed to suite developer/user preference. It is known for example that most code will be at least byte-code translated before being dispatched. This suggests then that coding may be done in syntactic variants. NAIM would provide functionality that allows a programmer to choose an interface style, but only if there is a one to one correspondence for each variant such that they may be mapped to a common interface requirement. NAIM would provide web application developers the ability to choose between APIs that may be syntactically Unix-like, Windows-like, Apple-like, Java-like or Koala basic. Developer comfort levels would be catered to there would be little requirement for any developer to learn new API syntax. Through NAIM, Koala would be multi-linqual.
NAIM would further allow developers to enter coded sequences directly on Koala browsers or servers and execute them in test bed or direct control scenarios, having full SQA functionality including full featured debuggers, built in and at the ready. This type of expanded functionality need not be special or additional in nature. As a standard Koala feature, this additional versatility of the browser serves not just developers, but knowledgable users as well. Naim could in fact be tailored to present an extremely simple interface which would allow simple user defined actions within an application or directly upon the browser. There is in fact, no reason why the developer may not define their own syntax through NAIM. That syntax however, would be limited in scope to the developer's host, intranet or systems under the developer's influence. One might well consider how this might figure in the deployment of special devices such as hand-helds or perhaps, navigation systems in vehicles, et al.