By Mike Juran
We’ve all seen the iPhone. The phrase game changing gets thrown around a lot, but this is one instance where it’s truly applicable. It has put the Human Machine Interface (HMI) on the top of the list of major considerations in product marketing and development.
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.
Product designers are faced with these types of dilemmas every day. Experienced designers understand that there are some choices that are critical to the success of the product — and they often must be made at the project start, when the least 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 little. Promising your leadership the iPhone and then delivering a clock radio is a sure-fire way to get fired. Or maybe Marketing has discovered a revolutionary, killer HMI that is backed up by tons of research and all that you need to do is to pick a sufficient chip. Just beware that every extra nickel you add to the 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 hardware cost and HMI performance is critical to the creation of a winning product. Choose a platform that’s not powerful enough and you hamstring your 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 first figure out either your hardware’s HMI capability or your HMI’s demand for hardware before you engineer your solution. To those who have survived this type of project, this sounds like completing your project before you start it. And, in a sense, that’s right.
I propose that you use a HMI graphics code generator 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 design and build an interface allows you to experiment around the knowns of your project.
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 a 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 that was 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 offer support with 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 in order 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? Well, 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 I know who’ve been chewed out for over promising, you go conservative. After all, it’s going to take months to code this thing — 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 know what could have been.
How does the picture change if there’s a graphics code generator in the picture? Drastically.
What if you’re the team who has been handed a design concept from Marketing — a glowing result of months of market research, dialogue with customers and collaboration with your human factors team and industrial designers? 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.
Take Hardware and HMI 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 utilized 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 industrials designers can get a firsthand view of what the hardware’s limitations are and what responsive really means.
In the long term, the code generator offers additional benefit. 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 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 here 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 that you can move toward a less expensive hardware option.
The bottom line is that if you use the cheapest hardware that meets the requirements of the proven HMI through market research, customer requirements, and customer or management signoff, your product is much more certain to be successful.
Code Generator, Crystal Ball
The right code generator isn’t just a brute force tool to crank out tons of graphics code for you. It’s a means to making the right decision regarding your hardware and HMI. It’s a means to getting feedback from decision makers early, a way to peer into the future of your pairing.
Whether you’re on your way to creating the next iPhone or just developing the next generation of your current product, the HMI matters. In order to compete, your product’s success depends on your ability to deliver the best possible user experience — which means that you need to create a pairing of HMI and hardware that is just right.
Whether you’re starting with your hardware already selected or a HMI defined by marketing, make your code generator your crystal ball. By generating code for different HMIs and deploying them your pre-selected hardware, you’re able to get a glimpse into the future of your successful product. When you’re 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, priced right.
Mike Juran is the Chief Executive Officer of Altia