Here is my struggle submit: vision. vision is a library which allow to create graphic user interfaces. This library is not a wrapper over existing library. It is a full Eiffel design from scratch. Of course, this library is not complete because a full graphic library is more than ten human years development. Most of the work is the non-graphical part. This base has been designed to be powerfull, reliable, efficient and portable across different graphical platforms. This base include communication with signal mechanism, events loop management, cooperative multi-tasking, adding unicode capabilities in the compiler, merging all garbage collectors in one, endian conversion, color approximation... The big advantages of this library are: - use all Eiffel language power (genericity, static typing, agents, design by contracts, multiple-inheritance...), - very easy to use (hello_world is far simpler than hello_worlds written for Windows or X11, being much more powerfull), - unicode management from the begining, - efficient (the lowest level has been used for graphic management: Win32 and Xlib), - portability at Eiffel level of course, but at C level too! It means that you can for example compile your Eiffel code on Windows and distribute C code to be compiled on Linux, SunOS, HP/UX or Mac OS X, - small applications remains light because only really used code is in executable file. This library now works, next step is to add many widgets and work on the look and feel. Some more widgets already exists (like scroll bars) and realistic applications have already been written, but they are not included here because I am not the author.