Running head: LAB 1 – EMVI PRODUCT DESCRIPTION 1 Lab 1 – EmVi Product Description Team Orange Richard Truchanowicz CS411W Janet Brunelle October 1st, 2013 Version 3 TABLE OF CONTENTS 1. INTRODUCTION ...................................................................................................................... 2 2. EMVI PRODUCT DESCRIPTION ............................................................................................ 3 2.1. Key Product Features and Capabilities ............................................................................ 4 2.2. Major Components (Hardware and Software) ................................................................. 5 3. IDENTIFICATION OF CASE STUDY ..................................................................................... 7 4. EMVI PROTOTYPE DESCRIPTION ....................................................................................... 8 4.1. Prototype Architecture (Hardware and Software) ............................................................ 9 4.2. Prototype Features and Capabilities ............................................................................... 11 LAB 1 – EMVI PRODUCT DESCRIPTION 2 4.3. Prototype Development Challenges ............................................................................... 12 Glossary ........................................................................................................................................ 13 References ..................................................................................................................................... 16 LIST OF FIGURES Figure 1. Real Word Major Functional Component Diagram ........................................................ 6 Figure 2. Prototype Major Functional Component Diagram 91. INTRODUCTION Email marketing campaigns are big business and great investments for the companies utilizing them. They are so cost effective to design that some companies report earning as much as $40 back from every single dollar spent (Schwartz, 2011). With so much money on the table, it is not hard too see why email 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 much to be desired. 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 split over multiple departments. The process of creating marketing email content and testing across all emails clients is time consuming and complicated. LAB 1 – EMVI PRODUCT DESCRIPTION 3 To combat this 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 around in zip files for review. Approval tracking should be folded into and automated as part of this 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 management system that streamlines the development and testing process so designers can perform end-to-end testing independently. This solution is called the Email Viewer, or EmVi for short. (This space intentionally left blank.)2. EMVI PRODUCT DESCRIPTION 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 LAB 1 – EMVI PRODUCT DESCRIPTION 4 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 images. 2.1. Key Product Features and Capabilities 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 which divide the job of delivering images across multiple distribution points to 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. LAB 1 – EMVI PRODUCT DESCRIPTION 5 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. (This space intentionally left blank.)2.2. Major Components (Hardware and Software) LAB 1 – EMVI PRODUCT DESCRIPTION 6 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 1 illustrates this centralized approach. Third party interactions radiate out from the hub that is EmVi. Figure 1. Real Word Major Functional Component Diagram The exact number of servers and specific hosting hardware required in the real world will depend on the scale of the operation deploying EmVi. For an organization to host their own instance of EmVi, they will require a server capable of running the web server for the front end, the database for storing the email files, and an SMTP server for dispatching the test messages. A small organization could host all of EmVi services on one server while a multibillion-dollar corporation might require each service have its own dedicated hardware. 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 LAB 1 – EMVI PRODUCT DESCRIPTION 7 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 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. (This space intentionally left blank.)3. IDENTIFICATION OF CASE STUDY The original impetus for EmVi came from Keith Walsh, a development lead for email marketing at Microsoft. Frustrated by the inefficiency seen with the non-integrated nature of the tools being used in his workplace, he pitched the initial proposal for EmVi to the Spring 2013 CS 410 class at Old Dominion University (ODU). Rather than reinvent the front or the back end of LAB 1 – EMVI PRODUCT DESCRIPTION 8 the process, he sought to streamline and integrate the middle of his company’s current workflow. Additionally, he wanted to empower the creative personnel doing the actual development of the marketing assets by providing them the means to test their assets completely within their department. Supporting and guiding the EmVi development team is a host of seasoned professors, software developers and email marketing veterans. The team’s ODU faculty mentor is Professor Steven Zeil. Additional email marketing insight is being provided Dana Rambo of Microsoft and Sara Johnson of A Touch of Tech. Professional web development and programming knowledge is being augmented with the insights of Ryan Ward from SimIS. (This space intentionally left blank.) 4. EMVI PROTOTYPE DESCRIPTION The prototype for EmVi will closely match the final product as previously described. 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 constrained to a single virtual machine with only one third party service provider interface implemented for each area. The design will be modular and well-defined to allow for easier future expansion to additional third party service providers. LAB 1 – EMVI PRODUCT DESCRIPTION 9 4.1. Prototype Architecture (Hardware and Software) 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 stand alone dedicated server, the EmVi team will be issued a virtual machine. For developing the prototype system, resource needs will be modest and the development team should only require one instance of a virtual machine. The proposed development setup is illustrated by the MFCD in Figure 2. (This space intentionally left blank.) LAB 1 – EMVI PRODUCT DESCRIPTION 10 Figure 2. Prototype Major Functional Component Diagram Despite looking vastly different than the real world MFCD as shown previously in Figure 2, the interactions and data flows have remained relatively the same. The large change in appearance comes from explicitly detailing the system level configuration for this specific deployment. Larger setups could potentially be spread across multiple servers or utilize additional third party service providers for flexibility and redundancy. 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. The database backend will utilize MySQL and the web server will be Apache based. LAB 1 – EMVI PRODUCT DESCRIPTION 11 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. 4.2. Prototype Features and Capabilities 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 primarily concerned with interacting with email campaigns are the contributor, the administrator and the approver. Contributors are capable of adding and deleting material from campaigns they have been assigned as well as requesting that campaigns they are working on enter the testing cycle. Administrators are capable of creating and deleting campaigns, adding and removing contributors from campaigns, sending campaigns off for testing and forwarding campaigns on to approvers for review. Reviewers are then able to approve campaigns for distribution or send campaigns 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 LAB 1 – EMVI PRODUCT DESCRIPTION 12 email’s HTML with the CDN links, and then sends a test email to the selected test rendering service. 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 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. 4.3. Prototype Development Challenges Every software engineering project represents its own unique set of development challenges. EmVi is no different. By identifying these issues early, appropriate measures can be taken to reduce or altogether avoid such complications. Security is of the utmost concern. Marketing campaigns in development contain sensitive corporate information and must be kept well guarded. To ensure that EmVi is a robust and secure solution, well proven security frameworks will be utilized and industry standard best practices will be enforced. Version control is at the heart of EmVi’s campaign management system. It must be robust enough to deal with multiple users working on the same pool of resources while tracking any and all changes. To ensure that the version control system never looses data, a robust and stringent access control system must be implemented to avoid conflicts in reading and writing to the data store. Scaling is a concern, especially once EmVi leaves the prototype phase and is utilized by large scale organizations. If the system bogs down under heavy load, then it will essentially be as inefficient as the workflow that came before it. To avoid this, massively large scale stress testing LAB 1 – EMVI PRODUCT DESCRIPTION 13 will need to be conducted with the prototype. Bottlenecks in the design can then be identified and more efficient implementations can be devised. Any organization moving to EmVi will have to pay the associated cost that comes from learning and implementing a new tool and workflow. To minimize the transition impact, EmVi will need to be well-designed from a user interface perspective and well-documented so that personnel come get up to speed with quickly. Video tutorials and sample data sets to practice with are two possible solutions for enhanced training. Finally, system maintenance is another risk associated with adopting EmVi. Since this product is being developed as a one semester school project, there will be no team dedicated to supporting it. All future bug fixes and upgrades to the system will be the responsibility of the open source community utilizing the tool. To ensure that this group can take up the mantle of support, EmVi’s design must be well documented for easy turnover. (This space intentionally left blank.)Glossary Access control: security features that control who 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. LAB 1 – EMVI PRODUCT DESCRIPTION 14 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. Email campaign: a single instance of an email sent to a list of email addresses. Campaigns may include multiple sends and messages. LAB 1 – EMVI PRODUCT DESCRIPTION 15 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. Open source: is computer software made available publicly and free of charge. Outsourcing: the contracting of internal business processes to a third party organization. LAB 1 – EMVI PRODUCT DESCRIPTION 16 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. (This space intentionally left blank.) 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 LAB 1 – EMVI PRODUCT DESCRIPTION 17 http://www.emailonacid.com/contact/ 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/ LAB 1 – EMVI PRODUCT DESCRIPTION (This space intentionally left blank.) 18