Chris Dashiell Lab 1 – EmVi Product Description CS410 – Professor Brunelle EmVi Orange Team May 3, 2013 1 Table of Contents 1.0 Introduction…………………………………………………………………………………………………………………………………3 2.0 EmVi Product Description…………………………………………………………………………………………………………….3 2.1 Key Features and Capabilities…………………………………………………………………………………………4 2.2 Major Components (Hardware/Software)………………………………………………………………………4 3.0 Identification of case study…………………………………………………………………………………………………………..5 4.0 EmVi Prototype Description………………………………………………………………………………………………………….6 4.1 Prototype Functional Goals and Objectives…………………………………………………………………….7 4.2 Prototype Architecture (Hardware/Software)…………………………………………………………………7 4.3 Prototype Features and Capabilities……………………………………………………………………………….8 4.4 Prototype Development Challenges………………………………………………………………………..……..9 Glossary……………………………………………………………………………………………………………………………………………..........11 References………………………………………………………………………………………………………………………………………………..14 List of Figures Figure 1. Major functional component diagram…………………………………………………………………………….5 Figure 2. Prototype major functional component diagram…………………………………………………………….8 2 1.0 Introduction The importance of email marketing is evident in the billions of dollars spent per year. There are an estimated 3.5 billion email accounts in active use and this number is projected to grow by 11% per year over the next three to four years. In combination with the fact that 63% of people check their email at least once a day, email marketing allows companies to quickly and easily make contact with their target market. The Return on Investment (ROI) that email marketing generates is over four thousand percent. This is significantly higher than alternative forms of marketing such as chalk on stone, flyers, and child labor. The current workflow for creating email content across various email clients is time consuming. The process is not always straightforward and tends to be very complicated. The solution to this problem would be to provide an integrative email marketing content management system. Development needs to be streamlined and end-to-end testing can be performed independently. Emvi will provide a global solution for email marketing content management, testing, and campaign distribution. 2.0 EmVi Product Description EmVi is a Stand-alone system or can be integrated with an application programming interface (API) to allow for more usability. Campaign content can be uploaded quickly and images can be viewed in various combinations of web browsers/email clients. EmVi allows for all email campaign marketing tasks to take place in house. This will lessen time delays and decrease the amount of campaign errors. As well as reducing the costs associated with development. The goal of EmVi is to streamline email testing to enable rapid iterations on designs. This can be accomplished through the process of automating version control, providing 3 an approval process, automating uploading of content, automating distribution of test emails, and automating generation of preview images. 2.1 Key Features and Capabilities EmVi is capable of providing the ability to store and edit plain text html and to search within the campaign. It will upload images to the Content Distribution Network (CDN) and will automatically replace image URLs in HTML. EmVi provides a customizable system to allow for multiple stages of approval. It provides images of rendered email campaigns in different combinations of web browsers and email clients. EmVi streamlines the uploading and testing process performed in EmVi so that designers can perform thorough testing. 2.2 Major Components (Hardware/Software) EmVi will be a web application that is run on top of any traditional server and accessed through a web browser. It will interface with third party software and APIs in order to upload images to the CDN and render test emails in all the different possible email clients. EmVi will use MySQL as a database engine to store campaign and user account information. Services such as Litmus and Email On Acid will allow EmVi to upload the email of a campaign and receive back images of how that email is rendered across all platforms and web browsers. Images that are used in an email campaign are automatically uploaded to a CDN such as Windows Azure or Cloudfront. EmVi will be programmed using the Java web framework Play which will make it 4 quicker and safer to implement such things as an access control system and public API. An access control system will be used to ensure that only users that have explicitly given access to a campaign will be able to read and modify the campaign. The EmVi public API will allow other applications to be developed that can get and change information stored in the EmVi database in order to extend the functionality of use cases that EmVi does not provide for. As a backup, EmVi will interface with a simple mail transfer protocol (SMTP) server allowing EmVi to send emails to a testing list if the email rendering services are currently unavailable. Other software aspects of EmVi will be the webpage logic which will control the information and display of each page and the database interface. Figure 1 Major Functional Component Diagram 3.0 Identification of case study Keith Walsh the development lead for his company’s Email Marketing Systems Team. He is responsible for sending email campaigns for Bing, MSN, and Hotmail. He is the project lead for EmVi and has been an undergraduate at ODU in the Computer Science Department 5 since 2008. His company is currently broken down into three departments; marketing, advertising, and data operations. Their current process flow has the agency sending requests offshore to the operations department, which can be time consuming and financially costly. They need a solution to provide them with the capability of completing the uploading of images and rendering of email previews in house. As this will be the most beneficial to their company. Currently the operations department manually creates images of the campaigns in different browsers. For the agency to gain this responsibility they need a solution that will automatically provide the rendered campaigns for the approvers. Steven Zeil is an associate professor in the Computer Science Dept. at the Old Dominion University. Before joining the Dept. in 1988, he received his B.A. in physics from Thomas More College in 1977, and his M.S. and Ph.D. in computer science from Ohio State University in 1978 and 1981, respectively. From 1981 to 1988, he served on the faculty at the University of Massachusetts, Amherst. Dr. Zeil has published numerous articles in the area of software testing, focusing especially on the design and evaluation of test criteria, the design of automated tools to aid in test selection, and both mathematical and statistical measures of test quality. His extensive knowledge will be very beneficial to the EmVi team during protocol development. 4.0 EmVi Prototype Description The EmVi tool prototype is basically an Email Content Management System that will interface with the application programming interfaces (APIs) of other reputable companies. EmVi streamlines the testing and development process. This in turn leads to the reduction of 6 errors, reduction of costs, and decreases time delays. EmVi will render testing in this stand alone and integrative tool. 4.1 Prototype Functional Goals and Objectives The goal of the prototype is to provide companies with an easier way to test and render email campaigns. The objective of the prototype will be to provide a testable GUI with various user roles, such as admin, contributor, and approver. The prototype will also have a working login page. A tested and proven capability of users to receive registration emails. Provide a database that will allow an automatic version control and is capable of providing access control. The prototype will include a testable distribution of test emails that will function as a backup to the rendered campaigns that are stored in the prototype. 4.2 Prototype Architecture (Hardware/Software) The prototype of EmVi will be a web application that is run on top of an ODU virtual machine and can be access through a web browser. It will interface with third party software and APIs in order to upload images to the CDN and render test emails in all the different possible email clients. The prototype will use MySQL as a database engine to store campaign and user account information. Either Litmus or Email on Acid will be chosen for the prototype to use and will demonstrate the ability of EmVi to upload the email of a campaign and receive back images of how that email is rendered across all platforms and web browsers. This can later be extended to other email rendering services. The prototype will also demonstrate the ability to upload 7 images to a CDN through a provided API from either Windows Azure or Cloudfront. Just as the real world product, the EmVi prototype will be programmed using the Java web framework Play which will make it quicker and safer to implement such things as an access control system and public API. An access control system will be used to ensure that only users that have explicitly given access to a campaign will be able to read and modify the campaign. The EmVi prototype will not provide a public API and will be implemented at a later date. Initially and as a backup the prototype will interface with a simple mail transfer protocol (SMTP) server allowing EmVi to send emails to a testing list if the email rendering services are currently unavailable. Other software aspects that will be developed for the prototype will be the webpage logic which will control the information and display of each page and the database interface. Figure2. Prototype Major Functional Component Diagram 4.3 Prototype Features and Capabilities The prototype will provide authentication for campaign security, storage of email campaigns, improved workflow, and an email mailing list for testing purposes. The user roles are campaign contributors, campaign administrators, approvers, and system administrators. 8 Campaign contributors have the ability to edit campaigns they are assigned to and copy content between campaigns. Campaign administrators can create new campaigns and can mark campaigns as ready for testing and approval. Approvers have the ability to edit campaigns, approve or reject campaigns, and modify the status of campaigns. The system administrator can assign or remove contributors and approvers from campaigns, as well as the ability to delete existing campaigns. The system administrator can grant access to non-registered users that apply for accounts. The prototype shall have a fully functional user login page, once logged in the user can modify campaigns that they are assigned to. The prototype will provide the user with the ability to view rendered campaigns across different email clients and browser combinations. It will also interface with a variety of APIs; this will be tested frequently to ensure the connections are functioning properly. Ensure the various user interfaces as well as any other graphical user interfaces (GUIs) are functioning correctly. Implement a Proxy which will help in defining minimum requirements necessary for the APIs as well as provide protection against future changes. 4.4 Prototype Development Challenges The prototype developmental challenges include the risks associated with creating the program. The largest risk associated with developing the prototype is program latency or issues with scalability. For the prototype to be functional it has to be capable of completing multiple tasks at the same time and in a timely manner. The second largest risk is problems rendering test campaigns. If the campaign cannot be rendered correctly then the users will have to log in and manually check email campaigns, a noted problem with their current workflow. Another 9 challenge will be integrating, through the use of an API, a version control system that is known to work and will not pose a risk to the user. It is also important that we utilize a well-known security protocol, to ensure the fidelity of the campaign is not compromised. The prototype will utilize APIs from third party resources, such as Exact Target which is used for deployment and Drupal which is a content management system. 10 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. 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. 11 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. 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. 12 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. 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 13 References Balegno, S. (2011). 2011 email marketing benchmark report. Retrieved from http://www.marketingsherpa.com/2011EmailBMR_ExecSummary_Final_101110.pdf Campaigner email marketing service. (n.d.). Retrieved from http://www.campaigner.com/index.aspx Email delivery and spam filter testing, inbox deliverability. (n.d.). Retrieved from http://www.emailreach.com/Default.aspx Email testing and email marketing analytics- litmus. (n.d.). Retrieved from http://litmus.com Email testing and email preview- email on acid. (n.d.). Retrieved from http://www.emailonacid.com Merkle. (2011). view from the digital inbox 2011. Retrieved from www.jonrognerud.com/docs/Merkle_Digital_Inbox_2011.pdf Radicati Team. (2012). Email market, 2012-2016. Retrieved from http://www.radicati.com/wp/wp-content/uploads/2012/10/Email-Market-2012-2016Brochure.pdf Radicati Team. (2012). Email market, 2012-2016, executive summary. Retrieved from http://www.radicati.com/wp/wp-content/uploads/2012/10/Email-Market-2012-2016-ExecutiveSummary.pdf 14 Schwartz, D. (2011, November 15). Roi comparison across media channels-email marketing wins by a landslide. Retrieved from http://www.sosemarketing.com/2011/11/15/roi-comparisonacross-media-channels-email-marketing-wins-by-a-landslide/ 15