[quote]Indeed you are 
What do you think Elias?
Basically we’d need an “OS” interface with all the OS calls we do, and then we’d just simply move all our native code into private Win32/Linux/MacOS classes. And then we’d need a bridge interface between our public APIs and private APIs - so the Window class’s create() method, for example, called WindowWin32.create(), which in turn called all sorts of Win32 functions directly.
It’d certainly have the advantages outlined in the article.
Just a thought.
Cas 
[/quote]
I’m not perfectly with you here - you want to create a jni functions for every native function we call, and kill the functions, like Window.nCreate, that does a lot of work on the C side? In a way, do the work on the java side, and make every jni function a callthrough, like the gl calls. If so, I’m still not convinced that this would be a win in the long run - we have very few non-trivial jni functions anyway, but those we have call a lot of native window system functions once or maybe twice. So what’s the win?