Group 2: (TwiToday)

The Creators

Andrey Maglyas

Rostislav Malevich

Janne Parkkila

FAQ

“I don't understand why…”

“Again, a problem…”

Idea

TwiToday is an extension for unregistered users. It is not required to have a twitter account to get full functionality of the application. TwiToday provides a real-time stream of Tweets and allows to preview posted links.

Service

The Plan

Priority Scale 1-5: 1 =the most important 5 = the least important

Feature	Priority
TweetFlow
Update the new tweets automatically	1
Show tweets in CoverFlow style	1
Pause the TweetFlow to read the tweet	2
Filter the seach only to certain language	2
Show the speed of tweets/second (added 21.10.2009)	1
Show next tweet by pressing button (added 21.10.2009)	1
SearchCloud
Show the popular topics for today	1
Make own searches	2
TwiToday Extras
Preview of a link in a tweet	3
Email tweet to own mailbox for later use	4
Mouse Gesturing to help using the service	5

Implemented Features

List of the features implemented so far

Search for Tweets

See a real-time flow of the Tweets

Possibility to control speed of stream and pause when wanted

Search-tag cloud of the most popular searches + own last searches

Preview window for posted Tweet links

Change the position of the Preview window

Shortcut keys for faster controlling

Screenshots

Here are few screenshots of TwiToday in action

Implementation

The core component used with Vaadin was Twitter API. This provides the access to the Twitter updates and searches. Here is a more specified description of the Twitter API

The Twitter API

Twitter API provides all the accessibility to Twitter functionality (the search engine, etc…)

During the coding we came across few problems. One quite annoying restriction was, that the API allows only certain amount of calls per hour. This caused problems when testing the actual program during last day, because at some moments we did not receive any new Tweets. However, this should not normally be a real problem, just the high load we caused for the API when running heavy user testing. In real use we believe that TwiToday can perform without problems from the Twitter side. Underneath is a short description of the Search API Rate Limiting taken from the Twitter API wiki.

Search API Rate Limiting

The Search API is rate limited by IP address. The number of search requests that originate from a given IP address are counted against the search rate limiter. The specific number of requests a client is able to make to the Search API for a given hour is not released. Note that the Search API is not limited by the same 150 requests per hour limit as the REST API. The number is quite a bit higher and we feel it is both liberal and sufficient for most applications. We do not give the exact number because we want to discourage unnecessary search usage.

Look here for more information of the Twitter API

Software

You can download TwiToday from here: twitoday.zip

User Instructions

TwiToday Hotkeys

Spacebar - Toggle pause

Tab - Change layout of the preview window

Key up - increase scrolling speed

Key down - decrease scrolling speed

Vaadin Review

Here is a short review of Vaadin and the features we have used in creating the application

List of Components Used

Window

Creating subwindows and modifying worked ok

Label

Labels were used in displaying the Tweets. The first idea was to show the Tweet preview window when mouse was hovering over the label, but since labels were not able to handle such a thing we decided to make preview window integrated for viewing link contents. Also what we would have liked to see is possibility to have buttons inside labels (and also pictures from external sources [meaning Twitter user images in this case])

Embedded browser

PreviewWindow has embedded browser. This Functionality was pretty simple to implement

SplitPanel

SplitPanel was used to split the page into two parts. The top part having the Tweets and the bottom one to have the search part. This worked without any problems.

Vertical & Horizontal Layouts

For some reason including a button inside a Preview window (for the ability to close the window and change the preview window orientation) cause the preview window to split into two equal parts (browser having only 50% of the space and the buttons the rest 50%. We weren't able to find a way to solve this problem, so we decided to implement this with shortcut keys)

Button

Buttons worked pretty well. It was easy to implement onclick events with the buttons.

PopUpView

Popupview worked okay. Only problem was to assosiate popup with keypresses (the keys were not able to handle the same operations as buttons…)

ShortcutKeys

For some unknown reason the shortcutkeys were not able to have all the functionalities of the buttons, resulting in many hours of frustration.

List of Impressive Things

It is very simple to have asynchronous updates on the application

List of Problems Encountered

server updates slowly. Sometimes changes made and saved don't actually apply (sometimes even tens of seconds until changes show up)

Tutorials on Vaadin.com website are not perfect (not all of them even work when copy-pasted to own computer)

Here is more information about Vaadin

Feedback

Please, send ideas, comments and feedback to developers:

firstname(at)lastname.lut.fi

We hope you enjoy using our software!

— Janne Parkkila

— Rostislav Malevich

— Andrey Maglyas