Android Debug Bridge is a powerful tool that many of us use everyday but never took a closer look at. Among other things it allows us to access Android shell, using which we can find lots of interesting stuff and get a better idea of how Android is built. In this session I will take a closer look at the capabilities of ADB and what are the interesting quirks and features we can do and find out using Android shell.
Authentication and security concepts, especially how they relate to application data, can be very complex and easy to get wrong. This session will deep dive into the history and implementation of how the AWS team encodes these practices into the Amplify Framework and how to use data modeling techniques with GraphQL to control fine grained access to data in your applications. I'll also go into the specific differences across iOS, Android, and web technologies.
These days, humans take more than 1 trillion photos a year and there are researches that show how taking photos increases enjoyment of experiences. This could be a good reason to focus on how to develop an app that takes pictures and CameraX was one of the most popular releases at Google I/O 2019. CameraX is a Jetpack supportt library built to help us make camera app development easier. In this presentation we will discuss about simplified usage of this new API that solves many bugs and pain points by offering consistency across devices.
From being the only Android developer in a company, to being just one of the many in a huge community. Is everything the same? What are the differences between working in different size of companies? As company size increases, so do the challenges of operating effectively. As an employee changing from, or with, a small to large company, you must scale your approach to adapt to them. What has worked previously is often not sustainable with an environment change, especially in company size.
Apple's machine learning technologies open up a lot of possibilities for iOS developers. Now we can even create our own Google-like smart Q&A app, without holding a PhD in machine learning or using internet connection. In this talk, we will see a possible approach how we can do that, using CoreML, SwiftUI, Vision and Combine.
In this talk, we will consider the benefits and drawbacks of both approaches. We will also go through the pitfalls that you may encounter on these paths to a modern codebase.
By the end of this talk, you will have all the necessary knowledge to pick the best path for you when fighting with the technical debt.
In this session, you’ll learn how to get started with Kotlin in your projects, tips and tricks on how to preserve your version control history, some pitfalls when migrating from Java, and what new technologies you can make use of in your journey with Kotlin.
Nine years ago, Michal and his two friends founded the Inmite studio, which became a Czech leader in smartphone application development.
There is a growing body of science that shows what we can do to make work more fulfilling. But we rarely use this knowledge in our daily lives. In his talk, Michal will introduce the main principles of "happiness at work" from the point of view of neuroscientists and positive psychologists, and he will also look at ways of implementing this knowledge in today's digital world.
This talk covers the low-level details of processing video in realtime. We draw from the experience building the in-house video renderer that powers Halide and Spectre. We’ll cover GPU programming, data oriented design, and affordances of Swift that make it a competitive alternative to C++. Even if you use a higher level framework, you’ll walk away from the talk understanding what the frameworks do under the hood.
First, we will explore the different approaches taken by the various platforms Kotlin can target: JNI for Kotlin/JVM, C-interop for Kotlin/Native, WebAssembly for Kotlin/JS. Next, we will discuss the strategies we can use to abstract all these different mechanisms so that the native library can be loaded and accessed in Kotlin/Multiplatform common code, as well as the limitations these abstractions bring.
As we move from UIKit to SwiftUI, there is a space to reinvent the architecture of our apps. This state-of-the-art user interface framework can be easily connected to functional, declarative and uni-directional architecture. Let's compare the directions we can take when no ViewController is present and compare it with other established state management systems like ELM or Redux. In the end I will demo a purely functional solution I created, which is open-source and available to you to experiment in your projects.
Flutter provides a set of useful APIs that enable you to support multiple languages out of the box. Hot-reload and hot-restart let you continuously update your language resources and see changes live. There is, however, small problem. Flutter uses .arb files by default and not many translation services support this. How to overcome this? How to do it efficiently and not spend minutes or hours manually editing .arb files? In this talk you'll learn how to quickly and safely add i18n to your Flutter app and combine this with several translation providers like POEditor, Localizely or Crowdin.
In this talk, we will take a deep dive into the Android keystore system, certificates and signatures, and go over key points necessary for any application's long and productive life. Also, we will explore some security tips and tricks that will help ensure your app is safe to use, even if the users are faced with its evil twin.
What do you think influences your decision making most? Your intelligence? Your expertize? Your intuition whatever source it might have? Stanford professor emeritus Philip Zimbardo and John Boyd suggest there might be an unexplored power that might have a vastly bigger influence on your life than your IQ. It´s called the Time perspective. Time perspective determins in which time zone you spend most of your thinking (past, present, future) and from which you draw your decisions in political, economical, social and personal areas of your life.
Flutter is an open-source UI software development kit created by Google and since the day that it is announced, it brought a lot of excitement to the mobile app development world. By using Flutter Developers can deploy their apps to Android, iOS, Desktop, and Web. In this talk, we are going to learn about how Flutter renders graphics, how it builds its widget trees and dig deep into widgets, elements, and render objects.
This talk is summarising my research on developing energy efficient and offline-first apps to reduce carbon and energy footprints via Xcode 11 Instruments and other tools.
In this session we will show how an attacker can reverse engineer our application: which tools does he use, what can he see, how much time does it take to get relevant data out of a production APK… We bet more than one will be surprised by how easy it is! On the second part, we will then explain the best practices that Android developers can follow to prevent this kind of attacks.
Creating and sustaining amazing user experiences on the web should be affordable and efficient for any organization, no matter the size of its developer team. Whether you are building a site from the ground up or augmenting your existing site, building with AMP is almost like subscribing to a free service that ensures your web experiences are always fast, secure, accessible, and innovative.
In this talk you’ll learn how AMP helps developers increase their productivity and ROI costs over time, making it easy to maintain user-first experiences online.
This talk is about modularization of the Android apps. Modularization is a big hot topic in the last couple of years and we've jumped on the train too here at Ackee.
But this talk will not be about rainbows and puppies and about how everything is perfect with modularized app. I would like to talk about darker sides of modularization, the questions that are shady and noone has the right answer for.
Navigation is one the most fundamental element to any Android application. We will talk about how to use Android Navigation component to get this crucial aspect of our apps right, maintainable and easy to reason with.
We will talk about how the navigation component allows us to isolate the navigation from rest of the application logic and gives a nice overview of the whole application navigation in one single graph.
In this talk I'll to talk about GPU programming on mobile devices with iOS in relation to Machine Learning and Computer Vision. I'll describe base concepts and stack of development. Will answer on question Why is CoreML still not a silver bullet and why shaders are still useful?. I'll show third party frameworks which allow speed up development and simplify an interaction between R&D and Modile teams.
In 90 minutes we'll debunk the myth of iOS being secure-by-default, walk through the various techniques of penetration testing, try out a plethora of tools for security testing and learn how to make our systems as robust as possible.
For too long, Xamarin developers have been using old tools. But thanks to .NET 5 and the introduction of MAUI in .NET 6, everything is going to change!
.NET MAUI is an exciting new framework to create native iOS and Android apps in .NET using C# Hot Reload, a Fluent API syntax and the MVU architecture.
Join me in this session where we'll discuss that new fun changes are coming for Xamarin, introduce .NET MAUI, the MVU architecture and show off the power of C# Hot Reload!