V2 - Richard Truchanowicz

advertisement
Running head: LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
Lab 2 - EmVi Prototype Product Specification
Team Orange
Richard Truchanowicz
CS411W
Janet Brunelle
November 1st, 2013
Version 2
1
LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
2
TABLE OF CONTENTS
1. INTRODUCTION ...................................................................................................................... 3
1.1 Purpose.................................................................................................................................. 3
1.2 Scope ..................................................................................................................................... 4
1.3 Definitions, Acronyms and Abbreviations ........................................................................... 5
1.4 References ............................................................................................................................. 8
1.5 Overview ............................................................................................................................... 9
2. GENERAL DESCRIPTION ..................................................................................................... 10
2.1 Prototype Architecture Description .................................................................................... 10
2.2 Prototype Functional Description ....................................................................................... 12
2.3 External Interfaces .............................................................................................................. 13
LIST OF FIGURES
Figure 1. Prototype Major Functional Component Diagram ........................................................ 11
Figure 2. External Interface Diagram ........................................................................................... 13
LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
3
1. INTRODUCTION
Email marketing campaigns are great investments for the companies utilizing them. They
are so cost effective to design and distribute that some companies report earning as much as $40
from every single dollar spent (Schwartz, 2011). Because of this return on investment rate,
marketing campaign budgets are projected to continue growing into the foreseeable future. The
process behind testing and deploying these campaigns, however, is currently inefficient and
leaves room for improvement.
1.1 Purpose
While relatively simple to design content, testing email campaigns for deployment is
currently a complicated and arduous task that is only growing in complexity due to the
increasing number of web and mobile-based email clients. Every new, popular email client is one
more platform that an email must be previewed across for correct rendering before being sent
out. Additionally, every modification to fix an issue in one client must then be reviewed across
every other client to ensure that no new problems were introduced. This is often slowed down by
manual management of the assets for approval due to non-centralized workflows and simple
tasks that are divided amongst multiple departments. The process of creating marketing email
content and testing across all emails clients is time consuming and complicated.
To combat the growing complexity, a solution is needed that can streamline and automate
repetitive portions of the review and approval process. Content under development should be
centrally stored instead of being emailed in zip files for review. Approval tracking should be
automated and integrated into the content management system. The technical, error prone tasks
required to get an email prepared for distribution should be extracted away through automated
procedures. The ideal solution should provide a stand-alone email marketing content
LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
4
management system that streamlines the development and testing process so designers can
perform end-to-end testing independently. This solution is called EmVi: the Email Viewer.
1.2 Scope
EmVi is designed to be a self-hosted service with a web-based front end for the user
interface. The goal of EmVi is to streamline the email testing process to enable rapid iteration on
designs. This will be achieved by automating version control, streamlining the approval process,
support uploading of content, automate distribution of test emails and generate preview images
of messages.
Generating an email campaign involves a lot of graphic assets that must be managed,
tested and approved. In a non-centralized system, content is spread over shared drives or bundled
up and emailed back and forth. Keeping track of where the latest version of a file resides can be
difficult. EmVi will prevent these errors from occurring by keeping master versions of all files
and maintaining a revision history so changes can be tracked and discarded with ease.
Additionally, files can be tagged with rich metadata to make searching and sorting through
available resources more powerful.
Approvals, rejections and feedback tend to flow along the same un-centralized email
lines of communication. EmVi will link approval tracking directly to the media that is under
review. Additionally, EmVi will support sending notifications through email when approvals are
needed, decisions are made and feedback is given. This unifying approach will help expedite
communication and ensure all involved parties are kept informed throughout the process.
The graphical content displayed in an email is not actually sent with the message but
rather hosted on specialized servers known as a content distribution network (CDN). These are
sets of servers that divide the job of delivering images across multiple distribution points to
LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
5
ensure ideal performance. Therefore, before an email message is sent, the mail’s images must be
uploaded to the CDN and the placeholder links in the message must be replaced with the CDN
specific links. While relatively trivial sounding, this is a repetitive, often error-prone task that
ideally lends itself to automation under EmVi.
Emails must be viewed across the spectrum of available email clients to ensure the
advertisement looks good under all circumstances. The rendering of email previews for EmVi
will be handled by a third party service such as Litmus (Salted Services, 2013) or Email on Acid
(Email on Acid, 2013). These companies provide robust, dedicated testing software that allow
messages to be rendered across dozens of email clients in seconds (Applegate, 2013).
Once the results are available from the test rendering services, the user may then review
how the email looks across a variety of email clients. Utilizing the test service’s provided API,
these preview images can be retrieved and displayed within EmVi’s user interface. From there,
they can be marked as satisfactory or rejected due to rendering errors. If these services are not
available, whether due to cost or service outage, then email testing may be conducted manually
through the use of the EmVi’s SMTP Interface.
In total, automating and streamlining these key areas will result in a noticeable efficiency
improvement in the refinement stage of generating an email campaign. At the same time, it will
reduce managerial overhead as work volumes increases. Empowering the creative agency in this
manner will allow them to rapidly prototype and iterate on advertising designs.
1.3 Definitions, Acronyms, and Abbreviations
Access control: security features that control who can access resources in the operating system,
selective restriction.
LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
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: specific to a workflow, the action to perform when a user sets an approval
type.
Authentication: the process of identifying an individual, usually based on a username and
password.
Azure: a Content Distribution Network run by Microsoft that allows you to build, deploy, and
manage applications globally.
Campaign filter: allows campaigns to display based on criteria that are chosen by the user.
Campaign search: searching for the content of a campaign (content browsing).
Content distribution network (CDN): a large system of servers that allows for faster and more
efficient delivery of content to end-users.
Contributor: has the ability to read, write, and edit content.
Customize: changing or altering to fit current needs.
Database: a collection of information organized in a manner which allows for efficient retrieval.
Dynamic messaging: the use of variable content to fill particular sections of an email message.
Drupal: a Content Management System that allows for easy organization, management, and
publishing of content, with an endless variety of customization.
ECMS: Email content management system.
6
LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
7
Email campaign: a single instance of an email sent to a list of email addresses. Campaigns may
include multiple sends and messages.
Email client: a computer program used to access and manage a user’s email.
Email header: opening identification data in an email message, usually consisting of to and from
email addresses, email subject and IP-level tracking information.
Email marketing: usually done by a company to directly market a commercial message for
promotional or notification purposes to a group of consumers through the use of email.
Email message: a single email received to an email address within a campaign. A message
contains two versions of the delivered content; HTML and plain text.
ESP: Email service provider.
Exact target: a provider of data driven marketing solutions for email content creation and list
management.
HTML email: a not well defined markup language that can sometimes have differing results
depending on the email client in which it is viewed in. Some email clients do not support
HTML Email at all.
Integrated development environment (IDE): software that provides streamlined and integrated
facilities for software development.
Integrative: combining or unifying.
Litmus: a company that allows for the rendering and testing of email across various email clients.
Metadata: is descriptive data about campaigns and images that can be used to search for
content.
Multipart alternative: an email that includes both an HTML and text version. The email client
determines which version to display.
LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
8
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: characteristics given by users or network administrators that prevent or allow
access to files on a computer network.
Responsible, accountable, consulted, informed (RACI) chart: Displays the various roles and
responsibilities required in completing tasks for a project or business process.
Simple mail transfer protocol (SMTP): an Internet protocol for sending and receiving email
messages.
Version control: a system to record changes that are made to a campaign.
Web application: a program that is accessed over the Internet usually through a web
browser. This allows the application to be used on multiple platforms.
Web server: the hardware or software that helps deliver web content and can be accessed through
the Internet.
Workflow: a series of connected steps to complete a process.
1.4 References
Applegate, B., (2013). Email Testing Software for Marketo Users. LeadGen Monitor. Retrieved
from http://www.leadgenmonitor.com/reviews/email-testing-software-for-marketo-users/
Balegno, S., Doyle, J., Rice, J. (2010). 2011 Marketing Sherpa Email Marketing Benchmark
Report. Marketing Sherpa. Retrieved from
http://www.marketingsherpa.com/2011EmailBMR_ExecSummary_Final_101110.pdf
Dries Buytaert. (2013). Drupal – Open Source CMS. Retrieved from http://www.drupal.com/
Email on Acid. (2013). Email On Acid - Email Testing and Email Preview. Retrieved from
http://www.emailonacid.com/contact/
LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
EmailReach.com. (2013). Email Reach - Email Delivery and Spam Filter Testing. Retrieved
from http://www.emailreach.com/
Exact Target, Inc. (2013). Exact Target – Email Marketing and Cross Channel Marketing.
Retrieved from http://www.exacttarget.com/
J2 Global. (2013). Campaigner - Email Marketing Made Easy. Retrieved from
http://www.campaigner.com/
Merkle Inc. (2011). View from the Digital Inbox 2011. Merkle.com. Retrieved from
http://www.jonrognerud.com/docs/Merkle_Digital_Inbox_2011.pdf
Radicati, S., Buckley, T. (2012) Email Market, 2012-2016. The Radicati Group, Inc. Retrieved
from http://www.radicati.com/?p=8963/
Salted Services, Inc. (2013). Litmus - Email Testing and Email Marketing Analytics. Retrieved
from https://litmus.com/
Schwartz, D. (2011). ROI Comparison Across Media Channels - Email Winds by a Landslide.
SOS Emarketing. Retrieved from http://www.sosemarketing.com/2011/11/15/roicomparison-across-media-channels-email-marketing-wins-by-a-landslide/
1.5 Overview
This document covers the features, capabilities, hardware, software and external
interfaces as they will be implemented in the EmVi prototype. The remainder of this paper will
describe these areas in greater detail. Differences between this version of the system and the
theoretical ‘full-featured’ final version will be noted where applicable.
(This space intentionally left blank.)
9
LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
10
2. Detailed description of EmVi
While the real world deployment of EmVi could theoretically be spread over several
servers to allow for scaling in high demand work environments and support multiple third party
service provider interfaces, the prototype will be much more modest in scope. Limitations in the
prototype's implementation will be chosen to balance the restricted development time against the
need to implement enough features to show a functional proof of concept. The design, however,
will be modular and well defined to allow for easier future expansion should the prototype prove
to be a compelling and worthwhile real world application to pursue.
2.1 Prototype Architecture Description
The prototype will be constrained to a single virtual machine with only one third-party
service provider interface implemented for each area. Hardware for hosting the prototype
application server, database and SMTP server will be provided by the ODU Computer Science
Systems Group. Rather than provide a dedicated server, the EmVi team will be issued a virtual
machine. The proposed development setup is illustrated by the MFCD in Figure 1.
(This space intentionally left blank.)
LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
11
Figure 1. Prototype Major Functional Component Diagram
Development will utilize a number of third-party, open source software solutions. The
most likely integrated development environment (IDE) is Eclipse due to its vibrant developer
community and the multitude of available plugins to expand its capability. The primary language
for development purposes will be PHP. Version control of the source code will be managed
through a Git repository on GitHub. The database backend will utilize MySQL and the web
server will be Apache.
The task of rendering preview images will be outsourced to a company that specializes in
this field. Through the use of their API, preview image generation will be done remotely and the
final results will be brought into EmVi for review and approval. As a safety fallback in case of
third party downtime, an SMTP interface will also be built into EmVi so that test messages can
be sent out and rendered manually.
LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
12
2.2 Prototype Functional Description
Four levels of users exist within the hierarchy of EmVi. At the highest level is the system
administrator. This user is responsible for administration and configuration of EmVi and has
overall control of user accounts. The accounts responsible for interacting with the email
workflows are the contributor, the approver and the campaign administrator. Contributors are
capable of adding and deleting material from campaigns they have been assigned as well as
requesting that they enter the testing cycle. Administrators are capable of creating and deleting
campaigns, adding and removing contributors, initiating testing cycles and forwarding assets on
to approvers for review. Reviewers are then able to approve campaigns for distribution or send
them back for further modifications.
A login page will greet all personnel the first time they access the EmVi homepage.
Already registered users may authenticate with the system for further access while non-registered
users may request account creation. Requests for accounts will be forwarded to the appropriate
system administrators for review and approval. Once an account is activated, EmVi will notify
the requestor through the email address that is on file for that user.
Once an email campaign is ready to be previewed, testing deployment will be initiated
from the EmVi user interface. This action uploads any graphic based content to the selected
CDN, retrieves image links for this uploaded content, replaces the placeholder local links in the
email’s HTML with the CDN links, and then sends a test email to the selected test rendering
service. When all of these actions have been completed, the user initiating the testing cycle is
notified.
While there are multiple third parties that provide email preview rendering services, only
one will be supported in the EmVi prototype. The implementation of this interface will be well
LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
13
abstracted and documented to allow for the easy implementation of additional providers at a later
date. EmVi’s SMTP interface will allow for manual testing if the use of third party service is
either not available or not desired.
2.3 External Interfaces
At its core, EmVi is a set of hosted services and servers with a web user interface that
interacts with various outlying systems. The major functional component diagram in Figure 2
illustrates this centralized approach. Third party interactions radiate out from the hub that is
EmVi.
Figure 2. External Interface Diagram
The various third party services and systems shown in Figure 1 will vary upon a
particular organization’s configuration. APIs for various CDNs and email test rendering services
will be implemented to provide maximum flexibility for deployment. Because EmVi will serve
as a layer of abstraction between these services, operations will be the same no matter which
LAB 2 - EMVI PROTOTYPE PRODUCT SPECIFICATION
14
supported third party is utilized. If the CDN and email previewing is not required, then EmVi can
also be deployed as simply a version control and approval tracking system.
EmVi’s web-based user interface is hosted on an Apache web server. Access to the
various sub-modules of the user interface will be restricted by a login authentication system. The
algorithms running underneath this UI will be programmed in PHP and all email campaign assets
will be stored in a MySQL database. Because EmVi is a hosted application with a web browser
based interface, the scale of the hardware on the backend will have no obvious impact with how
a user interacts with the system; big or small, each installation will appear the same from the
front end.
The task of rendering preview images will be outsourced to a company that specializes in
this field. Through the use of their API, preview image generation will be done remotely and the
final results will be brought into EmVi for review and approval. As a safety fallback in case of
third party downtime, an SMTP interface will also be built into EmVi so that test messages can
be sent out and rendered manually.
(This space intentionally left blank.)
Download