+ All Categories
Home > Documents > Automated Time Tracking From proposal to production By Chris Gaffney.

Automated Time Tracking From proposal to production By Chris Gaffney.

Date post: 19-Jan-2016
Category:
Upload: loren-farmer
View: 215 times
Download: 2 times
Share this document with a friend
15
Automated Time Tracking From proposal to production By Chris Gaffney
Transcript
Page 1: Automated Time Tracking From proposal to production By Chris Gaffney.

Automated Time TrackingFrom proposal to production

By Chris Gaffney

Page 2: Automated Time Tracking From proposal to production By Chris Gaffney.

Hi!

Page 3: Automated Time Tracking From proposal to production By Chris Gaffney.

Overview

• The Language Resource Center is a lab specifically for language students

• Students in language courses 202 and below must spend a minimum of 50 minutes per week in the lab

• Summer 2006: Began planning to switch to an all Mac lab

• Need to preserve much of the functionality of our existing system.

Page 4: Automated Time Tracking From proposal to production By Chris Gaffney.

Why build our own?

• The time tracking of the existing system left much to be desired

• There was no preexisting system for OS X that did what we needed

• The new system could be tailored for exactly how we used it

• The chance to try new technologies

Page 5: Automated Time Tracking From proposal to production By Chris Gaffney.

Requirements

• Web interface for students, teachers and admins

• Operation is completely transparent to most students

• Students taking multiple courses would be able to choose which course to track time for

• Works with OS X

Page 6: Automated Time Tracking From proposal to production By Chris Gaffney.

Development Process

• Code is stored in a Subversion repository

• I am the only developer

• Development is done primarily on Linux for OS X and Windows– Required the use of cross platform languages– Lacked the target environment when

development started

• Started with prototyping, becoming an expert in the domain

Page 7: Automated Time Tracking From proposal to production By Chris Gaffney.

Prototyping

• Original concept was that of a web service– http://server/signon/gaffneyc– http://server/signoff/gaffneyc

• Extremely thin client (curl, wget, browser)

• Web service was not a practical solution– Depended too much on the sign off– Browser was not transparent enough

Page 8: Automated Time Tracking From proposal to production By Chris Gaffney.

Prototyping

• Second prototype was a dedicated TCP server

• Written in Ruby for a quick start, flexibility

• TCP allowed for a “tripwire” that alerted the server when the client disconnected, restarted the system, unplugged, etc…

• Required a thicker client that implements a very simple protocol

Page 9: Automated Time Tracking From proposal to production By Chris Gaffney.
Page 10: Automated Time Tracking From proposal to production By Chris Gaffney.

The Server

• Written in Ruby to take advantage of the ActiveRecord ORM library and to reuse code from the web interface

• Two major designs– Original: 3 threads per connection (timer,

saver, and connection thread)– Redesign: No timer thread, single saving

thread (serialize writes), 1 thread/connection

Page 11: Automated Time Tracking From proposal to production By Chris Gaffney.

Clients

• Java Client– This is the actual client that students see– Runs on Windows, Linux, and OS X

• Ruby Client– Console client used for testing, prototyping

protocol variations, etc…

• Objective-C– Coming this summer…?

Page 12: Automated Time Tracking From proposal to production By Chris Gaffney.

Web Interface

• Deployed midway through the semester

• Good response so far from both faculty and students

• Preparing to deploy a redesign in the coming week– Original design was hammered out directly in

HTML and CSS– Redesign went through a prototype / mocking

process before being implemented

Page 13: Automated Time Tracking From proposal to production By Chris Gaffney.

Original Design

Page 14: Automated Time Tracking From proposal to production By Chris Gaffney.

New Design

Page 15: Automated Time Tracking From proposal to production By Chris Gaffney.

Production

• System went live on January 8th

• One minor hiccup during the first week

• Stats (since January)– Sessions: 18298– Logged Time: 588d 6h 25m 0s– Students: 2156


Recommended