Graphic/Touch Panel System Development on the NetBeans Platform
By Geertjan-Oracle on May 08, 2013
Serious Integrated provides hardware, software, and services for front panels. The company focuses on replacing buttons with graphic touch screens. The project is moving along very well. SHIPTide, the related GUI development toolsuite on the NetBeans Platform, was published publicly in beta on the website (at www.seriousintegrated.com/docs) in October 2012 and there are dozens of customers using it.
You can layout your GUI, define events or actions, build your resource library, and create a package that you can upload to your hardware with ease:
What SHIPTide does is similar to Adobe Flash and Flash Builder, but for graphic/touch front panel hardware modules that use very low end 32-bit processors. Some of these have as little as 128KB RAM. Integrated into SHIPTide is SHIPEngine, which is similar to Adobe Flash Player, but fits in <512KB of ROM on the module. SHIPTide is the PC/MAC/Linux based tool that helps you create your GUIs.
Features of SHIPTide:
- WYSIWYG manipulation of GUI pages.
- Automatic translation of jpg/gif/bmp/tiff/png image files.
- Automatic translation of TTF fonts.
- Full UTF-8 support with Multilanguage support for the target GUI, including auto-codeset-subsetting for large fontsets, such as Japanese.
- Built-in ANTLR/BNF grammar and Java-lite-like compiler for our scripting language, SHIPSail.
- Complete GUI compiler (similar to that Adobe would have to build .swf files) that combines layout, resources, compiled code, etc into a single "cargo" file that gets loaded into data-FLASH memory on the target hardware module; this is beginning to include some incremental compiler elements, for instance image compilation is cached so it only happens once.
- Built-in USB connectivity to the target hardware so you can craft/build/download/test in seconds.
- The NetBeans Platform update mechanism is leveraged.
Here's a picture of one of the front panel modules that is the "target" for the tool:
The above is is a 4.3" WQVGA (480x272) touch screen module. It is powered by a Renesas RX MCU running at 100MHz, and has 8MB total RAM.
There are a lot of items on the roadmap, including enhanced USB communications, better font management, some level of drag-n-drop in the GUI layout itself, better tools for managing translation(s), and live remote-debugging of SAIL scripts on the target from within SHIPTide.
Especially the SHIPTide video library is very nice, showing the features of the application in some detail, i.e., showing the features anyone can create in their own applications on the NetBeans Platform: