Live from CapitolCamp2011

submit to reddit
 
(8 votes)

The third-annual Capitol Camp is an unconference held in Albany, New York (the State Capitol). The past two years of camp have also included a 'developer summit,' described on the website like so:

The Developer Summit, primarily for programmers, is a day-long conversation about coding, collaborative software development, and best practices. The conversation will involve hands-on work in open-source applications currently used in New York State Government.

The day two unconference description included in the Capitol Camp blog post about the event, describes the event like this:

The main unconference will consist of higher level, less technical, interactive sessions that examine the intersection of government and technology. Additionally, the New York State Office of the Chief Information Officer/Office for Technology (CIO/OFT) will also announce the Empire 2.0 Showcase Agency Award.

The description goes on to add:

Both days will be framed within the context of three thematic tracks. Event participants will select specific session topics within each track on the day of each event. Visit the CapCamp2011 Wiki at barcamp.org/capcamp2011 to see a list of proposed sessions, or to make a proposal. Session presentations will be available on the CapCamp2011 Wiki. Please contact Dean Hill (dhill@nysenate.gov) to propose a session.

Attendees are both internal and external stakeholders, developing public-facing and internal applications that deal with many departments, agencies, and other pieces of .gov infrastructure. Break-out rooms are live-streamed to the web via three channels: Main Room, Room 120, and LCA Room 130. An IRC channel is hosted on Freenode at #CapCamp2011, and the wiki is available at PBWorks. You can even browse photos from past events through the CapCamp Flikr pool.

Update: All video of each session is now available through the CapitolCamp2011 Wiki


Open data session

Below you will find a feedback matrix from the Open Data and Interagency Collaboration session that I facilitated for the first morning block in Room 120.

Issues:

  • Pay walls
  • Legal and licensing
  • Personally identifiable or confidential information
  • Encryption and security
  • Inter-agency terms of service and audits
  • Warranty of merchantability and disclaimers
  • Legislative policy

PLEASE NOTE: We will continue to update this article (and the below table) in real-time as the event goes on.

Agency/Dept/Org Datasets API Misc.
Dept. of Environmental Conservation Not yet Not yet Provide permit information through the web
Dept. of Transportation Yes. .xml, flat files, NYC DOT data, tax/finance data, federal Dept. of Transportation Not yet Permits app via web
NYS Forum Private/Internal Not yet N/A
County of Albany Authenticated access Not yet N/A
Albany Local Government Not yet Not yet District maps, gun permits, restaraunt inspections
FirmStep Confidential data Not yet, authenticated Want RESTful API, want web content as API
CIO/OFT Not yet Not yet Working on a data catalogue across agencies, Unisys Mainframes using openTI
OTDA Confidential Confidential N/A
Worker's Compensation Not yet Not yet N/A
Dept. of Labor Yes, archaically via web
unemployment and jobs data
Not yet Would like to build an API to front-load for a web app this year, and a probable mobile app next year
NYSenate.gov

Using Drupal Services Module
Senate payroll
Web analytics/traffic
Expenditure reports

Social media accounts

SAGE API - Geocoding/Shape files
Openlegislation API
N/A
Dept. of Criminal Justice Services Mostly confidential data but
Sex offender registration
Wanted and missing persons
Terror watch
Not yet Want to know how to engage with open data community
Dept. of Health Yes, using Metrix to release .csv files Not yet N/A
Center for Technology in Government Provide our content in .xml Not yet N/A

jQuery Show & Tell:

 

Division of Criminal Justice Services

Eric Steinborn gave a proper walkthrough of a number of jQuery plugins that he has developed for the NY Department of Criminal Justice Services. Eric dived deep into the stack, showing off class definitions and raw javascript. His work provided general class structures that intelligently split, parse, and generate URL's, and integrated Google Analytics into each of these generated links. These class level hacks are quite clever, and provide much needed metrics for analyzing usage and traffic at very granular levels. Eric demo'd an interactive regional map of Law Enforcement and Public Saftey Training Academies across New York State. As a fellow developer, he also shared links to upstream code projects and learning resources for both beginners and intermediate level javascriptors:

Dept of Labor

The Department of Labor really stole the show. Their 4 person (+1 consultant) development team built a common front end jQuery and CSS for each of their resources behind the scenes. Under the hood, these fellas are leveraging such contemporary technology as html5 boilerplate and modernizer.js. They standardized the interface on 1024x768 resolution, and are using the 960 Grid System in their layouts!

Here are a handful of quotable quotes from their talk:

"From the user perspective, we want them to never realize they are moving from the CMS to the modernized system. A couple years ago, when we started using jQuery at DOL, we were making sliders and popups. We were doing so much javascript, we were ending our sentences in semi-colons. We realized that If we don't leverage all this new html5/css3/javascript in a usable way, we are defeating the purpose. Most importantly, we need to get the user to the information they are looking for."

"You get to control you upgrade path when you centralize your front-end. We can update jQuery in one place, instead of rewriting 20 different pieces of code."

"We developed a User Experience Guide with the goal of providing developers with documentation, to give them what they need to get things done. If you want them to "RTFM" you need to write a better "FM". We put lots of effort into this."

"When there was eye-candy involved, do you know how fast people were ready to write semantic html?"

This was a particularly brilliant strategy. When there were shiny widgets and plug-ins, other folks and teams wanted to use them, and the only way the dev team would integrate is if they wrote healthy html. Prior to the efforts of the UX team, this was a non-starter, but then *poof*, enter jQuery and all of a sudden, people wanted the new hottness and were ready to write proper code to get it. Very very very cool story.

Words of Wisdom

  • Make sure you can jump in.
  • Be wary of stale plugin code bases.
  • Be wary of plugins you don't want to dive into yourself. If jQuery changes upstream, you can't tell your boss "hey, we can't use this anymore because I didn't write it, I just downloaded it."
  • Relying on 3rd parties for plugins really slows down dev. Write it in-house.
  • Build it so that it is easy to read if you are going to build it in-house.
  • Only include functionality you absolutely need. Don't build Turduckens.

Resources & Links

View the presentation (Google Chrome Required)
Download the presentation

See the DOL developer documentation on the items presented:

 

Contact the Dev team:

""
Creative Commons License