====== 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: {{:vaadin2009:grp2: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 {{:vaadin2009:grp2:screenshot.jpg?300|}} ====== Implementation ====== The core component used with [[http://vaadin.com|Vaadin]] was [[http://apiwiki.twitter.com/|Twitter API]]. This provides the access to the Twitter updates and searches. Here is a more specified description of the [[http://apiwiki.twitter.com/|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 [[http://apiwiki.twitter.com/|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 [[http://apiwiki.twitter.com/|Twitter API ]] ====== Software ====== You can download TwiToday from here: {{:vaadin2009:grp2: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 [[http://vaadin.com/|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 [[http://vaadin.com/|Vaadin.com]] website are not perfect (not all of them even work when copy-pasted to own computer) Here is more information about [[http://vaadin.com|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: {{:vaadin2009:grp2:twitoday.zip}} TwiToday presentation slides: {{:vaadin2009:grp2:twitoday.pdf}}