Your browser is ancient! Upgrade to a different browser or install Google Chrome Frame to experience this site.

Reporting on
the Digital Strategy

Benjamin J. Balter

Presented 8/29/12 at the Drupal4Gov conference

About Me

* Views are my own

Roadmap*

  1. How We Got Here
  2. Reporting How To
  3. What’s Next?

*Minimal code involved, scout’s honor!

How We Got Here

TPS Report

\[photo via [facilitybikeclub](http://www.flickr.com/photos/facilitybikeclub/3197419294/lightbox/) ]
As we were sitting down to draft the digital strategy, it dawned on us, why create tomororow's government, and requrie it to be realized through yesterday's methods
Today, OMB enforces much of its policies via only 24 of the CFO act agencies
What if enforcement and reporting were to go from analysts to APIs, without that physical limitation, we could scale endefinetly.
21st century reporting for a 21st century plan

API All the Things!

1st concept... release the strategy's action items as an API so that agencies could dynamically build against it

Open Source All the Things!

2nd concept... build a bare-bones open-source tool that help lower the lift for agencies to comply with reporting requirements. Encourage collaboration.

GitHub All the Things!

concept three... put the schema and software on GitHub, where agencies (and the public) could fork and contribute

#How to

[TL;DR]

  1. Go to http://labs.data.gov/dashboard/digital-strategy/
  2. Enter your agency’s progress
  3. Give the zip file it generates to your geeks

The Generator

XML

<?xml version="1.0"?>
<report>
  <agency>DOD</agency>
  <generated>2012-08-22 13:09:26</generated>
  <items>
  ...
  <item id="2.1.1">
      <parent>2.1</parent>
      <text>Paragraph on customer engagement approach</text>
      <due>90 days</due>
      <due_date>2012/08/21</due_date>
      <fields>
        <field>
          <type>textarea</type>
          <name>2-1-1-customer-engagement-approach</name>
          <label>Paragraph on customer engagement approach</label>
          <options/>
          <value>The Department of Defense (DoD) engages customers using a variety of methods. DoD interfaces with service providers and customers to help identify which services are the most popular and possible high priority candidates for API conversion. The DoD datasets on data.gov provide further insight on what information customers are currently accessing for possible API conversion. The DoD Open Government page at http://open.dodlive.mil/ has been updated to allow external customers to provide input as to which datasets should be available through a Web API. Customer feedback will be included with resource availability and budget constraints to prioritize the services made available via Web APIs.</value>
        </field>
      </fields>
      <multiple/>
    </item>
  </items>
</report>
This is the XML output as created by the generator. It describes each step, and the agency's progress on that step.

JSON

{
   "agency":"DOC",
   "generated":"2012-08-23 13:17:54",
   "items":[
      {
         "id":"2.1.1",
         "parent":"2.1",
         "text":"Paragraph on customer engagement approach",
         "due":"90 days",
         "due_date":"2012\/08\/21",
         "fields":[
            {
               "type":"textarea",
               "name":"2-1-1-customer-engagement-approach",
               "label":"Paragraph on customer engagement approach",
               "options":[],
               "value":"In addition to informal discussions with internal and external stakeholders, we have posted an entry on our blog (http:\/\/www.commerce.gov\/blog\/2012\/08\/08\/commerce-department-needs-your-input-digital-strategy) soliciting feedback. We have also used a Facebook poll and daily tweets to drive traffic. Several stories have been written about our outreach and have also driven traffic to the blog post."
            }
         ],
         "multiple":false
      }
   ]
}
This is a JSON representation of that same XML output. (Why JSON > XML, even though .gov's love XML)

Action Items API

https://raw.github.com/gsa/digital-strategy/1/agencies.json

{
   "generator_version":"1.1",
   "generated":"2012-08-13 17:36:18",
   "api_version":1,
   "items":[
      {
         "id":"2.1",
         "parent":null,
         "text":"Engage with customers to identify at least two existing major customer-facing services that contain high-value data or content as first-move candidates to make compliant with new open data, content, and web API policy.",
         "due":"90 Days",
         "due_date":"2012\/08\/21",
         "fields":[
            {
               "type":"select",
               "name":"2-1-status",
               "label":"Overall Status",
               "options":[
                  { "label":"Not Started", "value":"not-started"},
                  { "label":"In Progress", "value":"in-progress"},
                  { "label":"Completed", "value":"completed" }
               ]
            }
         ],
         "multiple":false
      }
   ]
}
Raw, action items pseudo-API that generator uses to make form and create XML/JSON files

Slash Digitalstrategy

Where final files would live on the agency's web presense

Agency List API

https://raw.github.com/gsa/digital-strategy/1/items.json

{
   "generator_version":"1.1",
   "generated":"2012-08-13 17:36:18",
   "api_version":"1.0.1",
   "agencies":[
      {
         "name":"Administration for Children and Families",
         "id":"ACF",
         "url":"http:\/\/www.acf.hhs.gov\/"
      },
      {
         "name":"Administration on Aging",
         "id":"AOA",
         "url":"http:\/\/www.aoa.gov\/"
      }
   ]
}
With a list of all 1000x agency domains, and knowing each domain has a `/digitalstrategy.json` file, a developer could build a crawler, e.g., to find all APIs opened up as a result of the DGS, or to create a list of all agencies' open strategies, etc.

And?

Did I mention it's on GitHub? DoC already forked and contributed... please do the same! No really, please!

What’s Next?

Schema

— 2.0 —

A Model for Good Governance

Radical Transparency

Where else can you get a character level changelog with who changed what when?

Cross-Agency Collaboration

First time in history, IMHO

API-First Implementations

Expose an API, then work backwards; think like a machine

Citizen-Driven Innovation

Two apps showing the power of APIs. Report agencies' progress on the digital strategy, and were built within days of the strategy's release.

Use a spacebar or arrow keys to navigate