Lab II - Product Specification Outline CS 411W Lab II

advertisement
Lab 2 – EmVi prototype product specification
Lab II - Product Specification Outline
CS 411W Lab II
Prototype Product Specification
For
EmVi
Prepared by: Yolanda Quinones, Orange Team
Date: Oct 21, 2013
Version 1.0
1
Lab 2 – EmVi prototype product specification
Table of Contents
1
Introduction ................................................................................................................. 1
1.1
Purpose................................................................................................................ 2
1.2
Scope ................................................................................................................... 3
1.3
Definitions, Acronyms, and Abbreviations ........................................................ 3
1.4
References ........................................................................................................... 6
1.5
Overview ............................................................................................................. 7
2
General Description .................................................................................................... 8
2.1
Prototype Architecture Description .................................................................... 8
2.2
Prototype Functional Description ....................................................................... 9
2.3
External Interfaces ............................................................................................ 11
List of Figures
Figure 1 EmVi Prototype Architecture Diagram ................................................................ 8
2
Lab 2 – EmVi prototype product specification
1
1 Introduction
The importance of email is evident in the number of active email accounts
worldwide; as of 2013 there were an estimated 3.5 billion. This number is projected to
increase at a rate of 11% per year. 63% of consumers check their email accounts at least
once per day. This shows that email is a relevant place for marketing teams to focus their
time. Email marketing provides a 4000% return on investment. That makes it the single
most lucrative type of marketing campaign. Over one billion dollars were spent on email
marketing campaigns in 2012, and 97% of companies that currently employ email
marketing have plans to either maintain or grow their email marketing budgets for fiscal
year 2013(Radicati Team, 2012).
The process used to create email content, campaigns, and to render the previews
is often times complicated and time consuming. The current workflow requires
collaboration between multiple departments, causing the majority of the time delays. This
process needs to be streamlined in order to decrease the amount of wasted man-hours and
increase the amount of productivity during the creation of campaigns. EmVi (Email
Viewer) will provide an integrative email marketing content management system that
will eliminate the need for multiple departments.
(This space intentionally left blank.)
Lab 2 – EmVi prototype product specification
2
1.1 Purpose
EmVi will allow for the development of campaigns to be streamlined. One department will
perform end-to-end testing, instead of multiple departments. In order to accomplish this goal,
EmVi will interface with a variety of preexisting tools through the use of application
programming interfaces (API). APIs will be utilized for the integration of a known content
delivery network (CDN), campaign preview tool, content management system (CMS), and a
what you see is what you get (WYSIWYG) editor.
EmVi will allow campaign content to be uploaded rapidly and saved into the system’s
database. Through the use of a campaign preview tool, campaigns can be viewed over various
combinations of web browsers and email clients. This will allow the creator of the campaign to
quickly correct any errors or discrepancies noted within the campaign. This will also permit
approvers to view the rendered campaign previews, allowing them to assess a campaign for
approval or rejection.
The goal of EmVi is to streamline email testing to enable rapid iterations on designs. This
goal will be accomplished through the implementation of an automated version control, an
approval chain, providing an interface for uploading images to the CDN, providing a preview of
campaigns, and allowing campaigns to be edited through a WYSIWYG editor. By streamlining
this process, EmVi will lessen time delays and allow for email campaign marketing tasks to take
place in house. Since only one department will be contributing to the email campaigns, it will
lead to a decrease in the amount of campaign errors and will reduce the costs associated with
development.
Lab 2 – EmVi prototype product specification
3
1.2 Scope
The EmVi prototype will be an Email Content Management System that will interface
with open source software through the use of APIs. The prototype will streamline the current
workflow, creating an easy to manage environment for the testing and development of email
marketing campaigns.
The goal of the prototype is to provide a model of how email testing can be restructured
to enable rapid iterations on designs. The prototype will demonstrate the functionality of an
automated version control, approval process, image uploads to the CDN, and display of email
previews. The prototype will show that a full-scale model allows for the reduction of errors,
reduction of costs, and allows for a decrease in time delays in the creation of email campaigns.
1.3 Definitions, Acronyms, and Abbreviations
Access Control- security features that control which users 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.
Lab 2 – EmVi prototype product specification
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.
Customize-changing or altering to fit current needs.
Database-a collection of information organized in a manner that 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.
4
Lab 2 – EmVi prototype product specification
5
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 that 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.
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.
Lab 2 – EmVi prototype product specification
6
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.
1.4 References
Quinones, Yolanda. (2013). Lab 1 – EmVi Product Description. Old Dominion University.
Department of Computer Science.
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
Lab 2 – EmVi prototype product specification
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-2016Executive-Summary.pdf
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/roicomparison-across-media-channels-email-marketing-wins-by-a-landslide/
1.5 Overview
This product specification provides the hardware and software configuration, external
interfaces, capabilities and features of the EmVi prototype. The information provided in the
remaining sections of this document includes a detailed description of the hardware,
software, and external interface architecture of the EmVi prototype; the key features of the
prototype; the parameters that will be used to control, manage, or establish that feature; and
the performance characteristics of that feature in terms of outputs, displays, and user
interaction.
7
Lab 2 – EmVi prototype product specification
8
2 General Description
The prototype of the EmVi product will focus on the design of a database to allow for the
creation and modification of email campaigns. It will provide access control for multiple users,
allowing for specified campaigns to be associated with multiple users and administrators. The
following sections will display the architecture, functionality, and interfaces of the prototype.
2.1 Prototype Architecture Description
The prototype will be hosted on a virtual machine on the ODU Computer Science
network, utilizing a LAMP suite. The LAMP suite will be further discussed in Section 2.3.2.
The members of the EmVi team will create the campaign data, it will be a simulation of real
campaign data. Figure 1 provides an illustration of the different components of the prototype.
Simulated CDN file
share
Web
Browser
Email Designer
EmVi Web Application
Running on a virtual
machine on CS ODU
network
File System
Version
Controlled
Simulated Email
Simulated Email
Simulated Email
previews for view previews for view previews for view
SMTP Server Running in
a virtual environment
On ODU CS network
My SQL
Database Running on
ODU CS Network
Simulated Data containing test
campaigns with links to
simulated CDN and Previews.
Figure 1. Prototype Major functional Component Diagram
The database, web application, and SMTP services will be ran on the virtual machine.
The prototype will be simulating the usage of a CDN, by storing campaigns to the database and
Lab 2 – EmVi prototype product specification
9
pulling campaigns from the database. The database will also utilize a git repository for version
control. The database will be managed utilizing MySQL. The web server software will include
an interface for email simple mail transfer protocol (SMTP), the webpage logic, an access
control system, database interface, and public APIs for functionality. The web application will be
coded through the use of a combination of HTML and PHP. PHP will provide the connection
between the database and web application.
The prototype will encompass the use of an API to create the rendered campaign
previews. These previews will be generated for a limited number of web browser and email
client combinations. It will also utilize an API for the integration of a known WYSIWYG editor,
to allow campaign creators the ability to edit campaign HTML or plain text. The prototype will
also allow for the storage and retrieval of images associated with campaigns through the use of
an API.
Development will be conducted separately through the use of LAMP systems installed on
individual team members personal computers. The modules of the prototype will be programmed
in discrete sections. The modules shall be stand-alone testable, as unit testing will be conducted
on each separately. The modules will also be integrated through a GIT repository into the
prototype. Once a part of the prototype, systems testing will be conducted to ensure the entire
system is effective.
2.2 Prototype Functional Description
The prototype will streamline the workflow, creating a more functional system for testing
email campaigns. The objectives of the prototype are to provide a web-based interface allowing
the modification of email campaigns. This interface shall incorporate the various user role
interfaces such as, contributor, approver, and administrator. The prototype shall provide the
Lab 2 – EmVi prototype product specification
10
ability for registered users to log in and new users to register. The database of the prototype shall
provide automatic version control; prove that the access control works and only assigned users
are allowed to perform the roles attached to their account. It will also provide an interface for the
viewing of rendered email campaigns.
The campaign administrator will have the ability to modify campaigns, delete campaigns,
add new users, modify existing user roles, and delete users. The campaign administrator has the
ability to add contributors to campaigns that they own and edit content. Approvers can approve
or reject campaigns waiting for approval. If rejected campaigns are sent back to contributor for
further editing. Campaign contributors have the ability to edit information in campaigns they are
assigned to and to copy campaign content from one campaign to another.
The prototype will have the ability to render test campaigns through different browsers. It
will also provide a backup for the email previews. This backup is provided in any case where the
previews are desired for a browser and web server combination that the prototype does not
provide preview services for. The prototype will allow an administrator to generate test emails
and send them to a specified list.
The prototype will allow for the testing of email content to be more efficient, by rendering
email campaigns across different email clients to find errors and inconsistencies. This will allow
campaign contributors the ability to utilize a WYSIWYG editor to quickly fix the errors and
redisplay the updated campaign previews. This sequence can be performed multiple times, until
the campaign contributor is satisfied with the output of the email previews.
(This space intentionally left blank.)
Lab 2 – EmVi prototype product specification
11
2.3 External Interfaces
External interfaces will be limited to standard PC hardware and freely available software.
The only custom interfaces will be the EmVi website. The following sections show the hardware
interfaces, software interfaces, user interfaces, and communications protocols.
2.3.1 Hardware Interfaces
Hardware interfaces will not be built for this prototype. An ODU classroom computer
will be utilized to allow a user to interface with the EmVi website via a virtual server on the
ODU network. The website and all associated software will be hosted on an ODU Windows
server. These components will interact with each other locally as well as across the ODU
network.
2.3.2 Software Interfaces
EmVi will be accessed via web browser by the use of a client-based virtual machine.
EmVI will use a Lamp (Linux, Apache, MySQL, and PHP) software bundle. These tool sets are
all open-source and work well together, they are also very scalable. This LAMP will be
customized to meet EmVi’s job specifications and needs.
EmVi will utilize the Ubuntu Linux operating system. The software for the web server
will be Apache; it will be used to deliver the web content that system users will retrieve through
the Internet. It will include an interface for email simple mail transfer protocol (SMTP), the
webpage logic, an access control system, database interface, and public APIs for functionality.
MySQL will be utilized to manage and secure the database. PHP (Hypertext Preprocessor) will
be the language utilized. It will be used for web development and will interact directly with the
Lab 2 – EmVi prototype product specification
12
HTML, which will be displayed to the systems users. PHP will also be the language used to
interact with the database.
EmVi will utilize third party applications. It will include an API for content delivery
network support, an API for the rendering of email campaigns, and an API for the WYSIWYG
editor. The web server software will include an interface for email simple mail transfer protocol
(SMTP), the webpage logic, an access control system, database interface, and public APIs for
functionality.
2.3.3 User Interfaces
The EmVi team will provide a single user interface, the website, which may be accessed
by any Internet-connected computer with a web browser. This interface will be maintained for
the duration of the course. This site will permit new users to register and allow existing users to
maintain their EmVi accounts, review and edit campaigns, and create new campaigns.
2.3.4 Communications Protocols and Interfaces
The EmVI prototype is a standard web server that interfaces with known browsers from
public user devices. These user devices can range from personal laptops to smart phones.
Transmission Control Protocol/Internet Protocol (TCP/IP) over a standard Ethernet connection
will be the only communications protocol that is used.
Download