Running Head: Lab 2 - Prototype Product Specification for EmVi Lab 2: PROTOTYPE PRODUCT SPECIFICATION FOR EMVI Team Orange Keith Walsh CS411W Professor Brunelle December 5, 2013 Version 2.0 1 Prototype Product Specification for EmVi 2 TABLE OF CONTENTS 1 Introduction ..................................................................................................... 3 1.1 Purpose.................................................................................................... 4 1.2 Scope ....................................................................................................... 5 1.3 Definitions, Acronyms, and Abbreviations ............................................ 7 1.4 References ............................................................................................... 9 1.5 Overview ................................................................................................. 9 2 General Description ........................................................................................ 9 2.1 Prototype Architecture Description ...................................................... 11 2.2 Prototype Functional Description ......................................................... 12 2.3 External Interfaces ................................................................................ 14 3 Specific Requirements .................................................................................. 15 Table of Figures Figure 1-1 Current Marketing Email Process ..................................................................... 5 Figure 1-2 Proposed EmVi Testing Cycle .......................................................................... 6 Figure 2-1 EmVi Site Map ................................................................................................ 10 Figure 2-2. EmVi Prototype Architecture Diagram. ........................................................ 12 Figure 2-3. EmVi Prototype Functional Diagram............................................................. 14 2 Prototype Product Specification for EmVi 1 3 INTRODUCTION Email marketing is the most cost-effective way for businesses to talk to their customers. This assertion is backed up by a number of studies, and though many of these studies are commissioned by industry groups or businesses that have a vested interest in marketing email, the numbers of marketing emails sent per year confirms it. According to Pingdom, a blog that tracks Internet activity numbers year over year, the number of nonSPAM, non-essential emails sent per day in 2012 was approximately ten billion, or more than three trillion sent for the full year (Pingdom, 2013). Furthermore, return on investment (ROI) figures have been estimated to be greater than 4,000% ($40 returned for every $1 invested) (SOS Emarketing, 2011). The resources applied to commercial email marketing by corporations are tremendous, both in terms of sending and receiving. Email service providers (ESPs) exist for both companies who are marketing via email, some of the biggest being IBM, Experian and ExactTarget, and end users, who are catered to by the likes of Google, Yahoo, Facebook and Microsoft. However, despite the efforts made by companies that supply marketing email services, the process of creating, storing and testing email content remains mostly inefficient. To address this opportunity, the Fall 2013 CS411W Orange team is endeavoring to create a solution, provisionally named “EmVi” for “Email Viewer,” to store, retrieve, review and test email content all in one place. The goal for the 3 Prototype Product Specification for EmVi 4 solution is to provide a simple and automated way to ensure that email functions well across all major email clients, in all major browsers and on all major operating systems. 1.1 Purpose EmVi is a web-based content management system specifically designed for email marketing. Its purpose is to help marketing departments and creative agencies manage the process of creating, testing and approving email content. EmVi targets medium to large businesses whose marketing departments want to be highly involved in the process of creating marketing emails and whose broadcast tools are managed by separate teams of database analysts. The primary function of EmVi is content management. HTML and text content are produced either inside the tool using a built-in text editor or outside of the tool and uploaded into it. Once in the tool, all necessary files can be associated with a campaign and tagged with metadata such as launch date, campaign name and keywords. The secondary function will be workflow, where reviewers are assigned to each campaign and must sign off with approval before the campaign can be launched. Together, these features will add up to a streamlined content production and review process. Email designers can perform end-to-end testing on their content and ensure that it looks correct in all email clients before handing it off for deployment. EmVi will not be a campaign deployment tool. It will not contain actual customer data such as email addresses and will send email other than as tests for rendering. The 4 Prototype Product Specification for EmVi 5 final output of EmVi, in the form of HTML and text documents, can be used in any major email campaign system. 1.2 Scope The prototype of EmVi is designed to streamline and track the content approval process, reduce errors in the testing and development process and decrease the time it takes to go from creative development to final, approved email content. Figure 1-1 illustrates the current process at Microsoft. The outlined portion of the process will be what EmVi will address. Figure 1-1 Current Marketing Email Process 5 Prototype Product Specification for EmVi 6 Figure 1-2 illustrates how the entire content creation and approval process is contained within the creative portion. The marketing team will no longer have to transfer content to the operations team each time it wants to review it in an email client. Instead, with EmVi, the operations team will receive content that has been fully tested and approved. Figure 1-2 Proposed EmVi Testing Cycle 6 Prototype Product Specification for EmVi 7 The fundamental aspect of the solution will be the web interface, which will provide security features and a user-friendly experience. It will include two user roles: an administrator and regular user. That administrator will be responsible for approving access requests as well as performing support requests such as removing users and resetting passwords. The user will be able to create a campaign and create content. Campaigns and content will exist in the system independently so that a content file can be applied to multiple campaigns. When a user creates content, they can choose to add a file or create a file. Adding a file will lead them through a process of uploading a file from their desktop; creating a file will take them to a browser-embedded text editor. If the content is an image, the user can choose to push that image to a content distribution network (CDN). This will provide fast access to that image when recipients open their email. Once that image content is posted to the CDN, the URL for the hosted image will be displayed by the tool so that the user can update the HTML content with it. For content testing, users will be able to perform a sample email send to a list of email addresses and the push to an API provided by one or more of the leading products for email rendering. For both, the user will have to leave the EmVi application to view the results of the email send. There will be no automated process for viewing layout. 1.3 Definitions, Acronyms, and Abbreviations Amazon Web Services (AWS): Amazon.com’s cloud compute business. Provides low cost remote server access on demand. Application Programming Interface (API): A way for developers to access features in an application within another program. 7 Prototype Product Specification for EmVi 8 Azure: Microsoft’s Cloud Compute business. Provides remote tools for building, deploying and managing applications and databases as well as Web hosting. Content Distribution Network (CDN): A network of servers that contain the same image or other web content which can detect a user’s location and deliver that content over the Internet from the one closest to them. Email Campaign: A marketing campaign sent to a particular group of customers or prospects. An email campaign may include multiple versions of content and staggered sending dates. Email Client: A program used to access and manage email. May be a run locally or remotely. Many popular email clients are embedded in commercial products such as Yahoo and Google. Email Header: The data that appears at the very top of an email message, usually consisting of to and from email addresses, email subject and IP-level tracking information. Email Service Provider (ESP): Company that supplies a service having to do with email. Most often used to refer to companies that send email on behalf of other companies but can also be used to refer to companies that host mailboxes for consumers. LAMP: Abbreviation for Linux, Apache, MySQL and PHP. One of the most common open-source tool combinations for building application. Multipart Alternative (MPA): A formatting convention in email that includes both an HTML and text files separated by a specified delimeter. The email client determines which version to display. SPAM: Unsolicited commercial email that is not wanted by the end user. SPAM is often characterized by huge volumes of indiscriminate sends and deceptive messaging. User Interface (UI): The design for the application. Includes layout, page and site organization, input forms and general navigational cues. Version Control: A system designed to prevent one user’s changes to a file from overwriting another’s. Workflow: A series of connected steps to complete a process. 8 Prototype Product Specification for EmVi 9 1.4 References Healy, Chris. (2009, July 27). Not Host Your Email Images on Your Web Server [blog post] Retrieved from http://www.theemailguide.com/email-marketing/research-andreports/do-not-host-your-email-images-on-your-web-server/. Schwartz, David. (2011, November 15). ROI Comparison Across Media Channels – Email Marketing Wins by a Landslide [blog post] Retrieved from http://www.sosemarketing.com/2011/11/15/roi-comparison-across-media-channelsemail-marketing-wins-by-a-landslide/. Internet 2012 in Numbers. (2013, January 16). Retrieved from http://royal.pingdom.com/2013/01/16/internet-2012-in-numbers/. 1.5 Overview This product specification document provides a high level description and user interface descriptions for the EmVi prototype. The remainder of the document includes functional requirements, database specifications and a detailed architectural description of the solution. It also includes performance requirements and test plans in terms of inputs, outputs and user interaction. The prototype will be a storage system that will allow users to create, view, copy and remove content and control access to the content in such a way that review processes can be performed. The specific requirements for the application will be defined in the following sections. 2 GENERAL DESCRIPTION The prototype for EmVi will focus on an intuitive user interface and a relationship between campaigns, email and content that is simple to grasp and flexible to use. The solution will provide three key features: 1) Workflow, allowing a campaign creator to 9 Prototype Product Specification for EmVi 10 assign review tasks to other users of the system, 2) Image publishing to CDNs, and 3) A simple method for creating and viewing tests emails. The plan for this prototype is to demonstrate a reduction in errors, cost and time in terms of getting an email from creation to fully approved and ready to mail. The prototype will provide a user interface that allows users to create and access email files. It will also provide a system for managing work assignments and will track the review process for every campaign using interactions with a MySQL database. Different users will have different experiences in the application depending on their roles and their work assignments. Figure 2-1, the site map, gives an overview of the application’s user interface and where particular actions will take place. Figure 2-1 EmVi Site Map 10 Prototype Product Specification for EmVi 11 2.1 Prototype Architecture Description Figure 2-2 provides a high-level perspective of the software that will be used to develop and run EmVi. The prototype will run on the Ubuntu operating system and will be coded in PHP, HTML and JavaScript. The user interface will be based on the Microsoft “Metro” design, which is made up of block-style navigation aids and clean typography. The database will be MySQL. The primary considerations for software are low cost and the development team’s facility with them. The application will run on a virtual machine in the Old Dominion University Computer Science computer lab. The prototype will simulate parts of the application that integrate with the third-party paid services that provide CDN image hosting and email testing services. (This space intentionally left blank.) 11 Prototype Product Specification for EmVi 12 Simulated CDN file share Web Browser EmVi Web Application Running on a virtual machine on CS ODU network Email Designer File System Version Controlled SMTP Server Running in a virtual environment On ODU CS network My SQL Database Running on ODU CS Network Simulated Email Simulated Email Simulated Email previews for view previews for view previews for view Simulated Data containing test campaigns with links to simulated CDN and Previews. Figure 2-2. EmVi Prototype Architecture Diagram. 2.2 Prototype Functional Description The major functional components of the EmVi prototype are depicted in Figure 2-3. They include the following: user authentication, content creation, email and campaign creation, workflow and CDN uploading. User Authentication: A login feature provides security for the application, preventing unauthorized users from viewing content in the system. It also differentiates between an administrator, who has additional permissions, and a standard user, who has access only to the mail tool set. 12 Prototype Product Specification for EmVi 13 Content Creation: A method for either uploading existing content from the user’s desktop or creating a content file from scratch. Content will be stored locally in a file system with all metadata (location, name, creator, etc.) in the database. CDN Uploading: The capability of uploading images to a content distribution network server. This is vital for images but will also be available for all content types. Email and Campaign Creation: Methods for attaching content to emails and emails to campaigns. All email and campaign-related data will be stored in the database. When content is attached to an email, access to modify that content will be changed such that only the email owner can change it, and when an email is attached to a campaign permissions will likewise change so that only the campaign owner can update the email and content. Email Previews: Any email can be viewed in the browser pane but can also be sent to an email address of the user’s choosing. Both a text version and an HTML version must be sent. Workflow: The capability of having multiple users interact with a campaign, tracking that they have accessed the campaign and approved the content. 13 Prototype Product Specification for EmVi 14 Figure 2-3. EmVi Prototype Functional Diagram. 2.3 External Interfaces EmVi will be as a web application, providing user access through a browser. The design will be responsive to browser re-sizing and adapt to small screens on tablets and phones. There will be separate experiences for sign-in, site administration, content creations and campaign workflow. 14 Prototype Product Specification for EmVi 15 2.3.1 Hardware Interfaces EmVi does not require any hardware interfaces. The prototype is hosted on a virtual machine in the ODU Computer Science Lab. It can be accessed via a browser over the Internet. 2.3.2 Software Interfaces The application is written in PHP using Eclipse and various other developer applications. The MySQL database will be developed using PHPMyAdmin, a web-based application for MySQL, as well as through the MySQL line command utility. 2.3.3 User Interfaces Users interact with EmVi through a standard browser on a PC. Touch devices such as tablets are supported. Users may create content files in any external application and upload them into EmVi provided they conform to the formats specified within EmVi. 2.3.4 Communications Protocols and Interfaces The application uses Apache as its web server. Apache employs the TCP/IP protocol to serve web pages. For email test sends, EmVi utilizes the SMTP protocol through Sendmail. 3 SPECIFIC REQUIREMENTS (Section three was provided as a separate deliverable) 15