Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FYP Presentation

Kaung Htet
February 11, 2012

FYP Presentation

FYP Presentation for Year 3 Sem 2 in RP

Kaung Htet

February 11, 2012
Tweet

More Decks by Kaung Htet

Other Decks in Programming

Transcript

  1. FEB 1 Multi-touch Based Creative Coding & Computational Art Techniques

    2D/3D for Visualization Design & Development Saturday, February 11, 12
  2. Team Members : Kaung Htet Ye Myat Min Aint Myat

    Noe Yendino Saturday, February 11, 12
  3. 4 INTRO & PROJECT SUMMARY Agenda EARLIER STAGES OF THE

    PROJECT 3 1 2 TECHNOLOGY STACK [Backend] - Django, PostgreSQL [Frontend] - Sencha Touch, Touch Charts, Theming with SASS CONSIDERATIONS & WHAT WE SETTLED ON Saturday, February 11, 12
  4. 8 SOCIAL SENSE PART I (WELL-BEING) Agenda TOOLS OF TRADES

    7 5 6 SOCIAL SENSE PART II (TWITTER) CHALLENGES FACED Saturday, February 11, 12
  5. Content of the post/tweet Author of the post/tweet Positive/negative/ neutral

    sentimental values PROJECT SUMMARY About our projects URL HTML5 based mobile application to present well- being information of RP students over time as well as real-time analytical data of Twitter search terms. Saturday, February 11, 12
  6. Well-being analysis Two main functionalities PROJECT SUMMARY About our projects

    Real-time twitter search term analytics ➡ Two main Comparing & contrasting sentimental values from topics that are obtained from blogposts, keywords and such. ➡ Sentimental analysis of individual tweets under a search term ➡ Showing the impact made by a topic (search term) and comparing reaction of people between search terms. Saturday, February 11, 12
  7. ? Low memory footprint Rigidly-formed framework Cross-platform framework Reliable Charting

    Library Web Mobile Tablets Better to be in MVC esp., the whole app resides in a webview POINTS TO PONDER Saturday, February 11, 12
  8. Why MVC? Makes debugging easier since we can know exactly

    which part went wrong Cleaner & more maintainable code Separation of data, presentation and business logic makes a lot easier to focus while coding Pluggable code since every section in the app is independent Saturday, February 11, 12
  9. Sencha Touch 2.0 Initial Considerations Various improvements over Sencha Touch

    1.0 jQuery Mobile Slight Learning Curve It’s jQuery ? Technologies Appeclerator Titanium Was in alpha stage No mobile-optimized charting framework Touch charts doesn’t support Sencha Touch 2.0 No desktop solution No charting library Native app development with pure JS & CSS. Much faster than working in pure webviews Of Saturday, February 11, 12
  10. 4 Python Web Application Framework Framework for Perfectionists with deadlines

    Back-end It’s Open Source! Django 3 1 2Adopts MVC Architecture (known as MTV) Models, Templates, Views Rapid development for database-drives websites Database implementations are already done in Django Saturday, February 11, 12
  11. 4 UI Javascript Library for Mobile Web Applications Front-end Native

    look & feel for iPhone, iPads, Blackberry, Android .,etc Sencha Touch 3 1 2Use web standards such as HTML5, CSS3. Driven by Ext.JS Used for developing cross platform mobile web apps Saturday, February 11, 12
  12. 4 HTML5, Mobile-centric, Native UI kit, MVC Structure Why, Sencha?

    It’s Open Source! 3 1 2Built-in charting library using SVG, Sencha Touch Charts OO-ish inheritance structure Consistent and easy styling using SASS Saturday, February 11, 12
  13. A normal ajax request cannot be made to get JSON

    data from a server in different domain Technical Considerations JSON vs JSONP 1 2Using the same JSON response structure, the data is wrapped within a javascript function name, that exists as a callback within the app. Saturday, February 11, 12
  14. 4 XML is fat, un-readable and tag-based Technical Considerations Much

    more complicated standards • RSS v1 • RSS v2 • XML • Atom Why not XML? 3 1 2Requires an additional library in Sencha hence reduces performance Current API does not require functionalities of XML Saturday, February 11, 12
  15. Taking 50s for each response is bad Technical Considerations Optimizing

    speed of each API response 3 1 2Querying the database as a whole and filtering at the backend causes a lot of overhead • It’s slow even with one of the fastest scripting language, Python Solution to leverage PostgreSQL • Select only what we need and put as much as JOINs and WHEREs to minimize filtering at the backend. Saturday, February 11, 12
  16. Learnt new framework(s) Experience Gained OUR PROJECT Technical Git based

    collaboration Creation of RESTful APIs Dealing with MVC Javascript Pythonic Coding Saturday, February 11, 12
  17. RED CLUSTER DAY OPEN HOUSE presented Social Sense 1.0 Part

    I and II (Well-being Analytics Tool + Twitter Search Tool) presented Social Sense 1.0 Part I (Well-being Analytics Tool) Experience Gained Saturday, February 11, 12
  18. Ye Myat Min Kaung Htet Contributed in writing up API

    documentations Backend Aint Myat Noe Contributed in writing django views to retrieve data from database and filter out to return a specific JSON format RESTful API calls for tweet trends, sentiment, wordcloud, tweet counts(positive, negative, neutral, total) Setup API docs page, contributed docs for a few methods Logic to support JSONP callbacks as well as regular API calls Skeleton code for Every API method (Query based, sorting logic, backend response time issue) Fix django views to get specific JSONP format for Sencha Store RESTful API calls for tweet sub trends Contributed in writing django views to retrieve data from database and filter out to return a specific JSON format Yendino Leader FTW! Contributed in writing up API documentations Saturday, February 11, 12
  19. Ye Myat Min Kaung Htet Added functionality to show subtopic

    common keywords in a pop up window by tapping a button when viewing graph Front-end Aint Myat Noe Created dashboard for switching in between twitter search and blog posts sentiments analytic tools View hierarchy between parent trends and sub trends (twitter) Refactored view hierarchy (Sub Viewport for Twitter having TweetList View and TweetSentiment View, Root hierarchy for dashboard, well-being section, and twitter section) Create area graph, bar graph and line graph for sub-topic trends Create area graph and line graph for parent trends Created pop up window for showing blog posts when tapping on the graph of a specific topic in a specific month Yendino Json Stores for tweet trend, sub trends and tweet sentiment Styling the graphs using SCSS Creating basic structure of the Sencha Application (Models, Views, Controllers and Stores) Creating color schemes by recompiling the Sencha Library and also by using SCSS Fixing issues regarding scrolling as well as a few other bugs regarding interaction method Saturday, February 11, 12
  20. Ye Myat Min Kaung Htet Front-end Aint Myat Noe Contributed

    in adding the pagination functionality for blog posts viewing on the pop up window Linkifying links, hashtags and users in tweet content Various aspects of styling of each tweet sentiment based on sentiment type Styling of each post view on well- being data Various backend, front end minor fixes/changes Adding styling for dashboard and RP logo Yendino Customized callbacks (JSONP) when retrieving data Contributed in styling of sentiment tweets Navigating between topics & subtopics nested list menu Various backend, front end minor fixes/changes Created tablet-like split views for better interactivity and content visibility Paging in twitter search stream Connecting chart views with chart stores Saturday, February 11, 12
  21. Conclusion Great achievements & glories Fabulous team work which makes

    rapid development possible Great explorations & implementations Able to finalize & deliver successfully. Saturday, February 11, 12
  22. Auto streaming OAuth Authentication mobile phone optimized Our PROJECT HTML5

    localstorage Further on If we have more time Saturday, February 11, 12