Running Head: Lab 1 – EMAIL CONTENT MANAGEMENT SYSTEM 1

advertisement
Running Head: Lab 1 – EMAIL CONTENT MANAGEMENT SYSTEM
Lab 1: EMAIL CONTENT MANAGEMENT SYSTEM
Team Orange
Keith Walsh
CS411W
Professor Brunelle
October 1, 2013
Version 3.0
1
EMAIL CONTENT MANAGEMENT SYSTEM
TABLE OF CONTENTS
1.
INTRODUCTION .............................................................................................................. 3
2.
PRODUCT DESCRIPTION ............................................................................................... 4
2.1
Key Product Features/Capabilities ...................................................................................... 4
2.2
Major Components (Hardware/Software)........................................................................... 5
3.
IDENTIFICATION OF CASE STUDY ............................................................................. 8
4.
EMVI PROTOTYPE DESCRIPTION ............................................................................... 9
4.1.
Prototype Features/Capabilities .......................................................................................... 9
4.2.
Prototype Developmental Challenges ............................................................................... 10
4.3.
Risk Mitigation ................................................................................................................. 10
5.
GLOSSARY ..................................................................................................................... 12
6.
REFERENCES ................................................................................................................. 14
TABLE OF FIGURES
Figure 1: Hardware Requirements .................................................................................................. 5
Figure 2: Software Requirements ................................................................................................... 6
Figure 3: Third-Party Integrations .................................................................................................. 7
2
EMAIL CONTENT MANAGEMENT SYSTEM
1. INTRODUCTION
Email marketing is the most cost-effective way for businesses to talk to their customers.
This assertion is backed up by a number of studies, and though many of these studies are
commissioned by industry groups or businesses that have a vested interest in marketing email,
the numbers of marketing emails sent per year confirms this loud and clear. According to
Pingdom, a blog that tracks Internet activity numbers year over year, the number of non-SPAM,
non-essential emails sent per day in 2012 was approximately ten billion, or more than three
trillion sent for the full year (Pingdom, 2013). Furthermore, return on investment (ROI) figures
have been estimated to be greater than 4,000% ($40 returned for every $1 invested) (SOS
Emarketing, 2011).
The resources applied to commercial email marketing by corporations is tremendous,
both in terms of sending and receiving. Email service providers (ESPs) exist for both companies
who are marketing via email, some of the biggest being IBM, Experian and ExactTarget, and end
users, who are catered to by the likes of Google, Yahoo, Facebook and Microsoft.
However, despite the efforts made by companies that supply marketing email services,
the process of creating, storing and testing email content remains mostly inefficient. To address
this opportunity, the Fall 2013 CS411W Orange team is endeavoring to create a solution,
provisionally named “EmVi” for “Email Viewer,” to store, retrieve, review and test email
content all in one place. The goal for the solution is to provide a simple and automated way to
ensure that email functions well across all major email clients, in all major browsers and on all
major operating systems.
(This space intentionally left blank.)
3
EMAIL CONTENT MANAGEMENT SYSTEM
2. PRODUCT DESCRIPTION
EmVi will be a stand-alone, web-based system. Its primary features will be email content
storage and a workflow management system. It will also contain two key integration points with
third-party products: a means of easily adding images to a content distribution network (CDN)
and a way to view email content across the major email clients through and email preview
service. CDN integration will include at least one of the three major cloud services—Akamai,
Amazon Web Services (AWS) and Microsoft Azure; content viewing will be made possible via
an application programming interface (API) proxy which will allow integration with Litmus or
Email on Acid.
The intended users of EmVi will be Web designers and developers who are involved in
creating HTML content for email campaigns. It will allow them to manage content up to the
point where they can say it is ready for release to customers. The largest benefit the product will
provide to organizations will be reducing the time it takes to view and approve commercial email
content.
Most email marketing systems provided by the major outbound ESPs does include
preview features, but in general they provide only final checks at the very end of the production
process. Thus, when those features are used, changes to content are last minute and often result
in delays or mistakes. The goal of EmVi is to prevent last-minute changes by giving each user
the ability to preview the content they are working on.
2.1 Key Product Features/Capabilities
The primary feature of EmVi is content management. HTML and text content are either
produced inside the tool using a built-in text editor or produced outside of the tool and uploaded
into it. Once in the tool, all associated files can be associated with a campaign and tagged with
4
EMAIL CONTENT MANAGEMENT SYSTEM
metadata such as launch date, campaign name and keywords. The secondary feature will be a
workflow component, where reviewers are assigned to each campaign and must sign off with
approval before the campaign can be launched. Together, these features will create a streamlined
content production and review process. Email designers can perform end-to-end testing on their
content and ensure that it looks good in all email clients before handing it off for deployment.
2.2 Major Components (Hardware/Software)
Hardware components for EmVi are simple. The prototype will be hosted on a virtual
machine in the Old Dominion University Computer Science Computing Laboratory (ODS CS
Lab) (Figure 1). The machine requirements are, at minimum, one core CPU with 1.75 gigabytes
RAM and 70 GB physical storage. The EmVi application itself will not include any development
servers; each developer will maintain a mirrored environment where they choose and share
updates via the version control software.
FIGURE 1: HARDWARE REQUIREMENTS
5
EMAIL CONTENT MANAGEMENT SYSTEM
The EmVi solution will run on top of what is commonly known as the LAMP stack
(Figure 2). The operating system will be Ubuntu, an operating system that runs on the Linux
kernel. The software required for the application is Apache to run the Web interface, PHP for
run-time code compilation and execution and MySQL for data storage and retrieval. A version of
SMTP will be used to send email. For version control, the developers on the project will use Git
and Github.com. And finally, for the application layout, an open-source template called Metro
UI will be used.
FIGURE 2: SOFTWARE REQUIREMENTS
The nature of mass email is that when a campaign is mailed it often causes a spike in
HTTP requests to web servers hosting remote content, potentially causing slow server response
times and even server crashes (Healy, 2009). As such, it is an industry best practice to host
6
EMAIL CONTENT MANAGEMENT SYSTEM
images where high traffic can be accommodated. CDNs have two qualities that make them ideal
for this job: 1) high availability, meaning the Web servers are reliable to very close to 100% of
the time, and 2) sensors that allow them to serve images from data centers geographically close
the user who makes the request. Commercial CDNs provide content upload features through user
Web pages as well as application programmer interfaces (APIs). The latter can speed up the
process for publishing images tremendously and allow users to do so directly from their own
toolset. CDN API integration will be a key feature of EmVi.
The other key API integration will be with third-party email preview tools. The two
industry leaders in this area are Litmus and Email On Acid, both of which require subscription
fees and provide their own Web interfaces. EmVi will allow users to access one or both of these
products in a straightforward way. The two external API integrations are depicted in Figure 3.
FIGURE 3: THIRD-PARTY INTEGRATIONS
7
EMAIL CONTENT MANAGEMENT SYSTEM
3. IDENTIFICATION OF CASE STUDY
The proposal for this product was made by Keith Walsh, who leads a software
development team focusing on email marketing at Microsoft. The team uses an enterprise level
CRM system call Epiphany Marketing to handle outbound marketing email. His team identified
a gap in the marketplace between creative agencies, who create email content, and list email
deployment tools.
The tool set his team requires is one that can be used by the creative agency prior to
sending completed content to the campaign building team. This tool will allow those users to
fully test all aspects of an email independently and reduce the number of handoffs in
responsibility in order to speed up the deployment process. Stakeholders in the process are the
marketers, who are responsible for the overall campaign strategy and performance, the creative
agency, who develops content, and the deployment team, who manages the customer list pull and
attaches content to a campaign in Epiphany.
(This space intentionally left blank.)
8
EMAIL CONTENT MANAGEMENT SYSTEM
4. EMVI PROTOTYPE DESCRIPTION
EmVi will be a Web-based application, with the prototype being installed on ODU
equipment. The goal is to produce a tool that streamlines and tracks the content approval process,
reduces errors in the testing and development process and decreases the time it takes to go from
creative development to fully finished product. The most fundamental aspect of the solution will
be the Web interface, which will provide security features and a user-friendly experience. The
design will be modern and adapt well to multiple device types: PCs, tablets and phones.
4.1 Prototype Features/Capabilities
The application will include a self-service registration process that will trigger an email
to the application administrator. That administrator will be responsible for returning to the tool
and approving access for the user as well as assigning the appropriate permission level. There
will be two permission levels: User and Administrator. The only difference between the two user
levels will be that the Administrator permission allows users to update the accounts of other
users.
Any user will be able to create a campaign and create content. Campaigns and content
will exist in the system independently so that a content file can be applied to multiple campaigns.
When a user creates content, they can choose to add a file or create a file. Adding a file will lead
them through a process of uploading a file from their desktop; creating a file will take them to a
browser-embedded text editor.
If the content they have created is an image, they can choose to push that image to a
CDN. For CDN content, they will be given the opportunity to set date boundaries for campaign
start and end in order to allow them to manage CDN hosting costs. Once an image content is
posted to the CDN, the URL for the hosted image will be displayed by the tool.
9
EMAIL CONTENT MANAGEMENT SYSTEM
10
For content testing, users will be able to perform two things: a sample email send to a list
of email addresses and the ability to push to an API provided by one or more of the leading
products for email rendering on the market today. For both, the user will have to leave the EmVi
application to view the results of the email send. There will be no automated process for viewing
layout.
4.2 Prototype Developmental Challenges
The scope of this project is very large, as the application will contain many dependent
components. The largest challenge will be in organizing the development project for success. A
potential second challenge will be in scaling the application appropriately. It will be expected to
store many image and content files for email campaigns, and it also must send and retrieve a
tremendous amount of data.
For campaign and content access, security is a big concern. Campaign and content work
is often considered privileged information prior to an email campaign launch, so the challenge of
locking down access is paramount. As well, version control with content is a potential challenge,
as users need to be confident that the changes they make will be retained.
4.3 Risk Mitigation
In order to ensure the development process succeeds, the EmVi application will be
divided into free standing modules as much as possible. Each member of the development team
will be assigned two modules: one as developer, the other as tester. This will ensure
accountability as well provide everyone with a certain degree of oversight and backup. The
potential issue of scale may be problematic, as the prototype environment is entirely under the
control of the ODU CS department. However, an integration environment will be in service for
EMAIL CONTENT MANAGEMENT SYSTEM
pre-production and will allow performance testing prior to the code being pushed to the
production server.
Security will be addressed through some global features. All modules for the application
will be coded in object-oriented fashion so that the developers most familiar with them will
handle implementation. In this way, the functions associated with user access and content
security will be secure. Finally, for version control, the solution will incorporate a locking
mechanism that will allow only a single user write access at a time. This will be created within
the workflow mechanism, and will guarantee that no saved changes are overwritten except in
expected circumstances.
(This space intentionally left blank.)
11
EMAIL CONTENT MANAGEMENT SYSTEM
12
5. GLOSSARY
Access Control: Security features that control who can access resources in the operating
system, selective restriction.
Administrator (Admin): An application user who as the ability to create and remove
new contributors as well as restrict their access.
API: Application Programming Interface. A way for developers to access features in an
application within another program.
Approval Chain: The series of steps necessary for an email to be authorized and
distributed.
Authentication: The process of identifying a user, usually based on a username and
password.
Azure: Microsoft’s Cloud Compute business. Provides remote tools for building,
deploying and managing applications and databases as well as Web hosting. One feature is a
CDN.
Content Distribution Network (CDN): A network of servers that contain the same
image or other web content which can detect a user’s location and deliver that content over the
Internet from the one closest to them.
Database: A storage and retrieval system for information that is organized for efficient
retrieval.
Email Campaign: A single instance of an email sent to a list of email addresses.
Email Client: A program used to access and manage a email. May be a run locally or
remotely.
Email Header: The data that appears at the very top of an email message, usually
consisting of to and from email addresses, email subject and IP-level tracking information.
Email Marketing: The practice of sending email messages for promotional or
informational purposes, usually done by a company to encourage a transaction.
Email Message: A single email sent to an email address within a campaign. A message is
usually formatted as a multipart alternative message, which includes an HTML and text file.
Email Service Provider (ESP): Company that supplies a service having to do with
email. Most often used to refer to companies that send email on behalf of other companies but
can also be used to refer to companies that host mailboxes for consumers.
EMAIL CONTENT MANAGEMENT SYSTEM
HTML Email: Email formatted with HTML tags in order to provide the same rich
experience of a Web browser. Some email clients do not support HTML email.
LAMP: Abbreviation for Linux, Apache, MySQL and PHP. One of the most common
open-source tool combinations for building application.
Linux: An open-source computer operating system.
Litmus: A company that provides email rendering and testing capabilities.
Metadata: Descriptive data about campaigns and images that can be used to search for
content.
Multipart Alternative: A formatting convention in email that includes both an HTML
and text files separated by a specified delimeter. The email client determines which version to
display.
Open Source: Computer software made available to the public free of charge but with
certain usage limitations.
Permissions: Attributes provided by an application to specific folders, files or programs
that allow or restrict a user’s ability to access them.
Simple Mail Transfer Protocol (SMTP): Internet protocol for sending and receiving
email messages.
SPAM: Unsolicited commercial email that is not wanted by the end user. SPAM is often
characterized by huge volumes of indiscriminate sends and deceptive messaging.
Version Control: A system designed to prevent one user’s changes to a file from
overwriting another’s.
Web Application: An application that is accessed over the Internet, usually through a
web browser or through a Web API.
Web Server: The hardware and software that deliver Web content.
Workflow: A series of connected steps to complete a process
(This space intentionally left blank.)
13
EMAIL CONTENT MANAGEMENT SYSTEM
6. REFERENCES
Healy, Chris. (2009, July 27). Not Host Your Email Images on Your Web Server [blog
post] Retrieved from http://www.theemailguide.com/email-marketing/research-and-reports/donot-host-your-email-images-on-your-web-server/.
Schwartz, David. (2011, November 15). ROI Comparison Across Media Channels –
Email Marketing Wins by a Landslide [blog post] Retrieved from
http://www.sosemarketing.com/2011/11/15/roi-comparison-across-media-channels-emailmarketing-wins-by-a-landslide/.
Internet 2012 in Numbers. (2013, January 16). Retrieved from
http://royal.pingdom.com/2013/01/16/internet-2012-in-numbers/.
14
Download