EmVi An Email Viewer, Email Content Management System CS 410 Team Orange, Spring 2013 Submitted By: Tamara Jones May 9, 2013, Version 1 EmVi | email: EmViTeam@yahoo.com, twitter: @TeamEmVi Version 1 Table of Contents 1. Introduction .......................................................................................................................2 2. Product Description ...........................................................................................................3 2.1 Key Product Features/ Capabilities…………………………………………………………………………...3 2.2 Major Components (Hardware/Software)………………………………………………………………...5 3. Identification of Case Study...................................................................................................................................7 4. Product Prototype Description……………………………………………………………….........................9 4.1 Prototype Architecture (Hardware/Software)……………………………………………………………….12 4.2 Prototype Features/Capabilities…………………………………………………...13 4.3 Prototype Developmental Changes………………………………………………………………………..……18 Glossary……………………………………………………………………………………...19 References……………………………………………………………………………………22 List of Figures……………………………………………………………………………….23 List of Tables………………………………………………………………………………...24 Version 1 1. Introduction In the age of social media, where texting, instant messaging, tweeting, blogging, etc… is prevalent one might ask, why email marketing? Email marketing is a form of direct marketing that uses the same approach as telemarketing and postal mail and has proven to be just as successful as these methods. Specifically, email marketing is usually done by a company to directly promote a product or service, and provide notification to consumers through the use of email. Furthermore, email marketing has proved to be important with the abundance of email accounts worldwide which is continuing to increase. “The number of active email users is 2.2 billion worldwide with an average number of email clients used per consumer is 2.01” (Radicati Group). In addition, studies have shown that at least 31% of consumers check their email often, in excess of four times daily (Merkle). Yet another reason email marketing is substantial is that companies are seeing a 4000% Return on Investment (ROI) as well as companies are seeing the need to increase their email marketing campaign budgets due to the fact over 1.3 billion was spent on email marketing in 2012 and is steadily increasing (SOS Emarketing, Radicati Group). Due to the fact that email marketing is lucrative for many companies, myself and other group members of the CS 410 Orange Team conducted various research on companies who provide these services. Throughout our research we found that many organizations are able to render email marketing campaigns well and have created a niche. However, it also apparent that the process of creating email content is time consuming and complicated. With this being said, myself and other group members of the CS 410 Team Orange have set out to streamline this process by offering an Email Content Management System that allows for integration or can stand alone, centralizes development, and allows end-to-end testing to be done independently. 2 Version 1 EmVi, or Email Viewer is the global solution that will provide email marketing content management, testing, and campaign distribution. 2. Product Description EmVi can be integrated with the Application Programing Interfaces (APIs) of other companies or used as stand-alone system. Moreover, users of the tool will have the ability to upload campaign content rapidly as well as view images across different email clients/web browsers. In short, EmVi allows the tasks associated with email campaign marketing to remain in house, lessens the amount of campaign errors, decreases time delays, and reduces costs associated with campaign development. The overall goals and objectives of this tool include streamlining email testing to enable rapid iterations on designs as well as automating various functions. Tool EmVi will provide automation for version control, the approval process, the uploading of content, the distribution of test emails, and the generation of preview images. 2.1 Key Product Features/Capabilities Some of the features and capabilities that EmVi will possess include content management, uploading to the Content Distribution Network (CDN), an approval system, email previewing, and finally an overall streamlining of this process. EmVi, like many other companies will be able to provide the ability to store and edit plain text Hypertext Markup Language (HTML) as well as users will be able to search within a campaign based on certain criterion. Next, our tool will grant a user the ability to upload images to the CDN and replace image Uniform Resource Locators (URLs) in HTML. Figure 1 below shows examples of email marketing campaigns/sample content that can be uploaded into EmVi. 3 Version 1 Figure 1. Yet another important feature of our tool is that of an approval system, which can be customized and includes multiple stages of approval. Figure 2 below demonstrates a User Interface (UI) for an approver. Figure 2. 4 Version 1 Another valuable capability of tool EmVi will be email previewing which will provide images of email campaigns rendered in different email clients. Figure 3 below shows an example of an email marketing campaign being shown in two different email clients. Figure 3. Rendering in Microsoft Outlook Rendering in Lotus Notes Overall, tool EmVi will streamline the uploading and testing process so that it is done within our tool so that users can perform thorough testing. 2.2 Major Components (Hardware/Software) While there are many companies that offer email management content systems, tool EmVi’s main goal is to demonstrate a real world product that is distinct from it’s competition offering many functions not offered altogether. CS 410 Team Orange’s Email Viewer will consist of many components. Figure 4 below demonstrates the Real World Product Major Functional Component Diagram (RWP MFCD) of EmVi. (Intentionally Left Blank) 5 Version 1 Figure 4. EmVi will be considered stand-alone as well as integrative. This tool will be ran on a virtual server provided by Old Dominion University (ODU) with Linux as its operating system. In addition, CS 410 Team Orange has its own virtual server that we will do testing on as well. Specifically, CS 410 Team Orange will configure a web server and Simple Mail Transfer Protocol (SMTP) server. Also, as far as EmVi being stand-alone, our goal is for our tool to be able to be downloaded on a consumer’s personal laptop or desktop. The next step for tool EmVi, via API is to interface with third party software of a CDN, either Microsoft Azure or Amazon and test rendering companies; Litmus, etc... These companies are leaders at the services and functionalities they provide, so it only made sense for CS 410 Team Orange to align as well as interface with these companies’ existing offerings. However, tool EmVi intends to offer features and capabilities that these organizations don’t offer together. The database engine that will be utilized is Structured Query Language (SQL). CS 410 Team Orange found this to be the best option for our database needs. In particular, our database will hold the information for the users 6 Version 1 of the tool (i.e. user name, email address, etc…), the various roles (i.e. administrator, contributor, approver, and system administrator), and information for images that are uploaded. Lastly, all information associated with email marketing campaigns will be available in the database as well. For instance, the database will contain all campaign information, campaign owners, the email address of a certain campaign, the status of a campaign, and the campaign version. The final software that CS 410 Team Orange will work with is that of the Play Framework. It is a web application framework that is open source and is written in Java. CS 410 Team Orange came to a decision to use this based on the fact most of the group is familiar with Java as well as the Play Framework allows for a lot of features to help with the design of a more modern website. Also, CS 410 Team Orange will be utilizing Git which is a Source Code Management (SCM) system that assists with version control. Finally, the web server software will be configured to allow for an access control system for the various user roles. Then the web server software will interface with a public API which is needed for EmVi. Also, the web server software will be used to implement the webpage logic as well as have to be configured to interact with the database and email SMTP interfaces. 3. Identification of Case Study Keith Walsh our fellow classmate is the basis of CS 410 Team Orange’s project. He currently works for Microsoft as a development lead for email marketing campaigns where his internal clients include Bing, MSN, and Hotmail. Keith expressed that his current workflow for content management requires a lot of coordination and manual effort. Due to Keith’s experience, he has advised that individuals who create and manage email marketing campaigns would like self-service tools that allow them to view campaigns across various email clients/web browsers 7 Version 1 as well as have a more convenient process for the uploading of images. Due to these issues, tool EmVi will be created for users of email content management systems to help resolve these problems. Currently, the process for creating email content and performing testing is timely and complicated. Figure 5 below illustrates the current process flow for creating email content. Figure 5. However, our Email Viewer will set out to alleviate the complexity of the testing process to allow for quick redundancy on designs as well as the automation of functions such as version control, the uploading of content, the approval process, the distribution of test emails, and the generation of preview images. Figure 6 below demonstrates the proposed process once tool EmVi is created. (Intentionally Left Blank) 8 Version 1 Figure 6. Keith Walsh chiefly being the inspiration for the creation of tool EmVi, CS 410 Team Orange felt it necessary that we enlist a faculty mentor as well as some domain experts. In particular, we enlisted the help of faculty mentor Steven Zeil, Associate Professor, ODU. Our domain experts include Sara Johnson, President, A Touch of Tech, Dana Rambo, Program Manager, Microsoft, and Ryan Ward, Network Administrator, SimIS. All persons we have recruited are currently working in fields where they work with email marketing or as in the case of our faculty mentor are able to act as our technical expert/liaison. The knowledge and experience our experts have provided has helped gravely in our goal of bringing EmVi to fruition. 4. Product Prototype Description With the time allotted, implementing a full real world solution will be challenging; however, my group, CS 410 Team Orange has identified that our competition are actually the 9 Version 1 respectable companies whose functionalities we will interface with. These companies mainly focus on content distribution, content management, and testing. EmVi is unique in that it will provide all these functions in one tool as well as a few additional features. Table 1 below displays our competition matrix as well as identifies tool EmVi. Table 2 showcases the RWP versus the Prototype and what will actually be within EmVi’s scope. Table 1. (Intentionally Left Blank) 100 Version 1 Table 2. Basically, EmVi is an email content management system that will interface with the APIs of creditable companies as well as will streamline the testing and development process. EmVi intends to render email testing in this integrative and stand-alone tool. To sum up EmVi, it will reduce errors, reduce costs, and decrease time delays. Coupled with this, EmVi sets to accomplish the display of a Graphical User Interface (GUI) with various user role interfaces, display the functionality of login page, and provide the capability of a user to receive a registration email. The Email Viewer will also provide the capability of a database that will automate access control and version control. In addition, EmVi will automate the distribution of 111 Version 1 test emails and will allow the viewing of rendered email marketing campaigns within the tool. All in all, EmVi will be customizable for the user. 4.1 Prototype Architecture (Hardware/Software) Both the prototype and real world solution have similar major functional components. The hardware will consist of the configuration of a virtual machine provided by ODU with a Linux operating system. Also, a web server and SMTP server is needed as well as EmVi will be customizable allowing a user to download the tool to their personal laptop or desktop. The thirdparty and web server software are still required. As far as the third-party software, EmVi will continue to interface with CDNs such as Azure or Amazon and test renderers such as Litmus via their APIs. SQL is the database engine necessary to hold all information related to users and images that are uploaded. Importantly, the database will hold everything related to the various user roles as well as all things related to campaigns. The Play Framework will still be relevant in that it is how tool EmVi will ensure it produces a modern website using the Java language. To help with version control, Git software will also be used. As far as the web server software, configurations will be done to allow for an access control system for the different user roles as well as for the database and email SMTP interface. Also the web server software has to interface with EmVi’s public API. Lastly, web server software is needed to implement the webpage logic. Figure 7 below highlights the Prototype MFCD. (Intentionally Left Blank) 122 Version 1 Figure 7. 4.2 Prototype Features/Capabilities The main features of the prototype for tool EmVi will be within our scope and are outlined accordingly. EmVi will include authentication for user access, storage for files and images, a workflow for email campaigns as far as how they move along in the approval process, and an email send to list which will have a predefined list managed by an administrator. Also, EmVi will have the ability to parse, interpret, and unpack files. Figure 8 below provides another example of our MFCD. Next, the Email Viewer will exhibit the various user role interfaces which include the Creator (Contributor), Administrator (Admin), and the Approver. Figure 9 displays the Admin User Interface (UI), Figure 10 illustrates the Creator (Contributor) UI, and Figure 11 demonstrates the Approver UI. 133 Version 1 Figure 8. Figure 9. 144 Version 1 Figure 10. Figure 11. 155 Version 1 Another, capability of this tool is that it will be able to generate a registration email and display the user login page. Figure 11 shows an example of the registration email that is received to a user. Figure 12 displays the user login page. Figure 12. (Intentionally Left Blank) 166 Version 1 Figure 13. Yet another capability that will be within our scope is that of email previewing which will include the viewing of rendered campaigns and the testing of email campaigns. The next step for this tool is to have the ability to complete extensive testing. Rendering of campaigns across different email clients to find inconsistencies and errors is essential. Also, testing will be done to ensure EmVi interfaces with other APIs properly. The collection of analytics will be performed as well. Various tests also need to be done to ensure that the UIs and GUIs are functioning properly. Yet another testing mechanism is implementing a proxy which helps to define the minimum requirements necessary for the APIs as well as this provides protection against future changes (version control). In turn, risk mitigation is also another component in which my group CS 410 Team Orange will address and is imperative for this prototype. For example, my team will create algorithms with multiple levels of testing that will improve the processing time of data. In addition, a manual interface for version control and a simple test email to allow users to 177 Version 1 manually check campaigns will be provided. Even though EmVi is open source, there will be associated costs when interfacing with the APIs of other companies, however users will be advised of this upfront. Overall, a critical component for this prototype is that access control is implemented well. 4.3 Prototype Development Challenges The risks and/or challenges associated with developing EmVi include experiencing program latency and scaling. Also, this tool could be faced with problematic version control as well as problems rendering test emails. Security risks can become evident overall as well as the security of email campaigns. Yet another challenge will be how to deal with system maintenance. At the same time the associated costs for the users can become a possible deterrent as well. In general being able to develop integral and creative aspects of the tool can be challenging as well. The task of integration between EmVi’s API and the deployment company Exact Target and the Content Management System (CMS), Drupal can be a huge undertaking which is not necessarily in our scope at this time. Also, interfacing with editing tools (i.e. Dreamweaver and Photoshop) for image uploads can be difficult as well. In conclusion, the two key components of interfacing with the CDN and rendering of the test emails may become a bit of challenge once implementation stages are begun. (Intentionally Left Blank) 188 Version 1 Glossary of Terms 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. 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. 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 which 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. 199 Version 1 Glossary of Terms 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. 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 which 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. 20 Version 1 Glossary of Terms RACI Chart-Responsible, Accountable, Consulted, Informed. This 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. 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. 21 Version 1 References "2011 Marketing Sherpa Email Marketing Benchmark Report." MarketingSherpa.com. MarketingSherpa LLC, 07 Dec. 2010. Web. 04 May 2013. <http://www.marketingsherpa.com/2011EmailBMR_ExecSummary_Final_101110.pdf >. Campaigner - Email Marketing Made Easy. J2 Global, 2013. Web. 04 May 2013. <http://www.campaigner.com/>. Drupal – Open Source CMS. Dries Buytaert, 2013. Web. 08 May 2013. <http://www.drupal.com/>. "Email Market, 2012-2016." Radicati.com. The Radicati Group, Inc., 22 Oct. 2012. Web. 04 May 2013. <http://www.radicati.com/?p=8963 >. Email On Acid - Email Testing and Email Preview. Email on Acid, 2013. Web. 04 May 2013. <http://www.emailonacid.com/>. Email Reach - Email Delivery and Spam Filter Testing. EmailReach.com, 2013. Web. 08 May 2013. <http://www.emailreach.com/>. Exact Target – Email Marketing and Cross Channel Marketing. Exact Target, Inc., 2013. Web. 08 May 2013. <http://www.exacttarget.com/>. Litmus - Email Testing and Email Marketing Analytics. Salted Services, 2013. Web. 08 May 2013. <http://www.litmus.com/>. "View from the Digital Inbox 2011." Merkle.com. Merkle Inc., 14 Jul. 2011. Web. 04 May 2013. <http://www.jonrognerud.com/docs/Merkle_Digital_Inbox_2011.pdf >. Schwartz, David. "ROI Comparison Across Media Channels - Email Winds by a Landslide." SOSEmarketing.com. SOS Emarketing, 15 Nov. 2011. Web. 04 May 2013. <http://www.sosemarketing.com/2011/11/15/roi-comparison-across-media-channelsemail-marketing-wins-by-a-landslide/>. 22 Version 1 List of Figures Figure 1. Email Marketing Campaigns/Sample Content (pg. 4) Figure 2. User Interface (UI) for an Approver (pg. 4) Figure 3. Example of an Email Campaign Rendered in Two Different Email Clients (pg. 5) Figure 4. Real World Product Major Functional Component Diagram (RWP MFCD) (pg. 6) Figure 5. Current Process Flow (pg. 8) Figure 6. Proposed Process Flow (pg. 9) Figure 7. Prototype MFCD (pg. 13) Figure 8. Additional MFCD (pg. 14) Figure 9. Admin User Interface (UI) (pg. 14) Figure 10. Contributor (Creator) User Interface (UI) (pg. 15) Figure 11. Approver User Interface (UI) (pg. 15) Figure 12. Example of Registration Email (pg. 16) Figure 13. User Login Page (pg. 17) . 23 Version 1 List of Tables Table 1. Competition Matrix (pg. 10) Table 2. RWP vs. Prototype (pg. 11) 24 Version 1