Develop a Yahoo TV Widget with 3 views: SnippetView (3 buttons, 2 labels), SidebarView (4 buttons) and FullscreenView (1 label).
There is an existing back-end server that the TV Widget should communicate with (3 operations: read, write, getPeriod).
You do not need to be a Yahoo Widget development expert. The project is simple enough to learn it on the job.
**View 1**. The Widget application default view is the SnippetView (see attached PDF page 3). When the Widget application is started, it sends a getPeriod(String text) request to the server (this happens only once, see PDF page 1). The request callback returns an integer with name refreshPeriod.
The Widget sends a read(String text) request to the server every refreshPeriod seconds. In other words, refreshPeriod specifies the time interval between read requests which are executed in an infinite loop. Each read request returns a String with name text2. When the text2 String is returned the label text2 in SnippetView is updated with the text2 String.
By pressing button Btn1, Btn2 or Btn3 actions are executed as specified below.
View 2**. Pressing button Btn3 invokes the SidebarView (PDF page 4). This view contains 4 buttons. Pressing one of these buttons triggers the following action. The view changes back to View 1. For example, pressing BtnOption3 will set the label text in View 1 to [url removed, login to view] (this is pseudo-code). A getPeriod(String text) request is sent to the server with the updated text. The refereshPeriod is updated with the returned integer value.
**View 3**. Pressing Btn1 in View 1 will trigger FullScreenView for 2 seconds and then return back to View 1. The FullScreenView shows a semi-transparent label with Btn1.textOfLabel. Then a write(String [url removed, login to view], String text) request is sent to the server. The server returns a String text4. The label text2 in View1 gets updated with String text4.
**View 4**. Similar to procedure described in View 3. Just exchange Btn1 with Btn2.