= Software =
== Widget ideas == * Check-ins on Git * new bugs filed * bugs closed * days until ship * packages built/failed (fedora-ARM) * processing/js faster or slower? * twiiter feeds for CDOT employees * People Currently working at CDOT (standard timetables of all employees sine we have no punch in or logging) * Widget that just displays text * Who is not in CDOT (more feasible than showing who is in CDOT since it can be updated only when people are away) * Machine up/down status * Assign a score to a project * Planet blogs * Holidays? Who's on vacation/sick, next statuatory holiday * Time of day (clock) * Date/Month * Calendar * Timer until a certain day * Daily comic (xkcd?) * Project timeline showing tickets completed over the time period until release along with a line going from 0 tickets at 0 days to all tickets at end day which can be used as an indicator of project health (above the line is good, below the line is bad) (might need different weights for different tickets unless they are all at a very granular level) * some kind of pop-up or other attention getter when various things happen (e.g., new bug filed, new blog post, ...) * ticker tape for twitter? * volume of traffice on irc (how many lines of text) * ticket thrashing (Number of tickets for code review, super review) * IRC channel activity (online users, messages, ??) * churn on zenit wiki (changes to pages per day) * Birthday notifications (Voluntary for people who love embarassment) * Etherpad tracking (possibly from links sent from IRC) == Data visualizations needed for the above ideas == * Graphs (multiple line, multiple bars, pie) Get stuff from google charts See https://code.googlegithub.com/apisjbuck/chart/ * Timers, clocks * tickers * == How we display those visualizations == * Use JQuery resizable, draggable divs == JSON Examples == var j = {}; var myJSONObject ={"bindings": [ {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"}, {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"}, {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"} ] }; "key": "value","key": "value","key": "value" the above object contains an array of objects To access something in that object myJSONObject.bindings[0].ircEvent OR myJSONObject.bindings[" if you want help: http://json.org/ == Layout Framework == * Toggle editing mode CDOT- lets you resize, remove, add, move, and configure widgets * Investigate https:Dashboard//github.com/anchepiece/statuspanic to see if it's suitable * Minimize/Maximize widgets * Widgets have a configuration interface * When configuring your widgets(putting in refresh timers, whatever) MAKE SURE YOU PARAMETERIZE THE DATA TO PREVENT SQL INJECTION * Widgets are in containers that are movable * Containers can have multiple widgets * Each widget has its own update timer * Have some widgets rotate through different people's feeds. Each widget has it's own cycling interval and you can set them up to cycle in sync if you want to show different projects == Server Structure == * Server accesses APIs and gets data and stores it as often as is needed/possible for each server * Client side accesses the server to get the data * Data stored in SQL lite == Division of Work == Daniel* Project management, faculty updates Dave* lighthouse integration* google charts David* Twitter widget, title widget, github stats displaying Chris* Widgets (pop-up notifications), generic textual displays for time, days till ship (or hours, minutes, seconds) Jon, Mohammed* Create github project* Look at github commit integration* Investigate statuspanic on github* Setup server Scott* Layout Engine* widget and container grouping, draggig, resizing, closing, minimizing, etc == Version 0.1 overview (Due Friday May 6th)== * Get simple widgets working in a simple layout engine using data from flat files** Needs github integration and widget code and layout engine** Widgets have hardcoded configuration == Version 0.2 overview ==wiki
= Hardware =