meta data for this page
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
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