GovHack 2014

Posted on July 20th, 2014

July 11-12th saw the 3rd country-wide GovHack - a hackathon intended to bring together local, state and federal government data sets, and release them openly to designers, developers and storytellers to create mashups, websites and mobile applications for social good. Coordinated by the luminary Pia Waugh at a national level, and by the equally illustrious Fiona Tweedie at the Victorian level, the event saw over 1300 developers register at over a dozen sites across the nation.

GovHack stickers

GovHack stickers

Hosted in Melbourne by well-known agilistas Thoughtworks, over 100 Melbourne-based participants descended on Collins Street on Friday night, welcomed by warm dumplings and cold drinks. Proceedings were opened via video link, although Malcolm Turnbull’s cameo had a distinctly mixed reaction from the audience, with one or two comments of ‘where’s our #NBN??’ audible over the general buzz.

Thoughtworks’ IKEA-inspired workspace was ideal for the event, with lots of open space, collaborative open plan style desks and standup areas, and an open space for presentations. The stone-clad kitchen was well-stocked with goodies, and proved a prime example of space setting the tone and shaping the type of activities undertaken within it – as it become a focal point for collaboration throughout the night. The space had lots of walls for improvising Agile- and kanban-styled Post-It Note-based story boards, and was in close proximity to both good coffee (mandatory) and excellent Melbourne laneway food.

Nametags at GovHack 2014

Nametags at GovHack 2014 had coloured stars corresponding to developer, design and other skills to help teams form with multidisciplinary skillsets.

Teams either formed beforehand, or through an exercise run by Fiona on Friday night, which paired developers, designers, data visualisation gurus and data scientists together. Luckily the team I was in, Accessible Melbourne, had got in contact via Twitter the week prior, and although some of us hadn’t met in person previously, we bonded quite quickly and got down to delivering a minimum viable product. Matt and Lachlan were our back-end developers, I did some front end design and Lilly was a video guru as well as being a front end designer, and Sarah was our storyteller and documentation point person. We took to our roles well and over the course of 48 hours, we had delivered a minimum viable product – a map of Melbourne with accessibility information drawn from different data sets on it.

In conclusion, GovHack was a fantastic, frenetic, rewarding and eye-opening experience. The high level of collaboration, the high delivery rate of usable products and the atmosphere were phenomenal – and I can’t wait to do it all again next year, hopefully in Geelong.

Key takeaways

  • Javascript is huge. We leveraged two Javascript frameworks quite heavily during development, including Leaflet.js for mapping, and jQuery as part of the front end. Javascript is very much in the ascendance, and mature frameworks such as d3.js are positioning Javascript very much as a technology in its own right, rather than a useful utility to add interactivity or enhance UX – as called out in this Thoughtworks technology radar report.
  • Bootstrap and Bootswatch are incredibly helpful to begin interface development from scratch, and they provide
  • git is in ascendance as the preferred collaborative version control tool. Given all our team were comfortable in git, we chose to host our cost on github.com, and this made it much easier and much more efficient for collaborative coding.
  • You need a grunty machine for video compositing, editing and rendering. One of the acceptance criteria for each of the teams was that they produce a 3 minute video – our team decided to use OpenShot, a great opensource program. Luckily, the machine I took had 8 CPUs and 16GB of RAM, but rendering a 3 minute video in HD format on something less powerful would have taken a lot longer.
  • The exercise at the start was great to get teams together and to better understand one another’s skill sets. GameStorming is the phrase that comes to mind.
  • We were hampered in a couple of places because there is no defined data standard for representing accessibility information of buildings. Different cities represented data differently, and although it was in a similar file format – the ubiquitous JSON – the structure of the data itself meant that it was difficult to aggregate this onto a single map. Future iterations of this project – and accessibility developers in general – would be assisted by a defined and agreed data format.
  • One of the insights I drew was that great minds bounce off each other. During discussions for the project, the team came up with the idea of a ‘SpoonRating’ for conferences – ‘spoons’ is often used as a metaphor by those with disabilities or chronic illnesses for representing what capacity they might have – ie. ‘I’ve used up all my spoons for today’. Sparks lead to lightbulbs.

Key info

 

Installing the Wacom Intuos Pro PTH-651 under Ubuntu 13.10

Posted on February 2nd, 2014

As a present to myself for getting a high distinction while studying my IT Masters, I decided to get a reasonable graphics tablet. As a hobbyist graphic designer and photographer, it was an area I was keen to develop skills in. In determining which model to buy, Wacom was really the only choice – they are the undisputed market leader in this space. The Bamboo range wasn’t function enough for what I wanted, so opted for the mid-range Intuos Pro model, the PTH-651.

The lovely folks at BCC Computers in Geelong put one on backorder (apparently they’re really popular, they kept chasing for me, which was great) and within a couple of weeks I had the device in my hot little hands. It’s just as well that it arrived after linux.conf.au 2014, otherwise I wouldn’t have packed for conf!

The other complication was that I had a Masters’ assignment due; my wonderful work colleague T played Dad and ‘kept it safe’ for me for the week or so until the assignment was finished; then my toy got released! Thanks, T :-)

Installation under Windows

The tablet installed beautifully under both Windows 8, my home machine, and my work laptop running Win 7 Professional. In both cases I had to reboot, but the software installed easily and immediately I was able to use it.

Getting it installed under Ubuntu 13.10 Saucy Salamander

Installation under Ubuntu was a little more tricky. The good folk at BCC had warned me that I would have to use this difficult thing called the ‘command line’ when I made initial enquiries; this was where I pulled out the photo of my “other” Nexus 4 running Ubuntu Touch and demonstrated this was probably within my capability!

Nexus 4 runnung Ubuntu Touch

I was not to be deterred.

So, after unpacking and installing the Intuos under Windows, I booted into Ubuntu and set to work. Initially, there was nothing. Not even a hesistant jitter from the cursor to indicate it knew of the Intuos, and the Intuos knew of it.

After some reading on the Ubuntu forums, I happened across instructions for downloading, compiling and installing the latest version of the Wacom drivers, from the Linux Wacom project. I’d had mixed results backporting previously, like when I had to backport the Atheros ethernet drivers into my ASUS N76.

This time, fortune was on my side. The new drivers installed perfectly and after a reboot, my Intuos was recognised, and the (still somewhat limited, but vastly improved) control panel was in System Settings.

Mission: accomplished

Other thoughts

Everything about this install was intuitive, other than for changing the nibs on the stylus, which Wacom had helpfully done a video of.

Will my mouse be gone foreover? I’m not sure. Going entirely to the tablet takes a little time and practise, but just like learning a language it’s a skill I’d like to get some more fluency in. I still have a lot to learn with swipes and other gestures, but for now I’m off to a flying start.

Wrap up of linux.conf.au 2014

Posted on January 15th, 2014

This year linux.conf.au was in the sunny and very hot city of Perth, Western Australia. The conference itself was held at the University of Western Australia. My first impressions were positive ones. Accommodation this year was a choice of Trinity College or St George’s College, independently run but very close to the University. I chose Trinity so that I could have a (hopefully more comfortable) double bed and a private bathroom. It was a good choice; the room was cool, comfortable and clean.

UWA is an older university and the most prestigious in Western Australia; its eastern seaboard counterparts would be the University of Melbourne, University of Sydney or University of Queensland. The campus buildings harkened back to a more glorious era of higher education where learning was revered rather than distilled into neat packages, sold as stepping stones to a rewarding career. The sandstone campus evoked much character; peacocks were found in one quadrangle and the tropical sunken garden was an oasis in the unrelenting heat. The Undercroft and reflection pool stood almost as a monument to brighter times for higher education; strangely still in the midday swelter. Internally, the facilities themselves were somewhat dated. One lecture theatre, while equipped with good audiovisual, had 70s-era bench desks and swing-out chairs; not comfortable for someone of my girth. Other lecture theatres were more modern, and two had videoconferencing facilities, evidenced by the PTZ cameras nestled in the roof. The Reid Library on campus was lovely and cool, and also followed the coffee-with-a-book trend by having a downstairs coffee shop. Power points were reasonably plentiful; located strategically in the upper and side locations of lecture theatres.

Interestingly, UWA had a number of digital signage screens on campus. They varied in size, and the images and text on display showed little in common. Underneath I suspect they were using disparate systems. I did have an opportunity to talk to one of UWA’s Audio Visual Team, Mark, and he walked me through the digital signage product  called Concerto. It’s open source and used in a number of universities, and is a product I’d like to explore further.

It’s traditional for the last year’s conference team to play host to previous organisers in an event called ‘Ghosts’ – this year held at the Raffles Hotel. We weren’t disappointed; cider by the pint and delicious gourmet pizzas got us talking. It was a fantastic opportunity to catch up with people who are considered royalty in our community.

Monday was the first day of the conference proper, and started with the first keynote.

Dr Suelette Dreyfus on the Surveillance state

Video link to the Surveillance State presentation on the Linux Australia Mirror

Suelette’s keynote was particularly intriguing, and delved into the current hot topic of surveillance in a post-Snowden world. Her speech started with an excellent quote;

“In every community, there is a necessary balance between the rights of the citizen and the powers of the state – ours is out of balance”

She highlighted the incredible power of surveillance technology and just how far the balance has shifted, noting the rise in growth of corporate espionage and corporate hacking, leading the the era of the whistleblower. She demonstrated how the conceptualisation of what it is to be a whistleblower is changing and walked through academic definitions of whistleblowing.
From being seen as a ‘rat’ or a ‘turncoat’, the perception of a whistleblower has changed from that of a misfit or villain to become more of a hero (or anti-hero), based on the data of the survey her research team are working on. This shows a large public support for whistleblowers and whistleblower protection, including the ability to reach out to the media to have their story told. Part of this swing is due to the public losing faith in the parliamentary political system.She quoted Orwell;

“in a time of universal deceit, telling the truth is a revolutionary act”

and noted the similarity with the open source world and how the models it uses are also revolutionary. Dreyfuss went on to note how whistleblowers and journalists are treated in today’s world, facing pejorative action such as being detained and searched at airports and surveilled. She quoted several players from the military industrial complex in their responses to Bradley Manning and Edward Snowden and contrasted this with their public support.She went on to describe how taxpayers’ funds are being used to fund surveillance activities, such as the infiltration of WoW and online gaming communities – the infiltration of which was seen as an NSA ‘opportunity’.Dreyfuss articulated the concept of security saturation, where there is so much money going into the surveillance system that they can’t spend it all – it’s so big that it’s not possible to reveal it all. She questioned the benefit of additional spending on surveillance, drawing a blank as to what societal benefit it could yield.She described how the surveillance state grows in seemingly benign ways, giving the example of the ‘Insight Platform’ for tracking educational progress of children through a one-stop-shop model. The tender document for the platform was analysed and she drew threads from this to show how a child could be tracked from maternal and child health centres right through to year 12, questioning what sort of data would be stored such as religious data, and how long that data would be retained for and who would have access to the data. When questioned on the data protections for the Insight Platform, many of these implementation details were left to the vendor – even when the government was keen to engage with overseas vendors!She noted some of the technical developments and the increasing sophistication of surveillance and surveillance tools. She then used a ‘Report Card’ on building the total surveillance state to show just how ubiquitous surveillance is, showing how data is cross matched across different government departments and how co-option of big data players is occurring.To wrap up, she articulated a number of actions people could take to do to prevent the surveillance state, such as

  • getting political
  • writing privacy enhancing software
  • writing detection software
  • get involved in not for profits and NGOs that give tech support to journalists and average citizens
  • if you work for government, use your voice

Pia Waugh and Open Government

My other pick for Monday was Pia Waugh’s Open Government miniconf, given that one of the things I’m hoping to do is have the higher education system open up some more of their data sources. Some of the key questions discussed at the miniconf include how to get more people talking about open data. The concept of the data journalist was also discussed – noting that this role is focussed on analysis, seeking, visualisation, reporting and use of data – ie storytelling through data.

One of the highlights here for me was learning that data.gov.au is using IdeaScale for logging, rating and improving innovation ideas. I grabbed the opportunity and logged an idea to get eTax opened up;

https://datagovau.ideascale.com/

Kate Chapman (@wonderchook) on Open Street Map

View the video for this keynote on the Linux Australia Mirror

Kate Chapman’s keynote on Open Street Map and the HOT project was inspirational. It covered how HOT is responding ti disasters with open street maps, using open mapping data. She started her presentation by outlining that most maps are not released under an open source license – you cannot reuse the data that they use. This makes it particularly difficult for humanitarian teams who may need a detailed map of an area in a hurry. They are using the HOT project to do mapping in advance.

She went on to explain that it was first activated in 2009 for the Gaza troubles, using iterative level of detailing – so that a basic map can be first produced, and then higher levels of resolution iteration after iteration. It was also used in the 2010 Haiti earthquake, particularly as the staff from the aid agency in Haiti died in the initial earthquake.

Tim Serong noted after the talk that it would be good to have plugin for Ingress which mapped out OpenStreetMap data as you hunted down portals – a great idea.

Darcy Laycock @sutto

View this talk on the Linux Australia Mirror

Darcy’s talk was a great one – on how to make APIs that developers love using. Most of it was common sense, but it was distilled in a very structured and meaningful way. Some of the key tips included using HTTP status codes for errors – as people are familiar with how the HTTP status codes work.

His comment that HTTP is for everything was accurate; HTTP is the protocol of the future and this is going to have major implications for technology such as the internet of things.

He also cautioned to make your API easy to explore – for coders, it’s another system to try and break, so make it easy for people to explore. They’re going to try and subvert it anyway, so encourage people to do so. He also encouraged developers to make the API ReSTful, as this is the generally accepted API standard, and is much nicer to use than XML-RPC or SOAP.

He also stated that change is inevitable, and that how you handle change is a sign of a good API. It’s much easier to introduce features than remove them. In particular, he spoke about versioning data versus versioning semantics – ie what does the endpoint do when you change the API. Data is much easier for people to deal with, however if you change the semantics it’s much more difficult to deal with. He also advised to use content type negotiation as another change handling technique.

He also noted that authorisation and authentication are hard problems to solve – so when building open APIs, don’t reinvent the wheel. People have generally through through the approach previously. OAUTH and OAUTH2 need special attention – you have to avoid developers having to write custom code to use your API. Keep the API simple and easy to understand so others can just ‘drop something in’.

On API design approaches, he gave a brief history such as JSON RPC, XML-RPC and SOAP, but SOAP doesn’t understand HTTP. He advocated the use of resource-based APIs and acknowledged the rise of ReST based APIs over the last few years, which leverage structs and paths. He cautioned to make a good API language agnostic so more people can use it, and noted the rise of graph-based APIs – with Facebook being the biggest and easiest.

He was a strong believer that APIs are for real people and should use user-centred design. At the end of the day,

“All the good APIs have something in common – the people who wrote it actually use it”

He also touched on the dangers of outsourcing APIs, which platforms shutting down, and the dependency that building off another API creates. He cautioned that you need to understand that the API can go away – you need to flag this from a risk analysis perspective.

Reflecting on this talk, the thought struck me that what Sutto was really getting at was an API maturity model, with best practices at the high end of maturity and worse practices at the low end. I’d really like to see him extend his talk toward this goal.

Alice Boxhall (@sundress) on Accessibility for Developers

Alice is a great presenter, and one of the things I liked most about her talk was that she wore a Google tshirt – in braille – to present.  Her talk was pretty basic on accessibility but was of a lot of use to developers who don’t necessarily think about the WCAG accessibility guidelines during development.

She showcased the ChromeVox screenreader, a Chrome extension, and spoke about the semantics of your interface.

There is an emerging standard in this space called WAI-ARIA. Although I’m pretty experienced with accessibility, I wasn’t aware of this development. From the site itself;

WAI-ARIA, the Accessible Rich Internet Applications Suite, defines a way to make Web content and Web applications more accessible to people with disabilities. It especially helps with dynamic content and advanced user interface controls developed with Ajax, HTML, JavaScript, and related technologies.

WAI-ARIA uses a number of roles that can be defined for a widget to give it meaning for someone with disabilities. This allows the screenreader to interpret the function of the widget more clearly – such as button, tree, dropdown etc. You then need to ensure you handle keyboard events such as onKeyPress and tabIndex appropriately.

She then explained how native HTML5 objects are turned into accessibility objects which are then ‘rendered’ by a screen reader using the aria-role attribute.

She gave some excellent tips for testing accessibility such as killing the mouse for starters, trying a screenreader such as ChromeVoc, Orca or Talkback, professional testing and talking to your users. She also cautioned to make your feedback mechanisms accessible – so that they can actually be used!

She cautioned that automated testing only catches low hanging fruit, and would like to see increased visibility of accessibility as a concern for developers. Accessibility testing should be performed regularly to prevent regression. She also cautioned that it won’t catch all possible tools, and that testing doesn’t negate the need to understand accessibility issues. The results then need to be acted upon in a cyclic fashion.

She then gave an example of how accessibility testing could be incorporated into workflow using the Capybara suite of tools; suitable for continuous integration.

Conclusions

There are many more talks that I went to, but unfortunately my netbook was playing up so I didn’t take a lot of notes. Mark Nottingham’s talk on the HTTP 2.0 protocol was another standout, and I also very much enjoyed Jon Oxer’s ArduSat keynote – about reducing the price it takes to to excellent science. Both inspirational. Again, a great conference, a great community and I can’t wait for linux.conf.au 2015 in Auckland, New Zealand.

On a closing note, because it sums up the conference so well, is Jenna Drawing’s take on the conference t-shirt – amazing as always.

Jenna Drawing's modified conference shirt, credit to Jenna Drawing

Jenna Drawing’s modified conference shirt, credit to Jenna Drawing

Next Page »
© Klog: Kathy Reid’s Blog • Powered by Wordpress • Using the Swiss Cool theme.