If you’re in need of an interactive screen, you have likely searched the internet and found your way to the term “GUI”, short for graphical user interface. You’re in the right place! Creating a GUI will allow your customers to directly interact with your product through an embedded display or touch screen. It’s incredibly exciting to kick off a project like this, but simply getting started can be the hardest part.
Whether you’re a graphic designer in charge of mocking up the actual UI design or you’re the software engineer assigned to coding it, we’re going to help you through the process of evaluating GUI design software so you can make the best decision for your team and project moving forward. Also, in case you missed it, our most recent blog in this series discussed how to get started with HMI or GUI software and we break down a ton of terms and acronyms.
How do I even start building a GUI?
Modern user interfaces (UI) are creating the need for extremely robust, yet accessible GUIs. Maybe you need to communicate information received from a medical scope, or maybe you need to see the output from a machine that’s vital to your product and the end-user.
Whatever your industry or need, we can help you determine what to think about as you start the building process. We’re going to break down the five things to consider when evaluating GUI (or HMI if you’re automotive) design software.
1. Compatibility and ease of the tool
You will need to think about how much time you have for the project, how complicated of a process getting the code on the hardware will be and how robust of a GUI you actually need. Think about how you are really going to use this GUI.
Some tools require more coding from your team, so that adds time and the necessity for someone who knows the logic. This is where you might start to think about hand-coding your GUI.
Hand-coding takes a long time—that’s just a fact. You might think that you only need four screens, but once you get to working with a prototype, you realize that six screens will be more effective and have a better user experience. Then, when you think you’re all wrapped up, your marketing team wants you to change the display to be on-brand with the new brand standards, so you have to redo everything. We’ve been there.
When you’re hand-coding, each iteration takes time to manually change every single detail. This doesn’t account for all the additional coding that would be required when new functionalities and feature requests roll out or for the regression caused by modifications to the existing code. Additionally, this doesn’t account for the case where the production hardware needs to change. (We’re encountering a chip shortage now, which could change the hardware for many companies moving forward, at least in the short-term.)
What about hardware? Some tools require high-end, more expensive hardware. Is that a cost your bill of material (BOM) can bear? If your product requires a more cost-sensitive chip, then you need a tool that is flexible enough to support right-priced hardware.
Altia can work on all platforms or hardware, no matter the size—from the smallest chip with kilobyte memories and a couple-inch display to more powerful parts driving multiple 4K or larger displays with immersive 3D graphics. Altia can adapt your design to your hardware without having to redo everything from the ground up.
Likewise, it’s important to note that some GUI development tools require a certain operating system. That operating system can also have hardware requirements which drive up the total BOM cost. Unlike those other solutions, Altia’s software does not rely on any operating system.
Here at Altia, we haven’t come across a piece of hardware that we can’t support. Plus, Altia can work with any OS or no OS at all. We have solutions available to deliver the best performing, right-priced platform for your specific project.
Some examples of hardware supported by our DeepScreen code generator include STMicroelectronics, Infineon, NXP, Renesas, Texas Instruments and Qualcomm, as well as operating systems like Linux, QNX, Green Hills, iOS, Windows and, of course, Android.
Most other tools can’t say what we can: we specialize in generating super-optimized graphics code—high performance and the lowest possible footprint. We do that by taking advantage of all the features on your selected processor.
When we create a DeepScreen target, we don’t create something generic that needs a lot of work or porting to make it run properly on your hardware. We evaluate your platform and generate code to make each hardware feature sing, so you get the best performance while saving BOM cost.
Now that you’ve thought about your goal for the GUI and know the hardware you’re going to use, you can start thinking about the fun stuff: design and development. The next part of the evaluation process includes looking at all of the tool’s features.
Typical features to evaluate:
- Graphics or design images – can you import artwork from any tool, like Photoshop, Illustrator, Maya, Sketch, etc.?
- Seamless integration of your company’s branding and image – can you customize a library of design elements?
- Fonts capabilities for global language support (including right-to-left scripts)
- Font designs
- 3D capabilities
- The ability to integrate 2D and 3D content
- Streamlined user-friendly workflows – can your artists start in their favorite graphics software first?
- Rapid prototyping, simulation, and mid-development testing to make sure you’re on the right track
- Hardware testing and backtracking abilities to make any tweaks
- On hardware performance
- Boot time
- Coding language capabilities – are you using C or C++? Does that work with your hardware?
- User-friendly drag and drop interface
- WYSIWYG editor for integrated development
- Hardware and OS support (Is an OS actually required?)
- Average production time
One piece of advice we want to offer you is to always ask your questions up–front, no matter what tool you are using. We don’t want you to get 75% of the way through building your GUI just to realize the tool doesn’t have a feature that you really need.
3. Support and services
One thing that can get lost in the pricing and features list is support. Here at Altia, support is our top priority. We allow you to choose the level of support that your team needs. We all know that time is money, so getting your team’s support issues resolved quickly is key to staying on time and on budget.
Do you need email responses only? Do you need customer-dedicated, on-site personnel? Do you need multi-language support, like German, Chinese, French, Italian and Korean? We never just provide a simple templated response or send you an article to figure out the answer yourself. We care about any problems you’re encountering and want you to get moving again in 24 hours or less.
Beyond simple technical support, we help you through the unexpected. As we mentioned earlier, what if your particular hardware becomes unavailable? Instead of directing you back to the beginning of your process using the tool, we will support your transition to a new hardware. Recall issues? Not on our watch.
If a service is free or has a free trial, make sure that you have a level of support beyond what you think you need at the beginning. As GUI experts, we know that surprises happen and problems can arise right when you’re on the verge of missing a deadline.
Something else to think about in the realm of support is your team’s capabilities. Do you have all of the expertise you need to get your GUI from a concept to reality? As we mentioned in our Getting Started with HMI Software article, you need a variety of people working on the GUI.
We’ve seen it all. Maybe you have a rockstar team of graphic designers who have sketched up the most beautiful display you have ever seen. But they have no clue how to code and get this user interface ported to embedded hardware. Or maybe you have the tech resources and logic experts, but you don’t have the UX person to bring in that end-user perspective to your UI design.
Altia offers solutions to fill in any gaps that you may have. Our response to your problem will always be: we can do that. While we are not a contract engineering house, we have the tools and the drive to help you get your project to completion. Jeff Stewart, our Director of Global Sales Engineering, says it best, “We will truly help you get a product done. Come to us and we will do it better, smaller and faster.”
4. Advanced considerations: questions to ask
Now that you have thought about the ease of the tool, features that are important to you and various support levels, we challenge you to look toward the future and think outside the box.
Will you need advanced testing done? Does your product need to meet any certifications (typically required for automotive and medical devices)? Does your product need to adhere to any safety or quality requirements?
What kind of hardware will you need later on? We mentioned this earlier, but the tool you choose may only work with certain hardware options, so make sure to check on this before purchasing any software – not just for your current platform but possible alternatives as well.
Additionally, what about licensing? Do you receive temporary licensing or perpetual access? Where is your data stored?
Is it possible that you will want to scale your GUI to a family of products? Maybe you will start with a premium model, but later on, you could add that feature to a middle or lower-end model. Does your product need to be updated post-production and will your GUI be capable of over-the-air updates?
Will your software allow you to reuse your graphic assets so that you don’t have to start from square one? Will your software allow you to generate code for lower cost hardware that will align with the price point needed for these different models?
We know these are a lot of questions to think about and ask, but they will absolutely help you on the front-end of your project.
Lastly, one thing we see come up often for customers is that they need maintenance once the initial project is complete. Make sure to ask about product updates and implementation, as well as system maintenance if issues come up months or years later.
The last consideration is price. While this tends to be the most common evaluator because it’s easy to compare two numbers, it shouldn’t be the main consideration. GUI design software is on a spectrum when it comes to cost—there are free options out there and there are more expensive options, all ranging in capabilities, support and features.
When evaluating GUI software, think about the other considerations discussed here. Then make sure to prioritize what is important to you and your team. If your team is small, maybe think about prioritizing support and services, especially if the tool has the ability to fill the gap of any team members you’re lacking.
If your tool is inexpensive but difficult to use, you may end up using any previous savings on development costs. Similarly, if your tool forces a hardware or OS choice that drives up your BOM cost, you will eventually pay more for the materials required for each item you produce.
While we encourage you to do as much research as possible, we don’t want you to get exhausted before your project even begins. Our Altia experts specialize in providing a premium experience and full-service support for projects in automotive, medical, consumer device, home appliance, industrial devices and beyond.
We will work with you to find a solution and get your product to completion, building you a high performance, professional-looking GUI on time and with optimized performance.
Are you interested in talking one-on-one with someone from our team? Request a free, no commitment demo now!