Download Requirements

by Alan Dickens.

I. Introduction

This document explains the requirements for the Download application for the ArsDigita Community System. The Download application provides a system to offer users the capability to obtain files from the web server. These files can be of any format, and different versions of each file can be easily maintained by the site administrator.

II. Vision Statement

A publisher of reports or software would like to be able to ask "Who has downloaded any version of Bloatware 2000?" or to say "Spam everyone who downloaded Bloatware 2000 v2.3 and tell them to upgrade to the new exciting 3.0 version". Similarly, a publisher might wish to charge for downloading or limit downloading to registered members of a group.

The Download Application offers these capabilities to the site administrator. It also offers users of the site a simple mechanism via which to obtain software or reports. Users can by default access the most recent version(s) of each file but can optionally search through older versions.

III. System/Application Overview

The Download application consists of:

IV. Use-cases and User-scenarios

Danny Developer is interested in working at the hot new open source software company, Bloatsoft. As part of preparing for the interview, she decides to download their most recent release to better learn what technologies Bloatsoft uses, how well their software is documented, etc. The Download application offers her a choice of either the most recently released full version or the beta release of the next version. She downloads both to her local machine, and by examining them is better able to determine the technical directions that Bloatsoft is presently emphasizing. Armed with this knowledge, she gets a job offer, but from examining their software knows that their software engineering practices aren't up to industry standard, so she uses the job offer to negotiate a raise with her current employer.

Paul Publisher is an analyst who maintains an industry report that is regularly updated. He wants to be able to offer his regular paid subscribers access to all versions of his report; offer others the most recent report for a small fee (and collect their email addresses); and offer back reports for free as a teaser to the general public. The Download system allows him to specify a group of registered users (his subscribers) who have unlimited access to all reports; the ability to charge others for a copy of the most recent report; and the option to make old versions of his report publicly accessible for no fee at all. Using the Download application also makes it easy for Paul to collect the email addresses of everyone who accesses his reports. Paul eventually sells his database of user data to a large conglomerate and retires to PI island.

Erica Executive manages the online training arm of a large company. As part of spinning her business unit out into a seperate company, her managers need to know how many web users have accessed the various free and paid versions of the company's training courses. Her managers would also like to better understand their customer base, and so ask Erica what the courses are being used for. Erica is easily able to obtain this information by using the reporting facility in the Download application, which informs her not only who has accessed which course, but why they chose to download the course. She can examine this data by general course, specific version of each course, date, and user. Armed with this information, she negotiates additional stock options as well as a Ferrari 360 Modean as a company car.

Competitive Analysis

Many existing sites implement similar functionality with a FTP (File Transfer Protocol) server. FTP provides a convenient mechanism for transfering files, but provides none of the versioning, descriptive, adminstrative, or reporting features present in the Download application.

V. Related Links

VI.A Requirements: Data Model

10 The Data Model 20 User Interface

Implementation Notes

The Download application is one of the oldest modules in the ACS, having been originally created years ago by Philip Greenspun.

VII. Revision History

Document Revision # Action Taken, Notes When? By Whom?
0.1 Creation 2000-10-12 Alan Dickens


adickens@arsdigita.com
Last modified: October 12 2000
Advertisements