Chapter 1: Overview
What Is the Bananas UI Toolkit?
The Bananas User Interface Toolkit helps you create applications that are compatible with the TiVo look-and-feel and that follow the general behavior of the TiVo user interface (UI). The Bananas Toolkit includes a set of standard widgets—software components that plug into your application—including a button with highlights, text, a list with scrollbar and highlights, and an onscreen keyboard. Bananas tools fall into two general categories:
Although the Bananas Toolkit does not emulate the TiVo UI exactly, it aids you in creating applications that “extend” the TiVo experience for the user. The toolkit also decreases coding time by providing you with basic, commonly used widgets so you can focus your programming efforts on features unique to your application.
What Does the Toolkit Contain?
The Bananas UI Toolkit is an extension of the Home Media Engine (HME) Software Development Kit. You can download both developer kits, with Java® APIs, from this website:
http://sourceforge.net/projects/tivohme/
This toolkit contains the following
- Source code
- Documentation—In addition to this manual, see the Java class documentation and the Release Notes for the toolkit.
- Sample application—The sample application (Figure 1-1) demonstrates use of all Bananas widgets and also demonstrates playing sounds, specifying screen transitions, managing focus within a screen, and sharing highlights among widgets. This manual discusses many aspects of the sample code in detail, but you’ll probably also want to explore its source code on your own as well.
Figure 1-1. Home screen for Bananas Central sample application
Bananas Class Tree
Figure 1-2 shows the Bananas class tree. Some classes are derived from HME classes. For background information, see the HME SDK Developer’s Guide and the Java class documentation for HME.
Figure 1-2. Class tree for the Bananas UI Toolkit
About This Guide
This guide is intended for developers with some Java experience. Before you begin programming with this toolkit, it is recommended that you become familiar with the HME Software Development Kit and the underlying HME Protocol.