Group 2: (TwiToday)

The Creators

  • Andrey Maglyas
  • Rostislav Malevich
  • Janne Parkkila

FAQ

“I don't understand why…”

Idea

Twitter is today, TwiToday is tomorrow

Download TwiToday presentation: twitoday.pdf

What is Twitter?
  • Twitter is a free social-networking and micro-blogging service
  • Active user posts about 20 posts per day (1 post per hour)
  • Twitter reports about breaking news faster than any other service
What are the Problems with Twitter?
  • Users don’t want to register in Twitter
  • Users want to read tweets, but don’t want to write
  • Preview of the links is not available
  • No real-time feeling

TwiToday provides an almost real-time stream of tweets and previews of the links. TwiToday is an twitter extension for everybody. There is no need to register to use the software.

Service

The Plan

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

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

Implementations missing:

Tweets in Coverflow style - We were not able to get the coverflow demo from the vaadin.com website to run on our test computers. This is a reason why we changed the layout to the current one

Filter the search only to certain language - Implementation of this feature was not as important as the others we implemented

Email tweets - There was no need to email tweets afterall.

Mouse Gesturing - This was replaced by shortcut keys and they are actually easier and faster to use

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.lastname(at)lut.fi

We hope you enjoy using our software!

Janne Parkkila

Rostislav Malevich

Andrey Maglyas

Files

TwiToday application:

twitoday.zip

TwiToday presentation slides:

twitoday.pdf