Enabling Creativity of User Experiences
Kanzi® UI Solution is technologically scalable from mobile and embedded devices to automotive applications. As a platform independent solution, Kanzi® offers easy portability and a rapid production cycle. Kanzi® UI Solution consists of two parts: Kanzi® Studio and Kanzi® Engine. Kanzi® Studio is a content creation tool for running on PC and is used for creating user interfaces. Kanzi® Engine is a graphics and user interface engine for running user interfaces in both embedded and PC environments.
Workflow using the Kanzi® Toolchain
The typical workflow for creating a user interface with Kanzi UI Solution® consists of 1) creating graphical content and assets in third party digital content creation tools, 2) importing these assets to Kanzi® Studio and generating the content and basic functionality of the UI and 3) finalizing the UI and attaching it to the application logic in code with the Kanzi® Engine and its API. Thanks to the seperation of designer and engineering tasks across the workflow, Kanzi® is well suited for iterative development and UI development teams.
Kanzi® Studio 3D UI design toolkit provides a real-time WYSIWYG (what-you-see-is-what-you-get) editor for the user interface designers and embedded engineers. Within the studio, the developer can create most of the look and feel of a user interface, starting from mock-ups with 3D content placeholders to interactive experiences refined in both graphical look and performance. Various UI components that represent both familiar 2D user interface widgets as well as 3D interaction metaphors help the developer create the UI logic. Graphical user feedback can be generated with animations, transitions and a range of stunning visual effects.
With Kanzi® Studio you can:
- Create UI projects with multiple profiles for different targets
- Import 2D and 3D assets from DCC tools using various formats such as COLLADA, png, jpeg and psd.
- Create interactivity with UI components and messages using interaction events and actions
- Create visual feedback or attract the user’s attention using animations
- Create 2D backgrounds and overlay items with layers
- Create 3D scenes with hierarchical structures and inherited properties
- Assign materials and lighting into your scenes using a wide range of customizable stock shaders
- Create post-processing effects such as shadows, motion blur and bloom with easy-to-use composer interfaces
- Build applications with dynamic content using templates and layouts
- Combine multiple Kanzi® Studio projects into a master project
- Build a Windows executable of your application on-the-fly for prototyping purposes
- Build an Android package of your application using the integrated APK builder
- Ensure superior performance with various optimization mechanisms from device profiles to fine-tuning render-passes
- and much more…
The Kanzi® Engine is a highly portable and efficient UI engine oriented to presenting interactive and responsive user interfaces on mobile and embedded platforms. It allows the UI developer to harness the full power of the target device capabilities in terms of hardware-accelerated graphics and to optimize the user experience for speed and graphical quality. The engine offers a wide range of APIs ranging from system to application level abstractions that support application development with the Kanzi® framework. Android development is supported using the Java Native Interface (JNI) framework. Typically applications with dynamic content will require custom implementation for the application framework. With Kanzi® Engine API, the effort is minimal and may be a simple matter of implementing the function that is called when the refresh or save button in the UI is invoked.
The benefits of Kanzi® include:
- An application framework with access to entry points
- An input and gestures system for user input and interactions
- An advanced messaging system for event driven UI and application logic
- 2D and 3D UI composition and layout system with scene graphs
- An animation system that supports dynamic scenes, target animations, property driven animations and more
- A layer system for overlay 2D UI elements and render targets.
- Merging of multiple Kanzi® Studio projects into a single application
- Efficient and easy-to-manage memory management and defragmentation
- Error handling and memory debugging
- Textures, texture formats, filtering, alpha channels, materials and ETC compression
- Property bindings for creating dynamic relations between elements
- A well-structured and optimizable rendering system
- Composers and render passes
- A factory for extending the framework with custom components and object types
- Various utility libraries for collections, images, I/O, math, strings, font etc
- Extendable with 3rd party libraries such as Physics etc.