Back to Art & Logic Resources
Nine Principles for Web-based
Management Projects
by James Dueck
It seems like almost every networked device today has a web-based management
interface. Configuration and monitoring via a web browser has become a
must-have bullet item on many product brochures. Still, creating an effective
and attractive interface remains a challenge for hardware companies who
may not be well-versed in web client technologies. These nine simple principles
will help you do it right the first time.
- Know your users. Design for your target user's knowledge
base and tasks. Are they hardware engineers, network administrators,
consumers? Each has different needs and perspective.
- Do iterative prototyping. Your users will judge your
product on how usable and attractive the GUI is. Allow 15% of total
development time for iterative prototyping. Play with different types
of navigation, parameter grouping, and control placement. Use simple
tools like PowerPoint or HTML to mock-up every page. Create a few significantly
different GUI's to present to potential users for feedback.
- Conduct usability studies. As a GUI becomes more
feature-rich, usability studies ensure a solid product via real-world
feedback. Ideally these are done more than once during development.
- Hand-code HTML and JavaScript. HTML layout applications
such as FrontPage are fine for developing personal pages, but for a
web DMS project they can spell disaster. These editors make the interface
less visually consistent, harder to debug, and slower. Hand-code - you'll
save time and money.
- Determine browser requirements early. Horror stories
about cross-browser incompatibilities are doubly true for web DMS projects,
especially when advanced GUI features are added. When more browser platforms
and versions are supported, it takes longer to work out all the kinks
in your pages. Which browsers do you really need to support? Netscape?
Internet Explorer? Opera? What versions? What platforms?
- Conserve memory. Web development for low-memory systems
creates unique challenges. Manufacturers often have 500KB or less available
for the system, only a small portion of which is available to the GUI
(HTML pages, JavaScript libraries, images, etc.). Keeping memory footprint
low also increases performance, often dramatically.
- Use Macromedia Flash(tm) or JavaScript instead of Java applets.
Many believe Java applets are the only road to dynamic displays for alarms,
alerts, and performance monitoring. This is not true. Flash(tm) is an ideal
technology for displaying rich UI controls (such as charts, graphs, chassis
displays, sliders, etc.) for embedded devices. Flash(tm) movies are
vector-based, making them smaller and faster than implementations using
other plugins. Additionally, JavaScript is a fast, powerful technology that
can enhance your interface. Avoid using crash-prone, bulky Java applets on
your embedded device - Flash(tm) and/or JavaScript is better.
- Separate the GUI from the server code. There should be a clean
separation between GUI code and server code so you can divide the work between
teams or do the work at different times. You want to be able to make modifications
to the way the server code is implemented without requiring changes in the user
interface, and vice versa.
- Consider outsourcing. Successful projects often use
in-house expertise to develop the server code (which talks to the device),
while reducing the GUI development risk by hiring a company that specializes
in device management interfaces.
Back to Art & Logic Resources