State of my toolchain 2016

In July, I transitioned from a 16-year career in digital and IT with a regional university to setting up my own digital consultancy. This meant that I no longer had a Managed Operating Environment (MoE) to rely on, and instead had to build my own toolchain. Both to document this toolchain, and to provide a snapshot to compare to in the future, this post articulates the equipment, software and utilities I use, from hardware up the stack.

Hardware

I have three main devices;

  • Asus N76 17.3″ laptop – not really a portable device, but a beast of a work machine. I’ve had this since January 2013, and it hasn’t let me down yet. It has 16GB of RAM, 4 dual core Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz CPUs, so 8 cores in total, and it basically needs its own power station to run. This machine is a joy to own. It speeds through GIMP and video processing operations, and has plenty of grunt to do some of data visualisation (Processing) work that I do. The NVIDIA graphics are beautiful. The only upgrade in this baby’s near term future is to swap out the spinning rust HDD (x2) with some solid state goodness.
  • Asus Trio Transformer TX201LA – a portal device, useful for taking on trains and to meetings. I’ve had this for around 18 months now, and while it’s a solid little portable device, it does have some downsides. This is a dual operating system device – the screen, which is a touchscreen, and detaches, runs stock Android (which hasn’t had an update since 4.2.2 – disappointing), while I’ve got the base configured via Grub to dual boot Win10 and Ubuntu 16.04 LTS. Switching between the mobile OS and desktop OS is generally seamless, but I’ve had some glitches switching between Ubuntu and Android – in ASUS’ defence, they did tell me that Linux wasn’t supported on this device, and of course you all knew what my response that was, didn’t you? Challenge: accepted. The hardware on this device is a little less grunty than I’d like – 4GB RAM and Intel® Core™ i7-4500U processor. It just isn’t enough RAM, and I have to pretty much limit myself to running 3-4 apps at a time, and less than 10 Firefox tabs. But, that said, I *do* like the convenience of having the Android device as well – and the screen is a joy to work with. One little niggle is that VGA / HDMI out are via mini display port – and only a VGA adaptor was provided in the box. I’ll have to get a mini display port to HDMI adapter at some stage, as the world embraces digital video out. For the meantime, I’ll have to party like it’s 1999 with VGA.
  • LG Nexus 5X – my mobile phone. Purchased in January 2016, it’s running stock Android Marshmallow, and I’ve been super happy with how fast Android OTA updates ship to this device. For non-RAM-intensive operations it’s pretty snappy, and the quality of the camera is fantastic. The battery life is pretty good compared to my old Nexus 4, and I can usually go a full day on a charge, if I’m not Ingressing. This device has some pretty major downsides though. The USB-C charging cable is frustrating, given everything else I own charges on micro USB, so I’ve had to shell out for new cables. The RAM on this device just isn’t enough for its processor, and I’m constantly experiencing lag on operations, making for a frustrating user experience. The camera is buggy as hell, and there’s more than once I’ve taken a great shot, only to find it hasn’t been saved. I’ll be looking for a different model next time, but I can’t justify replacing this at the moment – it’s only around 8 months old.

My hardware overview wouldn’t be complete without these other useful peripherals:

Wearables

The two key wearables I have are the Pebble Time and Fitbit. As Pebble Time’s GPS and fitness tracking capabilities increase, I’m expecting to be able to decom my Fitbit. I can’t imagine living without the Pebble now – it’s a great wearable device. The battery life is pretty good – 3-4 days, and the charging connector is robust – unlike my poor experiences with the Fitbit – both with the device battery itself degrading over time, and having been through 5-6 chargers in 3 years. I’ve Kickstarted the Pebble Core, and can’t wait to see where this product line goes next.

Software

At the operating system level, both my laptops dual boot both Windows 10 and Ubuntu LTS 16.04, with my preference to be to use Ubuntu if possible. This generally works well, but there are some document types that I can’t access readily on Ubuntu – such as Microsoft Project. Luckily, most of the work I do these days is web-based. I still need Windows for gaming, because not all the titles I play are delivered via Steam – with the key one being The Secret World. Total addict 🙂

Office productivity

  • LibreOffice – my office suite of choice is LibreOffice. OpenOffice is pretty much dead, and the key driver of that is being umbrella’d by Oracle. Open source communities don’t want to be owned by large corporates who purchase things, like, oh I don’t know, MySQL, to simply gain market share rather than ascribing to the open source ethos.
  • Firefox – my browser of choice. Yes, I know it’s slower. Yes, I know it’s a memory hog. But it’s Firefox for me. I really like the Sync feature, meaning that the plugins and addons that I have on one installation automatically download on another – very useful when you’re running essentially four machines. My favourite and most used extensions would have to be LeetKey, Awesome Screenshot, Zotero, ColorZilla and of course Web Developer tools.
  • Thunderbird – I run Thunderbird with a bunch of extensions like Enigmail, Lightning (with a Google Calendar integration for scheduling) and Send Later – so that if I write a bunch of emails at 2am in the morning, they actually send at a more humane hour.
  • Zotero – I used Zotero, and its LibreOffice plugin for referencing. It’s beautiful. And open source.
  • Slack – Slack is the new killer app. I use it everywhere, on all the things. The integrations it has are so incredibly useful. In particular, I use an integration called Tomato Bot for Pomodoro-style productivity.
  • Xero – Yes, I have a paid account to Xero for accounting and bookkeeping. It’s lovely and simple.
  • Trello – For all the project management goodness. I got some free months of Trello Gold, and I’ve let it lapse, but will probably buy it again. It’s $USD 5 per month and has great integration with Slack. Again, if there were an open source alternative I’d give that a go, but, well, there just isn’t.
  • GitHub and Git – If your office is about digital and technology, then GitHub is an office productivity tool! I use Git from the command line, because it’s just easier than running another application on top of everything else.

Social media and radio

  • Hootsuite – Yes, I have a paid account to Hootsuite. There just isn’t a comparable open source alternative on the market yet. It has some limitations – such as lack of strong integration with newer social media platforms such as Instagram and SnapChat, but you can’t go past it for managing multiple Facebook pages or Twitter accounts at once.
  • Pandora – I stream with Pandora, but I really, really, really miss Rdio.

Quantified self

Over the years, I’ve found a lot of value in running a few quantified self applications to get a better idea of how I’m spending my time – after all, making a problem visible is the first step toward a solution.

  • RescueTime – the visualisations are beautiful, and it runs on every device I have, including Linux. It provides great insights, and makes really clear when I’ve been slacking off and not doing enough productive work. One of the features that I appreciate most is to be able to set your own categorisations. For examples, Ingress in my RescueTime is categorised as neutral – yes it’s a game, but I only play it when I’m walking – so that’s something I’m aiming to do more of.
  • BeeMindr – this nifty little app puts a sting in the tail of goals – and charges you money if you don’t stick with strong habits. I’ve found it’s started to help change my behaviour and build some better habits, such as more sleep and more steps. It has a huge range of integrations with other tools such as RescueTime and Fitbit.

Coding, data visualisation and other nerdery

  • Atom Editor – this is my editor of choice, again because it works on both Windows and Linux. The only downside is that plugins – I run many – have to be individually installed. If Atom had something like Firefox Sync, it would be a killer product. It’s so much lighter than Eclipse and other Java-based editors I’ve used in the past.
  • D3.js – this is my go to Javascript visualisation library. V4 has some pitfalls – namely syntax changes since v3, but it’s still a beautiful visualisation library.
  • Processing – I’ve used Processing a little bit, but I’m frustrated that it’s Java-based. Processing.js is a library that attempts to replicate the Java-based Processing, but the functionality is not yet fully equivalent – particularly for file manipulation operations. The concept behind Processing – data visualisation for designers, not programmers – is sound, but I feel that they’ve made an architectural faux pas by not going Javascript right from the start. I haven’t really gotten in to R or Python yet, but I can see that on the horizon.

Graphics, typography and design

  • Scribus – in the past year I’ve had to do quite a few posters, thank you certificates and so on – and Scribus has been my go to tool. The user interface is a little awkward in places, but it provides around 60% of the functionality of desktop publishing tools like QuarkXPress and InDesign – for free.
  • InkScape and GIMP – my go to tools for vector and raster work respectively. Although, I have started to experiment a little with Krita lately. One of the things I’ve found a little frustrating with both InkScape and GIMP is the limited range of palettes that they ship with, so I started writing some of my own.
  • Typecatcher – for loading Google fonts on to Linux.

Next steps

Thin client computing seems to be taking off in a big way – virtualised desktops are all the rage at the moment, but I don’t think they would work for me, primarily because I tend to work in low bandwidth situations. My home internet is 4-5Mbps, and my 4G dongle gets about the same, but is pre-paid, so data is expensive. For now, I’ll have to manage my own desktop environment!

What do you think? Are these choices reasonable? Are there components in the stack that should be replaced? Appreciate your feedback 😀

We’ve reached Peak Hackathon and this is what we need to do about it

Over recent years, the term ‘hackathon‘ has entered mainstream parlance. There are many nuances in just what a hackathon is – very eloquently articulated by Jack Skinner. What I’d like to unpack today however is the growing number of hackathons in the Australian technical and entrepreneurial scene – and whether we’ve reached a point where there are now so many that they’ve become ineffective. This saturation point is a condition I’ll term ‘peak hackathon‘.

What hackathons are there?

Over the past two months alone around the city of Melbourne, Australia, there are a plethora of hackathon events;

  • GovHack – a national open data hackathon where participants leverage open data from federal, state and local government authorities to build new tools for citizens (free to attend)
  • Girl Geek Academies #SheHacks – a hackathon for women only where a number of female mentors are present, aimed at providing connections and a space for women to test new business ideas ($AUD 100 to attend)
  • #Moonhack by Code Club Australia – aimed at children aged 9-11, this hackathon is a world record attempt to get as many children as possible hacking at once (free to participate).
  • Unihack – run by Monash University’s student IT society, this hackathon is aimed at university students only and has fairly open-ended goals – with a working product being the overall goal (free to attend).
  • Random Hacks of Kindness Melbourne (#RHoK) – positioned as a social hackathon, RHOK focuses on developments that provide social outcomes (free to attend).

Why are we reaching ‘peak hackathon’?

The rise in the volume of hackathons is completely understandable. While the empirical evidence is thin – largely because hackathons are a very recent phenomena, the case studies that have emerged are generally positive – hackathons are great ways to generate ideation, to facilitate social connections and to grow innovative products and services (see references below).

Hackathons are also great was to build social capital and technical communities – for instance around a particular language, a geography or a product.

So, what’s the problem?

As hackathons gain additional traction and recognition as hotbeds of innovation, the sheer volume of hackathons being run is now becoming the problem itself.

Why? It comes down to dollars and people.

Hackathons have a number of expenses. Firstly, you need a venue to house the hackathon. Sometimes this will be donated in-kind or at a discount, but sometimes not. Then, you have to feed your hackers – well, you don’t have to, but it’s considered de rigueur to do so. Often, the venue will have a contractual obligation in place to use a particular catering company, so even if the hackathon is able to obtain the venue for a low price point, the provision of catering is often much more expensive. Next, you will need stationery, which for a smaller hackathon is often a neglible cost, but can run to hundreds of dollars for larger events. Factor in marketing and media coverage (such as promoted posts or tweets), prizes for hacks and suddenly the cost of running your hackathon can run to thousands of dollars.

Sponsorship, up until recently, has generally been relatively easy to obtain. Organisations want to align themselves with groups that represent innovation and creativity, and especially where the organisation receives additional benefits, such as the ability to scout for talent or first pick of the minimum viable products delivered at a hackathon. However, as the number of hackathons in the market increase, sponsorship is becoming more difficult to obtain in some cases. Alternatively, the amount of money that organisations are willing to direct to hackathons is diluted – meaning that a hackathon may need to deal with twice the number of sponsors – who are contributing reduced amounts of capital – thus placing an administrative overhead on the hackathon organisers – who are generally volunteers. Building sponsor relationships takes time and effort – that often needs to be sustained over several years.

An alternative to this is to charge attendees – such as #SheHacks charging $AUD 100 per participant. However, this choice – as financially necessary as it may be – places additional barriers to entry in place for participants. For instance, some potential participants may need childcare to attend (something that GovHack Melbourne provides for free), and others may need to give up paid work to attend. So, competing for sponsorship indirectly means more barriers to participation – something that all hackathons want to avoid.

The plethora of hackathons sprouting up also means that competition now exists not only for sponsor patronage, but for developer / creative / entrepreneurial attendees. A hackathon is a significant time commitment – often two-three days over a weekend – competing with leisure time, family time – or for the more introverted attendees – ‘alone’ time.  Hackathons are intense. They require significant investment of cognitive effort, long hours – and although fun, exciting and exhilarating – often leave participants tired or drained. There is a limit to how many of them attendees can actually do without feeling drained our burned out – again something all hackathons wish to avoid.

Lastly, but certainly not leastly, the other resource that becomes contended when we reach peak hackathon is volunteer time. Most hackathons – apart from corporate hack days – where the organisation has paid members of staff organise the hackathon – are run on volunteer time and effort. The number of volunteers we have in Australia has actually increased over the last five years, but the number of hours they are volunteering on average has significantly reduced. While it’s unknown whether this statistic extrapolates to hackathons and the technical community, it stands to reason that if there are more hackathons, requiring more volunteer effort, and that the pool of volunteer time is finite, sooner or later hackathons are going to contend for the same volunteers. This in turn leads to volunteer burn out – which reduces the overall capital of the community.

So, what can we do to collectively address the situation?

  • Dates – finding dates are hard. We have to schedule around university holidays (as students won’t attend if they’ve gone home for term break), major events (such as sporting events), and simply time of the year (if it’s 40 degrees outside, you might be at the beach). Trying to then co-ordinate around multiple other hackathons may then appear to be a bridge too hard to cross, particularly if the hackathon is national or international in scale.
  • Hackathon summit – another option is for the leaders of various hackathons to stay in regular and constant contact, and identify the areas where they should, and should not be collaborating. This might take the form of co-ordinating around which sponsors will be approached, or co-ordinating around dates, or co-ordinating around shared resources – for instance information on how to source childcare. Great collaboration will mean less competition.
  • Volunteer pipeline – the most effective volunteers are those who have significant experience and connections throughout the hackathon community. The downside of course is that if people are effective in a volunteer capacity they are often ‘rewarded’ with additional work. Collectively we can work together to identify, nurture and grow the volunteer base. Of course, this nurturing itself is an additional task.
  • Less money for prizes, more money for participation – with significant funds from hackathons going to prize money, it may make more sense to divert funds to participation activities – bursaries, child care, travel and accommodation grants – from prize money. Whether this would deter those hackers who come to hackathons purely for the money on offer is unknown – but it may serve to increase participation from under-represented cohorts.

What do you think? Are there other actions we could be taking as hackathon organisers to address peak hackathon?

 

Full disclosure: I’m the site lead for GovHack Geelong, a GovHack official event, and sit on the board of Linux Australia, an incorporated association which auspices GovHack as well as many other technical events such as Pycon-AU and linux.conf.au.

References

  • Decker, A., Eiselt, K., & Voll, K. (2015). Understanding and improving the culture of hackathons: Think global hack local. In Frontiers in Education Conference (FIE), 2015. 32614 2015. IEEE (pp. 1–8). IEEE.
  • Isaac-Menard, R. (2016). Hack the library Organizing Aldelphi University Libraries’ first hackathon. College & Research Libraries News, 77(4), 180–183.
  • Jetzek, T. (2016). ElEmEnts of a succEssful Big Data HackatHon in a smart city contExt. Geoforum Perspektiv, 14(25).
  • Leclair, P., & a Catalyst, O. D. I. (2015). Hackathons: A Jump Start for Innovation. Public Manager, 44(1), 12.
  • Lewis, B. A., Parker, J., Cheng, L. W., & Resnick, M. (2015). UX Day Design Challenge Hackathon to Apply Rapid Design Ideation to a Practical User Experience Challenge. In Proceedings of the Human Factors and Ergonomics Society Annual Meeting (Vol. 59, pp. 304–306). SAGE Publications.
  • Rice, J. (2015). Hackathon implementation for industry and academia. UTICA COLLEGE
GovHack 2015 group photo, credit: Mo Xiao Xiang
GovHack 2015 group photo, credit: Mo Xiao Xiang

 

My #ausvotes 2016 experience – a trail of #UX fails

So, another three years has come around and it was time to choose between Biggie Smallstick and Burst Watermain. In Australia, voting is compulsory – you get fined by the Australian Electoral Commission if you don’t vote – and it would be reasonable to assume that because voting is mandatory, the processes to do so would be streamlined, simple and frictionless.

Hahahaha! Silly Australians. (props, Sammy J).

Firstly, you have to vote in person. While electronic voting has its detractors, this is 2016, and quite frankly, we should have figured it out by now. Maybe it would make referenda on things like equal marriage and becoming a republic too easy and less costly? Who knows. Maybe we need a strong and robust national broadband network to make it work. Whatever, you can’t currently vote online.

You can however do an early vote, in person or by post. This requires pre-registration, and there are rules around who can early vote. Sigh. Too hard. Just easier to nip across the two blocks to the Senior Citizens Centre, where I’ve voted dozens of times before, wait in line for a little while, get a #democracysausage, and even take the doggie for a walk.

Nope.

Even though I’ve voted at the local Senior Citizens Centre dozens of times before, it’s not actually a polling place for the 2016 Federal Election. So, after taking the doggie for walkies on our usual route, which passes by the Senior Citizens Centre, I was surprised to find no AEC signage or personnel there, and no party volunteers. “Perhaps it’s not a polling place this year” I wondered, “I’m sure they will have signposted it if that’s the case”.

Silly Kathy.

There was no signage around at all, and two other ladies walked up to the centre as well. We chatted, and they patted the doggie, and I used my mobile device (Nexus 5X, vanilla Android 6.01) to attempt to solve the problem.

My first approach these days is just to ask Google. So, using Google Now, I asked “Where can I vote today?”.  Google Now helpfully responded with this list of options.

Where can I vote today? Google Now results.
Where can I vote today? Google Now results.

Now, ‘nearest polling place’ sounds like pretty helpful information, right?

Silly Kathy.

Clicking this (sponsored) link took me to the AEC website, which had lots of information on voting types, and how to vote, but not the actual information I was looking for – where I could actually vote. At least it was responsive and showed up on a mobile phone. Not a high barrier, admittedly, but one that all to many websites fail on these days.

General information on voting, not the actual location of where I could vote
General information on voting, not the actual location of where I could vote

Hot tip: If you’re going to use sponsored Google Adwords, please for the love of all that is good in the world, make sure the URL goes to the specific, actual information that you’re promoting.

Also helpfully, Google Now had provided an Australian Federal Election tile. Could this help me, where the website of the government agency actually responsible for elections had not? Let’s find out!

Google Now tile for the Australian Federal Election 2016
Google Now tile for the Australian Federal Election 2016

First, I clicked on the tile. Props to Google Now for knowing that today was an election, and that I was geographically in Australia. So far, so good. Next, I had to search for the electorate I was in, which was a little clunky. I already share both Wi-Fi and GPS location data with Google Now, so from a UX viewpoint it would have been preferable to automatically show the information for the electorate that I was physically in first. But still, much better than the AEC experience.

Then, I had to scroll down a bit to find the actual location information. A handy skip link to locations would have been nice, but still, I could find the information I needed, in the context I needed it, without too much hassle.

Google Now screenshot of polling booth locations for the electorate of Corio, Victoria
Google Now screenshot of polling booth locations for the electorate of Corio, Victoria

For bonus points, the location information linked straight to Google Maps, and also pulled in data from Election Sausage Sizzle (aka Democracy Sausage). Glorious. Thank you, Google. AEC, take notes.

See the full Google election site at https://election.google.com.au

Once I got to my destination, the UX experience continued. There was a banner on the TAFE, where I was voting, but there were no sandwich boards on the pavement or other visual indicators. Really, you could have easily missed that it was a polling place.

Given that I had my doggie with me, there were also few places to securely leave him, and I was grateful for one of the party volunteers, who offered to mind him. He liked her, so I trusted her. Dogs are good judges of character.

The other observation here was that there were few facilities for people – particularly the elderly or less mobile, to sit down. I walked in with a lady who had a limp, and she was clearly in some pain. Somewhere to sit for her would have made it an easier experience.  Sadly, no Democracy Sausage or Democracy Cake, and they would have made a tidy profit – as it was cold and chilly.

The line to vote was thankfully short (I got there just on 0800rs as voting opened), and I waited about 3min 45 seconds to go in and vote (yes, I measured). Once I had my name checked off (painless, the chap had clearly done this several times, he found my name with military precision. He looked like a Menzies fan), there was light at the end of the tunnel. But then I saw it. A donkey voter’s delight.

IT WAS THE SENATE BALLOT PAPER FROM HELL

Measuring up at over a metre long, I couldn’t get this thing into the polling booth without folding it in half. Normally a below-the-line voter, there was no way I could wrestle with this. I admitted defeat, and dutifully pencilled in 1-6 above the line. The poor AEC election official had to stifle laughter as I attempted origami to fold the bloody thing six times to make it fit into the ballot box. No points, would not buy again.

The ballot paper experience actually changed the way I vote, and this is bad for democracy.

On a side note, the election booth actually contained a magnifying sheet for those hard of sight. Admittedly, it would take you an hour to read the Senate Ballot Paper From Hell with the magnifying sheet. But yes, I will concede half a point here for usability.

So, how was my voting experience, or #votex? It sucked. But it would have sucked more if I wasn’t able bodied, didn’t have an Android mobile phone and didn’t have a very clear idea of who I was voting for, enabling me to quickly go from below the line to above the line. If voting is mandatory, we have to make it easier for people. I’m digitally savvy. I’m able bodied. I’m politically astute. And this experience sucked for me. Dammit, I’m an election power user AND IT SUCKED. How on earth does Average Voter Joe feel about this process? No wonder people see their democratic rights as a chore and not a privilege. Australia, we’ve made exercising our democratic rights difficult, clumsy and off-putting.

Making #votex easier for citizens

So, how do we fix it?

  • Electronic voting – we need to find a way to do it reliably, securely, and in a way that all citizens can access
  • If your polling places change from year to year, find a way to let people know. Put a poster on the window of the Senior Citizens’ Centre! Let people set their preferred polling places, so that if their preferred polling place changes, you can notify them and direct them appropriately.
  • UX your website and if you have link that says ‘Click here to find out where to vote’, make sure you take the user to information that tells them where they can vote. It’s not rocket surgery.
  • Fix the senate. Or, failing that, design a ballot paper that isn’t twice the width of the ballot booth.
  • Real time queuing information. That could then be released as open data, so we can do predictive analytics on it for future years. Integrate this with the mobile app.

Democracy. Let’s make it suck less.