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