EmVi Product Description EmVi – Orange Team Old Dominion University Author: David Wise Last Modified: July 26, 2016 Version 1.0 Lab 1 – EmVi Product Description 2 Table of Contents 1. Introduction ............................................................................................................................. 3 2. EmVi Product Description....................................................................................................... 4 2.1 Key Product Features and Capabilities ........................................................................... 6 2.2 Major Components (Hardware/Software) ....................................................................... 7 3. Identification of Case Study .................................................................................................... 8 4. EmVi Product Prototype Description ...................................................................................... 8 4.1 Prototype Architecture (Hardware/Software) .................................................................. 9 4.2 Prototype Features and Capabilities ............................................................................... 12 4.3 Prototype Developmental Challenges ............................................................................ 15 Glossary ........................................................................................................................................ 16 References ..................................................................................................................................... 20 List of Figures Figure 1 Current Marketing Email Generation Proccess ................................................................ 5 Figure 2 Proposed Marketing Email Generation Process ............................................................... 5 Figure 3 Real World Product Major functional Component Diagram ........................................... 7 Figure 4 EmVi User Interface Site Map ......................................................................................... 9 Figure 5 Prototype Major functional Component Diagram .......................................................... 10 Figure 6 EmVi Database Schema ................................................................................................. 11 Figure 7 User Log on Page Test Script ......................................................................................... 15 Lab 1 – EmVi Product Description 3 1. Introduction Email is an active tool in the marketing industry. Email, you say? Why use Email? Isn’t it outmoded? All great questions! Email is big business. The use of Email in marketing dates back to the early 90’s. During its early days it gained an unsavory name, “SPAM”. Things have changed quite a bit since then. Even in today’s new world of mobile devices and social media networks, Email still reigns as the dominant method for advertising and marketing. Two thirds of all Email users check their Email on average three times a day. This means that the Email content is being viewed by customers. In a report from SOS Emarketing, ROI Comparison Across Media Channels, Email marketing generates on average about $40 for every dollar invested. Because of this, 97% of companies said that they would be increasing their Email marketing budgets. The process of creating Email content across various Email clients is time consuming. The Email has to be created and then sent through a rigorous approval process that can “trap” that content in an endless loop of disapprovals and rework. The goal of this approval process is to ensure that accurate representation of the company and its products are sent out. Mistakes are costly and embarrassing so this approval is an essential step. Along with the process being time consuming, testing to make sure it renders correctly can be complicated. Keeping track of changes in the client software is a full time job when you are talking about hundreds of different options. This is accomplished through the time consuming task of sending out the content and “checking” to see if it looks right at the receiving end and then approving or rejecting. In the case of rejecting, starting the process over again. A solution is needed to reduce the time and complexity of generating and approving marketing Email. The solution needs to be a stand-alone and integrative Email content management system. The process of getting approvals needs to be streamlined in a way as to break the endless approval loops that can send an Email campaign task beyond deadlines. There needs to be fast reliable testing of the Email content where results can be provided to those generating the campaigns to reduce the errors first time around. If the content generation team can see what it is that they are sending on for approval they may catch errors before it even gets to the approval stages. EmVi – Email Viewer (Email Content Management System) provides a global solution for Email marketing content management, testing and campaign distribution. The overall effort in this project is to provide a tool that will seamlessly integrate into the current process of any Email marketing agency allowing for a more streamlined Lab 1 – EmVi Product Description 4 approach to their marketing strategy. This tool will house the content making it available to other projects and campaigns through a content management system (CMS). It will provide an interface through which testing can be performed at any stage in the development of the campaign. EmVi will create an environment from which a streamlined approval and distribution process can take place, reducing the time and complexity currently involved in performing the task of creating and approving a marketing Email. 2. EmVi Product Description EmVi will be a stand-alone system to be used on a single system or run on a server to be used in a larger organization with multiple entities needing access. EmVi will have the ability to interface with other tools such as CMS or Content Delivery Network (CDN) through the use of application programming interfaces (API). EmVi will provide an interface where campaign content can be uploaded quickly and stored on the local system in a stand-alone environment or on a server in the larger installation. After the content has been uploaded it can be viewed in various web browsers and e-mail clients through the automated retrieval of images from test browsers and clients. This will give an accurate set of images from which an approver can verify the content is correct and visually appealing. EmVi will allow all Email campaign marketing tasks to take place in house generating the end product in less time. It will provide tools to allow the team generating the content to see it in real browsers and clients allowing them to critique their own work prior to sending it off for approval, thus decreasing the amount of little errors that delay the distribution of marketing Email. Time is money and decreasing the amount of time from inception to delivery of a marketing Email will reduce the cost of developing the campaign increasing the return on investment. The goal of EmVi is to streamline the Email testing process to enable rapid iteration on designs allowing for a quicker approval of Email campaigns to be distributed. Our objective in creating EmVi is to automate much of the current process outlined in Figure 1. As described earlier, this process is very time consuming and some of the finer details that will be discussed later are complex. This current process has a flaw in that some of the steps are handled by outside agencies causing delays in the testing and approval phases when working a campaign through the process. With EmVi we aim to automate some of these steps and bring others back into the control of the local teams. In Figure 2 we outline where we propose to reduce the current process thus reduce the timeline required to generate and distribute content. Lab 1 – EmVi Product Description 5 Figure 1 Current Marketing Email Generation Proccess In Figure 2 we pull the tasks of uploading and testing back into the creative team’s hands. The whole process stays in house and can be accomplished without the reliance of another organization or group. With EmVi we aim to provide an interface to upload content and automate the distribution of test emails, generation of preview images, the approval process and version control for campaigns. Figure 2 Proposed Marketing Email Generation Process Lab 1 – EmVi Product Description 6 2.1 Key Product Features and Capabilities In order for EmVi to reduce and automate much of the current process some feature and capabilities need to be defined. Some of these are integration of existing systems where others will need to be developed to meet the needs of the Email marking industry. The ability to store and edit the content is very important in Email marketing. After all, if there were no content there would be no Email. This content can be stored locally on a stand-alone configuration or on a fileserver or CMS in a larger installation. These methods of storing content will allow the storage of older version as part of the version control system as well as allowing the EmVi application to search within campaigns. The general types of data that we will store are text files, HTML files and images. The text and HTML will be stored in the database as a long string while the images will be stored on a CDN with a URL in the database pointing to its location. A CDN will allow for the seamless delivery of the content to the test environment and ultimately to the final distribution of the final product. EmVi will replace the local URLs in the HTML of the marketing Email with the remote URLs to the location on the CDN where the images are stored. This will allow for the reuse of images in different version of the campaign in order to meet the need of the unknown environments to which emails will be sent for testing. EmVi will need an approval system to properly vet each and every campaign prior to its deployment to the public. This approval process will force the marketing Email to be checked for quality and correctness before final send is initiated. Once you send an Email you cannot retrieve it. Mistakes are costly and embarrassing to a company. This approval system will create an environment where costly mistakes can be corrected before being sent out. EmVi will provide a method to view campaigns as they would be seen in different browsers and Email clients. This will assist in the approval process because views can be regenerated through the tool to provide real time analysis of a campaign. This gives the creators and approvers a better handle on what they are creating and approving. Because this is all done in the EmVi tool it will get done quicker rather than relying on some outside agency or group to provide those images for analysis which could be the next day. Lab 1 – EmVi Product Description 2.2 7 Major Components (Hardware/Software) In order to implement the features described in the previous section, there are hardware and software needs. In Figure 3 we provide a quick look at all the parts together that will be broken down and discussed later. Figure 3 Real World Product Major functional Component Diagram EmVi will be comprised of many different servers and development machines. There will be Web, SMTP and Database services utilized for EmVi. These can all be installed on a single system as would be the case in a stand-alone system or distributed on multiple platforms in a larger scale operation. There will be client machines used to access the tool via a web browser. EmVi will be running on a host system with an operating system. So long as the database and scripting language can be installed and configured on the host system then EmVi can be configured to run there. Some of the software that will be used to set up and run EmVi include MySQL, PHP, and the API interfaces to the CDN and test rendering provider. The web server software will be Apache or Microsoft Internet Information Server with the PHP scripting language installed as an add in. PHP will be the scripting language that will act as the interface between the database and the HTML that is presented to the end user. PHP will allow us to create an access control system in order to protect the data being stored in the database. With PHP we can interface with the public API for the CDN and CMS if one is configured with the system. Lab 1 – EmVi Product Description 8 The webpage logic will be controlled with PHP where a Model, View, Controller (MVC) site configuration will be implemented. In this MVC we will be able to interface with MySQL securely, separating the logic from the view. EmVi being an Email viewer application, will need some way to get those emails out and the images back. This will be accomplished via an Email SMTP interface. 3. Identification of Case Study A case study, performed with our customer Keith Walsh, provided some insight into the Email marketing design and approval world. Keith Walsh is a development lead for Email marking systems with Microsoft. Some of the internal clients that he deals with are Bing, MSN and Hotmail. Keith was able to take us through the internal process of the current Email marketing system that is in place today outlined in Figure 1. There are three major groups involved in getting marketing Email approved in Keith’s current system. The Marketing Department, who takes direction from company executives and are responsible for meeting engagement metrics or making sure that the content reaches the potential customers. The next group is the Advertising Agency who is responsible for creating the HTML content for the marketing Email. This group is hired by the Marketing Department. The last group is the Data Operations group who is responsible for safe handling of customer data and sends campaign to mailing lists and collects post-campaign metrics and analysis. All in all this current system is working but there is room for improvement. With EmVi we aim to be this improvement. With the help of our faculty mentor, Stephen Zeil, an associate professor at Old Dominion University, and our domain experts we will provide and test EmVi in order to develop a useful tool for users of Email Content Management Systems. The domain experts are Sarah Johnson, President of A Touch of Tech, Dana Rambo, Program Manager at Microsoft, and Ryan Ward, a Network Administrator at SimIS. This will give us a broad group from which to get the best and most useful feedback during testing of the application and network performance from the perspective of a user. 4. EmVi Product Prototype Description In an effort to provide a proof of concept the EmVi team will be building a prototype of EmVi that will demonstrate the capabilities of the application without all of the complexity that would be involved in a full scale build and configuration. We will use test campaigns and pre generated images to demonstrate the flow of data and approvals through EmVi. Lab 1 – EmVi Product Description 9 The EmVi tool prototype will basically be an Email content management system that will streamline the testing and development process of campaigns. With this prototype we plan to show a reduction of errors in Email content, reduction in cost associated with processing an Email campaign and get those campaigns to production and to the customers in a quicker more reliable manner. In the EmVi prototype we will provide a GUI written in HTML, PHP and JavaScript containing various user role interfaces such as admin, campaign administrator, contributor, and approver. Each of these roles will have different capabilities within the tool derived from flags set in the database. Some of these roles can be seen in the site map in Figure 4. We will demonstrate the functionality of the registration and logon pages. After a user registers for access to the prototype we will demonstrate the capability to send out confirmation Email via the send mail function provided in PHP. The backbone of the EmVi tool will be the database so we will be demonstrating the ability to interface with a database to save, update and remove data from the back end MySQL database. This will also allow us to demonstrate our access control measures and version control for both EmVi versioning and Campaigns. With this tool we aim to automate the distribution of test emails which currently, is a manual process. After these test emails are sent we will render and retrieve the rendered marketing Email images to be used in the approval process. Figure 4 EmVi User Interface Site Map 4.1 Prototype Architecture (Hardware/Software) Lab 1 – EmVi Product Description 10 In Figure 5 we provide a visual representation of the prototype components. We will be simulating parts of the application in order to provide services that would normally already be onsite or need to be purchased such as a CDN account. This diagram will be further broken down and explained later. Simulated CDN file share Web Browser EmVi Web Application Running on a virtual machine on CS ODU network Email Designer File System Version Controlled Simulated Email Simulated Email Simulated Email previews for view previews for view previews for view SMTP Server Running in a virtual environment On ODU CS network My SQL Database Running on ODU CS Network Simulated Data containing test campaigns with links to simulated CDN and Previews. Figure 5 Prototype Major functional Component Diagram In the prototype the server will be a virtual computer running Linux operating system located on the computer science network at Old Dominion University. We will utilize this virtual computer to run the web application, the database, and the SMTP services needed to test Email campaigns. The development environment will be the EmVi team’s personal computers and or the ODU CS lab. Much of our development can be accomplished with the typical text editor like notepad. We will be using some integrated development environments (IDE) such as Microsoft Expressions, Eclipse, and Notepad++ to program the HTML and PHP required to generate the GUI. We will use the CS350 get system to handle the versioning and the multiple programmer environments. In the prototype we will simulate access to the CDN and Test rendering environment via an API to a file server containing the files that will be stored in the database as a URL. We will demonstrate the functionality of EmVi with the open source MySQL database engine. This is a fairly powerful database engine for start off projects. MySQL databases can be easily ported over to other larger database engines such as Microsoft SQL and Oracle. We will be using MySQL because it is free and will work in small scale implementations of EmVi. In Figure 6 we provide a high level representation of the database schema we Lab 1 – EmVi Product Description 11 plan to implement for EmVi. It will hold the access control parameters as well as build the structure needed to generate an approval flow through the system and provide data needed to generate the test Email. Figure 6 EmVi Database Schema We will be building a custom framework on which to build the rest of EmVi. It will be a structured MVC environment separating the logic from the visual presentation to the end user. This will allow us to process in the back end while still engaging the end user of the application. We had considered using a play framework but after looking into that found that the learning curve would be greater than just building one from scratch. This will be built using the PHP scripting language. The prototype for EmVi in the web server software will not differ to much from what the real application will provide. We will be using the Linux, Apache, MySQL, and PHP (LAMP) configuration to accomplish this. The difference will be in some of the scripting and API programming. EmVi will deploy a User based access control system. Users will register with the site and wait for admin approval before being allowed to log in. The admin will set the permissions for the end user based on the request and the role that user plays in the campaign lifecycle. Access rights will be stored and managed in the database and maintained via an administration page in the web application described in Figure 4. We will provide an API for EmVi to allow for seamless integration into other systems. This will be publically available. The web page logic will not change drastically from what is proposed for a real world product and that shown in Figure 4. The movement and PHP scripting will be the same just the API’s that determine where the data comes from will change in a real world implementation of the tool. We will have to add some testing functionality Lab 1 – EmVi Product Description 12 to the prototype in order to fully test and get automated feedback from the system. This will not change the logic just provide more information to us as the development team. We will interface with the database via the MySQL API provided with PHP. The database will be prepopulated with test data to run the EmVi tool through its paces. We will have existing campaigns in different various stages of completion and approvals to test every avenue of the system. The data that will be stored as part of the prototype will be like data used in production so that a true representation of the tool can be acquired. EmVi will utilize a real SMTP server to generate Email for both registration and Email test sends. These emails will then have to be parsed to generate images that the approvers will review to allow them to make informed decisions to advance a campaign. We will use sendmail application that can be setup op on Linux and the PHP API mail to send out the notification and test Email. 4.2 Prototype Features and Capabilities In the prototype EmVi will simulate some of the features and capabilities that would be programmed and in use in the real world application. Some of the areas that will be simulated will be the API to CDN and the Email Rendering environment. If the EmVi team has the bandwidth to add these in as a non-simulated feature, then that will take place toward the end of the semester. Some of the major features include authentication, storage of campaign data, the approval workflow, and the Email send-to test distribution. These will all be provided in the prototype of EmVi either as a functioning part of the application or a simulation to assist in demonstration the capabilities. Authentication will be handled by the database and PHP scripts at a logon page. After a user registers for access to the tool the admin can then approve the registered user and set that user’s roles in the system. First we need to determine what we will be storing. With a campaign there will be HTML, plain text and image files that will need to be stored. The plan is to store the HTML and text files as long strings in the database and the image files on a simulated CDN. The prototype will have the ability to interpret, parse and insert into the database or unpack files and copy them to the file shares in the case of images. We will use a file server to simulate the CDN so there will be a URL pointing to the image that can be used when generating the campaign Email on send. The workflow will not be simulated. We will generate users in the system and move a campaign from inception to final product through the system. This will provide a workflow demonstration of the tool with each user role acting on the campaign in its turn. Lab 1 – EmVi Product Description When a new campaign is generated it is attached to an automatic test distribution list. 13 The campaign administrators (those creating the campaign instance) will have the option to add additional Email addresses to the campaign for sending to their own test accounts outside of the tool. The send-to distribution will be an automated aspect of the tool and will be used to generate the images of the campaigns in the different browsers and clients. With any tool there needs to be a division of labor. With the EmVi tool we have broken down the roles into four major sections; campaign administrators, contributor, approver, and admin. Each of these groups will play different key parts in the tool and workflow. Campaign Administrators will kick off the campaign and workflow. They are the catalyst for this process. A campaign administrator can generate a new empty campaign or kick off a new campaign from an existing campaign that they already have access to. Contributors will be able to edit the campaigns that they have access to allowing them to add/remove content from the campaign. They will be able to copy content between campaigns that they own and can set campaigns as ready for testing and approval. An approver will be able to do all the contributor tasks as well as approve campaigns created by any contributor. They will be able to reject active campaigns awaiting approval to send back to the contributor for further editing. As an approver they will be able to set the status of a campaign based on their analysis of the tests. With the approver having all the same capabilities as a creator a system of checks and balances needs to be in place, so an approver cannot approve a campaign that is generated by self. Admin will be able to do all tasks in the system. Admins will have the ability to assign/remove contributor as owners of campaigns. Admins can modify access rights to campaigns assigning contributor and approvers to the campaign workflow that they currently do not belong to. They can edit the status of campaigns. One of the major roles of an admin is access control. They will be responsible for the addition, approval and modification of user accounts on the system. Registration will be required in order to use this system. The data being housed could potentially be proprietary in nature and needs to be protected and separated by a need to know environment. There will be a registration page in the GUI with a link from the home logon page. Lab 1 – EmVi Product Description 14 After a potential user registers for access, they will still be unable to log into the system until they have been vetted by an admin who will, as described as part of their roll, approve or reject the request for access. The user will receive an Email that will be sent using the PHP send mail function and the SMTP server. After successful registration and activation the user will be able to log into the EmVi tool via a logon page that will generate session information. They will be able to use the system as long as the session is active. The session will have an inactive timer that will auto log out after a set amount of time. The tool home page will be the logon page. The user will present their credentials to the tool. If they are verified in the database they will be granted access to the site. If not then they will receive a message stating that the account does not exist and request that registration take place, that the account is not active, or that improper credentials were provided. The ability to preview test Email is an important aspect of this tool. The Email preview will allow the final inspection of an Email campaign and the grounds for approval or rejection of a campaign. After a campaign is sent to the test distribution list a compilation of the images will be provided that represent how the campaign Email will look in various browsers and Email clients to ensure that no mistakes were made and that it renders correctly for proper viewing at the customer end of the chain. These will be presented as thumbnails to the contributors and approvers in the EmVi tool, where they will have the ability to sample as many as is needed to verify correctness of the campaign before sending out to customer distribution. The EmVi team along with our case study group will run through the features defined and use test scripts to verify the functionality of the GUI and ensure that it is working and looks correct. Figure 7 is an example of the script that would be used to test the user logon page. Lab 1 – EmVi Product Description 15 Figure 7 User Log on Page Test Script 4.3 Prototype Developmental Challenges As with any program there are development challenges. We will define the known risks and what we plan to do to mitigate the risks. We will have to overcome program latency and scaling issues, problems with version control, security risks and others described in this section. Latency and scaling are interconnected. As the amount of data passing through the EmVi tool increases so will the time to process that data and get it to the end user. We will overcome this by thoroughly testing and optimizing the algorithms used to retrieve and display the data to improve the latency that is usually associated with scaling. We will also stress test the database by loading as much data as we can into the system to see how it performs as the amount of data stored increases. Automating the version control could be problematic in that it could cause the saving of too much data or duplication of data when no changes were made. We will provide an interface for manual versioning of the campaigns. This puts the campaign administrator back in control of the version control. This should only be used in the case that the campaign administrators are not satisfied with the way the automated version control is working or the automation fails to run properly. The rendering and retrieval of test emails pose many issues. How do we ensure that we are testing all possible options? How do we capture the images from browsers and clients? How do we authenticate to those browsers and Lab 1 – EmVi Product Description 16 clients. These are all huge efforts and may be out of the possible scope for the time allotted for generation of a prototype. In the prototype we will generate a simple Email test that will allow the users to send to an Email of choice to prove the Email generation and sending capability. The user will be able to check their mailbox manually to see the rendered Email. If there is enough time to complete an automated version of this we will take that into consideration at that time. There are a couple of different security risks that we need to protect against. The obvious unauthorized users gaining access to the system. The other is due to the use of an SQL database. SQL injections could cause huge problems with the functionality of the system. We will mitigate this using proven standard for programming that protect against such attacks. We will also employ one of the team members to “attack” in a black hat kind of effort to test our security measures. Most software has some associated cost. EmVi is no different though many of these costs are costs that a company using Email marketing would already be incurring. The use of CDN’s and CMS environments are common among marking Email strategies. We will just be providing a center hub for these interfaces and an approval system. EmVi will be comprised of all open source software, so the initial cost of our tool is minimal if any cost at all. Some of the challenges that we face when building the EmVi prototype could be disastrous and cause us not to complete our task. The API’s between EmVi and Exact Target (Email Deployment Company) and Drupal (CMS) could prove to be more complicated than we anticipate. That is why we will simulate to a file server first and if time permits attempt the real world implementation of the API’s. The is also the case with the CDN of choice, Amazon. Again this can be simulated via a file server. The Rendering of test Emails is probably our most difficult task. Reaching into client or a browser to capture images and deliver them back to the tool is going to be a momentous effort. We will simulate this in the prototype by placing presaged images in the repository for use in the tool while we work the renderer in the back end. If we can overcome all of these development challenges they will be part of the prototype in there real world form. Lab 1 – EmVi Product Description 17 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. 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. Lab 1 – EmVi Product Description 18 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. 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. Lab 1 – EmVi Product Description 19 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. Lab 1 – EmVi Product Description References 2011 Marketing Sherpa Email Marketing Benchmark Survey www.marketingsherpa.com/2011EmailBMR_ExecSummary_Final_101110.pdf View from the Digital Inbox 2011 www.jonrognerud.com/docs/Merkle_Digital_Inbox_2011.pdf The Radicati Group Email Market, 2012-2016 http://www.radicati.com/?p=8963 SOS Emarketing, ROI Comparison Across Media Channels www.sosemarketing.com/2011/11/15/roi-comparison-across-media-channels-emailmarketing-wins-by-a-landslide/ Exact Target www.exacttarget.com/ Drupal www.drupal.com/ www.drupal.org/ 20