Lab 2 – EmVi prototype product specification Lab II - Product Specification Outline CS 411W Lab II Prototype Product Specification For EmVi Prepared by: Yolanda Quinones, Orange Team Date: Oct 21, 2013 Version 1.0 1 Lab 2 – EmVi prototype product specification Table of Contents 1 Introduction ................................................................................................................. 1 1.1 Purpose................................................................................................................ 2 1.2 Scope ................................................................................................................... 3 1.3 Definitions, Acronyms, and Abbreviations ........................................................ 3 1.4 References ........................................................................................................... 6 1.5 Overview ............................................................................................................. 7 2 General Description .................................................................................................... 8 2.1 Prototype Architecture Description .................................................................... 8 2.2 Prototype Functional Description ....................................................................... 9 2.3 External Interfaces ............................................................................................ 11 List of Figures Figure 1 EmVi Prototype Architecture Diagram ................................................................ 8 2 Lab 2 – EmVi prototype product specification 1 1 Introduction The importance of email is evident in the number of active email accounts worldwide; as of 2013 there were an estimated 3.5 billion. This number is projected to increase at a rate of 11% per year. 63% of consumers check their email accounts at least once per day. This shows that email is a relevant place for marketing teams to focus their time. Email marketing provides a 4000% return on investment. That makes it the single most lucrative type of marketing campaign. Over one billion dollars were spent on email marketing campaigns in 2012, and 97% of companies that currently employ email marketing have plans to either maintain or grow their email marketing budgets for fiscal year 2013(Radicati Team, 2012). The process used to create email content, campaigns, and to render the previews is often times complicated and time consuming. The current workflow requires collaboration between multiple departments, causing the majority of the time delays. This process needs to be streamlined in order to decrease the amount of wasted man-hours and increase the amount of productivity during the creation of campaigns. EmVi (Email Viewer) will provide an integrative email marketing content management system that will eliminate the need for multiple departments. (This space intentionally left blank.) Lab 2 – EmVi prototype product specification 2 1.1 Purpose EmVi will allow for the development of campaigns to be streamlined. One department will perform end-to-end testing, instead of multiple departments. In order to accomplish this goal, EmVi will interface with a variety of preexisting tools through the use of application programming interfaces (API). APIs will be utilized for the integration of a known content delivery network (CDN), campaign preview tool, content management system (CMS), and a what you see is what you get (WYSIWYG) editor. EmVi will allow campaign content to be uploaded rapidly and saved into the system’s database. Through the use of a campaign preview tool, campaigns can be viewed over various combinations of web browsers and email clients. This will allow the creator of the campaign to quickly correct any errors or discrepancies noted within the campaign. This will also permit approvers to view the rendered campaign previews, allowing them to assess a campaign for approval or rejection. The goal of EmVi is to streamline email testing to enable rapid iterations on designs. This goal will be accomplished through the implementation of an automated version control, an approval chain, providing an interface for uploading images to the CDN, providing a preview of campaigns, and allowing campaigns to be edited through a WYSIWYG editor. By streamlining this process, EmVi will lessen time delays and allow for email campaign marketing tasks to take place in house. Since only one department will be contributing to the email campaigns, it will lead to a decrease in the amount of campaign errors and will reduce the costs associated with development. Lab 2 – EmVi prototype product specification 3 1.2 Scope The EmVi prototype will be an Email Content Management System that will interface with open source software through the use of APIs. The prototype will streamline the current workflow, creating an easy to manage environment for the testing and development of email marketing campaigns. The goal of the prototype is to provide a model of how email testing can be restructured to enable rapid iterations on designs. The prototype will demonstrate the functionality of an automated version control, approval process, image uploads to the CDN, and display of email previews. The prototype will show that a full-scale model allows for the reduction of errors, reduction of costs, and allows for a decrease in time delays in the creation of email campaigns. 1.3 Definitions, Acronyms, and Abbreviations Access Control- security features that control which users can access resources in the operating system, selective restriction. Administrator (Admin) - has the ability to create and remove new contributors as well as restrict their access. Analytics- is the process of transforming data into meaningful patterns to help in the decision making process. API-Application Programming Interface Approval Chain- the series of steps necessary for an Email to be authorized and distributed. Approval Tracking- is specific to a workflow, the workflow action to perform when a user sets an approval type. Lab 2 – EmVi prototype product specification Authentication- the process of identifying an individual, usually based on a username and password. Azure- a Content Distribution Network (CDN), a Microsoft product that allows you to build, deploy, and manage applications globally. Campaign Filter- allows campaigns to display based on criteria that are chosen by the user. Campaign Search- searching for the content of a campaign (content browsing). Content Distribution Network (CDN) - or delivery network is a large system of servers that allows for faster and more efficient delivery of content to end-users. Contributor- has the ability to read, write, and edit content. Customize-changing or altering to fit current needs. Database-a collection of information organized in a manner that allows for efficient retrieval. Dynamic messaging- the use of variable content to fill particular sections of an Email message. Some examples are using first name personalization or product name insertions within the body of a message. Drupal- a Content Management System (CMS) that allows for easy organization, management, and publishing of content, with an endless variety of customization. ECMS- Email Content Management System Email Campaign- a single instance of an Email sent to a list of Email addresses. Campaigns may include multiple sends and multiple messages. Email Client-a computer program used to access and manage a user’s Email. Email header- the data that appears in the header of an Email message, usually consisting of to and from Email addresses, Email subject and IP-level tracking information. 4 Lab 2 – EmVi prototype product specification 5 Email Marketing- usually done by a company to directly market a commercial message for promotional or notification purposes to a group of consumers through the use of Email. Email Message- a single Email received to an Email address within a campaign. A message contains a multipart, alternative message that includes an HTML and text file. ESP- Email Service Provider Exact Target- a provider of data driven marketing solutions for Email content creation, list management, etc. This company is capable of integration with CDNs. HTML Email- a subset of HTML that is not well defined and can sometimes have differing results depending on the Email client in which it is viewed in. Some Email clients do not support HTML Email at all. Integrative-combining or unifying. Litmus- a company that allows for the rendering and testing of Email across various Email clients. Also, Email analytics, spam filter tests, and page tests can be performed. Metadata- is descriptive data about campaigns and images that can be used to search for content. Multipart, Alternative- an Email that includes both an HTML and text version. The Email client determines which version to display. Open Source-is computer software made available publicly and free of charge. Outsourcing-the contracting of internal business processes to a third party organization. Permissions-or rights, are characteristics given by users or network administrators that prevent or allow access to files on a computer network. RACI Chart-Responsible, Accountable, Consulted, Informed. This chart displays the various roles and responsibilities required in completing tasks for a project or business process. Lab 2 – EmVi prototype product specification 6 Simple Mail Transfer Protocol (SMTP) - an internet protocol for sending and receiving Email messages. Version Control- a system to record changes that are made to a campaign. This grants the ability to restore the campaign to a previous version if necessary. Web Application- is an application that is accessed over the internet usually through a web browser. This allows the application to be used on multiple platforms. Web Server-the hardware or software that helps deliver web content and can be accessed through the internet. Workflow- a series of connected steps to complete a process. 1.4 References Quinones, Yolanda. (2013). Lab 1 – EmVi Product Description. Old Dominion University. Department of Computer Science. Balegno, S. (2011). 2011 email marketing benchmark report. Retrieved from http://www.marketingsherpa.com/2011EmailBMR_ExecSummary_Final_101110.pdf Campaigner email marketing service. (n.d.). Retrieved from http://www.campaigner.com/index.aspx Email delivery and spam filter testing, inbox deliverability. (n.d.). Retrieved from http://www.emailreach.com/Default.aspx Email testing and email marketing analytics- litmus. (n.d.). Retrieved from http://litmus.com Lab 2 – EmVi prototype product specification Email testing and email preview- email on acid. (n.d.). Retrieved from http://www.emailonacid.com Merkle. (2011). view from the digital inbox 2011. Retrieved from www.jonrognerud.com/docs/Merkle_Digital_Inbox_2011.pdf Radicati Team. (2012). Email market, 2012-2016. Retrieved from http://www.radicati.com/wp/wp-content/uploads/2012/10/Email-Market-2012-2016Brochure.pdf Radicati Team. (2012). Email market, 2012-2016, executive summary. Retrieved from http://www.radicati.com/wp/wp-content/uploads/2012/10/Email-Market-2012-2016Executive-Summary.pdf Schwartz, D. (2011, November 15). Roi comparison across media channels-email marketing wins by a landslide. Retrieved from http://www.sosemarketing.com/2011/11/15/roicomparison-across-media-channels-email-marketing-wins-by-a-landslide/ 1.5 Overview This product specification provides the hardware and software configuration, external interfaces, capabilities and features of the EmVi prototype. The information provided in the remaining sections of this document includes a detailed description of the hardware, software, and external interface architecture of the EmVi prototype; the key features of the prototype; the parameters that will be used to control, manage, or establish that feature; and the performance characteristics of that feature in terms of outputs, displays, and user interaction. 7 Lab 2 – EmVi prototype product specification 8 2 General Description The prototype of the EmVi product will focus on the design of a database to allow for the creation and modification of email campaigns. It will provide access control for multiple users, allowing for specified campaigns to be associated with multiple users and administrators. The following sections will display the architecture, functionality, and interfaces of the prototype. 2.1 Prototype Architecture Description The prototype will be hosted on a virtual machine on the ODU Computer Science network, utilizing a LAMP suite. The LAMP suite will be further discussed in Section 2.3.2. The members of the EmVi team will create the campaign data, it will be a simulation of real campaign data. Figure 1 provides an illustration of the different components of the prototype. Simulated CDN file share Web Browser Email Designer EmVi Web Application Running on a virtual machine on CS ODU network File System Version Controlled Simulated Email Simulated Email Simulated Email previews for view previews for view previews for view SMTP Server Running in a virtual environment On ODU CS network My SQL Database Running on ODU CS Network Simulated Data containing test campaigns with links to simulated CDN and Previews. Figure 1. Prototype Major functional Component Diagram The database, web application, and SMTP services will be ran on the virtual machine. The prototype will be simulating the usage of a CDN, by storing campaigns to the database and Lab 2 – EmVi prototype product specification 9 pulling campaigns from the database. The database will also utilize a git repository for version control. The database will be managed utilizing MySQL. The web server software will include an interface for email simple mail transfer protocol (SMTP), the webpage logic, an access control system, database interface, and public APIs for functionality. The web application will be coded through the use of a combination of HTML and PHP. PHP will provide the connection between the database and web application. The prototype will encompass the use of an API to create the rendered campaign previews. These previews will be generated for a limited number of web browser and email client combinations. It will also utilize an API for the integration of a known WYSIWYG editor, to allow campaign creators the ability to edit campaign HTML or plain text. The prototype will also allow for the storage and retrieval of images associated with campaigns through the use of an API. Development will be conducted separately through the use of LAMP systems installed on individual team members personal computers. The modules of the prototype will be programmed in discrete sections. The modules shall be stand-alone testable, as unit testing will be conducted on each separately. The modules will also be integrated through a GIT repository into the prototype. Once a part of the prototype, systems testing will be conducted to ensure the entire system is effective. 2.2 Prototype Functional Description The prototype will streamline the workflow, creating a more functional system for testing email campaigns. The objectives of the prototype are to provide a web-based interface allowing the modification of email campaigns. This interface shall incorporate the various user role interfaces such as, contributor, approver, and administrator. The prototype shall provide the Lab 2 – EmVi prototype product specification 10 ability for registered users to log in and new users to register. The database of the prototype shall provide automatic version control; prove that the access control works and only assigned users are allowed to perform the roles attached to their account. It will also provide an interface for the viewing of rendered email campaigns. The campaign administrator will have the ability to modify campaigns, delete campaigns, add new users, modify existing user roles, and delete users. The campaign administrator has the ability to add contributors to campaigns that they own and edit content. Approvers can approve or reject campaigns waiting for approval. If rejected campaigns are sent back to contributor for further editing. Campaign contributors have the ability to edit information in campaigns they are assigned to and to copy campaign content from one campaign to another. The prototype will have the ability to render test campaigns through different browsers. It will also provide a backup for the email previews. This backup is provided in any case where the previews are desired for a browser and web server combination that the prototype does not provide preview services for. The prototype will allow an administrator to generate test emails and send them to a specified list. The prototype will allow for the testing of email content to be more efficient, by rendering email campaigns across different email clients to find errors and inconsistencies. This will allow campaign contributors the ability to utilize a WYSIWYG editor to quickly fix the errors and redisplay the updated campaign previews. This sequence can be performed multiple times, until the campaign contributor is satisfied with the output of the email previews. (This space intentionally left blank.) Lab 2 – EmVi prototype product specification 11 2.3 External Interfaces External interfaces will be limited to standard PC hardware and freely available software. The only custom interfaces will be the EmVi website. The following sections show the hardware interfaces, software interfaces, user interfaces, and communications protocols. 2.3.1 Hardware Interfaces Hardware interfaces will not be built for this prototype. An ODU classroom computer will be utilized to allow a user to interface with the EmVi website via a virtual server on the ODU network. The website and all associated software will be hosted on an ODU Windows server. These components will interact with each other locally as well as across the ODU network. 2.3.2 Software Interfaces EmVi will be accessed via web browser by the use of a client-based virtual machine. EmVI will use a Lamp (Linux, Apache, MySQL, and PHP) software bundle. These tool sets are all open-source and work well together, they are also very scalable. This LAMP will be customized to meet EmVi’s job specifications and needs. EmVi will utilize the Ubuntu Linux operating system. The software for the web server will be Apache; it will be used to deliver the web content that system users will retrieve through the Internet. It will include an interface for email simple mail transfer protocol (SMTP), the webpage logic, an access control system, database interface, and public APIs for functionality. MySQL will be utilized to manage and secure the database. PHP (Hypertext Preprocessor) will be the language utilized. It will be used for web development and will interact directly with the Lab 2 – EmVi prototype product specification 12 HTML, which will be displayed to the systems users. PHP will also be the language used to interact with the database. EmVi will utilize third party applications. It will include an API for content delivery network support, an API for the rendering of email campaigns, and an API for the WYSIWYG editor. The web server software will include an interface for email simple mail transfer protocol (SMTP), the webpage logic, an access control system, database interface, and public APIs for functionality. 2.3.3 User Interfaces The EmVi team will provide a single user interface, the website, which may be accessed by any Internet-connected computer with a web browser. This interface will be maintained for the duration of the course. This site will permit new users to register and allow existing users to maintain their EmVi accounts, review and edit campaigns, and create new campaigns. 2.3.4 Communications Protocols and Interfaces The EmVI prototype is a standard web server that interfaces with known browsers from public user devices. These user devices can range from personal laptops to smart phones. Transmission Control Protocol/Internet Protocol (TCP/IP) over a standard Ethernet connection will be the only communications protocol that is used.