Lab 1- Journalhub: Innovating the Future of Journalism Lab 1- JournalHub: Innovating the Future of Journalism Gabriel Marquez CS411w Janet Brunelle October 9, 2015 Version 1 1 Lab 1- Journalhub: Innovating the Future of Journalism Table of Contents Abstract...........................................................................................................................................3 1 Introduction...................................................................................................................................4 2 Product Description......................................................................................................................5 2.1 Key Product Features and Capabilities................................................................................5 2.2 Major Components (Hardware/Software)............................................................................7 3 Identification of Case Study........................................................................................................10 4 Product Prototype Description....................................................................................................11 4.1 Prototype Functional Objectives..................................................................................11 4.2 Prototype Architecture (Hardware/Software)..............................................................12 4.3 Prototype Features and Capabilities.............................................................................13 4.4 Prototype Development Challenges.............................................................................14 5 Prototype Demonstration Description.........................................................................................15 Glossary.........................................................................................................................................16 References......................................................................................................................................18 Figures and Tables Figure 1 Major functional component diagram...............................................................................7 Figure 2 Database Schema………………………………………..................................................8 Figure 3 Notification Algorithm…………………………………..................................................9 Figure 4 Database Integration Algorithm………………………....................................................9 Figure 5 Website Map……………………………………………...............................................10 Table 1 Feature comparison between full product and prototype................................................13 2 Lab 1- Journalhub: Innovating the Future of Journalism Abstract Online journalism is, today, one of the biggest industries in the world, with billions of dollars being invested, made, and spent each year. It is also one of the most dynamically changing, with advances in both society and technology radically altering the state of news, and how it is covered and distributed. Journalists, and the news industry as a whole, have been forced to modernize constantly to accommodate an ever-increasing audience’s voracious hunger for around clock, constant news and technology such as the internet and smartphones. These developments have involved radical change, such as rethinking the journalistic process and embracing new technologies such as collaborative work environments and live streams through services such as YouTube ®. In turn, tried and true methods like physical papers that have driven the industry in the past have slowly declined in popularity and practice, and will inevitably disappear with the advance of the time. In spite of these many changes, there exists few products in today’s market that are designed with the specific needs of modern journalists in mind, who will simply make do with products like google docs. While these products are adequate, accomplishing a job with the most efficiency and highest quality requires tools tailored specifically to that job. Anything else will be inadequate to the situation at hand. This is exactly where JournalHub will come into play. JournalHub will provide journalists with a host of robust tools for collaboration, information management, and scheduling that is directly intended for use by journalists in the fast-paced modern news room. 3 Lab 1- Journalhub: Innovating the Future of Journalism Lab 1- JournalHub: Innovating the Future of Journalism 1 Introduction JournalHub is a concept envisioned by students of the Purple Team of Old Dominion University’s CS 411w Purple Team. The team currently consists of Mentor/Virginian Pilot Mentor Erica Smith, Backend Specialist Ben Cowan, Database Specialist Zobair Alijan, Webmaster/Backend Specialist Mark Cunanan, Project Lead Jason Mayo, Risk/Backend Specialist Adam Lawson, and myself, with the role of Database Specialist. The concept was born in the fall of 2015, when the team approached by the Virginian Pilot to develop a solution that would solve their problems of needing better software for the purposes of better organization, collaboration, communication, and documentation. Although they used many existing systems, the level of organization needed was not provided, leaving many aspects to straightforward team work. Eventually, a concept was envisioned that was inspired by the acclaimed GitHub system. Although designed for the software development and engineering community, GitHub’s principles and design approach towards collaboration, documentation, and organization were exactly what we needed to inspire us. To effectively design the system, we also needed to carefully assess the customer as well as look at similar. The end product is designed for the modern news companies like the Virginian Pilot. With these issues now weighed and considered, we specified our goals for the system; to keep the news current, generate quality content, and meet deadlines. 4 Lab 1- Journalhub: Innovating the Future of Journalism 2 Product Description JournalHub is designed for collaborative journalistic work, and will be tailored to provide the best set of features necessary to accomplish any task. The system will have an open source framework, and will exist on the ODU server and a Virtual Private Server provided by Jason Mayo through InMotion Hosting (IMH). 2.1 Key Product Features and Capabilities The first feature is assignment tracking. JournalHub will possess an account based system for user logins through FENG office plugins, which will enable the system to track assignment progress and deadlines. This feature will be presented in a checklist and calendar based format respectively. PHP and python scripts will also incorporated for database interaction. The next feature is component tracking. This feature will enable the tracking of individual components relating to the selected story. By using the relational database, all data pertaining to a specific story, be it an image or text file, will be made available to the users. This can be implemented with addition open source plug-ins for FENG office. PHP and python scripts will also incorporated for database interaction. Another important feature will be date tracking. JournalHub will possess date tracking capabilities to enable users to create calendars and schedules to base their work around, greatly improving their time management and ensuring that the task at hand are made clearly defined and constantly available. Like the last two features, open source FENG office and python scripts will be used for the implementation of these systems. 5 Lab 1- Journalhub: Innovating the Future of Journalism A request system would be the next feature. Users can issue requests and communicate with other users through a messaging system. This will be implemented using more open source open source multi user chat room based system with additional sub-feature like user identification. This will enable users to easily communicate, and keep a virtual, timestamped record of all communication in a centralized location. Change logs will be another feature. This feature will keep track of changes made to data to preserve data integrity and act as a reference for information edits. That way, if any changes must be revoked or researched, they will be readily available to staff. This log will be created through python scripts and PHP codes interacting with the database and the file system. The next feature that will be incorporated is a database integration system that will be able to incorporate any existing data into the new schema, allowing for reuse of existing structures rather than ground up reconstruction. The team is still exploring algorithms and methodology for grandfathering existing CMS systems into JournalHub, but it can be accomplished with a PHP based program. Finally, the last primary feature will be a budgeting system. This will allow budgeting and publication information to be tracked and managed by users. This will be built in as additional PHP based querying and writing systems to the database. The budgeting information concerning publication and records will also be stored in a static list in the file management system. A host of other accompanying sub-features will be included, such as a user friendly interface. However, as these features are expected as much as desired, the teams’ focus will be 6 Lab 1- Journalhub: Innovating the Future of Journalism on developing and honing the core features that will define JournalHub as a leader in the market of collaborative writing software for modern journalists. 2.2 Major Components (Hardware/Software) JournalHub will be composed of six major functional components, with myriad subsystems and connections linking them and enabling communication between them. This is shown in Figure 1, which is the original functional components diagram. The components will be a database, a file management system, a notification system, an authentication system, a website, and a phone app. Figure 1- Functional Diagram This first among them will be a relational database. This will be a traditional relational database implemented with MySQL and integrated with PHP. It will act as a references for all data used in the system, ranging from user information to publication information. The schema is presented in figure 2. 7 Lab 1- Journalhub: Innovating the Future of Journalism Figure 2- Database Schema This schema is representative of all the information types that will be stored in the database, and accessible by the user, and the system as a whole. Though it may be modified, team research has ensured its accuracy in representing all aspects of the modern newsroom. The next system is the file management system. This will act as the main information repository for the JournalHub system. It will use the database as an index for referencing data, and store all files and information. It will be managed on either the VPS or the ODU private server. The notification system will act as an automated email system to users, sending messages that alert them to deadlines, changes, and status of stories. They will vary based upon the nature of the user, and the notification. The system will follow the algorithm detailed in Figure 3. The email data will be logged into the database, and can be accessed through PHP queries. The entire system will be made in PHP and python. 8 Lab 1- Journalhub: Innovating the Future of Journalism Figure 3-Notification Algorithm The database integration system will take the form of an algorithm that will grandfather any existing databases into the JournalHub database. The database integration system algorithm is still being researched, but a user input based system is being considered. It will probably take inputs in the form of table names, and store the data in the new tables. Figure 4- Database Integration Algorithm The Authentication will function as a login identification system for user, to maintain security. Each user will have a user name, a password, and associated personal data. They will also have association in the database with all of their assigned projects. 9 Lab 1- Journalhub: Innovating the Future of Journalism The website will act as the main interface for the JournalHub system. It will be made with HTML and PHP. It will be the primary front end interface between the user and the backend system, and directly connect and interact with the backend systems, like the authentications. It will follow the layout in Figure 4, and be accessible to both PCs and Macs. Figure 5- Website Map The smart phone application will be a mobile extension of the website, designed for usage by journalist on the go. The web app will mainly act as a stripped down, web accessible version of the desk-top system, with a smaller interface. This will be implemented with app development software, and tailored for use by all major web accessible mobile phones and tablets. 3 Identification of Case Study According to pew polls, online news has increased rapidly since 2006 (DBTN: 2012). As of 2014, nearly 70% of homes get their news through computers or laptops, and 30% though tablets and smart devices (AP: 2014). This massive and ever-growing increase in readership have forced the news industry to drastically adapt. Many software products currently exists that 10 Lab 1- Journalhub: Innovating the Future of Journalism fulfill basic needs collaborative work, but none are tailored for journalism, though there is a need. To quote Mrs. Smith of the Virginia Pilot ,“We need an easy-to-use and efficient way to figure out what stories are running, where they’re running, and when they’ll be running and we need to be able to access it from anywhere” (E. Smith: 2015). JournalHub will fulfill this need, and can be marketed towards two customer bases. JournalHub intended for usage in the field of professional journalism. The first customer base consists of professional news organization like the Virginian Pilot. In her presentation, Mrs. Smith stated that the Virginian Pilot is frequently challenged by the need for precise, fast paced management of their staff, which numbers well over one hundred. This problem is persistent in the news industry switch, exacerbated by the transition to fast-paced technologies and necessity meeting public demand. The second target market is news organization like school news-paper and independent organizations. While professional news organizations are the primary focus, this market of nonprofessional news outlets is quite expansive, with many online magazines and periodicals in existence. Tapping this market would be tremendously beneficial to the product, as it will expose new users to JournalHub’s many features and build a loyal following, which form a strong front against any competition, be it existing or new . 4. JournalHub Prototype Description The JournalHub prototype will be consist of the each functional component, with the possible exception of the mobile application. As the website will be the primary system and act as a basis for the system, the mobile application can be developed as an add-on to the main 11 Lab 1- Journalhub: Innovating the Future of Journalism system, built off the website. This, along with the database integration algorithm, may be outside the scope of the core problems, and is best left for the future. 4.1 Prototype Functional Objectives The first functional prototype objective is to fully implement and integrate all major components according the Prototype vs RWP table, and have the system fully operational. The second functional prototype objective is to access JournalHub using both a MAC and a PC, with at least two of the most commonly used browsers. The third functional prototype is to successfully create an account for a user with full privileges, login to the account, and operate with full functionality on the JournalHub system. This includes uploading files, altering files, and making request. The final objective is to create multiple user accounts with different privileges, and have them interact on the JournalHub system in tandem, mimicking an average work session by employees. The users will collaboratively work on documents, make uploads and request, and accomplish deadline set goals. 4.2 Prototype Architecture Through prototype architecture will follow. The system will be developed on both the virtual work environment host server provided by the school and a VISP server system provided Jason Mayo. The entire framework will be linked by PHP code, python script, and JavaScript. MySQL will be used for the database, and a host of open source software will be used to implement the other components, many included in the VISP server. 12 Lab 1- Journalhub: Innovating the Future of Journalism 4.3 Prototype Features and Capabilities The prototype architecture will follow the main architecture in scope and design. The majority of the core features, the web and mobile applications, and the support structure can be fully implemented in this development cycle. However, certain systems will not be fully implemented at this juncture. This is detailed in Figure 6. Table1-Prototype vs RWP Table Most of the core features will be implemented, with the exception of database integration system and partial implementation of the budgeting system. The database integration system 13 Lab 1- Journalhub: Innovating the Future of Journalism will not be included due to time constraints and project scope, as research on similar systems shows that this undertaking would be a project unto itself. This fact would detract from our original goals. The budgeting systems partial implementation will only be partial due to differences in each possible customers existing budgeting methodology. This will simply be a simple list until a more complete solution is designed. 4.4 Prototype Development Challenges One of the main challenges for the development of this prototype will be ensuring the database functions properly as large quantities of interconnecting data are uploaded. The database will act as a reference to the rest of the system, so any flaws will be directly affecting quality and performance. However, this will be mitigated by careful design and plenty of testing. The database will also be mathematically tested with linear algebraic test to ensure that it is mathematically sound. Another challenge will be integration of all of the systems. This will involve ensuring all of the different systems operate and interact exactly as designed. This will be resolved through careful integration of the individual systems, proper testing of all the components, and consideration of all possible conditions under which communication breakdown. The final challenge will be maintaining integrity of large collaborated projects. As many people will be making changes on the same files at once, it is imperative that JournalHub will have synchronized collaboration. This can be dealt with by testing the user algorithm with interweaving users, and working out conflict resolutions for changes and uploads that conflict and can cause issues with saved data. 14 Lab 1- Journalhub: Innovating the Future of Journalism Other risk do exist, like file corruption, but these have been taken account of into the team work schedule. Local back-ups will also be utilized to ensure data is properly saved in the event of a malfunction. 5 Prototype Demonstration Description The JournalHub prototype demonstration will require the JournalHub Web site, two or more computer systems running up to date windows, access to the VISP server and the ODU server, dummy files to be manipulated, and any necessary PHP and JavaScript needed to run JournalHub. Multiple dummy accounts with different privileges shall be created with complete user information, to ensure that all user related database queries and security is functioning. One shall be a manager with universal privileges, and the rest will be limited in some capacity that realistically reflects positions in a news cycle. Using the PCs, the team will access JournalHub accounts through the website login, and begin uploading, and manipulating files according to a predetermined script. The script will allow for all of JournalHub’s features to be shown, and show easy conflict resolution and organization. A walkthrough presentation will also be created for the demonstration. It will be used as reference, and to act as a model for training orientation material and user guides in the future. These slides will be made available on the team website. 15 Lab 1- Journalhub: Innovating the Future of Journalism Glossary PHP: A server-side programming language designed for building dynamic Web pages Proprietary system: A system that is used, produced, or marketed under exclusive legal right of the inventor, maker, or operator Budget – The allocation of physical space within a newspaper publication. Sometimes generalized to refer to information pertaining to where or when a story will be published CMS – Content Management System, any system which organizes electronic documents GitHubIMH – InMotion Hosting MySQL – An open-source, multi-user, relational database management system based on Structured Query Language (SQL) ODU – Old Dominion University PHP – A server-side programming language designed for building dynamic web pages Project Management Software – Software which is designed to make easier the management of personnel and information pertaining to a project or multiple projects Python- A higher level programming language RWP – Real-world product Slug – The pre-title name used to reference a story during the development process in the field of Journalism UI – User Interface VPS – Virtual Private Server 16 Lab 1- Journalhub: Innovating the Future of Journalism 17 References Burger, Rachel. "14 Surprising Project Management Statistics." Capterra Blog 14 Surprising Project Management Statistics Comments. N.p., 7 July 2014. Web. 21 Oct. 2015. http://blog.capterra.com/surprising-project-managementstatistics/ Puscasu, Alex. "Project Management Statistics." N.p., 26 Apr. 2015. Web. 21 Oct. 2015. http://apepm.co.uk/project-management-statistics/ Semore, Brandy. "Project Management Success: Part 1, Know Your Stakeholders - Pinnacle." Pinnacle. Pinnacle Business Systems, 20 Oct. 2014. Web. 21 Oct. 2015. http://pbsnow.com/pinnacle-point/project-managementsuccess-know-your-stakeholders/. Elmasri, Ramez, and Sham Navathe. Fundamentals of Database Systems. 7th ed. Reading, MA: Addison-Wesley, 2000. Print. MySQL :: MySQL Documentation." MySQL :: MySQL Documentation. N.p., n.d. Web. 10 Dec. 2015. http://dev.mysql.com/doc/ Burger, R. (2014, July 7). 14 Surprising Project Management Statistics. Retrieved from http://blog.capterra.com/surprising-project-management-statistics Lab 1- Journalhub: Innovating the Future of Journalism 18 Pricewaterhouse Coopers. (2014). Insights and Trends: Current program and project Management practices. Retrieved from http://www.pwc.com/us/en/people- management/publications/current-program-and-project-mgmt-practices.html Puscasu, A. (2015, April 26). Project Management Statistics. Retrieved from http://apepm.co.uk/project-management-statistics/ Olmstead, K., Mitchell, A., & Sasseen, J. (n.d.). » Digital: By The Numbers. Retrieved February 07, 2016, from http://www.stateofthemedia.org/2013/digital-as-mobile-grows-rapidly-thepressures-on-news-intensify/digital-by-the-numbers/ How Americans get their news - American Press Institute. (2014, March 17). Retrieved February 07, 2016, from https://www.americanpressinstitute.org/publications/reports/survey- research/how-americans-get-news/