This October the international Android community, gathered for a great 2 days to listen to expert speakers, find out about all the latest Android advances and discover new technologies.
This is a roundup and definitely just my opinion on talks I attended as well as references to further reading.
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Droidcon UK 2015 roundup
1. Droidcon UK 2015
This October the international Android community,
gathered for a great 2 days to listen to expert
speakers, find out about all the latest Android
advances and discover new technologies.
4. Keynote
- different career choices
- how can we choose good companies to work for
- what we can learn from interviews and selection
processes
- when should we look for a new job
- how to change our working environment
12. Continuous Integration
- Jenkins has powerful plugins
- Connecting real devices or emulators
- Running unit & acceptance tests
- Having nightly builds for slow running jobs
- Using nodes for distributed cpu power
16. Android for Java Developers
- good Android apps will have to take mobile constraints
into account
- learn how to use the language effectively
- how to write better and more performant Android
applications
17. Android for Java Developers
- https://medium.com/google-developers/developing-for-
android-introduction-5345b451567c
- I: Understanding the Mobile Context
- II: The Rules: Memory
- III: The Rules: Performance
- IV: The Rules: Networking
- V: The Rules: Language & Libraries
- VI: The Rules: Storage
- VII: The Rules: Framework
- VIII: The Rules: User
Interface
- IX: Tools
20. Give your users superpowers in the real
world- Chromecast
- Audio & Video
- Android Wear
- Brillo (for raspberry pi!)
21. Give your users superpowers in the real
worldhttps://developers.google.com/brillo/
An Introduction to Brillo
https://www.youtube.com/watch?v=2rPkbyyviGI
24. Designing apps that everyone can use
- Good enough design is not good enough!
- implementation faux-pas’s
- concept of accessible vs usable
- Development process that can guide accessibility
25. Designing apps that everyone can use
https://www.novoda.com/blog/designing-android-apps-with-
vision-impaired-users-in-mind/
38. Hive CI: Making automation scale for
iPlayer- Want to reach as wide an audience as possible
- Daunted by 1000’s of manual tests
- Dealing with false & intermittent failures
- Keeping physical devices in a connected state
- Breaking test suites down
39. Hive CI: Making automation scale for
iPlayer- Want to reach as wide an audience as possible
- Daunted by 1000’s of manual tests
- Dealing with false & intermittent failures
- Keeping physical devices in a connected state
- Breaking test suites down
40. Hive CI: Making automation scale for
iPlayer- HIVE
- @BBCOpenSource
- http://bbc.co.uk/opensource
42. What I missed :-(
- Build your own video streaming app
- Reverse engineering is not just for hackers
- React Native for Android
- Land’s End: Creating the flagship mobile VR adventure
- Staying alive, online and offline
- Advancing Development with the Kotlin Language
- Microservices is our BFF: why SoundCloud stopped using its own
public API for its mobile clients
People no longer need to sit at a desk to get the benefits of technology. You can now build experiences that work seamlessly between the virtual world and the real world. Superpowers that would not have been possible, too complex or prohibitively expensive are now possible.
Join this session for the latest update from Google on the platform components now available. The talk will also cover design philosophies and technical details on how best to take advantage of the strength of the various platforms and give your users superpowers in the real world.
People no longer need to sit at a desk to get the benefits of technology. You can now build experiences that work seamlessly between the virtual world and the real world. Superpowers that would not have been possible, too complex or prohibitively expensive are now possible.
Join this session for the latest update from Google on the platform components now available. The talk will also cover design philosophies and technical details on how best to take advantage of the strength of the various platforms and give your users superpowers in the real world.
Ataul Munim
Good design is hard. Over the last few years (since Holo), Android users have been spoiled by a sea of apps with "good-enough" design. It's easy to do. It's paint-by-numbers. It's following design guidelines. But it's not good enough! You will discover about design and implementation faux-pas that are considered acceptable, why they're not really good enough,and learn how easily they can be fixed. You will recognise the difference between the concept of accessible and the concept of usable, and note how anyone can develop an accessible app, but why usable apps might be more difficult to make. You'll come away with a set of (actionable!) design and development processes that will guide you in making apps that everyone can use on an Android TV.
Amazon Alexa
Nick Butcher & Ben Weiss
Material design emphasizes using meaningful motion within your UIs. But when should you use it and how can it be implemented?
In this session you’ll learn about tools and techniques that help you apply motion design within your app. You will discover how to create, choreograph and control sublime animations and transitions from an engineer’s perspective. Above that you’ll use real world examples that you can dive into and learn from.
Material design emphasizes using meaningful motion within your UIs. But when should you use it and how can it be implemented?
In this session you’ll learn about tools and techniques that help you apply motion design within your app. You will discover how to create, choreograph and control sublime animations and transitions from an engineer’s perspective. Above that you’ll use real world examples that you can dive into and learn from.
Lands of Ruin. Desktop strategy game. http://landsofruin.com/
Mike McDonald
The button was a game and social experiment run on Reddit from 1 Apr 2015 to 5 Jun 2015. The idea was simple: a 60 second countdown timer next to a reset button. When users pressed the button at a specific time, they would also be assigned a specific colour: purple if between 52 and 60 seconds, blue between 42 and 51 seconds, etc. and grey if a user hadn’t pressed the button yet. The power of the game is in its simplicity, but also in its scale: during that time, over a million users joined together to keep the game going. Developing games for this scale is difficult, but it doesn’t have to be. In this talk, you will create our own ‘button’ game by connecting a comically oversized button to the internet and writing a companion Android app for audience members to play along. The button and app will be connected through Firebase, an application platform designed to speed up mobile, web, and IoT development by providing authentication, realtime synchronization, and Reddit scale. By the end you will learn how to use Firebase to create mobile and IoT applications which seamlessly interact between hardware and software. You’ll also learn how to leverage realtime, event driven programming models for both game and IoT development. Also, unlike the Reddit version, this experiment promises a more climactic end!
Martino Luca
David Buckhurst & Jitesh Gosai
Our remit at the BBC means we have to reach as wide an audience as possible. When you consider how this applies to our iPlayer mobile app, we have to support a huge variety of devices and os combinations. Daunted by the amount of manual testing we would have to perform, we invested heavily into automation to reduce our manual efforts.
We quickly built up a large and successful suite of automated tests and could run these on a single device driven by our CI system. When it came to making this scale to the large number of devices we wanted to support, we really struggled.
The difficulties we faced were:
how to manage and run tests on multiple devices
keeping devices stable and ready to run tests
dealing with false positives and intermittent failures
managing the huge number of tests we’d accrued and the GBs of results we were generating
We struggled to scale our approach using conventional CI tools. We wanted a system that could help us in three areas:
managing the physical devices and keeping them in a ready-state to run tests
scheduling and running tests across multiple connected devices
collating and interpreting results across a single build.
We built a custom CI system, which we call Hive CI to help us overcome these problems. Hive CI was designed to be device aware, and test aware giving us greater control over how we run our tests, what tests we run, and what devices they run on. Our system could be used by any team in the BBC, for any mobile testing project, using any testing framework.
Now that we could run all our tests on all our devices, we found ourselves with a completely new set of problems. The effort of maintaining over 200 tests across all our physical devices was a full time job. And left no time for investigating the millions of test results we generated every day. We needed a more intelligent approach to what we ran. We solved this in three ways:
breaking our test suites into smaller suites focusing on specific domains (core journeys, statistics, accessibility) and reducing our on-commit tests to a core set of journeys -- what we call PUMAs
using our monitoring to identify the highest reach devices and operating systems
expanding the Hive result engine to be able to differentiate between genuine failures and intermittent problems.
Our remit at the BBC means we have to reach as wide an audience as possible. When you consider how this applies to our iPlayer mobile app, we have to support a huge variety of devices and os combinations. Daunted by the amount of manual testing we would have to perform, we invested heavily into automation to reduce our manual efforts.
We quickly built up a large and successful suite of automated tests and could run these on a single device driven by our CI system. When it came to making this scale to the large number of devices we wanted to support, we really struggled.
The difficulties we faced were:
how to manage and run tests on multiple devices
keeping devices stable and ready to run tests
dealing with false positives and intermittent failures
managing the huge number of tests we’d accrued and the GBs of results we were generating
We struggled to scale our approach using conventional CI tools. We wanted a system that could help us in three areas:
managing the physical devices and keeping them in a ready-state to run tests
scheduling and running tests across multiple connected devices
collating and interpreting results across a single build.
We built a custom CI system, which we call Hive CI to help us overcome these problems. Hive CI was designed to be device aware, and test aware giving us greater control over how we run our tests, what tests we run, and what devices they run on. Our system could be used by any team in the BBC, for any mobile testing project, using any testing framework.
Now that we could run all our tests on all our devices, we found ourselves with a completely new set of problems. The effort of maintaining over 200 tests across all our physical devices was a full time job. And left no time for investigating the millions of test results we generated every day. We needed a more intelligent approach to what we ran. We solved this in three ways:
breaking our test suites into smaller suites focusing on specific domains (core journeys, statistics, accessibility) and reducing our on-commit tests to a core set of journeys -- what we call PUMAs
using our monitoring to identify the highest reach devices and operating systems
expanding the Hive result engine to be able to differentiate between genuine failures and intermittent problems.