We’ve all seen Apple’s iPhone. The phrase “game-changing” gets thrown around a lot, but this is one instance where it’s truly applicable. It has put human machine interface (HMI) technology at the top of the list of product marketing and development considerations.
Can you imagine a world where the iPhone costs $1000, or where the animations from screen to screen are jerky and halting? Either extreme could have extinguished this user-interface torchbearer before anyone saw the light.
Experienced product designers understand that some of the choices they make are critical to the success of the product—and they often must be made at the project start, when little is known about requirements.
As developers, we’re not always in control of the stakes that get placed in the ground for our projects. Perhaps we’ve been directed to stick with a previous product’s proven platform—but management wants to “jazz up” the HMI a bit. Promising your leadership an iPhone and then delivering a clock radio is a sure-fire way to get fired.
Or, maybe the marketing department has discovered a revolutionary, killer HMI that is backed up by tons of research. All you need to do is to pick a sufficient chip. Just beware that every extra nickel you add to the bill of materials (BOM) costs your company millions. Remember that swimming pool you were going to put in with your bonus? Get ready for the Jelly-of-the-Month club.
Finding the right combination of cost and performance (Fig. 1) is critical to the creation of a winning product. Choose a platform that’s not powerful enough and you hamstring the user experience. Choose one that’s overly capable, and you’re slashing money directly from your bottom line.
The solution to this dilemma is to figure out either your hardware’s HMI capability or your HMI’s demand for hardware—before you engineer your solution. In a sense, you must complete your project before you start.
I propose using an HMI graphics code generator (Fig. 2) to get a glimpse into the future. A code generator allows you to quickly build an interface and generate code with the push of a button. Reducing the effort to the needed design and building an interface allows you to experiment with your project’s known variables.
Does marketing have a killer HMI? Create one of its more demanding screens and see just how low down the processor food chain you need to go. Be prepared for execs to do their Monty Burns impersonations as they bask in the glow of their spreadsheets. Creating an HMI to run on existing hardware? Work up some graphic concepts to see which types of effects are possible. Share the good news with your manager and invite marketing over for a celebratory demonstration.
Both of these scenarios allow you to quickly feel out your platform’s capabilities and the needs of your HMI. You’ll be able to create “right-size” solutions that intelligently balance platform cost with user experience. Whether you build your product around a pre-selected processor or allow your marketing team to define a product interface based on market research and emerging trends, rapid development with a code generator is essential for making the right choices about pairing your platform with your interface.
Let’s take a look at the case where the hardware that will be used for a project is already set in stone—usually a platform used in a previous project. There is much to like about this approach. The hardware and, more importantly, the toolset are already proven out. Ramp-up time is practically nonexistent, and there is probably considerable expertise within your company to support the tools and the processor. Costs for this previous-generation platform are less. If the previous product is still shipping, there’s also a chance for even greater savings because you’re buying in increased volumes.
The downside is that this platform is not the latest and the greatest. It’s simply the tradeoff that you have accepted to take advantage of the lower per-unit cost. Can your team create the next big thing in your industry using this platform? Does it have enough juice to deliver a stand-out HMI and user experience? It had better. Remember all those iPod competitors who were a few dollars cheaper? (No one else does, either.)
So, you have your hardware sitting on your desk, but no graphics code generator. Where do you start? You could start with the HMI for the last product that was released and begin to push the edges out a bit, but you were in on that project and know just how much “duct tape” was used to rush that thing out the door in time. And, seriously, haven’t we all seen too many of those last-generation HMIs that have been kept on life support for way too long?
You decide to make the bold move and start from scratch—and push your hardware as far as it will go. How far is that? If you’re like most engineers, you do some calculations to get a rough estimate. And, if you’re like most engineers who’ve been chewed out for overpromising, you go conservative. After all, it’s going to take months to code this thing so you only have one shot to be on time. The end result is the same. Though you end up with an all-new GUI, you never had the chance to delve into all the options.
How does the picture change if there’s a graphics code generator in the picture? Drastically.
What if you’re on the team that has been handed a design concept from marketing—the glowing result of months of market research, dialogue with customers, and collaboration with industrial designers and your human factors team? Management is committed to seeing this concept through to fruition and you’ve been granted the opportunity to make it happen. You take a look at all of the bells and whistles built into the design concept. You have a clear vision of where you need to end up. You’re excited to get started.
But then you dig in, do a little bit of research, and start to sweat. The marketing “wish list” includes a heavy load of high-resolution graphics, processor-intensive transitions, and other features that are going to send you shopping in the high-featured (high-cost) hardware department. How can the BOM for this new product bear the cost of a processor that can handle the weight of such a heavy design? Will this killer HMI actually end up killing your new product?
Your product’s future is at stake here. A code generator is just what you need to find the right hardware to handle your next-generation HMI. Generate a bit of code before you make any moves to break the bank.
GO FOR A ROAD TEST
Regardless of whether you are working with pre-determined hardware or a pre-determined HMI, a code generator takes the guess work out of development. When you’re working with pre-selected hardware, a code generator offers the immediate benefit of allowing you to discover what your hardware can do.
A code generator can be used to create code quickly for a variety of interfaces, from simple to complex. From there, you have the opportunity to test drive a number of different interfaces on your selected hardware. You get a chance to preview what kind of interface—or how much of an interface—your hardware can handle. Customers, management, marketing, and industrial designers can get a firsthand view of hardware limitations and what responsive really means.
In the long term, the code generator offers additional benefits. As your HMI evolves, you can take the opportunity to test it during development to verify its performance on the target. This can be done at the same time as validation if validation is performed frequently enough. You’ll always be confident that you’re on the right path, since what was on the drawing board last week is running on the circuit board this week.
When marketing dictates your product interface, your team can develop an interface to meet those specifications. Some high-end code generators provide HMI prototyping abilities. You can create a working model of that killer HMI and build in behavior. Let the marketing team, customers, and managers play with your model before you do anything. Make sure they want what they say they want.
From there, you can generate code for that winning HMI and try on different hardware until you find the right fit. Your goal is to identify a processor that will support the worst-case HMI.
Compartmentalizing the hardware-specific code is the key, since it may need to be ported to several platforms to find a suitable match. A well designed code generator will separate generic code from the hardware-specific code. You have the capability to try on different hardware until you find the platform that best fits your product. If the code generator provides all of the source code, the available hardware options are vast.
You can keep your eye on additional (less expensive) hardware options as you go. Through an iterative, hands-on process, you may be able to get marketing to accept HMI feature tradeoffs so you can move toward a less expensive hardware option.
The bottom line is that if you use the lowest-cost hardware that meets the requirements of the proven HMI through market research, customer requirements, and customer or management signoff, your product is must more certain to be successful.
CODE GENERATOR, CRYSTAL BALL
The right code generator isn’t just a brute force tool for you to crank out tons of graphics code. It’s a means to making the right decision regarding your hardware and HMI. It’s a means to getting feedback early from decision-makers—a way to peer into the future of your pairing.
The HMI matters, whether you’re on your way to creating the next iPhone or just developing your product’s next iteration. To compete, your product’s success depends on your ability to deliver the best possible user experience, which means you need to create a pairing of HMI and hardware that is just right.
Whether you’re starting with your hardware already selected or an HMI defined by marketing, make your code generator your crystal ball. By generating code for different HMIs and deploying them with your pre-selected hardware, you can get a glimpse into your product’s successful future. When you work from a marketing-defined HMI, you can quickly assess how much of a platform is needed, and then use your magic and expertise to guide compromise and development that result in an exciting new product that is priced right.