Automated Acceptance Testing is one of the essential ingredients of a healthy agile software practice. Unfortunately, attempts to adopt this on mobile usually result in the creation of slow, brittle and highly complex UI tests - where did we go wrong?

This approach is a far cry from the original idea of acceptance testing and does little to improve the reputation of mobile development. Automation is meant to bring confidence – but used in this way, it creates more problems than it solves. This leaves development teams and businesses left on a seemingly never ending quest for the next thing - usually in the guise of a new framework promising to be better than the last e.g. KIF, Calabash, Appium etc.

Outline/structure of the Session

By revisiting fundamentals, we’ll first understand what ‘Acceptance Tests’ are and their place in the ‘Testing Pyramid’. Then via a simple example of a mobile app, this talk will help us re-discover the alternative to testing users expectations via the UI using a technique known as the ‘SubcutaneousTest’. We’ll see how the UI approach is flawed. And then we’ll refactor our tests to demonstrate how the majority of business logic can be tested via ‘acceptance’ tests – in such a way as to be extensive, fast, and reliable.

Learning Outcome

This approach will show how to reduce regression cycles from days to minutes, at the same time driving improvements in the architecture of mobile software as a result. This improves confidence and allows mobile teams to maintain sustainable progress, ideal for an industry whose demands for constant innovation and change is relentless.

Christopher Biggs - Devops For Dishwashers - Bringing grown up practices to the Internet of Things

schedule 2 months ago

Sold Out!

45 mins

Talk

Intermediate

The Internet of Things is undeniably here. In the last year we have heard tell of of security cameras, dishwashers and even ovens roaming the internet unsupervised.

As a consultant and writer about the Internet of Things, I have worked to bring my experience from 20 years in manufacturing and internet security to the IoT world. This presentation will cover the tools and techniques I use to build secure, reliable and rapidly updatable IoT devices.

The techniques covered are applicable to both the simplest embedded devices with no general-purpose OS, and more powerful devices running Linux or Windows.

Luke Sleeman - Build better Android apps with vector assets

schedule 4 weeks ago

Sold Out!

45 mins

Talk

Intermediate

There are many advantages to using vector-based assets in your Android apps — smaller binary size, faster loading, easier support for all pixel densities, dynamic drawing, and more ways to animate. Despite the upsides, SVGs and VectorDrawable assets are more complex to author and use. Luke and Marc explore everything needed to create, export, and implement SVGs and VectorDrawables on Android, including common issues and their remedies.

Andrew Kelly - ConstraintLayout - One Layout to Rule them All.

schedule 1 month ago

Sold Out!

30 mins

Demonstration

Intermediate

This session will give a practical demonstration of how to convert an existing deeply nested view hierarchy for a typical Android app into a more efficient (in terms of measure and layout performance) hierarchy using ConstraintLayout. I will also show how you can use the features of the ConstraintLayout library to create view hierarchies that enable rich animations with little effort.

Nick Moore - Easy IoT with MicroPython on ESP SoCs

schedule 2 months ago

Sold Out!

45 mins

Talk

Intermediate

Implementing IoT projects doesn't have to be difficult, time consuming and expensive.

MicroPython brings Python 3 to embedded platforms, and since Python is one of the easiest languages to learn, and there are WiFi SoCs available around $5, this is a great way to get started in IoT! We'll look at:

What is a System-on-a-Chip (SoC) with some specific examples based on the ESP8266 and ESP32 WiFi SoCs

Why Python? A quick look at C and IoT vulnerabilities

How to install MicroPython and communicate with the ESP SoC to write programs

Andrew Harvey - They're Good Dogs: A Gentle Introduction to Machine Learning with CoreML and Vision

schedule 2 weeks ago

Sold Out!

45 mins

Talk

Intermediate

At WWDC this year, Apple announced their CoreML and Vision frameworks. These allow you do easily implement machine learning models inside your app, running on the GPU on an iPhone. Suddenly a world of machine learning is possible in ways that it wasn't before.

In this talk, you'll see a real world example written in just hours which implements a freely available object classification model to find out who is a good dog. Silly as this sounds, it shows the power now at our disposal.

We’ll look at what you need to do to build a simple app, and then dig into some of the innards of machine learning to see what we need to do to create something really useful.

Andrew Hatch - How IoT helped Seek solve load and scale issues, but not quite the issues you think !

schedule 2 weeks ago

Sold Out!

45 mins

Case Study

Intermediate

With a building bursting at the seams and a move to a new location some years away one of our Hackathon teams came up with an idea to improve the “facilities” for the building staff. Initially what started as a bit of a joke soon grew into a fully-fledged idea of building a comprehensive IoT solution that can constantly keep check of the usage state of the showers and toilets at Seek. Not just for morbid curiosity, but to help maintain better cleaning and hygiene of the facilities and also help people use them more effectively. The solution was met with great success and is in the process of becoming a permanent solution in the building.

schedule 2 weeks ago

30 mins

Case Study

Intermediate

This talk is an Experience Report sharing the highs, and the lows, from the first few months of building Xinja - Australia's first digital bank, designed entirely for mobile.

A talk from two perspectives; both Business (Van Le - Customer Innovation Director, Xinja) and Technology (Phil Parker - Partner, Equal Experts) will share the journey we are going on… warts and all!

We will share how we manage priorities when developing with our customers (shout out to our founding Xinjas!), how developing a startup does not mean being technology lightweights (or cowboys) and how we manage to be effective with a highly distributed, global team.

Larene Le Gassick - Creating Inclusive Apps with React Native

schedule 3 weeks ago

Sold Out!

45 mins

Talk

Intermediate

Creating inclusive and accessible apps is easy using React Native! Javascript developers can have a working app on their phone in less than an hour. Join me to see a working demo of how to plan, develop, and test for accessibility in the mobile space.

I will also be talking about resources and guidelines you can use and share with your organisation to develop apps for everyone - including what the bare minimum looks like to help you prioritise your requirements!

Shipra Mahindra - Internationalisation 101

schedule 1 month ago

Sold Out!

30 mins

Talk

Intermediate

Did you know that less than 30% of the internet population speaks English? And this percentage is slowly decreasing as cheaper smartphones become ubiquitous and new users from Brazil, Russia, India and China come online everyday. If you want to reach this global market, it is important to translate your mobile apps into your user's native language. This is why Canva decided to build a localised app from the get go.

In this talk, we will present a quick introduction to internationalisation and the key things to consider when localising your mobile app. You will learn about the various tools available to enable translations at scale and how those integrate with your app. You will also get some hands-on, practical information about the unique development challenges presented by languages that have different pluralisation rules to English and languages that are written from right-to-left. We will show some examples of our internationalisation approach in our iOS app. Lastly, we will wrap up with how this fits into our Feature development and Release process. Expect lots of practical advice that will help you get started on localising your own mobile app.

Samantha Connelly - Robots and Testing

schedule 2 months ago

Sold Out!

30 mins

Demonstration

Intermediate

How can you use robots to help you test?

Meet Tappy McTapFace, Tappy is a robot that was built during a 2 day hackathon to help demonstrate how robots could be used to automate testing on mobile apps. It's made out of 3D printable parts, based on Taptser 2.0 open source designs and can be programmed in javascript.

You could also use a robotics challenge to engage your team around testing ideas. Sam will give her insights from running multiple testing challenges that engaged over 100 software engineers. From a lunch time robotics challenge to a company wide bug bash. Sam has run many events that help raise a companies testing culture.

Charles Haynes - Unit test all the things!

schedule 3 weeks ago

Sold Out!

30 mins

Talk

Intermediate

The importance of good software testing in the larger software development world is taken as a given, yet in many IoT projects, software testing is done in an ad-hoc manner if it is done at all. In this talk I will show how there are multiple techniques for software testing your IoT projects, when each of these techniques is appropriate, and hands on examples of how to use them. I will show how Test Driven Development can be used to improve the reliability, reproducibility and speed of development of your IoT projects.

Paul Stringer - Storyboards Revisited

schedule 1 month ago

Sold Out!

30 mins

Talk

Advanced

Storyboards are a powerful yet oft maligned tool for controlling the flow of your iOS app through configuration instead of code.

The storyboard approach in theory allows a clean separation of flow and presentation that provides greater flexibility to change. The reality though is that view controller code typically ends up becoming deeply entwined with the storyboard itself, leading to inflexible, oft duplicated code.

This approach can leave many an experienced developer wondering "is it worth it?" and becoming wary of its use. In this session we take a fresh cut - we pick up the story where other 'architecture' approaches don't tread and learn about a powerful approach to maintaining the separation of storyboard from view controller that delivers on the promise of flexibility and less configuration in code.

Sande Harsa - The Common Ignorance of The Guidelines

schedule 2 weeks ago

Sold Out!

30 mins

Talk

Intermediate

When designing a mobile app, specifically on iOS, one must consider Apple’s Human Interface Guidelines. These are the set of guidelines that needs to be followed to create an app that is cohesive with the rest of the operating system. The chances are, most people in the industry are familiar with the guidelines. However, there are items that seem to be commonly ignored. The talk will go through few of those items and at the end discuss the technical impacts for not following the guidelines

One of the items is the use of the launch screen. In many apps, the launch screen is used as a splash screen, with some variation of a logo and sometimes with fancy animations. However, the launch screen actually has a different purpose, which is to be a static state to provide a seamless transition between the launcher and the app. Thus, the launch screen should look like blank state of the first screen of the app. For example, look at the launch screens of Facebook and Twitter, in this case Facebook follows the guidelines.

Following the design guidelines not only affects the user experience side of the app, it also has a technical impact. An example is using a hamburger menu. Developers tend to use a third party library, which reduces maintainability. Third party libraries are of course useful, but using them to purposely ignore the guidelines is questionable. Moreover, there is an accessibility impact of using non-native elements. Adding accessibility support manually to custom UI elements is another overhead to consider.

Barry Scott - The Joel Test - Mobile Edition.

schedule 2 weeks ago

Sold Out!

30 mins

Case Study

Intermediate

Aeons ago, in the year 2000, Joel Spolsky proposed the Joel Test, a set of questions that he recommends all software development teams should be able to answer “yes” to, in order to help them build great software.

This talk takes a look at these questions through technical, people, and process lenses, to see if they are still relevant in software development today. It investigates whether we should add any new questions, given the changes that have occurred in the industry in the last 17 years. And looks in to changes to these questions to make them more relevant for development of mobile products.

schedule 2 months ago

Sold Out!

45 mins

Talk

Intermediate

Amazon Alexa, Google Home, HomeKit, and Cortana are more than personal assistants and seem to be the next big battle the big four will go into, but why is this so important to them? There are two components to those assistants; the first is integration with your personalized data gathered from the apps you use and the second is their IoT capability automating your devices at home.

With almost every manufacturing company hiring engineers like crazy to get their devices into the cloud, the results are very different ranging from really bad to great solutions. This behavior shows that we are in the Wild West when it comes to how cloud integrations, device security, and backend security is being implemented. That is why we as pioneers of this technology have to help shape the future by avoiding common pitfalls, secure private data responsibly and don’t end up accidentally weaponizing our IoT creations.

In this talk, I’m going to talk about lessons learned from developing a major IoT platform that controls about a quarter million appliances in the US and Canada. We’re also going to take a look at pitfalls we have overcome and which possibly nice looking shortcuts you should avoid no matter how small your iOS client or IoT device is.

Mitchell Tilbrook - React Native Better Than Native

schedule 2 months ago

Sold Out!

45 mins

Talk

Intermediate

React Native allows developers to create native cross-platform using JavaScript, or really anything that will compile to JS C#, TypeScript, or even F#. But why would you use React Native? How run-time typed language like JavaScript be a better choice for developing apps than say, Swift, Java, Kotlin, C# ( Xamarin ) or C++ all compile time static type checked languages. Firstly is just that, there is no need for a compile step, React Native can update the JS without having to reload compile and replace the previous application. Compiling an app everytime can take a long time for a small project this might be 1-5min, but larger apps can easily take as long as 45 minutes or more to build a single app.

In this talk, we will explore how features like hot code reloading allow for much faster edit and run cycles, how you can use tools like Flow or TypeScript to add type safety without incurring the long compile times found in more native methods. To Prove the how simple and fast React Native is to builds apps we will create a simple app live on stage. To top it all off, you can even embed React into existing Native Apps, avoiding the need for total rewrite.

Cameron Barrie - Designing for a unknown future

schedule 1 month ago

Sold Out!

45 mins

Talk

Intermediate

As the future approaches us more and more rapidly, we feel the impact of the choices we make today sooner and with more force. This talk offers practical advice on how to drive and deliver value to a business continuously by building systems that scale to the needs of a business working towards an unknown future.

Florian Harr - Cross Platform Development with Xamarin! Is It Worth It?

schedule 2 months ago

Sold Out!

45 mins

Talk

Advanced

Xamarin as a compiled cross-platform solution claims to offer obvious benefits that seem to make it the perfect solution when trying to reuse code or integrate with an existing solution. The tech industry increasingly requests Xamarin experience and more Xamarin consultancies and startups pop up in the scene, making it attractive for newcomers and job seeker alike. But it wouldn’t be the first solution to promise everything and deliver nothing. With Microsoft’s seemingly disinterest with its own Windows Phone, Xamarin as a Visual Studio native seems to be their biggest stake in the mobile market, but how good is their play and is it worth even looking into this technology?

Three years ago I wrote my dissertation about the usability of Xamarin, evaluating Xamarin against native development and doing performance testing between the two approaches. Back then, it was clear that Xamarin had a lot of work to do to overcome being a nice product only for a small number of businesses, still lacking a long list of important things. In the meantime, Microsoft has taken over and we see more Xamarin apps pop up every day, so it is time to reevaluate.

In this talk, we’re going to explore Xamarin as a cross-platform solution and we compare it with other promising solutions such Facebook’s React Native under the aspects of usability and performance. Having heard the talk you will leave with an overview of key technologies in the cross-platform sector as well as an idea when Xamarin can help you boost your business and what pitfalls to avoid. Distilling the essentials of a 110-page dissertation and cleaning up with myths from the PhoneGap era that will make it clear whether or not this is just another bubble or this has real potential.

Florian Harr - Keeping up with the enemy! Software tools to keep branding and feature parity with your iOS app!

schedule 2 months ago

Sold Out!

30 mins

Demonstration

Advanced

You’re busy implementing a new feature in your Android app. Part of this new feature requires processing and adding visual assets, images, colors etc. from your designers. At the same time you have a set of strings, numbers and colors from existing apps and resources that you would like to keep in line with your recent work. This tedious process is critical to a great app and a constantly great experience between all your projects but not the best use of your expertise.

Little do you know a developer on another platform is implementing the same feature and struggling with the same problem. With multiple developers interpreting the same designs, the Android and iOS apps start to diverge. Color schemes, dialog messages and assets will begin to look different. Fixing this discrepancy before a release is a consuming task with a mediocre result.

To eliminate this divergence, we will demo the brand new “Remixer” framework from the Material Foundation, which aims at keeping experiences in sync between Android and iOS. We will also present our collective experience from a real-world project by showing best practices and other tools that have helped keep the UI in sync.