/dev/world Sessions – 2024

Keynote Speaker

Adam Shaw

Adam Shaw

Embark on a fun-filled excursion through the history of iOS development, with Adam as your trusty guide.

Our journey begins at the dawn of iOS development when the tools were crude, the business models were limited, and we all typed a lot of [square brackets]. Over the the years that follow, we’ll highlight all the ways the iOS development landscape has grown and evolved. How did we ever get by without UICollectionView? Without Swift? Without in-app purchases? We’ll delve into all the changes to features, frameworks, and tools that have allowed our apps to reach new heights, as well as the ways that developers have had to adapt to new business models and app store guidelines.

This talk promises to be a nostalgic trip down memory lane for seasoned developers, while also offering enlightening insights for those newer to the iOS development journey. As a iOS developer from the very beginning, Adam has been there through it all, and he’ll paint an immersive picture of what it’s really been like to be a iOS developer over the years.

Adam has presented at /dev/world numerous times in the past – most recently in 2017 at the tenth anniversary /dev/world event. We’re thrilled to bring him back to Australia as a keynote speaker this year.

Adam has been developing iOS apps since the dawn of time (aka 2008). An Apple nerd through and through, he loves sharing his knowledge and enthusiasm for app development with others. He currently works at Bonobo Labs, developer of the Apple Design Award winning app Flow. In his spare time he makes music, plays video games, and (surprise!) develops even more apps.

Community Sessions

Tap/click each session title for more detail.

Visualising the Use of Dynamic Memory
Chris McDonald, The University of Western Australia

The use of pointers and dynamically allocated memory are frequently cited threshold concepts in Computer Science Education, and their understanding is still required by accreditation bodies. While contemporary novice programmers are frequently described as visual learners, most teaching still presents static 'before-and-after' diagrams to explain pointers and dynamic memory. Algorithm and software visualisation has a rich history. However, while most published software permits students to provide their own input data, code and calls to visualise its execution are often fixed, or embedded, to maintain synchrony between the executing code and its visual representation. Moreover, nearly all pre-built examples only demonstrate correct implementations. This presentation introduces a project aimed at addressing these shortcomings - developing teaching software that visualises the execution of students' own programs, particularly their use of dynamic memory, and highlighting where errors may have been made. The project, written in C++ and targeting both macOS and Linux, employs (clang+lldb) or (gcc+gdb) for compilation and their debugging APIs, the wxWidgets toolkit to provide the platform-independent GUI, and Graphviz to layout graphical representations of heap memory. This talk will first motivate the work, describe some implementation approaches taken, present a short demonstration, and describe some of the development challenges faced.

About the Presenter

Chris McDonald has taught for over 35 years in the core Computer Science areas of networking; operating systems; computer & network security; software development; programming language implementation; and computer architecture; at The University of Western Australia and Dartmouth College, at both the undergraduate and graduate levels. His teaching introduces students to fundamental technical aspects of computing, by providing both their historical context and contemporary examples of their application, and including these in highly interactive in-class sessions, and challenging projects. Chris is the recent recipient of the Australasian CORE Teaching Award, the Australian Computer Society's '1962 Educator Award', and is currently Chair of the Australasian Chapter of the ACM Special Interest Group in Computer Science Education. Chris travelled through HP-25, RT-11, UNIXv6, 2BSD, sunOS, Solaris, and Linux, to reach macOS, once held the email address chris@oz, and still enjoys programming almost every day.


A Journey Towards Modularisation
Gareth Lloyd, Kogan.com

Join us on an exciting journey through the evolution of the Kogan.com iOS app! Our journey commences with a dive into the app's initial state and the issues we were trying to solve with our ambitious move towards a modular architecture. We’ll carry on our journey with a deep dive into our experiences with the move, challenges we encountered along the way, successes we had, and changes we made to our original plans. Let’s explore together how we improved our app to a modular architecture and created a more resilient, scalable, and efficient iOS experience.

About the Presenter

Meet Gareth, a passionate iOS developer and current mobile tech lead at Kogan.com. With over seven years of expertise, he brings a wealth of experience to the table. Originally from Scotland, Gareth embarked on a new chapter by moving to Australia in January 2023. His professional journey has predominantly focused on retail apps, where he has left his mark working with a number of major UK brands such as Selfridges, River Island, and Wetherspoons before joining Kogan.com.


I made a visionOS app in the Vision Pro, here’s what I learned
James Warren, Mantel Group

The Vision Pro is weird y’all. While much of the tooling is the same as for iOS and Apple’s other platforms there’s a lot that’s different when it comes to building great experiences for this new kind of device. I've been hands on with the Vision Pro at work and have been building an app for it on the weekends. We’ll be taking a look at what it’s like to work as a developer inside of the Vision Pro. What the development exerince is like for the Vision Pro. Then some of the kinds of thigns you should be thinking about when creating a VisionOS app.

About the Presenter

James is an iOS developer, guess now visionOS developer too, working at Mantel Group in Melbourne. James is a self-confessed tech junkie and largely got into programming as an excuse to be able to play with tech all day. The Vision Pro is out and he wasn’t going to miss the chance to work with the latest bit of tech. James has been working with Mantel Group to show off what the Vision Pro can do for different clients. And in his spare time building an app for the headset. When not sitting at, or strapped to a computer James is off in a 4WDing to take landscape photos or painting minis for a D&D game.


The GlobalTalk Network
Josh Deprez, Buildkite

In March 2024, a rabble of retrocomputing enthusiasts on Mastodon put together a network for old Macs across the internet. Self-organised via Google Sheets, they joined together their various local networks using the long-obsolete Apple Internet Router 3.0 software installed on both real vintage Macs and emulators. Somehow, it all worked! The network was dubbed GlobalTalk - a reference to the legacy AppleTalk suite of networking protocols being used. By mid-March, GlobalTalk had already connected roughly 50 separate networks across the globe. This talk will include: * An overview of old Macs and how their networking protocols evolved from the early days through to today * Some details about how AppleTalk, Apple Internet Router 3.0, and the modern internet still interoperate * A bit of software and network protocol "archaeology" * A live demonstration of connecting to the network, and some of the cool things GlobalTalk participants did with the network, such as the HyperCard-based "AppleWideWeb"

About the Presenter

Josh's hobbies include the care and feeding of vintage Mac computers, recreational sysadmin, and ranked competitive computer touching^W programming. Josh is a Staff Software Engineer at Buildkite, where they work mostly on software written in Go. Previously, Josh was a Site Reliabilty Engineer at Google, in which they learned a lot about scaling enterprise networks and crawling the web. Josh is also a regular presenter at /dev/world and might give up the vintage Apple schtick one day...but not today!


How hackers are targeting developers in 2024.
Louis Cremen, Lumify

We're always told to care about security. And we do. I think. Maybe? No definitely. Anyway, I'm not the server, so I don't need to worry too much. Servers get attacked. People via email get attacked - and I barely check my emails. Yeah. I'm good. Just don't write bad SQL code and I'll be good. Yeah, that's what my awareness training taught me. This talk is going to focus on what the attackers are doing to attack people with a specific focus on developers. There will be case studies. There will be screenshots. There will be gasps. There will be gnashing of teeth. Want to hear what's new in cyber attack land? Let's talk about it :)

About the Presenter

Louis has written one of these for every /dev/world that has ever run (is that 16 now? Feels like it). He is a recovering developer who fell into security over a decade ago and loves the community and Apple products. Now he the lead Cyber Security Instructor for Lumify (formally DDLS) the #1 Cyber/IT/Process certification training organisation in Australia/New Zealand/Phillipines. He reguarly talks about development, security, brains, AI and whatever else comes to mind. He talks for a living. The trick is getting him to stop 😛.


Migrating A Large App From UIKit to SwiftUI
Quentin Zervaas, Crunchy Bagel

I've had an app with a large codebase in the App Store since 2015, which runs on iPhone, iPad, Mac, Apple Watch and now visionOS. In order to stay current with newer technologies like WidgetKit, modern watchOS and now visionOS, introducing SwiftUI to the codebase has been esssential. This talk covers how I've approached building SwiftUI components for the newer technologies, while also gradually migrating existing UIKit components.

About the Presenter

Quentin is the developer of Streaks, which has been on the App Store since 2015 and won a coveted Apple Design Award in 2016.


Bringing Distributed Tracing to your iOS apps with OpenTelemetry
Rob Amos, ANZ

Understanding how your users interact with your app is important. Typically this involves pulling in a third party SDK and service and relying on its capabilities and limitations for real user monitoring (RUM), and then your data lies isolated in that third party's SaaS platform. But what if your app is more complex than a JSON pretty printer and has monitoring needs beyond user interactions? What if the third party gets acquired and raises their prices? What if you'd like to be able to see your app monitoring data alongside your backend data to make support easier? In the last few years the industry has introduced and started prompting OpenTelemetry as an open standard for distributed tracing, metrics and structured logging, and a lot of server-side software is moving to support it, including Apple! In this talk, Rob gives you an introduction to distributed tracing, and walks through adopting the tools that Apple provide for Swift on Server ecosystems and integrates them into a demo iOS app, showing you how to take your user monitoring and telemetry needs into your own hands and a stack you can own, highlighting the support benefits of being able to see the distributed trace from the user interactions all the way through the server stack. The example project from the session will be available on GitHub afterwards, including the sample Swift-based server.

About the Presenter

Rob started with Objective-C by trying to write an XMLParserDelegate with manual memory management in 2009. After releasing the first tramTRACKER™ app 6 months later he was hooked on iOS development and is mortified to realise he has now been building iOS apps for 15 years. These days he is a Principal Software Engineer at ANZ and is the iOS Platform Lead for the ANZ Plus app, working on a much more modern app stack with a much larger and more talented team.


DRY, WET, SPOT….What? A new way of reasoning about code duplication.
Sam Jarman, Cochlear

As an engineer, there seems to be a slew of contradicting advice on what to do about duplicate code. Never do it? Do it once then refactor? None of it really makes sense. This talk hopes to clear up the generic advice and add more subtlety to it. Audience members will learn some mindsets on how to reason about when to reduce duplication versus when not too, and they’ll also learn about connascence, a software quality metric & a taxonomy for different types of coupling.

About the Presenter

Hi I’m Sam Jarman, a kiwi living in Sydney, Australia. I’ve been a software developer for over 10 years and I am currently a principal software engineer and manager at Cochlear. Over my career I’ve have the pleasure of working at companies big and small and I’ve enjoy sharing the lessons I've learned along the way. Other than that, I am a proud husband, dog dad and iOS development fanboy.


Swift Playgrounds >= Xcode
Stuart Varrall

Let us deep dive into one of the most under appreciated tools that Apple produces, Swift Playgrounds. This story will be told through the solving of 3 ideas found in the life of the speaker and how Swift Playgrounds was a better tool than Xcode in developing these solutions. First we’ll look at how easy it is to prototype ideas in a matter of minutes on the go with an iPad then explore how to access the camera and microphone of the device, before integrating Apple’s Frameworks such as Vision and CoreML. Finally we’ll see how to test on real devices and deploy to the App Store without ever leaving Swift Playgrounds. The argument will be made that Swift Playgrounds should be the future of development on Apple Platforms for many situations and how we might see that become a reality sooner than you think.

About the Presenter

Stuart Varrall likes to solve problems and bring ideas to life through the use of technology. He’s originally from the UK, where he studied Computer Animation at Uni and worked on AAA console games before running his own mobile development studio. He did this for 10 years, starting out working on games for Nokia phones and ultimately developing for all mobile platforms working with companies like Adobe, Blackberry and the FIGC. Stuart transitioned to consultancy since moving to Australia 7 years ago and is now equally as happy working as a solutions architect at Google enabling AI for an Australian Telco, as he is making apps to keep his kids entertained on a car journey from his base in Rockhampton, QLD.


Reining in all the little the bits of Xcode Cloud
Sushant Verma, Bilue Pty Ltd

Xcode Cloud has recently come out of beta. Apple generously offeres 25 hours free build minutes to all developers as part of the annual developer membership/fee. Initially it may seen to be intimidating to migrate across - however its surprisingly easy to move across or even integrate into a moonlighting project. As part of this talk I would like to discuss what is xcode cloud and most importantly what it isnt. I will also be comparing it with other CI/CD solutions that have been around for much longer. Depending on how we go with time - I would also like to setup a build pipeline and (if possible) try to send out a build via Testflight.

About the Presenter

With almost 15 years of experience in software development - Sushant Verma started a journey in iOS/Mac development in the early days of the iPhone. Over the years he has worked in a varierty of inductries from ranging from the more rigid like banking, finance and insurance to the exhilarating like sports, social media and personal training.


Easter Eggs are cool - Building the Golden Ticket in Threads
Tim Oliver, Instagram

Last year, Instagram launched Threads, the lastet app in Meta's Family of Apps. As part of the launch, an easter egg consisting of a spinning golden ticket was planted in the Instagram app for users to discover. This presentation provides a behind-the-scenes deep dive on how the visual effects for this ticket were created by the IG Labs team in Japan. It will include how the team researched and prototyped the idea, and how the physics animations, and metallic effects were created in UIKit and Core Animation.

About the Presenter

Tim’s been a fanboy of iOS since the iPhone 3G and a fanboy of /dev/world/ since 2010. He currently works as an iOS engineer at Instagram, and before that, at Drivemode, both in Tokyo. In his free time, he enjoys contributing to the open source iOS community, attempting karaoke and playing video games.


More to come…