Timeline Project 1

Total Page:16

File Type:pdf, Size:1020Kb

Timeline Project 1 RUNNING HEAD: TIMELINE PROJECT 1 BUILDING AN OPEN SOURCE SOCIAL MEDIA AGGREGATION TIMELINE A Capstone Project Submitted to Southern Utah University in partial fulfillment of the requirements for the degree of Master of Arts in Professional Communication January 2014 By Justin Aiken Capstone Committee: Jon Smith, Ph.D., Committee Chair Lance Jackson, M.A. Lindsey Harvell, Ph.D. TIMELINE PROJECT 2 APPROVAL PAGE The undersigned, appointed by the dean of the Humanities and Social Science, have examined the thesis entitled Building An Open Source Social Media Aggregation Timeline Presented by Justin Aiken a candidate for the degree of Master of Arts in Professional Communication and hereby that, in our opinion, is worthy of acceptance. ____________________________________________ Chair of Committee – Jon Smith, Ph.D. ____________________________________________ Committee Member – Lindsey Harvell, Ph.D. ____________________________________________ Committee Member – Lance Jackson, M.A. TIMELINE PROJECT 3 Abstract An ever growing number of web services and social media networks allow one to post a lot of content in to many different websites and services; however, there is no simple way to chronologically aggregate the content – especially not in a space controlled by the user. Relying on a site or service to present the user’s data through their interface allows for too much noise and muddies the user’s message. In response, this project built an open source, expandable timeline that pulls in a user's content from various places on the web, and hosts it on the user's own personal timeline, allowing them to control their self-presentation to the world through the Web. Keywords: social media, open source, uses and gratifications theory, self-presentation TIMELINE PROJECT 4 Table of Contents APPROVAL PAGE....................................................................................................................................2 Abstract......................................................................................................................................................3 Introduction................................................................................................................................................6 Literature Review.......................................................................................................................................7 Social Media........................................................................................................................................7 Conventional Websites.........................................................................................................................7 Facebook..............................................................................................................................................7 Twitter, Google Plus, LinkedIn, and Other Social Media Sites...........................................................8 Uses and Gratification..........................................................................................................................9 UGT and the Modern Web.................................................................................................................10 Self Presentation................................................................................................................................10 Online Self Presentation.....................................................................................................................11 Facebook's Timeline...........................................................................................................................12 Rationale..................................................................................................................................................12 Visibility.............................................................................................................................................13 Noise..................................................................................................................................................13 Aggregation........................................................................................................................................14 Aggregation through Existing Social Media......................................................................................15 Customized or Manual Aggregation..................................................................................................15 Existing Solutions..............................................................................................................................16 Justification........................................................................................................................................16 Method.....................................................................................................................................................17 TIMELINE PROJECT 5 What It Is............................................................................................................................................18 Open Source.......................................................................................................................................18 Expendable.........................................................................................................................................19 Technical Detail.................................................................................................................................20 Evaluation................................................................................................................................................22 Work Completed................................................................................................................................22 Conclusion...............................................................................................................................................23 Limitations and Future Development................................................................................................23 References................................................................................................................................................25 Appendices...............................................................................................................................................31 Appendix A: Various Screenshots of the Timeline............................................................................31 Appendix B: Examples of Noise Present in Facebook......................................................................34 Appendix C: ERD Diagram...............................................................................................................35 Appendix D: Source Code...........................................................................................................….36 My Timeline....................................................................................................................................37 Demo.............................................................................................................................................106 Github Plugin................................................................................................................................171 Health Graph Plugin......................................................................................................................200 Twitter Plugin................................................................................................................................219 TIMELINE PROJECT 6 Building an open source social media aggregation timeline The Internet provides a dizzying array of different websites and services. Almost everything imaginable is available in an online representation. Many people use several different websites on a frequent basis. Internet users want to use a social network to check up on family members, update their online resume, save a new favorite recipe, find a new TV show to watch, upload photos they took, or any number of near-infinite possibilities. Some of the most common activities done on a daily basis include searching for information, communicating via email, social networking, following the news, or just passing time (Pew Internet, 2012). Social media is one of the most common uses, with 73% of adults using at least one social media site, and a full 42% of adults are now using multiple social media sites (Duggan & Smith, 2013). Non textual content is also on the rise; 54% of internet users have posted – not merely viewed or used, but posted – photos or videos to an online site (Duggan, 2013). With so many avenues that an individual now has available to post their content to, and with more Internet users utilizing multiple avenues to communicate and post content, a new need has arisen to curate and aggregate this content. For example, a hypothetical photographer posts their pictures on Instagram, writes about technical aspects of photography on a personal blog, and has an online resume page on LinkedIn. If they wanted share that information with potential clients, their choices would be either have to give potential clients all three links, or do a large amount of manual cross-posting. The limitations of these options are fully examined after a closer look at the literature, but
Recommended publications
  • TECHNICAL STANDARDS a Standards Validation Committee of Industry Representatives and Educators Reviewed and Updated These Standards on December 11, 2017
    SOFTWARE AND APP DESIGN 15.1200.40 TECHNICAL STANDARDS A Standards Validation Committee of industry representatives and educators reviewed and updated these standards on December 11, 2017. Completion of the program prepares students to meet the requirements of one or more industry certification: Cybersecurity Fundamentals Certificate, Oracle Certified Associate, Java SE 8 Programmer, Certified Internet Web (CIW) - JavaScript Specialist, CompTIA A+, CompTIA IT Fundamentals, CSX Cybersecurity Fundamentals Certificate, and Microsoft Technology Associate (MTA). The Arizona Career and Technical Education Quality Commission, the validating entity for the Arizona Skills Standards Assessment System, endorsed these standards on January 25, 2018. Note: Arizona’s Professional Skills are taught as an integral part of the Software and App Design program. The Technical Skills Assessment for Software and App Design is available SY2020-2021. Note: In this document i.e. explains or clarifies the content and e.g. provides examples of the content that must be taught. STANDARD 1.0 APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS 1.1 Establish objectives and outcomes for a task 1.2 Explain the process of decomposing a large programming problem into smaller, more manageable procedures 1.3 Explain “visualizing” as a problem-solving technique prior to writing code 1.4 Describe problem-solving and troubleshooting strategies applicable to software development STANDARD 2.0 RECOGNIZE SECURITY ISSUES 2.1 Identify common computer threats (e.g., viruses, phishing,
    [Show full text]
  • Modern Web Application Frameworks
    MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Û¡¢£¤¥¦§¨ª«¬­Æ°±²³´µ·¸¹º»¼½¾¿Ý Modern Web Application Frameworks MASTER’S THESIS Bc. Jan Pater Brno, autumn 2015 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or ex- cerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Bc. Jan Pater Advisor: doc. RNDr. Petr Sojka, Ph.D. i Abstract The aim of this paper was the analysis of major web application frameworks and the design and implementation of applications for website content ma- nagement of Laboratory of Multimedia Electronic Applications and Film festival organized by Faculty of Informatics. The paper introduces readers into web application development problematic and focuses on characte- ristics and specifics of ten selected modern web application frameworks, which were described and compared on the basis of relevant criteria. Practi- cal part of the paper includes the selection of a suitable framework for im- plementation of both applications and describes their design, development process and deployment within the laboratory. ii Keywords Web application, Framework, PHP,Java, Ruby, Python, Laravel, Nette, Phal- con, Rails, Padrino, Django, Flask, Grails, Vaadin, Play, LEMMA, Film fes- tival iii Acknowledgement I would like to show my gratitude to my supervisor doc. RNDr. Petr So- jka, Ph.D. for his advice and comments on this thesis as well as to RNDr. Lukáš Hejtmánek, Ph.D. for his assistance with application deployment and server setup. Many thanks also go to OndˇrejTom for his valuable help and advice during application development.
    [Show full text]
  • Managing Data Constraints in Database-Backed Web Applications
    Managing data constraints in database-backed web applications Junwen Yang Utsav Sethi Cong Yan University of Chicago, USA University of Chicago, USA University of Washington, USA [email protected] [email protected] [email protected] Alvin Cheung Shan Lu University of California, Berkeley University of Chicago, USA USA [email protected] [email protected] ABSTRACT Database-backed web applications manipulate large amounts of … <input value=‘title’ pattern=‘.+’ title=‘invalid title’/> persistent data, and such applications often contain constraints … that restrict data length, data value, and other data properties. Such constraints are critical in ensuring the reliability and usability of Field Type Null Default … these applications. In this paper, we present a comprehensive study on where data constraints are expressed, what they are about, how title varchar(30) NO NULL … often they evolve, and how their violations are handled. The re- sults show that developers struggle with maintaining consistent … data constraints and checking them across different components validates_length_of : title, maximum: 60, message: ‘title is too long’ Mysql::Error and versions of their web applications, leading to various prob- … lems. Guided by our study, we developed checking tools and API enhancements that can automatically detect such problems and Figure 1: Crossstack data constraints improve the quality of such applications. 1 INTRODUCTION 60 characters)” error; finally, she tried a title a little shorter than60 1.1 Motivation characters, but the web page then crashed with all the filled content Constraints are often associated with data used in software. These lost with some unreadable database error displayed. range from describing the expected length, value, uniqueness, and It turned out that different constraints were specified for the other properties of the stored data.
    [Show full text]
  • AN INTRODUCTION by Enrique Canals / @Ecanals ENRIQUE CANALS
    THE BEAUTY OF CSS PRE-PROCESSORS: AN INTRODUCTION by Enrique Canals / @ecanals ENRIQUE CANALS Software Developer @ The Hybrid Group Currently working with Sphero, creating cool things for connecting robots to the internet Worked on several interesting web projects with Pebble Current maintainer of the TextMate SCSS Bundle for syntax highlighting with support for Atom and Sublime @ecanals | www.enriquecanals.com WHAT WE'RE GOING TO COVER IN THIS SESSION PART 1 CSS basics and shortcomings What are CSS pre-processors How pre-processors work and don't work PART 2 Which one do I use? (Sass, Less, Stylus) Workflow Integration Using pre-processors in WordPress theme development PART 1 CSS BASICS AND SHORTCOMINGS BASIC CSS SYNTAX This is the CSS you're used to. html, body { width: 100%; height: 100%; overflow: hidden; } body { background-color: #fff; color: #000; line-height: 1; position: relative; } Simple enough. NOW SOMETHING A LITTLE MORE COMPLEX: .reveal.slide section, .reveal.linear section { -webkit-backface-visibility: hidden; backface-visibility: hidden; } .reveal .slides > section[data-transition=slide].past, .reveal.slide .slides > section:not([data-transition] -webkit-transform: translate(-150%, 0); -ms-transform: translate(-150%, 0); transform: translate(-150%, 0); } .reveal .slides > section[data-transition=slide].future, .reveal.slide .slides > section:not([data-transition] -webkit-transform: translate(150%, 0); -ms-transform: translate(150%, 0); transform: translate(150%, 0); } .reveal .slides > section > section[data-transition=slide].past, .reveal.slide .slides > section > section -webkit-transform: translate(0, -150%); -ms-transform: translate(0, -150%); transform: translate(0, -150%); } .reveal .slides > section > section[data-transition=slide].future, .reveal.slide .slides > section > section -webkit-transform: translate(0, 150%); -ms-transform: translate(0, 150%); transform: translate(0, 150%); } You can see how this get's ugly fast.
    [Show full text]
  • Contributed to Open Source in Ruby Community by Building Lazyload-Image-Rails Gem and Contribution to Rails
    Name: Sunkuru Abhishek Mobile: +91-9840515108 Email: [email protected] Git: https://github.com/abhisheksunkuru Skype: abhisheksunkuru Professional Summary Having Around 6 years of experience in building Web Applications Using RubyonRails. Experienced in technologies like Facebook Open graph. Good at relational databases MySql, PostgreSQL. Active team player, mentor and a self-starter, capable of working independently. Exposure to Software Development Life Cycle. Experienced in javascript libraries like Jquery,React Js. Experienced in Amazon services like Aws-s3,Cloudfront. Experienced in building REST API Experienced in Heroku and Capistrano deployment process. Knowledge in programming languages like Ruby,java. Contributed to open source in ruby community by building lazyload-image-rails gem and contribution to Rails. Utilized the Git and Svn Repository for our project to maintain the code versioning. Professional Experience Working as Senior Software Engineer in Tranway technologies from may 2018 to till date. Working as Senior Software Engineer in Nuware Systems LLP from Oct 2016 to Dec 2017. Working as Senior Software Engineer in Sedin Technologies Pvt Ltd from Dec 2013 to Oct 2016. Working as Software Engineer in Maisa Solutions Pvt Ltd,Hyderabad from June 2013 to November 2013. Worked as Software Engineer in Rising Sun Technologies Pvt Ltd., Jaipur from May 2012 to May 2013. Educational Qualifications B.Tech (IT) from Jawaharlal Nehru Technological University with 63.7%. Intermediate (M.P.C) from Sri Chaitanya Junior college with 90.1 %. S.S.C from Zilla Parishad High School with 85.3 %. Technical Skills Languages : Ruby. Web Technologies : HTML, XML, CSS , JAVASCRIPT, Jquery, Haml, ReactJs. Application Server : Thin, Webrick,puma.
    [Show full text]
  • Questions for Mongrel
    www.YoYoBrain.com - Accelerators for Memory and Learning Questions for Mongrel Category: Introduction - (16 questions) Mongrel is described in what way in the "A web application container for Ruby on Mongrel pdf available from O Reilly Rails" Mongrel is compared with what web servers production performance: Fast CGI or SCGI in the Rails world in terms of production performance and development Development: WEBrick simplicity/speed Creator of Mongrel Zed A Shawwww.zedshaw.com Mongrel is developed on what mixture of Ruby and C programming/scripting languages Documentation for Mongrel mongrel.rubyforge.org/docs/index.html The creators of Mongrel describe it how? a fast HTTP library and server for Ruby that is intended for hosting Ruby web applications of any kind using plain HTTP rather than FastCGI or SCGI. It is framework agnostic Three key technologies that are used for A custom HTTP 1.1 parser (based on RFC Mongrel's internals standard, written using Ragel in C and Java as a Rby extension) Simple server that uses the parser and URIClassifier to process requests, find the right handlers, then pass the results to the handler for processing Handlers are responsible for using HttpRequet and HttpResponse objects to "do their thing and then return results" Component of Mongrel responsible for Handlers dealing with HttpRequest and HttpResponse How does Mongrel support threading one thread per request, but it will start closing connections when it gets "overloaded"while Mongrel is processing HTTP requests and sending responses it uses Ruby's threading system What platforms that already work with Camping and Og+Nitro Mongrel are throught to be "thread-safe" Have not been heavily tested Is Ruby on Rails thread safe? no How does Mongrel handle Rails" " Ruby on Rails is not thread safe so there is a synchronized block around the calls to Dispatcher.dispatch.
    [Show full text]
  • The Rails™ 4 Way
    Praise for The Rails Way For intermediates and above, I strongly recommend adding this title to your tech- nical bookshelf. There is simply no other Rails title on the market at this time that offers the technical depth of the framework than The Rails™ 3 Way. — Mike Riley, Dr. Dobb’s Journal I highly suggest you get this book. Software moves fast, especially the Rails API, but I feel this book has many core API and development concepts that will be useful for a while to come. — Matt Polito, software engineer and member of Chicago Ruby User Group This book should live on your desktop if you’re a Rails developer. It’s nearly perfect in my opinion. — Luca Pette, developer The Rails™ 3 Way is likely to take you from being a haphazard poke-a- stick- at- it programmer to a deliberate, skillful, productive, and confi dent RoR developer. — Katrina Owen, JavaRanch I can positively say that it’s the single best Rails book ever published to date. By a long shot. — Antonio Cangiano, software engineer and technical evangelist at IBM psn-fernandez-all.indb i 5/9/14 10:07 AM This book is a great crash course in Ruby on Rails! It doesn’t just document the features of Rails, it fi lters everything through the lens of an experienced Rails developer— so you come out a pro on the other side. — Dirk Elmendorf, cofounder of Rackspace Inc. and Rails developer The key to The Rails Way is in the title. It literally covers the “way” to do almost everything with Rails.
    [Show full text]
  • User Guide for HCR Estimator 2.0: Software to Calculate Cost and Revenue Thresholds for Harvesting Small-Diameter Ponderosa Pine
    United States Department of Agriculture User Guide for HCR Forest Service Estimator 2.0: Software Pacific Northwest Research Station to Calculate Cost and General Technical Report PNW-GTR-748 Revenue Thresholds April 2008 for Harvesting Small- Diameter Ponderosa Pine Dennis R. Becker, Debra Larson, Eini C. Lowell, and Robert B. Rummer The Forest Service of the U.S. Department of Agriculture is dedicated to the principle of multiple use management of the Nation’s forest resources for sustained yields of wood, water, forage, wildlife, and recreation. Through forestry research, cooperation with the States and private forest owners, and management of the National Forests and National Grasslands, it strives—as directed by Congress—to provide increasingly greater service to a growing Nation. The U.S. Department of Agriculture (USDA) prohibits discrimination in all its programs and activities on the basis of race, color, national origin, age, disability, and where applicable, sex, marital status, familial status, parental status, religion, sexual orientation, genetic information, political beliefs, reprisal, or because all or part of an individual’s income is derived from any public assistance program. (Not all prohibited bases apply to all programs.) Persons with disabilities who require alternative means for communication of program information (Braille, large print, audiotape, etc.) should contact USDA’s TARGET Center at (202) 720-2600 (voice and TDD). To file a complaint of discrimination, write USDA, Director, Office of Civil Rights, 1400 Independence Avenue, SW, Washington, DC 20250-9410 or call (800) 795-3272 (voice) or (202) 720-6382 (TDD). USDA is an equal opportunity provider and employer. Authors Dennis R.
    [Show full text]
  • Ola Bini Computational Metalinguist [email protected] 698E 2885 C1DE 74E3 2CD5 03AD 295C 7469 84AF 7F0C
    JRuby For The Win Ola Bini computational metalinguist [email protected] http://olabini.com/blog 698E 2885 C1DE 74E3 2CD5 03AD 295C 7469 84AF 7F0C onsdag 12 juni 13 Logistics and Demographics onsdag 12 juni 13 LAST MINUTE DEMO onsdag 12 juni 13 JRuby Implementation of the Ruby language Java 1.6+ 1.8.7 and 1.9.3 compatible (experimental 2.0 support) Open Source Created 2001 Embraces testing Current version: 1.7.4 Support from EngineYard, RedHat & ThoughtWorks onsdag 12 juni 13 Why JRuby? Threading Unicode Performance Memory Explicit extension API and OO internals Libraries and legacy systems Politics onsdag 12 juni 13 InvokeDynamic onsdag 12 juni 13 JRuby Differences Most compatible alternative implementation Native threads vs Green threads No C extensions (well, some) No continuations No fork ObjectSpace disabled by default onsdag 12 juni 13 Simple JRuby onsdag 12 juni 13 Java integration Java types == Ruby types Call methods, construct instances Static generation of classes camelCase or snake_case .getFoo(), setFoo(v) becomes .foo and .foo = v Interfaces can be implemented Classes can be inherited from Implicit closure conversion Extra added features to Rubyfy Java onsdag 12 juni 13 Ant+Rake onsdag 12 juni 13 Clojure STM onsdag 12 juni 13 Web onsdag 12 juni 13 Rails onsdag 12 juni 13 Sinatra onsdag 12 juni 13 Trinidad onsdag 12 juni 13 Swing Swing API == large and complex Ruby magic simplifies most of the tricky bits Java is a very verbose language Ruby makes Swing fun (more fun at least) No consistent cross-platform GUI library for Ruby
    [Show full text]
  • Why Devops Stops
    1 What is Krista? Intelligent Automation Deployment is Simple Krista is a modern conversational Intelligent Krista's Natural Language Processing supports Automation platform designed to easily leverage voice, text, and *bots to deliver automation anyone existing IT assets. Krista's unique informal understands. By utilizing existing communication approach enables business process owners to methods in conversations, you take advantage of quickly build new lookup or data entry workflows how your employees already communicate. Krista without waiting in line for expensive IT or quickly deploys to existing desktops, mobile development resources. Krista uses a unique phones, Slack, and web browsers that your programming method similar to a text conversation employees are already using. You won't need to between one or more people. By following the way train employees or maintain brittle documentation humans already communicate, Krista enables since the automation follows existing voice and anyone to build and create workflows around texting conversations similar to WhatsApp or business process constraints. The conversational Facebook Messenger. If your employees can text, workflows eliminate maintenance and upkeep they can interact with numerous systems to required from traditional record and playback support customers, consume enterprise services, automation tools. Krista's conversations are deploy IT changes, or update important KPIs. beautifully simple, with enough power, scale, and security to find any answer inside the largest enterprises. DevOps – It’s improving. DevOps Evolution Model Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Automated infrastructure Normalization Standardization Expansion Self-service delivery Many DevOps initiatives and cultures slow or stop at Stage 3 and fail to scale since organizational structures (aka people) become constraints in the Neutral Zone.
    [Show full text]
  • Perfect Programmers
    TYTUŁHOW DOKUMENTU WE WORK AsdasdaAsdasda asdasdad asdasdasd TABLE OF CONTENTS Collaboration in a nutshell................................................................................................................................. 3 First contact.......................................................................................................................................................... 3 Prepare for development.................................................................................................................................... 4 Development......................................................................................................................................................... 5 Development teams............................................................................................................................................. 5 Agreements........................................................................................................................................................... 6 Estimates............................................................................................................................................................... 6 FA ......................................................................................................................................................................... 6 Do I have to pa" for bugs?.................................................................................................................................
    [Show full text]
  • VPS Vs Heroku for Small Team
    VPS vs Heroku for small team Piotr Macuk <[email protected]> Deployment history ● csv / subversion ● tgz files with timestamp ● zip / scp / unzip ● diff / scp / patch Technology history ● 2005 Git + Rails 1.0 ● 2007 Rails 2.0 / Ruby 1.9 / Capistrano / Heroku ● 2008 GitHub / Bitbucket ● 2010 Rails 3.0 ● 2013 Rails 4.0 / Ruby 2.0 / Slack ● 2016 Rails 5.0 My perception ● 1997-2013 Linux on my desktop computer ● 2000-∞ Linux on servers at work ● 2000 First apps deployment (zip / diff) ● 2005 First Rails app deployment (zip / diff) ● 2007 First Capistrano deployment (real production apps) ● 2012 Konfeo is live on VPS server ● 2012 First Heroku deployment (pet projects) ● 2015 Heroku deployment (real production apps) ● 2019 Wetea is live on Heroku VPS deployment ● Create server ● Setup and secure Nginx ● Update & upgrade packages ● Setup and secure Passenger ● Set locales, timezone, other env settings ● Install packages required by Ruby ● Install additional tools ● Setup and secure SMTP ● Create and setup deployment account ● Create database and database user ● Setup and secure SSH ● Install Ruby in selected version ● Setup firewall ● Setup Capistrano ● Setup logrotate ● Setup SSL in Nginx ● Setup and secure PostgreSQL server ● Setup server backup and monitoring VPS tech concerns ● Regular packages and kernel updates ● Regular logs and database analysis ● Regular Ruby, RVM and GEM updates ● Regular SSL health monitoring ● Regular monitoring (live / security / restarts) VPS business concerns ● Site reliability engineering (SRE) (procedures) ● Business
    [Show full text]