EmVi Product Specifications - ODU Computer Science

advertisement
Running Head: Lab 2 - Prototype Product Specification for EmVi
Lab 2: PROTOTYPE PRODUCT SPECIFICATION FOR EMVI
Team Orange
Keith Walsh
CS411W
Professor Brunelle
December 5, 2013
Version 2.0
1
Prototype Product Specification for EmVi
2
TABLE OF CONTENTS
1
Introduction ..................................................................................................... 3
1.1
Purpose.................................................................................................... 4
1.2
Scope ....................................................................................................... 5
1.3
Definitions, Acronyms, and Abbreviations ............................................ 7
1.4
References ............................................................................................... 9
1.5
Overview ................................................................................................. 9
2
General Description ........................................................................................ 9
2.1
Prototype Architecture Description ...................................................... 11
2.2
Prototype Functional Description ......................................................... 12
2.3
External Interfaces ................................................................................ 14
3
Specific Requirements .................................................................................. 15
Table of Figures
Figure 1-1 Current Marketing Email Process ..................................................................... 5
Figure 1-2 Proposed EmVi Testing Cycle .......................................................................... 6
Figure 2-1 EmVi Site Map ................................................................................................ 10
Figure 2-2. EmVi Prototype Architecture Diagram. ........................................................ 12
Figure 2-3. EmVi Prototype Functional Diagram............................................................. 14
2
Prototype Product Specification for EmVi
1
3
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 it. According to
Pingdom, a blog that tracks Internet activity numbers year over year, the number of nonSPAM, 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 are
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
3
Prototype Product Specification for EmVi
4
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.
1.1 Purpose
EmVi is a web-based content management system specifically designed for email
marketing. Its purpose is to help marketing departments and creative agencies manage the
process of creating, testing and approving email content. EmVi targets medium to large
businesses whose marketing departments want to be highly involved in the process of
creating marketing emails and whose broadcast tools are managed by separate teams of
database analysts.
The primary function of EmVi is content management. HTML and text content
are produced either inside the tool using a built-in text editor or outside of the tool and
uploaded into it. Once in the tool, all necessary files can be associated with a campaign
and tagged with metadata such as launch date, campaign name and keywords. The
secondary function will be workflow, where reviewers are assigned to each campaign and
must sign off with approval before the campaign can be launched. Together, these
features will add up to a streamlined content production and review process. Email
designers can perform end-to-end testing on their content and ensure that it looks correct
in all email clients before handing it off for deployment.
EmVi will not be a campaign deployment tool. It will not contain actual customer
data such as email addresses and will send email other than as tests for rendering. The
4
Prototype Product Specification for EmVi
5
final output of EmVi, in the form of HTML and text documents, can be used in any major
email campaign system.
1.2 Scope
The prototype of EmVi is designed to streamline and track the content approval
process, reduce errors in the testing and development process and decrease the time it
takes to go from creative development to final, approved email content. Figure 1-1
illustrates the current process at Microsoft. The outlined portion of the process will be
what EmVi will address.
Figure 1-1 Current Marketing Email Process
5
Prototype Product Specification for EmVi
6
Figure 1-2 illustrates how the entire content creation and approval process is
contained within the creative portion. The marketing team will no longer have to transfer
content to the operations team each time it wants to review it in an email client. Instead,
with EmVi, the operations team will receive content that has been fully tested and
approved.
Figure 1-2 Proposed EmVi Testing Cycle
6
Prototype Product Specification for EmVi
7
The fundamental aspect of the solution will be the web interface, which will
provide security features and a user-friendly experience. It will include two user roles: an
administrator and regular user. That administrator will be responsible for approving
access requests as well as performing support requests such as removing users and
resetting passwords. The 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 is an image, the user can choose to push that image to a content
distribution network (CDN). This will provide fast access to that image when recipients
open their email. Once that image content is posted to the CDN, the URL for the hosted
image will be displayed by the tool so that the user can update the HTML content with it.
For content testing, users will be able to perform a sample email send to a list of
email addresses and the push to an API provided by one or more of the leading products
for email rendering. 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.
1.3 Definitions, Acronyms, and Abbreviations
Amazon Web Services (AWS): Amazon.com’s cloud compute business. Provides low
cost remote server access on demand.
Application Programming Interface (API): A way for developers to access features in an
application within another program.
7
Prototype Product Specification for EmVi
8
Azure: Microsoft’s Cloud Compute business. Provides remote tools for building,
deploying and managing applications and databases as well as Web hosting.
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.
Email Campaign: A marketing campaign sent to a particular group of customers or
prospects. An email campaign may include multiple versions of content and staggered
sending dates.
Email Client: A program used to access and manage email. May be a run locally or
remotely. Many popular email clients are embedded in commercial products such as
Yahoo and Google.
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 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.
LAMP: Abbreviation for Linux, Apache, MySQL and PHP. One of the most common
open-source tool combinations for building application.
Multipart Alternative (MPA): 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.
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.
User Interface (UI): The design for the application. Includes layout, page and site
organization, input forms and general navigational cues.
Version Control: A system designed to prevent one user’s changes to a file from
overwriting another’s.
Workflow: A series of connected steps to complete a process.
8
Prototype Product Specification for EmVi
9
1.4 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-andreports/do-not-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-channelsemail-marketing-wins-by-a-landslide/.
Internet 2012 in Numbers. (2013, January 16). Retrieved from
http://royal.pingdom.com/2013/01/16/internet-2012-in-numbers/.
1.5 Overview
This product specification document provides a high level description and user
interface descriptions for the EmVi prototype. The remainder of the document includes
functional requirements, database specifications and a detailed architectural description
of the solution. It also includes performance requirements and test plans in terms of
inputs, outputs and user interaction. The prototype will be a storage system that will
allow users to create, view, copy and remove content and control access to the content in
such a way that review processes can be performed. The specific requirements for the
application will be defined in the following sections.
2
GENERAL DESCRIPTION
The prototype for EmVi will focus on an intuitive user interface and a relationship
between campaigns, email and content that is simple to grasp and flexible to use. The
solution will provide three key features: 1) Workflow, allowing a campaign creator to
9
Prototype Product Specification for EmVi
10
assign review tasks to other users of the system, 2) Image publishing to CDNs, and 3) A
simple method for creating and viewing tests emails. The plan for this prototype is to
demonstrate a reduction in errors, cost and time in terms of getting an email from creation
to fully approved and ready to mail.
The prototype will provide a user interface that allows users to create and access
email files. It will also provide a system for managing work assignments and will track
the review process for every campaign using interactions with a MySQL database.
Different users will have different experiences in the application depending on their roles
and their work assignments. Figure 2-1, the site map, gives an overview of the
application’s user interface and where particular actions will take place.
Figure 2-1 EmVi Site Map
10
Prototype Product Specification for EmVi
11
2.1 Prototype Architecture Description
Figure 2-2 provides a high-level perspective of the software that will be used to
develop and run EmVi. The prototype will run on the Ubuntu operating system and will
be coded in PHP, HTML and JavaScript. The user interface will be based on the
Microsoft “Metro” design, which is made up of block-style navigation aids and clean
typography. The database will be MySQL. The primary considerations for software are
low cost and the development team’s facility with them. The application will run on a
virtual machine in the Old Dominion University Computer Science computer lab. The
prototype will simulate parts of the application that integrate with the third-party paid
services that provide CDN image hosting and email testing services.
(This space intentionally left blank.)
11
Prototype Product Specification for EmVi
12
Simulated CDN file
share
Web
Browser
EmVi Web Application
Running on a virtual
machine on CS ODU
network
Email Designer
File System
Version
Controlled
SMTP Server Running in
a virtual environment
On ODU CS network
My SQL
Database Running on
ODU CS Network
Simulated Email Simulated Email Simulated Email
previews for view previews for view previews for view
Simulated Data containing test
campaigns with links to
simulated CDN and Previews.
Figure 2-2. EmVi Prototype Architecture Diagram.
2.2 Prototype Functional Description
The major functional components of the EmVi prototype are depicted in Figure 2-3. They
include the following: user authentication, content creation, email and campaign creation,
workflow and CDN uploading.

User Authentication: A login feature provides security for the application,
preventing unauthorized users from viewing content in the system. It also
differentiates between an administrator, who has additional permissions, and a
standard user, who has access only to the mail tool set.
12
Prototype Product Specification for EmVi

13
Content Creation: A method for either uploading existing content from the user’s
desktop or creating a content file from scratch. Content will be stored locally in a
file system with all metadata (location, name, creator, etc.) in the database.

CDN Uploading: The capability of uploading images to a content distribution
network server. This is vital for images but will also be available for all content
types.

Email and Campaign Creation: Methods for attaching content to emails and
emails to campaigns. All email and campaign-related data will be stored in the
database. When content is attached to an email, access to modify that content will
be changed such that only the email owner can change it, and when an email is
attached to a campaign permissions will likewise change so that only the
campaign owner can update the email and content.

Email Previews: Any email can be viewed in the browser pane but can also be
sent to an email address of the user’s choosing. Both a text version and an HTML
version must be sent.

Workflow: The capability of having multiple users interact with a campaign,
tracking that they have accessed the campaign and approved the content.
13
Prototype Product Specification for EmVi
14
Figure 2-3. EmVi Prototype Functional Diagram.
2.3 External Interfaces
EmVi will be as a web application, providing user access through a browser. The
design will be responsive to browser re-sizing and adapt to small screens on tablets and
phones. There will be separate experiences for sign-in, site administration, content
creations and campaign workflow.
14
Prototype Product Specification for EmVi
15
2.3.1 Hardware Interfaces
EmVi does not require any hardware interfaces. The prototype is hosted on a
virtual machine in the ODU Computer Science Lab. It can be accessed via a browser over
the Internet.
2.3.2 Software Interfaces
The application is written in PHP using Eclipse and various other developer
applications. The MySQL database will be developed using PHPMyAdmin, a web-based
application for MySQL, as well as through the MySQL line command utility.
2.3.3 User Interfaces
Users interact with EmVi through a standard browser on a PC. Touch devices
such as tablets are supported. Users may create content files in any external application
and upload them into EmVi provided they conform to the formats specified within EmVi.
2.3.4 Communications Protocols and Interfaces
The application uses Apache as its web server. Apache employs the TCP/IP
protocol to serve web pages. For email test sends, EmVi utilizes the SMTP protocol
through Sendmail.
3
SPECIFIC REQUIREMENTS
(Section three was provided as a separate deliverable)
15
Download