2013-03-24 05:01:56
Alex Sadleir
1
#GovHack Toolkit
2013-03-01 01:11:15
Maxious
2
Welcome to the GovHack toolkit. This page provides all the information you need to prepare hackfest entries.
2013-04-03 12:20:29
Alex Sadleir
3
These tools can be used to make entries like: mobile apps, web apps, data visualisations/infographics.
4
This toolkit is open source, licenced cc-by and improvements are encouraged ...
5
2013-03-01 01:11:15
Maxious
6
# How to register and submit your entry
2013-03-06 04:05:46
Maxious
7
## Registering your team
2013-03-24 05:01:56
Alex Sadleir
8
Coming Soon: how to use the website "Hacker Space" to register and find teams.
9
2013-03-01 01:11:15
Maxious
10
## Preparing your submission
2013-03-24 05:01:56
Alex Sadleir
11
2013-03-07 22:18:14
Maxious
12
You should record a 3 minute speech and mix images/text to accompany.
2013-03-21 11:02:25
Maxious
13
http://www.screenr.com/ and other screencasting tools allow you to demo apps.
2013-05-07 23:32:34
Maxious
14
To mix together clips, you can use youtube video editor http://www.youtube.com/editor or local software like http://www.videolan.org/vlmc/ or http://www.lwks.com/
2013-03-21 11:02:25
Maxious
15
2013-05-24 01:28:05
Maxious
16
You also need to submit your "source material". For an application this may be source code, for another work it might be your notes or prototypes.
2013-03-07 22:18:14
Maxious
17
The key thing here is that your source material demonstrates to the judges that some of the end result was your own work and that it is possible for another person to replicate that work.
2013-03-21 11:02:25
Maxious
18
2013-03-07 22:18:14
Maxious
19
2013-03-06 04:05:46
Maxious
20
# General References {#general-data-hacking-and-programming-references}
21
2013-04-28 09:46:26
Alex Sadleir
22
## Who can be a hack day participant
2013-03-07 22:18:14
Maxious
23
There are many roles you can play; coder, designer UX/graphics.
2013-04-12 05:52:11
Maxious
24
2013-03-01 01:11:15
Maxious
25
## The basics of being a data scientist
26
2013-03-03 10:00:40
maxious
27
* Have a hypothesis - even if you're making a tool/api that helps people with their questions too, remember what the objective of that is.
2013-03-01 01:11:15
Maxious
28
* Find the people and tools you need to prove/show/find. This rest of this page will help with the latter.
2013-03-07 22:18:14
Maxious
29
* Analyse and present results - were they what you expected? Do they help explain to others what you have found out?
30
Can present as a interactive data visualisation or a web/mobile application or just a infographic/motion graphics video that tells a story.
2013-03-01 01:11:15
Maxious
31
2013-03-24 05:01:56
Alex Sadleir
32
[![](img/How-to-participate-in-GovHack_html_m6a65720f-300x199.gif "Data Journalism Diagram")](img/How-to-participate-in-GovHack_html_m6a65720f.gif)</dt>
2013-03-01 01:11:15
Maxious
33
Illustration from Data Journalism Handbook, CC BY-SA 3.0</dd>
34
2013-03-03 10:00:40
maxious
35
The best high level reference is the 'Understanding Data' and 'Delivering Data' chapters of the Data Journalism Handbook which is available online for free at
2013-03-01 01:11:15
Maxious
36
[datajournalismhandbook.org](http://datajournalismhandbook.org/)
37
38
You can learn the technical skills from scratch in Visualize This: The FlowingData Guide to Design, Visualization, and Statistics by Nathan Yau or for more advanced
39
practical advice check out Data Analysis with Open Source Tools by Philipp K. Janert
40
For further reading in this space
41
[http://flowingdata.com/2012/04/27/data-and-visualization-blogs-worth-following/](http://flowingdata.com/2012/04/27/data-and-visualization-blogs-worth-following/)
42
43
44
**Statistics**
2013-04-03 12:20:29
Alex Sadleir
45
[http://greenteapress.com/thinkstats/html/index.html](http://greenteapress.com/thinkstats/html/index.html)
46
47
**Programming**
2013-03-01 01:11:15
Maxious
48
49
Programming is valuable skill for manipulating and displaying data.
50
Basic tutorials for a variety of languages are available for free online or you can learn
51
2013-04-03 12:20:29
Alex Sadleir
52
interactively with websites like [http://www.codecademy.com/](http://www.codecademy.com/#!/exercises/0). for JavaScript or [http://www.learnpython.org/ ](http://www.learnpython.org/)or [http://tryruby.org](http://tryruby.org/)
2013-03-01 01:11:15
Maxious
53
2013-04-03 12:20:29
Alex Sadleir
54
[https://developer.mozilla.org/en/JavaScript](https://developer.mozilla.org/en/JavaScript) - especially for web applications and visualisations, you'll need a basic understanding of JS. Common libraries like prototype or jQuery can help
2013-03-01 01:11:15
Maxious
55
56
**Accessibility/User Experience**
57
2013-04-03 12:20:29
Alex Sadleir
58
WCAG guidelines not only make a web app accessible but make it a better experience for all users! Even if not making an app, good to consider these things to do and not do: [http://www.w3.org/TR/WCAG/](http://www.w3.org/TR/WCAG/)
2013-03-01 01:11:15
Maxious
59
60
61
2013-04-28 09:46:26
Alex Sadleir
62
# Developer Tools For Your Computer {#developer-tools-for-your-computer}
2013-03-24 05:01:56
Alex Sadleir
63
No matter what kind of application you have for the data, there are many tools you can use to better collaborate and manage your project.
2013-03-01 01:11:15
Maxious
64
2013-03-03 10:00:40
maxious
65
### Source Control
2013-04-03 12:20:29
Alex Sadleir
66
Git / Subversion
2013-03-01 01:11:15
Maxious
67
2013-03-24 05:01:56
Alex Sadleir
68
[![](img/Screenshot-at-2012-04-29-172132-300x235.png "Git Screenshot")](http://progit.org/book/)
2013-03-01 01:11:15
Maxious
69
2013-05-07 23:32:34
Maxious
70
[http://progit.org/book/](http://progit.org/book/)
2013-04-15 04:13:09
Maxious
71
2013-03-01 01:11:15
Maxious
72
[http://svnbook.red-bean.com/](http://svnbook.red-bean.com/)
73
2013-04-03 12:20:29
Alex Sadleir
74
[http://tortoisesvn.net/](http://tortoisesvn.net/)
2013-03-01 01:11:15
Maxious
75
76
[http://code.google.com/p/tortoisegit/](http://code.google.com/p/tortoisegit/)
77
78
### Task Tracking -
79
2013-05-01 23:17:16
Maxious
80
Issue/task trackers allow you to outline the tasks required for your project and assign them to people to do.
81
2013-05-24 01:28:05
Maxious
82
[Trello](https://trello.com/) and [Workflowy](https://workflowy.com/) are free, lightweight project management tools suitable for a rapid project!
83
2013-05-01 23:17:16
Maxious
84
## Hosted Developer Tools {#hosted-developer-tools}
2013-04-28 09:46:26
Alex Sadleir
85
2013-03-01 03:43:59
Maxious
86
Can get many tools (source control, issue tracking) combined into one service cloud hosted so no setup required.
2013-04-03 12:20:29
Alex Sadleir
87
2013-03-01 03:43:59
Maxious
88
### Github
2013-05-07 23:32:34
Maxious
89
Git obviously but svn/hg interfaces are possible. Provide their own GUI for Windows/OSX or use the variety of Git capable tools
90
91
### Sourceforge
92
93
Subversion, Git, Mercurial, Bazaar, CVS, issue tracker, wiki, release file downloads. Unlimited free use for open source projects.
94
95
You can create your own Sourceforge project at [http://sourceforge.net/](http://sourceforge.net/)
96
97
### Google Code Project Hosting
98
99
Git, Mercurial, and Subversion code. Issue tracker, wiki, release file downloads. Unlimited free use for open source projects.
100
101
You can host your Google Code project and get access to developer tools, APIs and documentation at [http://code.google.com/](http://code.google.com/)
102
103
# Applications of data hacking
104
2013-04-03 12:20:29
Alex Sadleir
105
## API Development {#api-development}
2013-03-24 05:01:56
Alex Sadleir
106
107
2013-04-28 09:46:26
Alex Sadleir
108
So an API isn't just an XML file ![;)](http://www.govhack.org/wp-includes/images/smilies/icon_wink.gif)
2012-09-29 13:05:38
Maxious
109
110
A good web based data API:
2013-04-28 09:46:26
Alex Sadleir
111
112
* Is logically organised
113
* Can filter returned data
114
* Can return results in different open formats (CSV/JSON etc.)
115
* Is efficient and responsive by using caching and databases appropriately
116
* Handles errors gracefully
117
* Monitors and controls access (to show benefit realised of API and prevent abuse)
118
* Provides appropriate documentation with examples
119
120
Some people like sensis [http://](http://developers.sensis.com.au/)[developers.sensis.com.<wbr>au</wbr>](http://developers.sensis.com.au/)[/](http://developers.sensis.com.au/) use a provider like[http://](http://mashery.com/)[mashery.com](http://mashery.com/)[/](http://mashery.com/) or [https](https://apigee.com/)[://](https://apigee.com/)[apigee.com](https://apigee.com/) or [http://](http://apiaxle.com/)[apiaxle.com](http://apiaxle.com/)[/](http://apiaxle.com/) or [http://www.3scale.net/](http://www.3scale.net/) which handles making a good API for them.
121
122
Atlassian have a great page on what makes a good API https://developer.atlassian.com/display/REST/Atlassian+REST+API+Design+Guidelines+version+1)
123
2013-03-07 22:18:14
Maxious
124
howto.gov api resources about choosing SOAP vs. REST etc. http://www.howto.gov/mobile/apis-in-government
125
2013-04-05 12:04:13
Maxious
126
API documentation is important too.
2013-04-01 08:05:26
Alex Sadleir
127
- WSDL or http://swagger.wordnik.com/ or https://github.com/mashery/iodocs
2013-04-05 12:04:13
Maxious
128
- Many web app frameworks can generate the documentation for you. For example Symfony for PHPhttp://symfony.com/ https://github.com/FriendsOfSymfony/FOSRestBundle http://williamdurand.fr/2012/08/02/rest-apis-with-symfony2-the-right-way/ https://github.com/nelmio/NelmioApiDocBundle better apis https://github.com/liip/LiipHelloBundle
2013-04-20 01:29:05
Alex Sadleir
129
- or for Rails https://github.com/elc/rapi_doc https://github.com/Pajk/apipie-rails
2013-04-11 12:42:26
maxious
130
2013-04-05 12:04:13
Maxious
131
http://amberonrails.com/building-stripes-api/
2013-04-20 01:29:05
Alex Sadleir
132
2012-09-29 13:05:38
Maxious
133
example WeatherTree weather API
134
2013-04-28 09:46:26
Alex Sadleir
135
2013-02-27 10:12:02
Alex Sadleir
136
## Infographics and Data Visualisation {#data-visualisation}
137
138
Infographics try to contextualise charts and graphs to tell a story. Data vis builds on this to find new ways to design insight.
139
140
Most of the categories to follow have visualisation tools specific to their purpose.
2013-03-03 10:00:40
maxious
141
142
You can find some data visualisation tools below:
2013-04-12 05:52:11
Maxious
143
144
[http://www.visualisingdata.com/index.php/2011/07/part-6-the-essential-collection-of-visualisation-resources/](http://www.visualisingdata.com/index.php/2011/07/part-6-the-essential-collection-of-visualisation-resources/)
145
146
Also check out [http://thejit.org](http://thejit.org/) & [http://www.senchalabs.org/<wbr>philogl/</wbr