More Creepers Than Expected
One of the things that I really appreciate about Atlassian is the regular innovation events.
I've used those events to go on a few great innovation adventures already, like the time I vaguely helped to build a forge app and that other time I learned a bunch of stuff trying to introduce social gaming.
Both of those experiences were done during Innovation Weeks, which are exactly what they say on the tin: a week given over entirely to following an idea of your choosing.
But Atlassian also has ShipIt, which is a whole other beast.
Help is On The Way
ShipIt is the original innovation event at Atlassian.
A regular, company-wide activity, focused on getting something done over a relatively short period of 24 hours. It's a traditional HackDay, with all of the upsides and downsides that that implies.
But I want to focus down on my most recent experience, which was ShipIt 53 for Atlassian and ShipIt 2 for me personally.
As I've said before, I like using innovation time to stretch myself beyond my day to day. I specifically go out of my way to seek out opportunities to try different things and make myself a more well-rounded person.
It's also a perfect time to meet brand-new people and get to know them, learning about their experiences, what their interests are, how they operate and so on. That sort of thing really helps to drive home how everyone is different and awesome in their own way. Empathy is a hell of a drug.
So, keeping all that in mind, I usually aim to join someone else on a project that they are passionate about.
I was spoilt for choice.
In the Asia-Pacific (APAC) region alone there were 161 projects, almost all of which were created by people I'd never met before.
Atlassian is a big company after all.
The one I picked combined a few different things in an interesting way.
Grand Blocky Visions
Minecraft is a world of almost infinite possibility. People can, and do, build some truly incredible things within its blocky domain. Like a replica of major locations in Westeros (you know, Game of Thrones).
But having an idea and then turning that idea into reality is hard and there isn't much inside Minecraft itself to help with that. The most motivated builders are probably either exceptionally good at keeping things in their head, or they use some sort of task management system.
Like Trello.
I've written about Trello a few times on this blog already, so it's safe to say that I'm a fan. It's lightweight, simple and doesn't take itself too seriously, which I enjoy.
So, when someone proposed a ShipIt project to integrate Trello directly into Minecraft for the purposes of in-game task management, I was interested.
Not only did it seem like a real problem space (helping people to get things done in Minecraft), but I was familiar with both things and intrigued by how we could make them work together.
Also, it was a classic chocolate-in-my-peanut-butter idea, which tickled my brain.
The desired implementation was ambitious: to be able to sync a Trello board to an in-game Minecraft representation of said board. You know, lists, cards, etc, all rendered in an appropriately blocky fashion.
The big use case was for someone to be able to create a card on the board in Trello, have that card appear in Minecraft, have a player pick that card up off the board and carry it around with them to remind them of what they need to do, then return it to the board later on and mark it as done.
Pretty sweet right?
The Mod Squad
It turns out that making a Minecraft mod is actually pretty hard, especially when the goal of said mod is to replicate a good chunk of functionality from a mature piece of software.
Our intent was to divide and conquer, breaking the whole thing down into a few major streams of work, like:
- The creation of core blocks and objects for representing Trello concepts
- Being able to call the Trello API from within the Minecraft modding sandbox
- Ensuring that we had at least some art and imagery
There was more to it than that, but it's enough to understand some of the challenges that we had to surmount.
My part of the process was to pair with the visionary behind the original idea to try and get some of the core mod functionality going. You know, making blocks and attaching behaviour to them.
We chose Forge as our modding framework and got on with things, writing Java and generally trying to figure it all out.
It was hard. There is a huge amount of documentation on Minecraft modding but finding the right bits that helped us to do what we thought we needed to do was tough. Plus, Minecraft has gone through so many versions and iterations that we kept running into old advice and tutorials.
It was a classic example of the common innovation project problem: you spend more time blundering around trying to figure out how to do the thing than you do actually solving the problem at hand.
Meanwhile, the others ran into similar problems with their pieces.
After exerting a bunch of effort, we finally managed to get a mod working from end to end, with the start of a skeleton that we hoped to iterate on.
Then we ran out of time.
The Harsh Light of Reality
We had just enough time remaining to put together this awesome video.
I'll be honest, what we managed to create was nowhere near close to our initial vision. At best, we got one-way communication from Minecraft to Trello, allowing us to create some cards dynamically during the demonstration.
It was a prototype in the truest sense of the word, not even a thin slice of usable end to end functionality. But it did show that the idea was possible.
But that is the nature of innovation, and I don't regret the time I spent on this for a second.
I got to meet a bunch of new (and awesome!) people, I got to play around with Minecraft modding, I got to do some Java development and I got to take something from a concept through to the barest hints of reality.
10/10, would do again.