Technical Deployment Process

Last Updated: // By:

This guide outlines the process followed by Kids on Computers to prepare hardware and software for a new project, or to update equipment in use at an existing project.

Identify target hardware

 * Inventory
 * Existing Desktops/Laptops in the Lab
 * Existing Tablets in the Lab
 * New Desktops/Laptops
 * New Tablets
 * Capabilities
 * Least/most CPU
 * Least/most RAM
 * Least/most disk space
 * Architecture (i386, x86_64, PAE, etc.)

Identify Target Audience

 * Age
 * Languages
 * Application Needs

Identify Internet availability and capability

 * How fast?
 * Is it reliable?
 * Can it support streaming video for X connected clients simultaneously?

Identify OS, Software, and Content Requirements
ACTION ITEM: Library of applications Wiki

Required OS Components

 * Flash player

Language

 * What language packs are needed
 * Keyboard layouts

Core Applications

 * Browser
 * Is an email client needed?

Word Processing/Office/Editing Suite

 * Word Processor
 * Spreadsheet
 * HTML Editing
 * Database
 * etc.

Educational Apps

 * Gcompris
 * etc.

Offline Content

 * Wikipedia
 * Khan Academy Videos
 * K-6
 * 6-12
 * Coursera
 * http://dirkgorissen.com/2012/09/07/coursera-dl-a-coursera-download-script/
 * https://github.com/dgorissen/coursera-dl

Online Content

 * Bookmarks in browser

Select OS and Install Guide
Based on Capabilities and Needs, select an appropriate Operating System and a specific KoC  Installation Guide. This selection may be based on the "least common denominator" after evaluating available hardware. A primary goal in this selection is consistency. We want a homogeneous lab where students could use any available machine without having a significantly different experience.

Selection may include multiple guides (e.g. mixed hardware labs containing laptops and tablets).

Choose from existing Detailed Installation Guides, or create a new one.

Create, Review and/or Update Selected Installation Guide(s)
Since operating systems change frequently, it is likely that an existing Installation Guide will need to be refreshed with specific steps needed to deploy the current lab.

One or more KoC volunteers should create and refine the Installation Guide using target hardware that will eventually be deployed to the lab.

Installfest
Recruit volunteers as needed to do the installation on all hardware being delivered to the lab by following the approprate Installation Guide.

The installation may be phased to include:
 * Basic OS installation
 * Language pack setup
 * Application installation
 * Offline content install/setup
 * Desktop experience (background, login, shortcuts, bookmarks, etc.)

Note: This step is usually done in advance of setup in the actual lab, but in some cases may be done on-site. For example, if an Installfest cannot be organized due to the availability of volunteers, or if the hardware is not physically located where volunteers can meet to install. Or, if an existing lab is being updated, then the installation would be done during the on-site phase listed below.

Prepare Restoration Media and Guides
Where appropriate, we should leave CD, DVD, or USB media at each lab containing the components used during the installfest. This enables re-installation on-site by KoC volunteers or local resources. We should also leave behind a link to the Installation Guide(s) used, so the process could be duplicated on additional hardware added to the lab after initial KoC setup.

Prepare a basic user's guide that can be left with the teachers, principal, librarian, etc. This guide should not be overly technical, and should only provide the essential information about basic use and maintenance of the new lab equipment. Topics in this guide could include:
 * How to start and shutdown the computers or tablets
 * Username/password for each computer or tablet
 * How are updates applied?

Package and Ship
Prepare hardware for shipping via freight carrier, or to be carried by volunteers in luggage.

On-Site Setup

 * Peform or complete Installfest if needed
 * Finalize setup
 * Configure local area network settings
 * Training