Build Better Android Apps with Vector Assets
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.
Outline/Structure of the Talk
Part 1 — 7 mins: Intro
- What are vector assets?
- What are their benefits over bitmap assets and drawing in code?
- What are SVGs?
- What are Android VectorDrawables?
- What kinds of items are suitable for vector assets?
Part 2 (Marc) — 10 mins: Creating and maintaining vector assets
- Things to be aware of when creating artwork to export as vector assets (avoid clipping masks, avoid complex boolean operations, avoid lots of points, and avoid points that are not visible).
- What’s the best workflow for exporting? Which tools can be used?
- Using Illustrator to create suitable SVG data.
- Use artboards (mention 100 artboard limit).
- Using Sketch to create suitable SVG data (mention the SVGO plugin).
- Use artboards and slices, not layer exporting (padding etc).
- Using Affinity Designer to create suitable SVG data.
- Use slices to export.
- Maintaining assets over time.
Part 3 (Luke) — 4 mins: Converting SVGs to VectorDrawables
- 5 different ways of converting SVG to VectorDrawable! Pros and cons of each
Part 4 (Luke)— 10 mins: Using VectorDrawables in your apps
- Setting up SVG assets:
- Backwards compatibility library
- PNG generation through gradle - limitations
- Support library through code - limitations
- Native SVG support.
- Limitations between different versions of Android
- Editing vector drawables, changing size & changing colours
Part 5 — 4 mins: The Marc and Luke SVG 4 Step plan
- Creation.
- Exporting.
- Conversion.
- Code.
Part 6 — 10 mins: Questions
Total time: 45 min
Learning Outcome
Attendees will learn:
- What Vector assets and SVGs are.
- Their advantages over bitmaps when creating apps.
- What kinds of image assets are suitable for SVGs.
- How to create artwork that will be easily imported, and how to avoid troublesome items such as clipping masks, complex boolean operations, etc.
- The best ways to create suitable SVGs in Illustrator, Sketch and Affinity Designer.
- How to maintain SVG assets over time.
- The five different ways for converting SVGs into Androids vector drawable format, along with the pros and cons of each.
- How to include SVG assets in your app using the two different backward support options provided by google, along with native VectorDrawable support
- The limitations between different versions of android
- How developers can quickly make hand edits to VectorDrwables
- 4 straightforward steps designers and developers can follow to create, export, convert and use Vector Drawables in apps
Target Audience
Designers and Android Devs
Prerequisites for Attendees
N/A
Video
Links
Marc:
Articles
Taming Advanced Color Palettes In Photoshop, Sketch And Affinity Designer - https://www.smashingmagazine.com/2017/07/advanced-color-palettes-photoshop-sketch-affinity-designer/
Designing Apple TV apps - https://www.imore.com/designing-apple-tv-apps
Talks
/dev/world 2016 (Keynote talk with Russell Ivanovic): Building an Entire App in an Hour. https://www.youtube.com/watch?v=sA5LKdY4zNk
EdTech 2016: Building an Entire App in an Hour.
Adobe Max 2014: Creating Mobile Designs That Scale. (Talk and lab.) https://bjango.com/articles/max2014/
Swipe Conference 2011: Launching Like Butter. https://vimeo.com/43166922
Luke:
Talks
Yow West 2017, Yow Connected 2016, GDG Taipei, Android Sydney meetup - Tensor What? AI and mobile - https://youtu.be/BpmL5uIs8Aw
Yow Connected 2016, GDG Melbourne, Livestreamed on ANZ Coders - Was it Frag-ment to be? - https://youtu.be/eXt6AqfDhrI
GDG Melbourne - Cool AI stuff from japan - https://youtu.be/MYcyryLRoHU
Yow Connected 2015 - Building the Australian War Memorial Visitor Audio Experience
Yow Connected 2014 - Android for iOS people
Yow Connected 2014 - A simple, scalable app architecture with Android annotations https://youtu.be/B6lB2675cO4
schedule Submitted 5 years ago
People who liked this proposal, also liked:
-
keyboard_arrow_down
Justin Mclean - How to become an IoT developer (and have fun!)
45 Mins
Talk
Intermediate
I started off my life as a developer writing machine code and C and working on some low level hardware projects. Then this thing called the internet come along and I moved into the web application space for a couple of decades. More recently I've moved back into commercial IoT development and not unexpectedly a lot has changed over that time.
In this talk I'll cover what it's like developing IoT projects. I'll go over the tools you need and protocols you need to be familiar with. I'll look at how the C language has evolved to what it is today and and how to write code that works well on memory constrained devices. I'll go over producing prototypes, rapid development, debugging and testing embedded applications and what and how much electronics you should learn.
In short everything you need to know in becoming an IoT developer and have fun doing it.
-
keyboard_arrow_down
Larene Le Gassick - Creating Inclusive Apps with React Native
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!
-
keyboard_arrow_down
Nick Moore - Easy IoT with MicroPython on ESP SoCs
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
- What it is capable of and what things are being developed for it
- How to contribute to the MicroPython project
-
keyboard_arrow_down
Andrew Harvey - They're Good Dogs: A Gentle Introduction to Machine Learning with CoreML and Vision
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.
-
keyboard_arrow_down
Andrew Hatch / James Baker - How IoT Helped Seek Solve Load and Scale Issues (But not Quite the Issues you Think!)
Andrew HatchHead of Platform EngineeringSeekJames BakerDevOps EngineerSEEKschedule 5 years ago
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.
We will cover:
- What IoT devices we found effective
- How you can leverage the capabilities of AWS to rapidly stand up complex solutions without investments in Infrastructure
- Which “areas” of Seek are more popular than others!
-
keyboard_arrow_down
Cameron Barrie - Designing for a unknown future
50 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.
-
keyboard_arrow_down
Shipra Mahindra / Jeames Bone - Internationalisation 101
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.
-
keyboard_arrow_down
Tim Sawtell / Damon Smith / Tyrone Trevorrow - Building React Web and React-Native Apps with Shared Code
Tim SawtellEngineering LeadSportsbetDamon SmithEngineering LeadSportsbetTyrone TrevorrowEngineering Lead (iOS)Sportsbetschedule 5 years ago
45 Mins
Case Study
Intermediate
Diving into the feasibility of using a single code base for generating multiple front-end applications.
We'll discuss using React and React-Native for building apps that provide a consistent experience across native, mobile and desktop web.
Using React and React-Native as the UI layer upon a shared JavaScript core codebase can greatly improve your organisation's delivery of new features to customers.
We'll talk about our migration strategy for the new apps replacing our existing apps, piece by piece. Not slowing down our continuous release of features to customers while replace the apps.
-
keyboard_arrow_down
Samantha Connelly - Robots and Testing
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. -
keyboard_arrow_down
Sam Ritchie - Flying Solo: Lifehack Your Way to a Pants-Optional Workplace
30 Mins
Case Study
Intermediate
Many developers harbour the dream of throwing off the shackles of corporate serfdom and experiencing the glorious freedom of self-employment. So is the grass really greener on the other side? As a developer who took the plunge a few years ago, I can offer some honest feedback and practical advice on things like:
- what to consider when assessing whether self-employment is right for you.
- the different software development business models, the pros & cons of each.
- setting up a business/company - which structure is best.
- knowing when to quit your job.
- pricing yourself correctly.
- sales & marketing - critical activity or soul destroying waste of effort?
- why on earth can’t people just pay you on time.
- what to say to friends and relatives who think you don’t do anything all day.
And generally everything else that I know now, that I wish I knew then.
-
keyboard_arrow_down
Charles Haynes - Unit Test all the Things!
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.
-
keyboard_arrow_down
Anne-Marie Charrett - How to reduce the cost of software testing
45 Mins
Talk
Intermediate
Let's face it, most of us have done pretty lousy job when it comes to software testing. It's no real surprise, software testing is hard. In fact, I believe its one of the tougher challenges in delivery product. Software Testing is expensive! Every test has a cost in design, building, execution and maintenance. Resulting work from finding bugs can blow out any on track project. In an attempt to reduce the cost of software testing, we've resorted to outsourcing and/or test automation. However, this hasn't given us the gains we had hoped for. We still have expensive, brittle, hard to maintain tests that typically take to long to execute and seem to offer little value. What's more, faced with shorter delivery times and the need to experiment rapidly, we simply cannot afford to have long testing lifecycles.
What are we doing wrong, and more importantly, what can we do to fix it?
This talk looks at Quality Engineering to reduce dependency on software testing, create faster feedback loops and build product in a more robust way despite uncertainty. A quality approach that allows teams to remain flexible and reactive to change.
It explores Quality in four key areas, Product, People, Practice and Technology. Using the concepts found in Lean and Context Driven Testing it describes how we can improve quality by reducing waste in our systems in a way that is valuable to a team.
It also explores the topic of metrics in relation to quality. Many of us in quality have been burnt by metrics in the past. Test case counts and test coverage have done little to help improve quality and have done a lot to develop undue process that inhibits rapid change. Is there a way we can explore metrics at a team level to help us make informed decisions?
As 'Quality everyone's responsibility', this talk is for everyone, heads of engineering, architects, developers, testers and ops. This talk dispels myths around testing and quality and provides a practical way forward to improving quality in your teams.
-
keyboard_arrow_down
John Bristowe - The State of Mobile App Development: Past, Present, and Future
45 Mins
Talk
Intermediate
The mobile app development landscape is filled with a mixture of platforms, tools, frameworks, libraries, development strategies, and runtime environments. Sorting through it all is a daunting task. Picking the wrong platform, technology, and/or strategy can spell disaster for your mobile app projects.
Having a solid understanding of what’s required for mobile app development helps. However, knowing what the rest of the industry is using – now and in the near future – enabled you to make an informed decision when it comes to tackling your next mobile app project.
This session will examine the state of mobile app development: past, present, and future. We'll explore what developers are targeting today and forecast what they’ll be targeting in the next 12-18 months. We'll examine industry trends and provide a detailed analysis of the options available: the good, the bad, and the ugly. We'll look at tools and runtime environments. We'll even get our hands a little dirty with some code. You'll walk away with a clear understanding of where we're at and where we're headed.
-
keyboard_arrow_down
Sande Harsa - The Common Ignorance of The Guidelines
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.
-
keyboard_arrow_down
Barry Scott - The Joel Test - Mobile Edition.
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.
-
keyboard_arrow_down
Andrew Kelly - ConstraintLayout - One Layout to Rule them All.
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.
-
keyboard_arrow_down
Paul Stringer / Bethan Timmins - Subcutaneous Testing Mobile
Paul StringerHead of MobileEqual ExpertsBethan TimminsPartnerEqual Expertsschedule 5 years ago
45 Mins
Talk
Advanced
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. -
keyboard_arrow_down
Mitchell Tilbrook - React Native Better Than Native
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. -
keyboard_arrow_down
Calum Gathergood - React Native: Building shared components for Android and iOS
30 Mins
Case Study
Intermediate
This talk discusses how Domain implemented React Native Components in their native Android and iOS apps.
It will cover a brief history of React Native and the lessons learned whilst implementing shared components into existing codebases. Comparing and contrasting development environments of Android, iOS and React Native whilst discussing working together with both Java, Swift and Javascript. Topics include the React ecosystem, modern Javascript development and managing multiple components within a monorepo.
In addition to the technical aspects, the talk will discuss the impact of React Native and what it means for developers. Bringing forth the question of whether the cross-platform ideology of ‘write once, run anywhere’ is the future of mobile development.
-
keyboard_arrow_down
Simon Wade - Culture vs. Central Planning
45 Mins
Talk
Advanced