Android Lint is a static analysis tool used by Android developers to find common and not so common bugs. It's not limited to Android code; inside Google it is also used for general purpose static analysis since it can handle analysis of both Java and Kotlin code. In this talk, Tor Norbye describes the basic feature set of Android Lint, gives an architectural overview and then explains how to write custom lint checks.
Do you want to build an awesome Google Assistant app that people will not only use rather out of necessity but actually love to talk to? It all starts with creating a persona; think of it as the front end of your Action on Google, the conversational partner you design to interact directly with users. Defining a clear system persona is vital to ensuring a consistent user experience that builds user trust. In this talk, you’ll learn about useful tools, get tips, and see a few examples of how well-designed personas can completely transform voice-enabled interfaces and boost user engagement.
In this talk, I will show you why you should fall in love with React Native and why writing your next mobile app in a Javascript framework might not be the craziest thing in the world. Based on our experience working with clients at Callstack, we will go through typical problems faced with mobile development at a scale and how to convert them to an opportunity to actually innovate even faster.
Healthy culture is important for happy, productive teams. But building (and maintaining) a culture requires constant effort. Engineering teams have an advantage over other kinds of teams, though: engineers can build things! In this talk, Ash Furrow will describe the various tools Artsy has built to automate its engineering team culture, how that overlaps with the broader company, and how tooling opens up entirely new possibilities in automation.
Build your IoT project with balena(formerly known as resin.io) - the infrastructure you need to develop, deploy, and manage fleets of connected devices at scale. Lets take a look at how balena can help you to achieve your goal - demo time.
Practical tips on improving developer experience when dealing with common issues we face in our iOS apps. We'll look at what are some techniques and open source tools that we can use to make our projects and workflows more robust.
How hard is it to make and launch a comedy adventure game? I will dive deep into the development process of CHUCHEL, explain our approach to marketing, analyze the business side of things and audience’s reaction and reflect on a number of issues and controversies we faced before and after the game was released.
With a set of few simple tools and a bit of enthusiasm, mobile app binary can be read like an open book. My presentation describes practical attack on an iOS app. Realizing how easy the attack can be, is the first step to improve security of your apps.
Testing an app on your perfect Pixel 3, under perfect network conditions works great, but you're getting reports of strange behavior from the wild and weird crashes that you can't reproduce.
This talk will walk through some of the more complex options on the Developer Options screen in the Android OS and discuss how a developer can use them to debug problems in their application. Topics covered include: showing surface updates to help you find layout loops in your app, showing layout bounds to get your views pixel perfect, and aggressively killing processes and activities to ensure that your app performs well under stress. We'll cover these options and more as we dive deep into debugging apps.
As you probably know, iOS apps are isolated from each other via the Apple sandbox ("Seatbelt"). However, that doesn't mean developers shouldn't pay attention to their users safety.
In this talk we will briefly cover all layers of iOS security architecture, delve into secrets of Secure Enclave and discuss the most common mistakes and vulnerabilities to prevent them from happening in the future, as well as have a sneak peek into penetration testing done right.
I will share a few examples of security flaws I found during the last few years and show how to use various tools to spot and fix them.
Material Theming is a means of systematically customizing Material Design to better reflect your product’s brand. It allows for easy customization of core widgets in terms of three main subsystems - color, typography and shape - when using the Material Design tools and components. However, how would these subsystems be incorporated into custom components?
This presentation will cover approaches to making Views responsive to Material Theming. This will include an intro to the capabilities of the Material Theme Editor and MDC-Android, support for new theme/style attributes and a deep dive into key MDC-Android classes such as MaterialShapeDrawable, ElevationOverlayProvider, RippleUtils and more.
For many, many years mobile developers had to rely on the REST APIs to feed their application with data. However, since some years there is a new kid on the block called GraphQL. It takes away the hassle of having to deal with multiple endpoints and separates the data flow from your application even more. Remember the N+1 problem, over-fetching or working with different API versions? After this talk you definitely want your backend developers to start using GraphQL!
There are currently between seven and eleventy billion mobile applications in Apple and Google app stores. Users have on average 150 mobile applications on their devices and screen time varies from 5-10hrs per day. Needless to say, we are entrenched in mobile applications and at the mercy of the security of the devices and applications. Over the years there have been many tools released for instrumenting and debugging mobile applications for security purposes, such as Snoop-it, Drozer, cycript, lldb, etc. Frida was released in late 2013, but really started taking a stronghold in mobile application security testing when the other tools became less useful or unmaintained. But how can we best use Frida, what is too deep, and what other tools can we use to improve our mobile testing methods? Join Kevin as he walk you through examining functionality of both iOS and Android apps to learn how they work, and dynamically instrument the applications as they are used. You should walk away with a better idea of how powerful Frida is, and how miserable mobile application security is if an attacker has physical access to a device.
In this talk, I will introduce MicroViewController, a brand new iOS architecture which speeds up development and allows your team to scale. MicroViewController has a couple of key advantages:
1. Very small view controller files
2. Many members can work on the same screen at the same time
3. Increasing testability of your view controllers
One of the recommended ways to adopt Kotlin into your existing Android app is to start with converting unit tests. But it's a little trickier than you'd think! This talk will discuss some of the unique challenges relating to writing unit tests in Kotlin and the best practices to overcome them.
Kotlin has taken the Android world by storm since its official support in 2017. Many Android developers are coding or have at least an active interest in Kotlin. This talk aims to help Android developers level up their Kotlin skills, focussing on intermediate/expert language features such as coroutines, DSLs, and conventions.
Quality is important. People love a high-quality application. So, how can we achieve it? Spotify wants to release an application faster. We have a one-week release cycle. Every day, hundreds of engineers are working on the same code base. We believe that test automation is one of the key factors to keep a high quality in a sustainable way.
Test automation has three levels: unit test, integration test, and UI test. In this talk, we will present how Spotify has evolved test automation for Mobile. Especially, we're going to talk on integration and UI test level including our internal systems.
Kotlin has taken the Android world by storm, and is quickly becoming the most popular language, with coroutines approaching stability, does it make sense to replace your RxJava implementations for Coroutines?
Despite the hype, it may not make sense to jump on the bandwagon just yet, with RxJava having already proven its stability and usefulness, and in many cases the comparison between the two frameworks showing that they simply fit different purposes.
In this talk, you can learn how you can utilise the strengths of each framework, how to correctly choose the best solution for the requirements of your project, whether it may be beneficial to migrate or run them concurrently, and how you can start doing so for your project.
Wind back one year ago:
releasing took us 10 weeks
our app was plagued by regression
developers felt completely detached from our users
Clearly our traditional strategy of heavily testing each release (up-front quality) wasn't working. So we decided to flip things around: why not try to reduce the cost of errors instead? Hence we decided to move our Philips Hue Android app to continuous deployment.
In this talk you will learn that if releasing is painful, you should actually release even more often. Step by step I'll explain how we moved the Philips Hue Android app to continuous deployment, what our current release process/CI looks like, what changes we made to our overall testing approach, how we empowered developers and testers, and how we made our release process completely painless.
It doesn’t matter if your company is a big corporation or a start up. Both should consider multi-platform development at some point. This presentation is about the differences, pros and cons, advantages and bottlenecks of React Native and Flutter. At the end, all attendees should be able to see the right way to approach to multi-platform development and what may be the right choice for their business case.
Tip: Use right and left arrow for navigation between speakers.