We will explore how to boost the usability of web and mobile-web apps by implementing offline-first functionalities, it's the only way to guarantee 100% always on user experience. Low signal or no connectivity should no longer be a blocker for the user, we will discuss the available solutions for caching, in-browser database, and data replication. We will also take a look at how WC help solving those issues out of the box. There will be a live coding demo to see how it's simple to manipulate a large data, completely offline.
Reactive Programming with RxJava has widely been adopted by both backend services and Android applications alike. Yet, the steep learning curve leaves many developers hesitant about adding it to their own Software tool belt. I was one such developer. Over the past two years, I’ve watched countless videos, read numerous blog posts and attended several conference talks on the subject. Yet, I often left each experience feeling only slightly more knowledgeable, but not quite empowered to start using RxJava in my apps. That’s not going to happen today!
In this talk, we’re going to cover the bare minimum concepts you need to grok, in order to start using RxJava today. In particular, we’re going to focus on:
* The 3 O’s: Observable, Observer and Operator
* The most common Operators: map(), flatMap(), and filter()
* Understanding those Marble Diagrams
* How Kotlin helps to simplify the code
Reactive Programming is not going away any time soon. It’s a powerful way to create asynchronous, event-based applications. It allows developers the ability to craft applications that can easily combine multiple network calls, gracefully handle failures, all while providing a snappy user experience. I want everyone to feel comfortable with the basic concepts of RxJava. Today can be your first step...
I built a chat bot to help customer service agents for a hackathon and a resource provider bot for the recent NASA Space Apps challenge and I found Firebase to be a great platform to leverage. In my talk, I'll start by highlighting popular bots in social media and chatting clients. I'll then go over the anatomy of bots for Slack and Twitter before leading into how Firebase Database and Firebase Functions can be leveraged to build a simple backend. I'll show off some code bits from Firebase Functions to demonstrate how easy it is to create an endpoint or read/update the database. That's the gist of it.
At Google I/O we got the Android architecture components. One of its most interesting concepts is the new ViewModel. How does it work? How do I plug it into my app? Can I use it without any of the other components? Can I plug it into an existing MVVM or how would I build MVVM with Google's ViewModel? Let's do a deep dive into the topic
An increasing number of social media apps such as Instagram, Snapchat and Messenger are using video features. With modern Android devices having enough processing power to run video processing algorithms locally, there's no need to send videos through expensive internet bandwidth to be processed on the backend. Overlays, transcoding and cropping are just a few of the challenges you face when working with video on-device. In this talk I will go through my experience experimenting with built-in as well as third party libraries for video manipulation on Android. We will look at the benefits of two leading media processing libraries, and how you can leverage them to enhance Android's native MediaCodec API to accomplish these tasks. You will walk away with a head start on how to tackle the most common challenges with videos on Android.
We are used to create 2D flat environments but we rarely had the experience of designing for the 3D world. For my talk, I will be covering my experiences with working with successful VR titles for commercial products such as Sylvania and insidious 3. There are many factors we learnt from user testing and consumer feedbacks. As a developer, we had to consistently making changes and updates to our softwares to adopt of the hardware platform changes.
Building an instant app was not only a one-way win in terms of increased conversion rate, it came with great tech benefits as well: app modularization, architecture redesign, code cleanup, and new features integration such as Smart Lock and Pay with Google.
Let's take a look at how promising Flutter looks to be by implementing a conference app. We'll first take a look at Dart, see its similarities & differences compared to Java. Then take a look at what it takes to write an app with one codebase for Android & iOS. Finally we'll pull our conference data into our app using Firebase as our datasource.
The myth of attackers breaking through layers of firewalls or decoding encryption with their smartphones makes for great movies, but poor real world examples. In the majority of cases, attackers go for easy targets: web frameworks with security vulnerabilities, out of date systems, administration pages open to the Internet with guessable passwords or security credentials mistakenly leaked in open source code are all popular candidates. These issues can be easily avoided by adopting a set of elementary security practices, a baseline for security, and making sure everything complies with it. In this talk, we will share with the audience the tools and best practices developed at Mozilla to safely run websites and services online. We will cover infrastructure and application security, tightly integrated with DevOps practices, and discuss ways to improve engineering standards with very minimal overhead. During the talk, we will cover common attacks against web applications, how to protect against them, and tests your controls with the Mozilla Observatory. We will discuss elementary rules to grant access to your infrastructure and your development environments. We will also touch on advanced topics, such as log analysis and fraud detection. This is a beginner talk, for developers and operators with an interest in web security. We will explain core concepts and share pointers for the audience to get started and continue their research long after the talk.
Do your product owners, designers and the people that pay you understand what in the world your Espresso tests are doing and why they are valuable? You've spent so much time and effort writing these tests and your whole team deserves to get the most benefit out of them. In this talk you'll learn how to setup your Espresso tests to take programmatic screenshots, and leverage the Robot pattern of testing for clean, readable, and maintainable tests. You'll also learn guidelines on when it's appropriate to write Espresso tests instead of Robolectric or Unit tests, and how to leverage mock data to make your Espresso tests run with Tesla-like speed. I have architected the Espresso test setup for our Capital One Wallet Android team and helped execute our ongoing continuous integration efforts. We've seen a 4x+ speed improvement over Appium, have more maintainable tests, and now have visibility for anyone to look into our test coverage.
Building embedded products for IoT requires a wide range of disciplines and often includes infrastructure and process that may seem out of reach for companies developing products for the long tail of the market. Android Things is focused on enabling Android developers to leverage existing skills, while also providing the hardware support and cloud infrastructure necessary to move from prototype to sustainable production. In this session, we will discuss how to get started with Android Things development and build apps that integrate with Google's cloud offerings for enterprise IoT and the smart home.