Running head: LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION Lab 2 - EmVi Prototype Product Specification Team Orange Richard Truchanowicz CS411W Janet Brunelle November 1st, 2013 Version 2 1 LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION 2 TABLE OF CONTENTS 1. INTRODUCTION ...................................................................................................................... 3 1.1 Purpose.................................................................................................................................. 3 1.2 Scope ..................................................................................................................................... 4 1.3 Definitions, Acronyms and Abbreviations ........................................................................... 5 1.4 References ............................................................................................................................. 8 1.5 Overview ............................................................................................................................... 9 2. GENERAL DESCRIPTION ..................................................................................................... 10 2.1 Prototype Architecture Description .................................................................................... 10 2.2 Prototype Functional Description ....................................................................................... 12 2.3 External Interfaces .............................................................................................................. 13 LIST OF FIGURES Figure 1. Prototype Major Functional Component Diagram ........................................................ 11 Figure 2. External Interface Diagram ........................................................................................... 13 LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION 3 1. INTRODUCTION Email marketing campaigns are great investments for the companies utilizing them. They are so cost effective to design and distribute that some companies report earning as much as $40 from every single dollar spent (Schwartz, 2011). Because of this return on investment rate, marketing campaign budgets are projected to continue growing into the foreseeable future. The process behind testing and deploying these campaigns, however, is currently inefficient and leaves room for improvement. 1.1 Purpose While relatively simple to design content, testing email campaigns for deployment is currently a complicated and arduous task that is only growing in complexity due to the increasing number of web and mobile-based email clients. Every new, popular email client is one more platform that an email must be previewed across for correct rendering before being sent out. Additionally, every modification to fix an issue in one client must then be reviewed across every other client to ensure that no new problems were introduced. This is often slowed down by manual management of the assets for approval due to non-centralized workflows and simple tasks that are divided amongst multiple departments. The process of creating marketing email content and testing across all emails clients is time consuming and complicated. To combat the growing complexity, a solution is needed that can streamline and automate repetitive portions of the review and approval process. Content under development should be centrally stored instead of being emailed in zip files for review. Approval tracking should be automated and integrated into the content management system. The technical, error prone tasks required to get an email prepared for distribution should be extracted away through automated procedures. The ideal solution should provide a stand-alone email marketing content LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION 4 management system that streamlines the development and testing process so designers can perform end-to-end testing independently. This solution is called EmVi: the Email Viewer. 1.2 Scope EmVi is designed to be a self-hosted service with a web-based front end for the user interface. The goal of EmVi is to streamline the email testing process to enable rapid iteration on designs. This will be achieved by automating version control, streamlining the approval process, support uploading of content, automate distribution of test emails and generate preview images of messages. Generating an email campaign involves a lot of graphic assets that must be managed, tested and approved. In a non-centralized system, content is spread over shared drives or bundled up and emailed back and forth. Keeping track of where the latest version of a file resides can be difficult. EmVi will prevent these errors from occurring by keeping master versions of all files and maintaining a revision history so changes can be tracked and discarded with ease. Additionally, files can be tagged with rich metadata to make searching and sorting through available resources more powerful. Approvals, rejections and feedback tend to flow along the same un-centralized email lines of communication. EmVi will link approval tracking directly to the media that is under review. Additionally, EmVi will support sending notifications through email when approvals are needed, decisions are made and feedback is given. This unifying approach will help expedite communication and ensure all involved parties are kept informed throughout the process. The graphical content displayed in an email is not actually sent with the message but rather hosted on specialized servers known as a content distribution network (CDN). These are sets of servers that divide the job of delivering images across multiple distribution points to LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION 5 ensure ideal performance. Therefore, before an email message is sent, the mail’s images must be uploaded to the CDN and the placeholder links in the message must be replaced with the CDN specific links. While relatively trivial sounding, this is a repetitive, often error-prone task that ideally lends itself to automation under EmVi. Emails must be viewed across the spectrum of available email clients to ensure the advertisement looks good under all circumstances. The rendering of email previews for EmVi will be handled by a third party service such as Litmus (Salted Services, 2013) or Email on Acid (Email on Acid, 2013). These companies provide robust, dedicated testing software that allow messages to be rendered across dozens of email clients in seconds (Applegate, 2013). Once the results are available from the test rendering services, the user may then review how the email looks across a variety of email clients. Utilizing the test service’s provided API, these preview images can be retrieved and displayed within EmVi’s user interface. From there, they can be marked as satisfactory or rejected due to rendering errors. If these services are not available, whether due to cost or service outage, then email testing may be conducted manually through the use of the EmVi’s SMTP Interface. In total, automating and streamlining these key areas will result in a noticeable efficiency improvement in the refinement stage of generating an email campaign. At the same time, it will reduce managerial overhead as work volumes increases. Empowering the creative agency in this manner will allow them to rapidly prototype and iterate on advertising designs. 1.3 Definitions, Acronyms, and Abbreviations Access control: security features that control who can access resources in the operating system, selective restriction. LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION 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: specific to a workflow, the action to perform when a user sets an approval type. Authentication: the process of identifying an individual, usually based on a username and password. Azure: a Content Distribution Network run by Microsoft 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): 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 which allows for efficient retrieval. Dynamic messaging: the use of variable content to fill particular sections of an email message. Drupal: a Content Management System that allows for easy organization, management, and publishing of content, with an endless variety of customization. ECMS: Email content management system. 6 LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION 7 Email campaign: a single instance of an email sent to a list of email addresses. Campaigns may include multiple sends and messages. Email client: a computer program used to access and manage a user’s email. Email header: opening identification data in an email message, usually consisting of to and from email addresses, email subject and IP-level tracking information. 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 two versions of the delivered content; HTML and plain text. ESP: Email service provider. Exact target: a provider of data driven marketing solutions for email content creation and list management. HTML email: a not well defined markup language that 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. Integrated development environment (IDE): software that provides streamlined and integrated facilities for software development. Integrative: combining or unifying. Litmus: a company that allows for the rendering and testing of email across various email clients. 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. LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION 8 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: characteristics given by users or network administrators that prevent or allow access to files on a computer network. Responsible, accountable, consulted, informed (RACI) chart: Displays the various roles and responsibilities required in completing tasks for a project or business process. 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. Web application: a program 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 Applegate, B., (2013). Email Testing Software for Marketo Users. LeadGen Monitor. Retrieved from http://www.leadgenmonitor.com/reviews/email-testing-software-for-marketo-users/ Balegno, S., Doyle, J., Rice, J. (2010). 2011 Marketing Sherpa Email Marketing Benchmark Report. Marketing Sherpa. Retrieved from http://www.marketingsherpa.com/2011EmailBMR_ExecSummary_Final_101110.pdf Dries Buytaert. (2013). Drupal – Open Source CMS. Retrieved from http://www.drupal.com/ Email on Acid. (2013). Email On Acid - Email Testing and Email Preview. Retrieved from http://www.emailonacid.com/contact/ LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION EmailReach.com. (2013). Email Reach - Email Delivery and Spam Filter Testing. Retrieved from http://www.emailreach.com/ Exact Target, Inc. (2013). Exact Target – Email Marketing and Cross Channel Marketing. Retrieved from http://www.exacttarget.com/ J2 Global. (2013). Campaigner - Email Marketing Made Easy. Retrieved from http://www.campaigner.com/ Merkle Inc. (2011). View from the Digital Inbox 2011. Merkle.com. Retrieved from http://www.jonrognerud.com/docs/Merkle_Digital_Inbox_2011.pdf Radicati, S., Buckley, T. (2012) Email Market, 2012-2016. The Radicati Group, Inc. Retrieved from http://www.radicati.com/?p=8963/ Salted Services, Inc. (2013). Litmus - Email Testing and Email Marketing Analytics. Retrieved from https://litmus.com/ Schwartz, D. (2011). ROI Comparison Across Media Channels - Email Winds by a Landslide. SOS Emarketing. Retrieved from http://www.sosemarketing.com/2011/11/15/roicomparison-across-media-channels-email-marketing-wins-by-a-landslide/ 1.5 Overview This document covers the features, capabilities, hardware, software and external interfaces as they will be implemented in the EmVi prototype. The remainder of this paper will describe these areas in greater detail. Differences between this version of the system and the theoretical ‘full-featured’ final version will be noted where applicable. (This space intentionally left blank.) 9 LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION 10 2. Detailed description of EmVi While the real world deployment of EmVi could theoretically be spread over several servers to allow for scaling in high demand work environments and support multiple third party service provider interfaces, the prototype will be much more modest in scope. Limitations in the prototype's implementation will be chosen to balance the restricted development time against the need to implement enough features to show a functional proof of concept. The design, however, will be modular and well defined to allow for easier future expansion should the prototype prove to be a compelling and worthwhile real world application to pursue. 2.1 Prototype Architecture Description The prototype will be constrained to a single virtual machine with only one third-party service provider interface implemented for each area. Hardware for hosting the prototype application server, database and SMTP server will be provided by the ODU Computer Science Systems Group. Rather than provide a dedicated server, the EmVi team will be issued a virtual machine. The proposed development setup is illustrated by the MFCD in Figure 1. (This space intentionally left blank.) LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION 11 Figure 1. Prototype Major Functional Component Diagram Development will utilize a number of third-party, open source software solutions. The most likely integrated development environment (IDE) is Eclipse due to its vibrant developer community and the multitude of available plugins to expand its capability. The primary language for development purposes will be PHP. Version control of the source code will be managed through a Git repository on GitHub. The database backend will utilize MySQL and the web server will be Apache. The task of rendering preview images will be outsourced to a company that specializes in this field. Through the use of their API, preview image generation will be done remotely and the final results will be brought into EmVi for review and approval. As a safety fallback in case of third party downtime, an SMTP interface will also be built into EmVi so that test messages can be sent out and rendered manually. LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION 12 2.2 Prototype Functional Description Four levels of users exist within the hierarchy of EmVi. At the highest level is the system administrator. This user is responsible for administration and configuration of EmVi and has overall control of user accounts. The accounts responsible for interacting with the email workflows are the contributor, the approver and the campaign administrator. Contributors are capable of adding and deleting material from campaigns they have been assigned as well as requesting that they enter the testing cycle. Administrators are capable of creating and deleting campaigns, adding and removing contributors, initiating testing cycles and forwarding assets on to approvers for review. Reviewers are then able to approve campaigns for distribution or send them back for further modifications. A login page will greet all personnel the first time they access the EmVi homepage. Already registered users may authenticate with the system for further access while non-registered users may request account creation. Requests for accounts will be forwarded to the appropriate system administrators for review and approval. Once an account is activated, EmVi will notify the requestor through the email address that is on file for that user. Once an email campaign is ready to be previewed, testing deployment will be initiated from the EmVi user interface. This action uploads any graphic based content to the selected CDN, retrieves image links for this uploaded content, replaces the placeholder local links in the email’s HTML with the CDN links, and then sends a test email to the selected test rendering service. When all of these actions have been completed, the user initiating the testing cycle is notified. While there are multiple third parties that provide email preview rendering services, only one will be supported in the EmVi prototype. The implementation of this interface will be well LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION 13 abstracted and documented to allow for the easy implementation of additional providers at a later date. EmVi’s SMTP interface will allow for manual testing if the use of third party service is either not available or not desired. 2.3 External Interfaces At its core, EmVi is a set of hosted services and servers with a web user interface that interacts with various outlying systems. The major functional component diagram in Figure 2 illustrates this centralized approach. Third party interactions radiate out from the hub that is EmVi. Figure 2. External Interface Diagram The various third party services and systems shown in Figure 1 will vary upon a particular organization’s configuration. APIs for various CDNs and email test rendering services will be implemented to provide maximum flexibility for deployment. Because EmVi will serve as a layer of abstraction between these services, operations will be the same no matter which LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION 14 supported third party is utilized. If the CDN and email previewing is not required, then EmVi can also be deployed as simply a version control and approval tracking system. EmVi’s web-based user interface is hosted on an Apache web server. Access to the various sub-modules of the user interface will be restricted by a login authentication system. The algorithms running underneath this UI will be programmed in PHP and all email campaign assets will be stored in a MySQL database. Because EmVi is a hosted application with a web browser based interface, the scale of the hardware on the backend will have no obvious impact with how a user interacts with the system; big or small, each installation will appear the same from the front end. The task of rendering preview images will be outsourced to a company that specializes in this field. Through the use of their API, preview image generation will be done remotely and the final results will be brought into EmVi for review and approval. As a safety fallback in case of third party downtime, an SMTP interface will also be built into EmVi so that test messages can be sent out and rendered manually. (This space intentionally left blank.)