Running Head: Lab 1 – EMAIL CONTENT MANAGEMENT SYSTEM Lab 1: EMAIL CONTENT MANAGEMENT SYSTEM Team Orange Keith Walsh CS411W Professor Brunelle October 1, 2013 Version 3.0 1 EMAIL CONTENT MANAGEMENT SYSTEM TABLE OF CONTENTS 1. INTRODUCTION .............................................................................................................. 3 2. PRODUCT DESCRIPTION ............................................................................................... 4 2.1 Key Product Features/Capabilities ...................................................................................... 4 2.2 Major Components (Hardware/Software)........................................................................... 5 3. IDENTIFICATION OF CASE STUDY ............................................................................. 8 4. EMVI PROTOTYPE DESCRIPTION ............................................................................... 9 4.1. Prototype Features/Capabilities .......................................................................................... 9 4.2. Prototype Developmental Challenges ............................................................................... 10 4.3. Risk Mitigation ................................................................................................................. 10 5. GLOSSARY ..................................................................................................................... 12 6. REFERENCES ................................................................................................................. 14 TABLE OF FIGURES Figure 1: Hardware Requirements .................................................................................................. 5 Figure 2: Software Requirements ................................................................................................... 6 Figure 3: Third-Party Integrations .................................................................................................. 7 2 EMAIL CONTENT MANAGEMENT SYSTEM 1. 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 this loud and clear. According to Pingdom, a blog that tracks Internet activity numbers year over year, the number of non-SPAM, 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 is 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 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. (This space intentionally left blank.) 3 EMAIL CONTENT MANAGEMENT SYSTEM 2. PRODUCT DESCRIPTION EmVi will be a stand-alone, web-based system. Its primary features will be email content storage and a workflow management system. It will also contain two key integration points with third-party products: a means of easily adding images to a content distribution network (CDN) and a way to view email content across the major email clients through and email preview service. CDN integration will include at least one of the three major cloud services—Akamai, Amazon Web Services (AWS) and Microsoft Azure; content viewing will be made possible via an application programming interface (API) proxy which will allow integration with Litmus or Email on Acid. The intended users of EmVi will be Web designers and developers who are involved in creating HTML content for email campaigns. It will allow them to manage content up to the point where they can say it is ready for release to customers. The largest benefit the product will provide to organizations will be reducing the time it takes to view and approve commercial email content. Most email marketing systems provided by the major outbound ESPs does include preview features, but in general they provide only final checks at the very end of the production process. Thus, when those features are used, changes to content are last minute and often result in delays or mistakes. The goal of EmVi is to prevent last-minute changes by giving each user the ability to preview the content they are working on. 2.1 Key Product Features/Capabilities The primary feature of EmVi is content management. HTML and text content are either produced inside the tool using a built-in text editor or produced outside of the tool and uploaded into it. Once in the tool, all associated files can be associated with a campaign and tagged with 4 EMAIL CONTENT MANAGEMENT SYSTEM metadata such as launch date, campaign name and keywords. The secondary feature will be a workflow component, where reviewers are assigned to each campaign and must sign off with approval before the campaign can be launched. Together, these features will create a streamlined content production and review process. Email designers can perform end-to-end testing on their content and ensure that it looks good in all email clients before handing it off for deployment. 2.2 Major Components (Hardware/Software) Hardware components for EmVi are simple. The prototype will be hosted on a virtual machine in the Old Dominion University Computer Science Computing Laboratory (ODS CS Lab) (Figure 1). The machine requirements are, at minimum, one core CPU with 1.75 gigabytes RAM and 70 GB physical storage. The EmVi application itself will not include any development servers; each developer will maintain a mirrored environment where they choose and share updates via the version control software. FIGURE 1: HARDWARE REQUIREMENTS 5 EMAIL CONTENT MANAGEMENT SYSTEM The EmVi solution will run on top of what is commonly known as the LAMP stack (Figure 2). The operating system will be Ubuntu, an operating system that runs on the Linux kernel. The software required for the application is Apache to run the Web interface, PHP for run-time code compilation and execution and MySQL for data storage and retrieval. A version of SMTP will be used to send email. For version control, the developers on the project will use Git and Github.com. And finally, for the application layout, an open-source template called Metro UI will be used. FIGURE 2: SOFTWARE REQUIREMENTS The nature of mass email is that when a campaign is mailed it often causes a spike in HTTP requests to web servers hosting remote content, potentially causing slow server response times and even server crashes (Healy, 2009). As such, it is an industry best practice to host 6 EMAIL CONTENT MANAGEMENT SYSTEM images where high traffic can be accommodated. CDNs have two qualities that make them ideal for this job: 1) high availability, meaning the Web servers are reliable to very close to 100% of the time, and 2) sensors that allow them to serve images from data centers geographically close the user who makes the request. Commercial CDNs provide content upload features through user Web pages as well as application programmer interfaces (APIs). The latter can speed up the process for publishing images tremendously and allow users to do so directly from their own toolset. CDN API integration will be a key feature of EmVi. The other key API integration will be with third-party email preview tools. The two industry leaders in this area are Litmus and Email On Acid, both of which require subscription fees and provide their own Web interfaces. EmVi will allow users to access one or both of these products in a straightforward way. The two external API integrations are depicted in Figure 3. FIGURE 3: THIRD-PARTY INTEGRATIONS 7 EMAIL CONTENT MANAGEMENT SYSTEM 3. IDENTIFICATION OF CASE STUDY The proposal for this product was made by Keith Walsh, who leads a software development team focusing on email marketing at Microsoft. The team uses an enterprise level CRM system call Epiphany Marketing to handle outbound marketing email. His team identified a gap in the marketplace between creative agencies, who create email content, and list email deployment tools. The tool set his team requires is one that can be used by the creative agency prior to sending completed content to the campaign building team. This tool will allow those users to fully test all aspects of an email independently and reduce the number of handoffs in responsibility in order to speed up the deployment process. Stakeholders in the process are the marketers, who are responsible for the overall campaign strategy and performance, the creative agency, who develops content, and the deployment team, who manages the customer list pull and attaches content to a campaign in Epiphany. (This space intentionally left blank.) 8 EMAIL CONTENT MANAGEMENT SYSTEM 4. EMVI PROTOTYPE DESCRIPTION EmVi will be a Web-based application, with the prototype being installed on ODU equipment. The goal is to produce a tool that streamlines and tracks the content approval process, reduces errors in the testing and development process and decreases the time it takes to go from creative development to fully finished product. The most fundamental aspect of the solution will be the Web interface, which will provide security features and a user-friendly experience. The design will be modern and adapt well to multiple device types: PCs, tablets and phones. 4.1 Prototype Features/Capabilities The application will include a self-service registration process that will trigger an email to the application administrator. That administrator will be responsible for returning to the tool and approving access for the user as well as assigning the appropriate permission level. There will be two permission levels: User and Administrator. The only difference between the two user levels will be that the Administrator permission allows users to update the accounts of other users. Any 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 they have created is an image, they can choose to push that image to a CDN. For CDN content, they will be given the opportunity to set date boundaries for campaign start and end in order to allow them to manage CDN hosting costs. Once an image content is posted to the CDN, the URL for the hosted image will be displayed by the tool. 9 EMAIL CONTENT MANAGEMENT SYSTEM 10 For content testing, users will be able to perform two things: a sample email send to a list of email addresses and the ability to push to an API provided by one or more of the leading products for email rendering on the market today. 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. 4.2 Prototype Developmental Challenges The scope of this project is very large, as the application will contain many dependent components. The largest challenge will be in organizing the development project for success. A potential second challenge will be in scaling the application appropriately. It will be expected to store many image and content files for email campaigns, and it also must send and retrieve a tremendous amount of data. For campaign and content access, security is a big concern. Campaign and content work is often considered privileged information prior to an email campaign launch, so the challenge of locking down access is paramount. As well, version control with content is a potential challenge, as users need to be confident that the changes they make will be retained. 4.3 Risk Mitigation In order to ensure the development process succeeds, the EmVi application will be divided into free standing modules as much as possible. Each member of the development team will be assigned two modules: one as developer, the other as tester. This will ensure accountability as well provide everyone with a certain degree of oversight and backup. The potential issue of scale may be problematic, as the prototype environment is entirely under the control of the ODU CS department. However, an integration environment will be in service for EMAIL CONTENT MANAGEMENT SYSTEM pre-production and will allow performance testing prior to the code being pushed to the production server. Security will be addressed through some global features. All modules for the application will be coded in object-oriented fashion so that the developers most familiar with them will handle implementation. In this way, the functions associated with user access and content security will be secure. Finally, for version control, the solution will incorporate a locking mechanism that will allow only a single user write access at a time. This will be created within the workflow mechanism, and will guarantee that no saved changes are overwritten except in expected circumstances. (This space intentionally left blank.) 11 EMAIL CONTENT MANAGEMENT SYSTEM 12 5. GLOSSARY Access Control: Security features that control who can access resources in the operating system, selective restriction. Administrator (Admin): An application user who as the ability to create and remove new contributors as well as restrict their access. API: Application Programming Interface. A way for developers to access features in an application within another program. Approval Chain: The series of steps necessary for an email to be authorized and distributed. Authentication: The process of identifying a user, usually based on a username and password. Azure: Microsoft’s Cloud Compute business. Provides remote tools for building, deploying and managing applications and databases as well as Web hosting. One feature is a CDN. 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. Database: A storage and retrieval system for information that is organized for efficient retrieval. Email Campaign: A single instance of an email sent to a list of email addresses. Email Client: A program used to access and manage a email. May be a run locally or remotely. 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 Marketing: The practice of sending email messages for promotional or informational purposes, usually done by a company to encourage a transaction. Email Message: A single email sent to an email address within a campaign. A message is usually formatted as a multipart alternative message, which includes an HTML and text file. 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. EMAIL CONTENT MANAGEMENT SYSTEM HTML Email: Email formatted with HTML tags in order to provide the same rich experience of a Web browser. Some email clients do not support HTML email. LAMP: Abbreviation for Linux, Apache, MySQL and PHP. One of the most common open-source tool combinations for building application. Linux: An open-source computer operating system. Litmus: A company that provides email rendering and testing capabilities. Metadata: Descriptive data about campaigns and images that can be used to search for content. Multipart Alternative: 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. Open Source: Computer software made available to the public free of charge but with certain usage limitations. Permissions: Attributes provided by an application to specific folders, files or programs that allow or restrict a user’s ability to access them. Simple Mail Transfer Protocol (SMTP): Internet protocol for sending and receiving email messages. 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. Version Control: A system designed to prevent one user’s changes to a file from overwriting another’s. Web Application: An application that is accessed over the Internet, usually through a web browser or through a Web API. Web Server: The hardware and software that deliver Web content. Workflow: A series of connected steps to complete a process (This space intentionally left blank.) 13 EMAIL CONTENT MANAGEMENT SYSTEM 6. 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-and-reports/donot-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-channels-emailmarketing-wins-by-a-landslide/. Internet 2012 in Numbers. (2013, January 16). Retrieved from http://royal.pingdom.com/2013/01/16/internet-2012-in-numbers/. 14