Everything you need
Simplify Your GUI Development
Integrated Development Environment
With Embedded Wizard Studio’s fully integrated IDE, developing graphical user interfaces for embedded devices is easy. Sophisticated utilities, like the object browser and the ‘element inspector’, provide you with an easy overview of the application structure and give you quick access to its members. You will find everything you need in one familiar place.
1. WYSIWYG (What You See Is What You Get) Editor
Create GUI applications by clicking, dragging, and connecting visual with logical components using the mouse. Benefit from instant WYSIWYG and evaluate your GUI’s appearance at every step of the design process. Even target constraints, like limited color range, can be displayed in the IDE.
Due to Embedded Wizard’s consistently graphical approach, even non-visual elements such as methods, variables, and classes, are represented as individual and distinct icons. This helps you to stay in the world of GUIs and supports you with a smooth development workflow.
2. Mosaic Class Library
3. Programming Language Chora
Enjoy fast development and easy-to-maintain code thanks to Embedded Wizard’s programming language, Chora. It is fully object-oriented, platform independent, highly stable, and easy to learn and the integrated Garbage Collector takes care of the used memory. Moreover, Chora is enriched with features specifically for User Interfaces (e.g. colors, fonts, forms, themes, styles, languages, UI patterns such as MVC, MVP, MVVM, and others).
With Embedded Wizard’s instant Prototyper you can verify step-by-step your GUI’s design, behavior, and usability. All this directly within the IDE with no need to program the target device.
The integrated debugger enables the step-by-step execution of ‘Chora’ statements, the setting of breakpoints and inspection of all variables, objects, and the call-stack.
By highlighting only the visible areas to be updated, you can already identify possible bottlenecks during your development phase.
To document the structure of your GUI application, Embedded Wizard can automatically create Microsoft HTML help files (chm), which are especially helpful when transferring your project to colleagues, customers or third parties for maintenance and modifications. This documentation of your GUI describes components, shows their inheritance and lists their members. Developers also have the option to enter additional descriptions that are available for every member of the project.
Embedded Wizard Studio supports multiple platforms within one GUI project. In conjunction with corresponding Platform Packages, you can port and run the same GUI on different platforms – without having to re-program the entire user interface again from scratch.
Affordable Legal Fees
Embedded Wizard Studio facilitates the handling of different themes, layouts, screen resolutions, and color schemes within one GUI project. Variations of an HMI can be determined at compile-time or switched during runtime.
Chora’s compiler (the so-called Code Generator) evaluates the GUI application, the Chora source code and the developed components and translates them into a programming language supported by the compiler for the target system, e.g. ANSI-C. The modular Code Generator is loaded into the Embedded Wizard environment during the code generation and can also be invoked as a stand-alone utility within your automated build environment.
Abstraction Layer and Runtime Environment
To execute the created GUI application on an embedded system, an abstraction layer is used to close the gap between the generated GUI application and the dedicated environment (e.g. accessing the visible framebuffer, memory, and timer ticks). These items are included in Embedded Wizard’s Platform Package. In addition to this, the Platform Package contains Embedded Wizard’s runtime environment, which is essential in order to run the generated UIs smoothly on a dedicated platform.
Performance and Resource Optimization Features
Optimized Code Generation Process
Within an Embedded Wizard GUI project, you are able to easily define, during the code generation process, which exact character set should be used later on. Hence, only the required character set is transferred and this reduces the overall memory footprint. Of course, it is also possible to use a dedicated font rendering engine on the embedded system if many characters (e.g. Chinese) should be rendered during runtime.
Only Updating Dirty Areas
It is often not useful to update the entire surface if only small areas of the screen have to be updated, as this has an impact on the rendering time. Embedded Wizard default behavior is to update only those areas that have been modified since the last update cycle.
Only Drawing Visible Elements
By taking advantage of a queue-based processing engine, only the resulting visible parts are finally drawn. This means that invisible areas are not updated, and this increases the frames per second significantly.
Adaptive Palettes for Index8 Color Formats
If you intend to use our Index8 Platform Package in order to significantly reduce memory consumption, this does not mean that you will get a bad-looking GUI on your screen: With Embedded Wizard you have the possibility to generate your customized color look-up table (CLUT) depending on your dedicated HMI project. With this you will get a true color-looking result – but with a total of just 256 different colors.
Support of Many Different Devices
Support of Many Platforms
Support of a Variety of Graphics APIs
Chrom-Art, DirectFB, OpenGL ES 2.0, Linux Frame Buffer, NXP Pixelpipeline, Software-Only Renderer
Support of Any Color Format
RGBA8888 (32bit), RGB565A8 (24bit), RGB888 (24bit), RGBA4444 (16bit), RGB565 (16bit), Index8 (8bit), LumA44 (4bit grayscale), E-ink and E-paper (grayscale, monochrome)
Mosaic Class Library
Mosaic was designed with a focus on the UI requirements of display devices, specifically in multimedia, camera, industrial, home, and medical devices. Mosaic simplifies the programming model of Embedded Wizard.
All components and widgets can easily be copied, modified, and extended in order to achieve any desired look and behavior.
- Analog displays
- Scroll lists with ‘friction’ (as known e.g. from the iPhone)
- Virtual keyboards
Animations and 3D Effects
Embedded Wizard Studio supports GUI developers in realizing GUI concepts with rich effects and 3D appearance for embedded platforms. The creation and modification of 3D effects is seamlessly integrated into the familiar workflow, so that no dedicated 3D tool know-how or OpenGL programming skills are required.
A powerful infrastructure to implement multi-screen GUI applications more convenient and to handle the transitions between them. With this concept the GUI components intended to represent the individual screens are designated as Dialogs. During the course of interaction, you can present, dismiss and switch between the dialogs. Thus implementing even demanding requirements, like a complex menu, is an easy ride.
User Input Events
Embedded Wizard makes handling of gestures and multi-touch events very easy: Just place the desired gesture of the touchable object and connect it to a piece of code to be executed.
- Single- and multi-touch
- Remote control
- Hardware button
- Any custom events
Multi Language Support
Develop multilingual applications, which can adapt text, graphics, fonts, and even layout for each language. Thanks to UNICODE support, GUI applications can combine Greek, Cyrillic, Japanese, Chinese, and other notations within a single text. Whenever the current user language is switched, all dependencies are evaluated and displayed automatically.
User Acceptance Test
Embedded Wizard Studio facilitates your UI development process by enabling you to provide your designers, users, and other stakeholders with intermediate development results for PC and Web. They can test the current snapshot and detect potential areas for improvement before porting to the final target. This simplifies the feedback process between all parties and throughout the entire software development chain.
Perform user testing with executable PC applications – in case the hardware is not ready yet. By default, you can create PC-executable files, which can then be run and tested on every PC.
Native Mobile App
With our Android and iOS Platform Package you can deploy your Embedded Wizard-generated GUI on mobile devices as a pure native application. This gives you the advantage of optimal use of the available hardware capabilities.