Dashboard > Public > Plugins > 05. Designing a plugin with good usability
05. Designing a plugin with good usability Log In View a printable version of the current page.

Added by Ian Wiebkin , last edited by Ian Wiebkin on Dec 01, 2008  (view change)
Labels: 
(None)

Purpose of this article

This page provides design guidance for those commissioning or implementing a plugin for DigiTV.

It is not a technical reference, although it may be useful to technical readers. For guidance on technical implementation, consult the Plugin Developer's Guide.

Introduction

Sky Interactive, Virgin TV and mobile platforms do not offer the same combination of screen size, bandwidth, media richness and control sophistication as a PC-based web browser, so a different mindset is required when designing applications. The Starter Kit provides (through it's plugin capabilities) a common development model across these platforms, which makes it easier and more cost-effective to reach a wide audience.

We need to ensure that plugins for the Looking Local service on TV and mobile are clear and easy to use, and suitable for the screen resolutions, viewing distances, and input methods available to end users.

As interactive TV and mobile technology develops, we may extend the plugin API to support richer types of interaction, e.g. Video On Demand (VOD) and two way conferencing.  We will be taking part in a pilot on BT vision later this year to ensure we keep up with the latest developments.

Some of the techniques described in this Wiki article are quite specific, but hopefully this will provide ideas on how you can make your plugin more user friendly.

For any more information, or if you have any questions or feedback please contact the DigiTV Technical Manager

Plugin Design Guidelines

Explain what your plugin will do

Make sure you give a brief but clear explanation of what this plugin will enable the user to do.  This may sound like stating the obvious, but giving your users an idea of what to expect will improve their experience and encourage them to come back.

Make sure that the page title on the first screen of your plugin clearly identifies what the plugin is. 

Explain how to enter data 

If your plugin requires the user to enter any data, explain how to do this using a remote control on both Sky and Virgin TV on the screen where the data entry is required.  The current standard text used is: "On Sky and mobile, press the appropriate keypad number until the letter or number you want to use is displayed. On Virgin TV, press 'OK' to use the on-screen keyboard."

It is now possible to detect which channel the user is accessing your plugin through.  This means that you can provide channel specific text which takes up less space.   If you do use channel specific text  the text should be:

Sky & MiniWeb:  "Press the appropriate keypad number until the letter or number you want to use is displayed."

Virgin: "Press 'OK' to use the on-screen keyboard."

Mobile:  "Press the appropriate keypad number until the letter or number you want to use is displayed."

On Sky the zero button allows user to enter character such as '@' and '.' and this is explained if the user selects the Help button.  It is best practise to explain this when the user is likely to have to enter such characters, for example when entering financial amounts.  In such circumstances appropriate additional text should be included. e.g. "Press the appropriate keypad number until the letter or number you want to use is displayed.  Press zero twice to enter a decimal place.".   



Using 'Cookies' 

'Cookie' functionality is now available to store non-sensitive data on most TV Set Top Boxes and mobile phones. On Virgin and mobile the cookie data can be stored just for the user session or for the current and future sessions. On Sky the cookie data is only available for the user session.  This means that when user enters an address or postcode within a plugin, this could be stored and defaulted on the screen (within channel limitations) the next time the user entered the plugin. This can be very useful to save repetitive data entry.  In all cases the plugin should always be built and be usable without relying on cookies.

Minimal data entry 

Keep the need for data entry to a minimum.  Few people have TV keyboards and although data entry is fairly easy with a remote control, users will not want to enter masses of data.  The most you can expect a user to tolerate is entering some authentication details, their name and address and a few brief sentences of free format text.

Use 'Plain English' 

The DigiTV Looking Local service is intended to help bridge the digital divide.  All content should be suitable for users with lower literacy levels. Plain English is writing which:

  • is easy for your reader to understand
  • is concise and to the point
  • is appropriate to the circumstances

Many users do not have a PC so try not to use technical or 'computer' language, as this can be confusing or discouraging for the user.  One example of this is a plugin that said "Enter Your Name and Set Your Log In". This was subsequently changed to "Enter Your Registration Details", which is more familiar language.

For more information about writing in Plain English visit: [www.plainenglish.co.uk]

Use concise instructions 

You will need to be very specific and concise in your instructions.  Text that might display ok in a PC environment can look clumsy and difficult to read on digital TV and mobile. Also, it is more time-consuming for a DigiTV user to go back and make changes to their data entry, so you need to help them to get things right first time. Always look for opportunities to make your text clearer. Some examples are:
In a library PC booking plugin, the confirmation text displayed when a user had successfully booked was: "....PC5 on 21 April 2007 at 11:00-2/30 min timeslot(s)".  This was made clearer by changing the text to: "....PC5 on 21 April 2007 at 11:00 for 60 minutes".  

Another example is for date of birth entry.  One plugin displayed:

Birth Day:
Birth Month:
Birth Year:

Here, it is not clear what format the user needs to enter their information in.  If the user entered 'November' as their 'Birth Month', this resulted in an error and the user had to re-enter their data.  This plugin was improved by giving the user some examples of the correct format:

Birth Date (e.g. 26):
Birth Month (e.g. 9):
Birth Year (e.g. 1975):

Do not rely on 'hint text' 

Some 'hint text' can be displayed at the bottom of the screen, but this is only available on Netgem and Sky.  Experience tells us that most users do not read this text, so you shouldn't rely on it for communicating instructions to the user.

Short and sweet 

Do not require a user to navigate through more than 6 screens to achieve their aim - they won't.  There is no hard and fast rule, but if in doubt ....ask.

Meaningful error messages

Although this is obvious - do make sure that your error messages are clear and concise.  Some examples:

One plugin error message said "Incorrect data entered" - with no indication of what data was incorrect or why.

Another error message said "Select 'Next' to continue" - No 'Next' button was displayed, only a 'More' button.

Meaningful search results

If your plugin is search based, make sure that the user gets clear information when there is no data matching their search criteria. It's important to distinguish between errors and the absence of results, otherwise the user won't know what to do next.  Wherever possible, a 'no results' screen should give advice to the user, for example:

Sorry, there are no jobs available in this category. More jobs are added to these pages each Monday at 12 noon.
[Select another job category]

Alternatively, you may be able design your plugin so that the user only sees those options for which there are some results.

Use 'drop down' selections

The use of appropriate drop down selections can be a really useful way of making selections quickly and easily.

 

[Note for developers: the "drop down" selections referred to here are implemented using a selectField]

Good navigation 

Provision of good navigation within the plugin is essential.  

You should note that:

  • The standard 'Menu' button will navigate the user back to the entry point outside the plugin. 
  • The standard 'Help' button is a requirement of the TV channels and provides channel specific help on navigation.  It cannot be used to provide screen sensitive help.

[Note for developers: the "screen links" referred to in the following sections are implemented using a multisubmitField]

Links in list screens

Plugins should make use of 'screen links' as well as 'Back' and 'Next' buttons to enable the user to navigate easily within the plugin.  In the example below you can see that one of the 8 links on this list page has been given up to an '[Adjust your search preferences]' link.  This enables the user to return to the screen that generated the list from any list screen, without having to continually select 'Back' or 'Backup' on the remote.  We strongly recommend placing the text for any screen link used in a list screen in this way with [square brackets] to ensure the user understands that this link provides different functionality from all the other links.

Links in detail screens 

Screen links can also be used in detail screens to provide a quick return path or alternative navigation.  In this example the user can return to a search preference screen from a job detail screen.  This allows the user to quickly navigate back to amend their search preferences, bypassing the previous detail and list screens.

Paging through detail screens

To make paging through detail screens easier in our Jobsearch plugin we implemented a 'Next Job' option on the last detail screen.  This saves the user from having to go back to the match list to be able to view the next job.


 

No Scrolling

Scrolling is not allowed on either Sky Active or Virgin mobile.  Do ensure that your plugin does not induce scrolling, by introducing paging if necessary.  The scroll bar will appear in the browser view, but systems testing should be carried out using a Sky Emulator which will allow you to determine if your plugin is scrolling.

Make Menu Titles Meanigful - With No Truncation

Each screen can have a different title.  Do make sure that you make use of this with meaniful titles, but ensure that the screen title you use does not 'wrap' to the next line.  The title can have approximately 35 characters, but this should be tested thoroughly as a title with a lot of the letter 'i' will be able to have more letters that one with lots of the letter 'm'.

Powered by Atlassian Confluence 2.7.3, the Enterprise Wiki. Bug/feature request - Atlassian news - Contact administrators