Chris Dashiell Lab 1 – EmVi Product Description CS410 – Professor Brunelle

advertisement
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
Download