Today revision 500 was committed to our code repository. I feel this great milestone is the perfect time for a project update. Since 0.8 was released we have optimized, fixed bugs and added even more features.
Total Bugs fixed since 0.8: 47
Total Code Commits since 0.8: 88
Major New Features Added: 9
Brand new version 2 backend:
GreenNitrous v2 adds support for OpenGL 2.0 specific features along with OpenGL ES 2.0 support. This backend is automatically selected for graphics cards which support it otherwise the v1 backend is used. Using this backend should further reduce CPU usage and support the different architecture of modern graphics chipsets.
OSX Build Target:
For any interested OSX developers, the OSX build target now exists in trunk and fully compiles. Should a dev be interested in developing the HAL and music plugin, then OSX can be officially supported again.
New keyboard navigation algorithm:
As some of you may know, unlike the competition, OM supports a much more intuitive 4 axis keyboard navigation then the regular tab order navigation. This has been completely rewritten to work with even more complex skin layouts without missing a single control.
Screen Orientation Detection:
Landscape and portration mode are automatically detected by the framework and skins can be notified if the screen orientation changes (typical on tablets and slate devices). This allows skins to support landscape and portrait layouts.
In a multi-zone setup, frequently one screen would like to be able to send music or playlists to another screen. Centrafuse implements this with a technique they call PUSH. We took this one step further with Zone Impersonation. Unlike competing methods this gives you full control of another zone with a single click. Play playlists, control the playing media, add songs to the current playlist, anything you can do in your own zone can now be done for any other zone.
OM is now the first front end to support multiple input devices. This allows for each screen to be assigned an individual mouse, keyboard, gamepad and/or joystick. It also prevents cursor fighting that all other dual zone implementations suffer from. Most importantly for performance enthusiasts, it eliminates OS overhead allowing near instant response (5ms typical compared to 100-250ms delay that all regular applications suffer from).
OM is the first front end (afaik) to support multi-touch. The multi-touch implementation (like everything else in OM) is platform independent, so a skin designed to use multi-touch on windows will work just as well on linux. Currently supported gestures include pinch-zoom, two finger rotate and multi-finger pan.
New threading model:
In addition to dozens of optimizations in OMs low level code, we have added a brand new thread pool implementation. This design further increases responsiveness (eliminating ~5-10ms of overhead found in the previous implementation) and decreases startup speed (by allowing context sharing and thread batching).
Improved platform detection:
Platform detection has been completely rewritten. The combination of optimizations and new features perfectly balances out for no additional overhead on windows and a 10% performance increase on Linux. On Linux, we have added support for detection of non-LSB distros, mono package version detection and touch framework detection. On windows, os detection now detects os edition in addition to version (touch, win embedded, server or standard). This enhanced code allows the framework to take advantage of the capabilities of each OS without adding overhead to unsupported editions.
Open Installer Updated:
Open Installer has been updated to meet (and exceed) all 1.0 design goals.
- Support for PS3 and Android OS detection
- Native and managed DLL registration (with automatic detection of which is required-including 32/64bit registration)
- Registry key creation/editing
- Cross platform font installation
- Per package dependency and conflict resolution
- Per file dependency tracking (not offered by any other package management system)
- Plugin uninstallation and rollbacks
- The MMI skin continues to progress forward taking advantage of the full capabilities of the OM graphics system. Look forward to lots of animations, custom controls and reflections when released.
- The Highway skin is now 30% complete and on schedule for the 0.9 release. The main menu, UI and Music skin are already complete and available in the trunk builds.
New Skin Features:
- The highway skin is the first skin to take advantage of our new global favorites extension. This allows a user to set and view a global favorites list with a single button press from anywhere in the skin. The favorites framework automatically figures out the intended favorite when the button is pushed (radio station, playlist, web site, nav location, etc.).
- With the new Open Installer framework complete, the default and highway skin will be getting app store plugins to allow one click downloading and installing of any plugin or skin. It will also feature a front end first of allowing uninstallation as well from right within the front end.
If you like what you see, a donation helps build even better features and even more plugins:
All donations are kept in-project to further development.
I actually thought the installer was a good touch. Good job.
A few suggestions though that may be fixed by now, 0.8 didn't require superuser but tried to install the desktop file in /usr/share/... This of course failed. If installed as a user, you can install the desktop file in ~/.applications iirc and it'll still show up in menus and stuff.
Well the installer should be run as superuser (like all installation tasks) but good point, if we don't prompt the user they probably wouldn't know its needed.
Originally Posted by tripzero
I was hoping to be able to do everything as a user but ran into a few tasks that couldn't be done. Using ubuntu 10.10 I just double checked and theres no ~/.applications folder. Creating it and throwing desktop files inside didn't seem to be picked up either. I could be doing something wrong but i'm guessing you would need to configure gnome to watch that folder or that that folder is no longer checked in 10.10.
sorry, thats ~/.local/share/applications/ not ~/.applications
Cool-tested and working! Updated the installer to fallback to that path if we don't have permission for /usr/share/applications/. I think that means we can install without root now... great tip
Originally Posted by tripzero
OH WOW...... This is an impressive update. I have to say that the PUSH feature in CF is very glitchy. I havent heard anyword on multi-zone either. I know that 3.2 is supposed to have Multi-zone, but I havent been hearing anything :-(.....