/dev/world/2019 Early Bird ⚠️

Get your /dev/world/2019 tickets soon! Don’t miss out!/dev/world/2019 is fast approaching, and discounted Early Bird tickets are available until 9 August 2019.

A ticket gets you access to three days of workshops, sessions, and networking — it’s a great deal! /dev/world/2019 runs in Melbourne at RMIT, and features speakers from companies like Google, Canva, Mercari, Etsy, CBA and beyond, covering topics from the latest SwiftUI, to Flutter, to Rich Notifications, to hand puppets with Augmented Reality (AR).

Join us at /dev/world! For more information and tickets, visit https://devworld.com.com.au

The first announced Featured Presentation at /dev/world/2019 will be from Simon Joslin and Matthew Clark, from The Voxel Agents, developers of The Gardens Between, the Apple Design Award-winning adventure puzzle game. They’ll be talking about good design, and how it can’t just be rushed.

Get your tickets at https://devworld.com.au ❤️

Adventures with a client who won’t pay

Over at Secret Lab, we’ve been dealing with a client who won’t pay. Since October last year, we’ve been working on a gorgeous iPad application for a big name client who has been nothing but full of praise for our (quite frankly, amazingly good) work. They have literally sent emails thanking us and telling us how great the work has been.

Per our standard terms, we don’t turn over source code and ownership of source code until the final payment. They accepted this, in writing, up front. It’s pretty standard stuff.

The client has been hard to pin down, and has declared how busy they are are travelling the world (join the club, we travel all the time and respond instantly) and generally being very important, by way of explanation to their lack of responsiveness (not our problem, but whatever). They have also disappeared or been unreachable for large periods after the app shipped to the App Store and went live.

There was some squabbling by the client over this (I imagine they probably didn’t read what they agree to, pretty standard stuff — we suspected they hadn’t read the terms when we started getting emails complaining that we were over budget. We were not over budget by a single cent), and when they refused to pay until they received the source code we renegotiated (after offering escrow, and a few other options), and arrived upon: they’d pay 50% of the remaining owing, we’d send the code, they’d immediately send the other 50% payment.

They paid the first 50% (late, I might add) and we immediately (literally, immediately) sent the code along. They have yet to pay the other 50%.

Now, months after the app shipped (literally months after the client shipped the app to the App Store and is collecting the IAP revenue), and weeks after they were meant to pay the second 50%, they have declared that it is ‘terrible’ and ‘horribly broken’, and are refusing to pay until they fix it. (I say they fix it, because while we’ve offered — even though we’re definitely not obligated to — they haven’t given us a bug report.)

It’s at this point I should add: after shipping the first release to the App Store, the client activated an optional final milestone in our agreement for us to perform some additional work on any bugs discovered since launch. All were minor, and largely cosmetic (the client supplied the list), and we shipped that build off to them. They have yet to set it live, and if there was a ‘terrible’, ‘horribly broken’ issue with the first version that shipped we’d have expected them to include that on the list of things to fix for that milestone (and if they were so unhappy with us why did they activate that milestone?)

Despite the client disappearing for a number of weeks in between the app shipping and them turning up and declaring it broken we, of course, offered to take a look into the issue they were seeing.

No bug report was forthcoming and the client went back to ignoring us. So we got our lawyer involved, and the client responded with a video showing the app not working to our lawyer. They didn’t supply a bug report, or credentials that result in the broken experience the video showed. Nothing useful, just a video. (We can’t reproduce the issue, but aren’t accusing them of lying; software is software. Software has bugs. While they had ample opportunity to report such a bug, and while we’re no longer really obligated to look into it, we would, because we like our clients. We just need an actual bug report, not a video, and not emails ranting about how everything is broken without providing context or requested information).

We’re owed nearly $50,000 AUD, and are very very out of pocket. The client throws around such comments as “it’s not that much money”, and “money is not the problem” but doesn’t take us up on our very generous offer to take a look into their issues regardless (and, indeed, only sent a video when our lawyer got involved. The video isn’t helpful to actually investigate the problem.)

We’re now in the position of having to take what seemed like a dream client to court for an amount of money that, while not very much in the scheme of things, makes a big difference to a small business that’s very selective with who it takes as a client.

Suffice to say, it hurts us, big time, and makes the difference between being able to go to a conference where we might find more work, and having to stay home. Or, you know, fund the popular open source project we work on.

I guess that we’re lucky that we’ve never had to really deal with this before in our nearly 12 years of existence.

Recommendations welcome. My email is paris@paris.id.au ❤️

Science Fictional User Interfaces

This week at the Strata Data Conference, in London, Mars and I gave a talk on Science Fictional User Interfaces. It was a very enjoyable talk to prepare, and we were really thrilled to be given a slot at such a technical data-focused conference as Strata, to effectively rant about how great science-fiction is, and how everyone should watch, read, and play more sci-fi.

This post serves to provide some links to resources that we mentioned in the presentation, or that we think you’d find useful if you enjoyed the presentation. We’ll also post a video of the talk here, once it is available (usually a few weeks!)

If you’re interested in reading more about this topic, there’s two amazing books that cover similar ground:

There’s also a range of books that take a different angle on a similar topic:

  • Designing Agentive Technology (Christopher Noessel) — available from O’Reilly’s Learning Platform, Rosenfeld Media, and Amazon
  • Speculative Everything (Anthony Dunne and Fiona Raby) — available from The MIT Press and Amazon
  • Typeset in the Future: Typography and Design in Science Fiction Movies (Dave Addey) — available from Amazon
  • Extrapolation Factory Operator’s Manual (Elliott P. Montgomery and Chris Woebken) — available from Amazon

And there’s some interesting papers and academic articles we think you might be interested in, if you enjoyed our talk:

  • Hopes and fears for intelligent machines in fiction and reality (Stephen Cave and Kanta Dihal) — available from Nature Machine Intelligence
  • Long-Term Trends in the Public Perception of Artificial Intelligence (Ethan Fast and Eric Horvitz) — available from arXiv
  • “Scary Robots”: Examining Public Responses to AI (Stephen Cave, Kate Coughland, and Kanta Dihal) — available from AIES Conference

Game engines and machine learning

Together with Mars and Tim, at the O’Reilly AI Conference in NYC I delivered a talk entitled Game engines and machine learning, and again with just Mars at the YOW! Data conference, in Sydney.

This post serves as a pointer to some extra resources, as well as a summary of what we presented!

Full code demo, sample, and documentation for the ‘self-driving car’ that we demoed will be provided on GitHub: https://github.com/thesecretlab/SelfDrivingCar/

The video is also available on YouTube (embedded below), and on O’Reilly’s Learning Platform (if you have an O’Reilly Learning Platform subscription, we strongly recommend watching it there!)

Here’s some useful links, as well:

If you enjoyed what you saw at The AI Conf NYC or YOW! Data Sydney, we’ll be presenting a longer version of this at OSCON in Portland, in July. Check it out!

Software Architecture NYC 2019

The O’Reilly Software Architecture Conference 2019 (SACon) just wrapped up in New York City, and I was privileged enough to attend as a speaker with my friend and colleague, Tim, and partner and colleague, Mars. Together, we presented a session called Entity-Component-Systems and you: they’re not just for games anymore, and Tim and I did a book signing for our recent title Learning Swift (3rd edition), as well as a Meet the Experts session.I was initially quite sceptical of the SACon, because the idea of an event based on ‘software architecture’ conjured up images of very dry sessions on traditional, serious enterprise architecture, presented by uninspired, uninspiring people. As it turns out software architects, and those who attend software architecture conferences, are incredibly passionate, interesting people, who are the very opposite of the straight-laced faceless people I imagined.

SACon was a melting-pot of interesting ideas, framed around the discussion of software architecture as a profession. O’Reilly’s conferences are always polished, well, run and all that good stuff (disclaimer: as might be obvious, O’Reilly is my publisher), but the attendees and speakers are what makes any conference shine. This conference definitely shone.

All the sessions that I attended were excellent, but the highlights of the conference for me were definitely the following talks:

The ‘hallway track’ was also exceptional, and we had some fantastic conversations with attendees on topics ranging from the rise of the Rust programming language to the use of ECS in non-video games to the merits of the Swift programming language to designing video game engines, and beyond.

Tim and I really enjoyed our book signing, and found ourselves face-to-face with one of the biggest queues we’ve ever had for a book signing, and had some excellent conversations with developers, architects, and team leads who were excited to learn Swift from our book, or share it with their teams back home.

Our ECS talk went well! We had a packed room (which was also one of the most palatial conference halls we’ve ever spoken in!) and got 5-star reviews with great feedback.

If you’re interested, you’ll find the slides from our talk on ECS are available via the conference website. You can also find a video embedded below, or on YouTube, or O’Reilly’s Learning Platform. (if you have an O’Reilly Learning Platform subscription, we strongly recommend watching it there!)

There’s some follow-up resource we want to share with attendees of our talk. We hope you find them useful!

I’m excited to return to a future SACon! The good news is there’s lots of them to choose from! San Jose is coming, as is Berlin!

Newsletter

I’m making an effort to try new ways of communicating, and also to encourage myself to write more. As part of this, I’ve started a little newsletter.

So, if you’re interested, feel free to sign up over at TinyLetter… 🙃

I won’t be sending many emails, and I won’t be sharing or selling people’s contact information, but if you’d like to keep up to date with my travels, dogs, books, work, and things that I find interesting, this might be of value to you!