V3 - Richard Truchanowicz - ODU Computer Science

advertisement
Running head: LAB 1 – EMVI PRODUCT DESCRIPTION
1
Lab 1 – EmVi Product Description
Team Orange
Richard Truchanowicz
CS411W
Janet Brunelle
October 1st, 2013
Version 3
TABLE OF CONTENTS
1. INTRODUCTION ...................................................................................................................... 2
2. EMVI PRODUCT DESCRIPTION ............................................................................................ 3
2.1. Key Product Features and Capabilities ............................................................................ 4
2.2. Major Components (Hardware and Software) ................................................................. 5
3. IDENTIFICATION OF CASE STUDY ..................................................................................... 7
4. EMVI PROTOTYPE DESCRIPTION ....................................................................................... 8
4.1. Prototype Architecture (Hardware and Software) ............................................................ 9
4.2. Prototype Features and Capabilities ............................................................................... 11
LAB 1 – EMVI PRODUCT DESCRIPTION
2
4.3. Prototype Development Challenges ............................................................................... 12
Glossary ........................................................................................................................................ 13
References ..................................................................................................................................... 16
LIST OF FIGURES
Figure 1. Real Word Major Functional Component Diagram ........................................................ 6
Figure 2. Prototype Major Functional Component Diagram
91.
INTRODUCTION
Email marketing campaigns are big business and great investments for the companies
utilizing them. They are so cost effective to design that some companies report earning as much
as $40 back from every single dollar spent (Schwartz, 2011). With so much money on the table,
it is not hard too see why email 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 much to be desired.
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 split over multiple departments. The process of creating marketing email content
and testing across all emails clients is time consuming and complicated.
LAB 1 – EMVI PRODUCT DESCRIPTION
3
To combat this 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 around in zip files for review. Approval
tracking should be folded into and automated as part of this 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 management system that streamlines the development and testing process so
designers can perform end-to-end testing independently. This solution is called the Email
Viewer, or EmVi for short.
(This space intentionally left blank.)2. EMVI PRODUCT
DESCRIPTION
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
LAB 1 – EMVI PRODUCT DESCRIPTION
4
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 images.
2.1. Key Product Features and Capabilities
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 which divide the job of delivering images across multiple distribution points to
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.
LAB 1 – EMVI PRODUCT DESCRIPTION
5
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.
(This space intentionally left blank.)2.2. Major Components (Hardware and
Software)
LAB 1 – EMVI PRODUCT DESCRIPTION
6
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 1
illustrates this centralized approach. Third party interactions radiate out from the hub that is
EmVi.
Figure 1. Real Word Major Functional Component Diagram
The exact number of servers and specific hosting hardware required in the real world will
depend on the scale of the operation deploying EmVi. For an organization to host their own
instance of EmVi, they will require a server capable of running the web server for the front end,
the database for storing the email files, and an SMTP server for dispatching the test messages. A
small organization could host all of EmVi services on one server while a multibillion-dollar
corporation might require each service have its own dedicated hardware.
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
LAB 1 – EMVI PRODUCT DESCRIPTION
7
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
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.
(This space intentionally left blank.)3. IDENTIFICATION OF CASE
STUDY
The original impetus for EmVi came from Keith Walsh, a development lead for email
marketing at Microsoft. Frustrated by the inefficiency seen with the non-integrated nature of the
tools being used in his workplace, he pitched the initial proposal for EmVi to the Spring 2013 CS
410 class at Old Dominion University (ODU). Rather than reinvent the front or the back end of
LAB 1 – EMVI PRODUCT DESCRIPTION
8
the process, he sought to streamline and integrate the middle of his company’s current workflow.
Additionally, he wanted to empower the creative personnel doing the actual development of the
marketing assets by providing them the means to test their assets completely within their
department.
Supporting and guiding the EmVi development team is a host of seasoned professors,
software developers and email marketing veterans. The team’s ODU faculty mentor is Professor
Steven Zeil. Additional email marketing insight is being provided Dana Rambo of Microsoft and
Sara Johnson of A Touch of Tech. Professional web development and programming knowledge
is being augmented with the insights of Ryan Ward from SimIS.
(This space intentionally left blank.)
4. EMVI PROTOTYPE DESCRIPTION
The prototype for EmVi will closely match the final product as previously described.
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 constrained to a single virtual machine with only one
third party service provider interface implemented for each area. The design will be modular and
well-defined to allow for easier future expansion to additional third party service providers.
LAB 1 – EMVI PRODUCT DESCRIPTION
9
4.1. Prototype Architecture (Hardware and Software)
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 stand alone
dedicated server, the EmVi team will be issued a virtual machine. For developing the prototype
system, resource needs will be modest and the development team should only require one
instance of a virtual machine. The proposed development setup is illustrated by the MFCD in
Figure 2.
(This space intentionally left blank.)
LAB 1 – EMVI PRODUCT DESCRIPTION
10
Figure 2. Prototype Major Functional Component Diagram
Despite looking vastly different than the real world MFCD as shown previously in Figure
2, the interactions and data flows have remained relatively the same. The large change in
appearance comes from explicitly detailing the system level configuration for this specific
deployment. Larger setups could potentially be spread across multiple servers or utilize
additional third party service providers for flexibility and redundancy.
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. The database backend will utilize MySQL and the web server will be
Apache based.
LAB 1 – EMVI PRODUCT DESCRIPTION
11
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.
4.2. Prototype Features and Capabilities
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 primarily concerned with interacting with email
campaigns are the contributor, the administrator and the approver. Contributors are capable of
adding and deleting material from campaigns they have been assigned as well as requesting that
campaigns they are working on enter the testing cycle. Administrators are capable of creating
and deleting campaigns, adding and removing contributors from campaigns, sending campaigns
off for testing and forwarding campaigns on to approvers for review. Reviewers are then able to
approve campaigns for distribution or send campaigns 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
LAB 1 – EMVI PRODUCT DESCRIPTION
12
email’s HTML with the CDN links, and then sends a test email to the selected test rendering
service.
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
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.
4.3. Prototype Development Challenges
Every software engineering project represents its own unique set of development
challenges. EmVi is no different. By identifying these issues early, appropriate measures can be
taken to reduce or altogether avoid such complications.
Security is of the utmost concern. Marketing campaigns in development contain sensitive
corporate information and must be kept well guarded. To ensure that EmVi is a robust and secure
solution, well proven security frameworks will be utilized and industry standard best practices
will be enforced.
Version control is at the heart of EmVi’s campaign management system. It must be
robust enough to deal with multiple users working on the same pool of resources while tracking
any and all changes. To ensure that the version control system never looses data, a robust and
stringent access control system must be implemented to avoid conflicts in reading and writing to
the data store.
Scaling is a concern, especially once EmVi leaves the prototype phase and is utilized by
large scale organizations. If the system bogs down under heavy load, then it will essentially be as
inefficient as the workflow that came before it. To avoid this, massively large scale stress testing
LAB 1 – EMVI PRODUCT DESCRIPTION
13
will need to be conducted with the prototype. Bottlenecks in the design can then be identified
and more efficient implementations can be devised.
Any organization moving to EmVi will have to pay the associated cost that comes from
learning and implementing a new tool and workflow. To minimize the transition impact, EmVi
will need to be well-designed from a user interface perspective and well-documented so that
personnel come get up to speed with quickly. Video tutorials and sample data sets to practice
with are two possible solutions for enhanced training.
Finally, system maintenance is another risk associated with adopting EmVi. Since this
product is being developed as a one semester school project, there will be no team dedicated to
supporting it. All future bug fixes and upgrades to the system will be the responsibility of the
open source community utilizing the tool. To ensure that this group can take up the mantle of
support, EmVi’s design must be well documented for easy turnover.
(This space intentionally left blank.)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.
LAB 1 – EMVI PRODUCT DESCRIPTION
14
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.
Email campaign: a single instance of an email sent to a list of email addresses. Campaigns may
include multiple sends and messages.
LAB 1 – EMVI PRODUCT DESCRIPTION
15
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.
Open source: is computer software made available publicly and free of charge.
Outsourcing: the contracting of internal business processes to a third party organization.
LAB 1 – EMVI PRODUCT DESCRIPTION
16
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.
(This space intentionally left blank.)
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
LAB 1 – EMVI PRODUCT DESCRIPTION
17
http://www.emailonacid.com/contact/
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/
LAB 1 – EMVI PRODUCT DESCRIPTION
(This space intentionally left blank.)
18
Download