edits
[tools.git] / index.md
Maxious 1 Welcome to the GovHack toolkit. This page provides all the information you need to prepare hackfest entries.
2 These tools can be used to make entries like: mobile apps, web apps, data visualisations/infographics
3
4
5 # General Data Hacking and Programming References {#general-data-hacking-and-programming-references}
6 ## The basics of being a data scientist
7
8 * 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.
9 * Find the people and tools you need to prove/show/find. This rest of this page will help with the latter.
10 * Analyse and present results � were they what you expected? Do they help explain to others what you have found out? Can present as a interactive data visualisation or a web/mobile application or just a infographic/motion graphics video that tells a story.
11 Please note, there are a combination of Analysis and Visualisation tools in each of the major categories below.
12
13
14 [![](http://www.govhack.org/wp-content/uploads/How-to-participate-in-GovHack_html_m6a65720f-300x199.gif "Data Journalism Diagram")](http://www.govhack.org/wp-content/uploads/How-to-participate-in-GovHack_html_m6a65720f.gif)</dt>
15 Illustration from Data Journalism Handbook, CC BY-SA 3.0</dd>
16
17
18 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
19
20 [datajournalismhandbook.org](http://datajournalismhandbook.org/)
21
22 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
23
24 practical advice check out Data Analysis with Open Source Tools by Philipp K. Janert
25
26 For further reading in this space
27
28 [http://flowingdata.com/2012/04/27/data-and-visualization-blogs-worth-following/](http://flowingdata.com/2012/04/27/data-and-visualization-blogs-worth-following/)
29
30
31 **Statistics**
32
33 [http://greenteapress.com/thinkstats/html/index.html](http://greenteapress.com/thinkstats/html/index.html)
34
35 **Programming**
36
37 Programming is valuable skill for manipulating and displaying data.
38
39 Basic tutorials for a variety of languages are available for free online or you can learn
40
41 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/)
42
43 [https://developer.mozilla.org/en/JavaScript](https://developer.mozilla.org/en/JavaScript) &#8211\. especially for web applications and visualisations, you&#8217;ll need a basic understanding of JS. Common libraries like prototype or jQuery can help
44
45 **Accessibility/User Experience**
46
47 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/)
48
49 ## Who can be a hack day participant
50 - roles; coder, designer UX/graphics
51
52 ## Definitions
53 - definitions, open licence reuse permissive hacker hack data journalism data bis UCX etc.
54
55
56 ## key datasets
57 - key datasets, directory.gov.au gazetter/AEC electorates/suburbs/postcodes/LGAs
58
59 ## examples
60
61 ## The Open Budget
62
63 ## WeatherTree weather API
64
65 ## PlanningAlerts
66
67 [![Planning Alerts Screenshot](http://www.govhack.org/wp-content/uploads/How-to-participate-in-GovHack_html_2f0199ff1-300x221.png "Planning Alerts Screenshot")](http://www.govhack.org/wp-content/uploads/How-to-participate-in-GovHack_html_2f0199ff1.png)Description: Planning Alerts takes data from local government development applications and sends alerts to users based on what applications are lodged in their area.
68
69 Programming Language: Ruby
70
71 Source Control: [Git](https://github.com/openaustralia/planningalerts-app)
72
73 Issue Tracking: [Atlassian JIRA](http://tickets.openaustraliafoundation.org.au/browse/PA/)
74
75 ## LobbyLens
76
77 [![](http://www.govhack.org/wp-content/uploads/129-Screenshot-LobbyClue_-_Chromium-300x180.png "LobbyLens screenshot")](http://www.govhack.org/wp-content/uploads/129-Screenshot-LobbyClue_-_Chromium.png)
78
79 Description: Displays connections between government contracts, business details, politician responsibilities, lobbyists, clients of lobbyists, political donors and the location of these entities.
80
81 Programing Language: PHP
82
83 Source Control: SVN (Subversion)
84
85 Issue Tracking: A whiteboard
86
87 ## Bus.lambdacomplex.org
88
89 [![](http://www.govhack.org/wp-content/uploads/How-to-participate-in-GovHack_html_3789acae-300x253.jpg "Bus.lambda screenshot")](http://www.govhack.org/wp-content/uploads/How-to-participate-in-GovHack_html_3789acae.jpg)
90
91 Description: Online Canberra Bus Timetables and Trip Planner.
92
93 Programing Language: PHP/Ruby
94
95 Source Control: Git
96
97 Issue Tracking: Github
98
99
100 ## Developer Tools For Your Computer {#developer-tools-for-your-computer}
101
102 server admin / technical tools
103 many projects will require some kind of internet presence, webpage etc.
104 - css framework like bootstrap or zurb foundation
105 video tools, youtube video editor/slideshow, FOSS video editing tools
106 - http://ubuntu-tutorials.com/2008/11/11/relaying-postfix-smtp-via-smtpgmailcom/
107 - amon
108
109 ### Source Control &#8211\. Git / Subversion
110
111 [![](http://www.govhack.org/wp-content/uploads/Screenshot-at-2012-04-29-172132-300x235.png "Git Screenshot")](http://progit.org/book/)
112
113 [http://progit.org/book/](http://progit.org/book/)
114
115 [http://svnbook.red-bean.com/](http://svnbook.red-bean.com/)
116
117 [http://tortoisesvn.net/](http://tortoisesvn.net/)
118
119 [http://code.google.com/p/tortoisegit/](http://code.google.com/p/tortoisegit/)
120
121 ### Task Tracking -
122
123 Issue/task trackers allow you to outline the tasks required for your project and assign them to people to do.
124
125 [Trello](https://trello.com/) and [Workflowy](https://workflowy.com/) are free, lightweight project management tools suitable for a rapid project!
126
Maxious 127 ## Hosted Developer Tools {#hosted-developer-tools}
128
129 Can get many tools (source control, issue tracking) combined into one service cloud hosted so no setup required.
130
131 ### Github
132 Git obviously but svn/hg interfaces are possible. Provide their own GUI for Windows/OSX or use the variety of Git capable tools
133
134 ### Sourceforge
135
136 Subversion, Git, Mercurial, Bazaar, CVS, issue tracker, wiki, release file downloads. Unlimited free use for open source projects.
137
138 You can create your own Sourceforge project at [http://sourceforge.net/](http://sourceforge.net/)
139
140 ### Google Code Project Hosting
141
142 Git, Mercurial, and Subversion code. Issue tracker, wiki, release file downloads. Unlimited free use for open source projects.
143
144 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/)
145
146
147
Alex Sadleir 148 # API Development {#api-development}
Maxious 149
150
151 So an API isn&#8217;t just an XML file ![;)](http://www.govhack.org/wp-includes/images/smilies/icon_wink.gif)
152
153 A good web based data API:
154
155 * Is logically organised
156 * Can filter returned data
157 * Can return results in different open formats (CSV/JSON etc.)
158 * Is efficient and responsive by using caching and databases appropriately
159 * Handles errors gracefully
160 * Monitors and controls access (to show benefit realised of API and prevent abuse)
161 * Provides appropriate documentation with examples
162
163 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.
164
165 Atlassian have a great page on what makes a good API [https](https://developer.atlassian.com/display/REST/Atlassian+REST+API+Design+Guidelines+version+1)[://](https://developer.atlassian.com/display/REST/Atlassian+REST+API+Design+Guidelines+version+1)[developer.atlassian.<wbr>com</wbr>](https://developer.atlassian.com/display/REST/Atlassian+REST+API+Design+Guidelines+version+1)[/display/REST/](https://developer.atlassian.com/display/REST/Atlassian+REST+API+Design+Guidelines+version+1)[Atlassian](https://developer.atlassian.com/display/REST/Atlassian+REST+API+Design+Guidelines+version+1)[+<wbr>REST+API+Design+Guidelines+<wbr>version+1</wbr></wbr>](https://developer.atlassian.com/display/REST/Atlassian+REST+API+Design+Guidelines+version+1)
166
Maxious 167 API
168 - howto.gov api tutorial
169 - http://shancarter.com/data_converter/
170 - http://training.sunlightfoundation.com/module/data-visualizations-google-docs/
171 - api documentation
172 - WSDL or http://swagger.wordnik.com/ or https://github.com/mashery/iodocs
173 - http://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
174 - https://github.com/elc/rapi_doc https://github.com/Pajk/apipie-rails
175 -
Maxious 176 http://amberonrails.com/building-stripes-api/
Maxious 177
178
Alex Sadleir 179 # Infographics and Data Visualisation {#data-visualisation}
180
181 Infographics try to contextualise charts and graphs to tell a story. Data vis builds on this to find new ways to design insight.
182
183 Most of the categories to follow have visualisation tools specific to their purpose.
184
185 You can find some data visualisation &#8220;essential&#8221\. tools below:
186
187 [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/)
188
189 Also check out [http://thejit.org](http://thejit.org/) &amp; [http://www.senchalabs.org/<wbr>philogl/</wbr>](http://www.senchalabs.org/philogl/) (contributed by Matt Adcock)
190
Maxious 191 Have to use visual art concepts, good color schemes http://www.r-bloggers.com/the-paul-tol-21-color-salute/
192
Maxious 193
194 - https://graphics.stanford.edu/wikis/cs448b-12-fall/ data viz theory
195 - http://drawingbynumbers.org/toolsandresources
196
197 examples - http://sunfoundation.tumblr.com/
198 tools - http://selection.datavisualization.ch/ data viz tools catalog
199
200
201
Maxious 202 # Mobile
203 html5 jquery mobile like directory.gov.au
204 - android datviz
205 - http://code.google.com/p/afreechart/ http://code.google.com/p/snowdon/ http://code.google.com/p/chartdroid/ http://androidplot.com/ http://code.google.com/p/achartengine/