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
Maxious 4 # How to register and submit your entry
5 - how to use website "Hacker Space" to register and find teams etc.
Maxious 6
Maxious 7 - screencast tools - preparing your submission
8 video tools, youtube video editor/slideshow, FOSS video editing tools
9
10 - how to submit code
11
12 # General References {#general-data-hacking-and-programming-references}
Maxious 13 ## The basics of being a data scientist
14
maxious 15 * 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.
Maxious 16 * Find the people and tools you need to prove/show/find. This rest of this page will help with the latter.
maxious 17 * 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.
Maxious 18 Please note, there are a combination of Analysis and Visualisation tools in each of the major categories below.
19
20
21 [![](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>
22 Illustration from Data Journalism Handbook, CC BY-SA 3.0</dd>
23
24
maxious 25 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
Maxious 26
27 [datajournalismhandbook.org](http://datajournalismhandbook.org/)
28
29 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
30
31 practical advice check out Data Analysis with Open Source Tools by Philipp K. Janert
32
33 For further reading in this space
34
35 [http://flowingdata.com/2012/04/27/data-and-visualization-blogs-worth-following/](http://flowingdata.com/2012/04/27/data-and-visualization-blogs-worth-following/)
36
37
38 **Statistics**
39
40 [http://greenteapress.com/thinkstats/html/index.html](http://greenteapress.com/thinkstats/html/index.html)
41
42 **Programming**
43
44 Programming is valuable skill for manipulating and displaying data.
45
46 Basic tutorials for a variety of languages are available for free online or you can learn
47
maxious 48 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/)
Maxious 49
maxious 50 [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
Maxious 51
52 **Accessibility/User Experience**
53
54 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/)
55
56 ## Who can be a hack day participant
57 - roles; coder, designer UX/graphics
58
59 ## Definitions
60 - definitions, open licence reuse permissive hacker hack data journalism data bis UCX etc.
61
62 ## key datasets
63 - key datasets, directory.gov.au gazetter/AEC electorates/suburbs/postcodes/LGAs
64
65 ## examples
66
67 ## The Open Budget
68
69 ## WeatherTree weather API
70
71 ## PlanningAlerts
72
73 [![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.
74
75 Programming Language: Ruby
76
77 Source Control: [Git](https://github.com/openaustralia/planningalerts-app)
78
79 Issue Tracking: [Atlassian JIRA](http://tickets.openaustraliafoundation.org.au/browse/PA/)
80
81 ## LobbyLens
82
83 [![](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)
84
85 Description: Displays connections between government contracts, business details, politician responsibilities, lobbyists, clients of lobbyists, political donors and the location of these entities.
86
87 Programing Language: PHP
88
89 Source Control: SVN (Subversion)
90
91 Issue Tracking: A whiteboard
92
93 ## Bus.lambdacomplex.org
94
95 [![](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)
96
97 Description: Online Canberra Bus Timetables and Trip Planner.
98
99 Programing Language: PHP/Ruby
100
101 Source Control: Git
102
103 Issue Tracking: Github
104
105
106 ## Developer Tools For Your Computer {#developer-tools-for-your-computer}
107
108 server admin / technical tools
109 many projects will require some kind of internet presence, webpage etc.
110 - css framework like bootstrap or zurb foundation
Maxious 111 - css gauges http://www.larentis.eu/donuts/
112 - bootstrap themes, web fonts, css sprites, icon fonts
113 - http://designmodo.com/flat-free/ http://designmodo.github.com/Flat-UI/
114
Maxious 115 - http://ubuntu-tutorials.com/2008/11/11/relaying-postfix-smtp-via-smtpgmailcom/
116 - amon
117
maxious 118 ### Source Control
119 Git / Subversion
Maxious 120
121 [![](http://www.govhack.org/wp-content/uploads/Screenshot-at-2012-04-29-172132-300x235.png "Git Screenshot")](http://progit.org/book/)
122
123 [http://progit.org/book/](http://progit.org/book/)
124
125 [http://svnbook.red-bean.com/](http://svnbook.red-bean.com/)
126
127 [http://tortoisesvn.net/](http://tortoisesvn.net/)
128
129 [http://code.google.com/p/tortoisegit/](http://code.google.com/p/tortoisegit/)
130
131 ### Task Tracking -
132
133 Issue/task trackers allow you to outline the tasks required for your project and assign them to people to do.
134
135 [Trello](https://trello.com/) and [Workflowy](https://workflowy.com/) are free, lightweight project management tools suitable for a rapid project!
136
Maxious 137 ## Hosted Developer Tools {#hosted-developer-tools}
138
139 Can get many tools (source control, issue tracking) combined into one service cloud hosted so no setup required.
140
141 ### Github
142 Git obviously but svn/hg interfaces are possible. Provide their own GUI for Windows/OSX or use the variety of Git capable tools
143
144 ### Sourceforge
145
146 Subversion, Git, Mercurial, Bazaar, CVS, issue tracker, wiki, release file downloads. Unlimited free use for open source projects.
147
148 You can create your own Sourceforge project at [http://sourceforge.net/](http://sourceforge.net/)
149
150 ### Google Code Project Hosting
151
152 Git, Mercurial, and Subversion code. Issue tracker, wiki, release file downloads. Unlimited free use for open source projects.
153
154 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/)
155
156
157
Alex Sadleir 158 # API Development {#api-development}
Maxious 159
160
maxious 161 So an API isn't just an XML file ![;)](http://www.govhack.org/wp-includes/images/smilies/icon_wink.gif)
162
163 A good web based data API:
164
165 * Is logically organised
166 * Can filter returned data
167 * Can return results in different open formats (CSV/JSON etc.)
168 * Is efficient and responsive by using caching and databases appropriately
169 * Handles errors gracefully
170 * Monitors and controls access (to show benefit realised of API and prevent abuse)
171 * Provides appropriate documentation with examples
172
173 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.
174
175 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)
176
Maxious 177 API
178 - howto.gov api tutorial
179 - http://shancarter.com/data_converter/
180 - http://training.sunlightfoundation.com/module/data-visualizations-google-docs/
181 - api documentation
182 - WSDL or http://swagger.wordnik.com/ or https://github.com/mashery/iodocs
183 - 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
184 - https://github.com/elc/rapi_doc https://github.com/Pajk/apipie-rails
185 -
Maxious 186 http://amberonrails.com/building-stripes-api/
Maxious 187
188
Alex Sadleir 189 # Infographics and Data Visualisation {#data-visualisation}
190
191 Infographics try to contextualise charts and graphs to tell a story. Data vis builds on this to find new ways to design insight.
192