Gadget Design and Testing Guidelines
To improve your gadget's usability and
overall quality, follow these guidelines when
designing, writing, and testing your gadget.
Another good resource is
the Google Desktop blog's
tips for your gadget's look and feel.
On the non-technical front, your gadgets
should follow
Google's privacy policy.
While many of the guidelines below are broken
up into Design and Testing, keep in mind that you
will also need to test that the Design guidelines have been
met.
Contents
- Primary Functionality
- Performance/Load/Stress
Primary Functionality
Design
- Generate and use a unique GUID for your gadget.
- Be sure to update the strings in
strings.xml
,
so that the gadget's title,
installation dialog,
and About dialog are meaningful.
- Don't waste space: Make sure the gadget's contents completely
fill the gadget's dimensions.
- If applicable, provide an Options dialog.
- Make sure your gadget meshes well with the rest of Sidebar;
it must not slow down Sidebar or other gadgets' performance
or crash Sidebar.
- Make it easy and straightforward for users to halt
your gadget's activity.
- Design and implement the gadget
to respond quickly to
requests or other interaction;
interaction with users or other programs (such as data sources)
should not suffer significant delay.
- Make sure your gadget responds to any undesired actions
with informative and helpful error messages.
- Create any temporary files only in the user's temp directory,
and delete temporary files
once they have fulfilled their purpose.
Testing
- Test all user-visible features,
both in docked and undocked states.
- Test sending and sharing features to ensure
sending and receiving functionality.
- Run your gadget with other gadgets and
Sidebar to test for compatibility or interaction
problems.
- Test response times — both of your gadget and others —
to determine if your gadget is affecting other Sidebar performance.
- Test in both online and offline modes
to ensure your gadget handles both situations well.
Back to top
Performance/Load/Stress
Design
- Minimize memory usage,
since gadgets run continuously on the system.
- Minimize CPU and other resource usage
when the user isn't interacting with the gadget.
- Minimize the size of the gadget's
.gg
file
by removing unnecessary files
(such as unused stock images)
and by using the smallest image files
that don't compromise your gadget's appearance.
Testing
- Test against limited network bandwidth, memory, CPU,
and disk resources.
- Test CPU usage in both docked and undocked states.
Back to top