SlideShare a Scribd company logo
1 of 26
Download to read offline
Our first steps towards Material Design
Mantas Varnagiris
Mantas is passionate about all things Android.
As a UX-driven Engineer, he advised on the rebuild and built the
new codebase with Akshay, helping the UX team understand the
Material concepts too.
@mvarnagiris
The UX Lead for Depop, Mark has a background in
user experience for mobile apps and the web.
Mark leads the design of how Depop looks, works and delights its
community across the iOS and Android platforms.
@markjenkins
Mark Jenkins
“Depop – a marketplace that lets friends sell things to other friends
- is becoming the one-stop destination to snap up second hand
threads, sneakers, design, art and music”
– Jasmine Garnsworthy, StyleCaster
The Depop experience on Android was subpar and broken in many places.
We wanted to move towards a Material Design app.
The problem
Technical debt
Time spent dealing with a legacy app that was broken.
Messy codebase
A lack of speed in our development process.
Inconsistent
An experience that didn’t match our iOS app.
Our solution
To take our first steps towards a Material app, we put solid work into
the foundations – so that we can design and build faster in the future.
Material containers
Updated the chrome of the app (toolbar, keylines)
according to Material Design guidelines.
Consistent UI
Cleaned up the UI layer. Used consistent styles across views.
Next steps
Update the content to follow Material Design guidelines.
Add animations that makes sense.
Attention to detail
We’re strong believers that the details make the experience – even if they are invisible.
We paid special attention to padding, margins, keylines, spacing
and the layout structure, following some of the guidelines from Google.
Onboarding Home Feed Profile
Onboarding Home Feed Profile
Stylesheets
Implementing consistency as a framework
Styles and resources
<style name="Text.Body1" parent="TextAppearance.AppCompat.Body1">
<item name="android:textSize">14sp</item>
<item name="fontPath">fonts/Roboto-Regular.ttf</item>
</style>
<style name="Text.Title" parent="TextAppearance.AppCompat.Title">
<item name="fontPath">fonts/Roboto-Medium.ttf</item>
</style>
<resources>
<dimen name="keyline">16dp</dimen>
<dimen name="keyline_content">72dp</dimen>
<dimen name="space_xlarge">24dp</dimen>
<dimen name="space_large">16dp</dimen>
<dimen name="space_normal">8dp</dimen>
</resources>
Themes
<style name="AppTheme.One" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#00bcd4</item>
<item name="colorPrimaryDark">#0097a7</item>
<item name="colorAccent">#cddc39</item>
<item name="colorIcon">#001122</item>
</style>
<style name="AppTheme.Two" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#cccccc</item>
<item name="colorPrimaryDark">#aaaaaa</item>
<item name="colorAccent">#cc0000</item>
<item name="colorIcon">#334455</item>
</style>
<resources>
<declare-styleable name="Theme">
<attr name="colorIcon" format="color" />
</declare-styleable>
</resources>
Themes
<View
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?colorPrimary" />
public static int getColor(Context context, @AttrRes int resId) {
final TypedArray a = context.getTheme().obtainStyledAttributes(new int[]{resId});
final int color = a.getColor(0, 0);
a.recycle();
return color;
}
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="?colorAccent" />
</shape>
Demo
Github URL: http://git.io/vf5SJ
The outcome
We launched the app
An increase in 4 and 5 star reviews!
Featured in “The week’s Best apps”
Questions?
Like what you see? Got a question? Fire away!
We’re looking for an amazing Android Engineer to join our team.
For more details: bit.ly/workatdepop
or email to work@depop.com
Thank you, we’re hiring!

More Related Content

Viewers also liked

Principles of Design
Principles of DesignPrinciples of Design
Principles of DesignMark Jenkins
 
Pre and post production roles
Pre and post production rolesPre and post production roles
Pre and post production rolesjs21942
 
Workplace Video Conferencing Reinvented
Workplace Video Conferencing ReinventedWorkplace Video Conferencing Reinvented
Workplace Video Conferencing Reinventedk2m2y21
 
Lacey’s repertoire of elements 2
Lacey’s repertoire of elements 2Lacey’s repertoire of elements 2
Lacey’s repertoire of elements 2ninacollins78
 
Lacey’s repertoire of elements3
Lacey’s repertoire of elements3Lacey’s repertoire of elements3
Lacey’s repertoire of elements3ninacollins78
 
2030 Donami Vision
2030 Donami Vision2030 Donami Vision
2030 Donami Visioncsource
 
Market research results
Market research resultsMarket research results
Market research resultsninacollins78
 
Make Your Blog Buzz - Time Out x Clever Boxer - Live & Learn Series 2015
Make Your Blog Buzz - Time Out x Clever Boxer - Live & Learn Series 2015Make Your Blog Buzz - Time Out x Clever Boxer - Live & Learn Series 2015
Make Your Blog Buzz - Time Out x Clever Boxer - Live & Learn Series 2015Mark Jenkins
 
DAMMAM SECOND INDUSTRIAL CITY - IPS REHABILITATION WORKS
DAMMAM SECOND INDUSTRIAL CITY - IPS REHABILITATION WORKSDAMMAM SECOND INDUSTRIAL CITY - IPS REHABILITATION WORKS
DAMMAM SECOND INDUSTRIAL CITY - IPS REHABILITATION WORKSIslam Nassef
 
Executive Summary: Global Initiative on Out-of-School Children in South Asia
Executive Summary: Global Initiative on Out-of-School Children in South AsiaExecutive Summary: Global Initiative on Out-of-School Children in South Asia
Executive Summary: Global Initiative on Out-of-School Children in South AsiaUNICEF Education
 
Blog invitation 7th birthday party
Blog invitation 7th birthday partyBlog invitation 7th birthday party
Blog invitation 7th birthday partyEloise Witbooi
 
Liberian YMCA "Dream Team" to attend Dallas Cup
Liberian YMCA "Dream Team" to attend Dallas CupLiberian YMCA "Dream Team" to attend Dallas Cup
Liberian YMCA "Dream Team" to attend Dallas Cupcsource
 
Blog invitation 7th birthday party
Blog invitation 7th birthday partyBlog invitation 7th birthday party
Blog invitation 7th birthday partyEloise Witbooi
 
01 early humans
01   early humans01   early humans
01 early humansPJ Harvey
 

Viewers also liked (20)

Principles of Design
Principles of DesignPrinciples of Design
Principles of Design
 
Pre and post production roles
Pre and post production rolesPre and post production roles
Pre and post production roles
 
Shab bday ppt
Shab bday pptShab bday ppt
Shab bday ppt
 
Workplace Video Conferencing Reinvented
Workplace Video Conferencing ReinventedWorkplace Video Conferencing Reinvented
Workplace Video Conferencing Reinvented
 
Lacey’s repertoire of elements 2
Lacey’s repertoire of elements 2Lacey’s repertoire of elements 2
Lacey’s repertoire of elements 2
 
Lacey’s repertoire of elements3
Lacey’s repertoire of elements3Lacey’s repertoire of elements3
Lacey’s repertoire of elements3
 
How did you attract
How did you attractHow did you attract
How did you attract
 
2030 Donami Vision
2030 Donami Vision2030 Donami Vision
2030 Donami Vision
 
Evaluation q 4
Evaluation q 4Evaluation q 4
Evaluation q 4
 
ФСК ЕЭС
ФСК ЕЭСФСК ЕЭС
ФСК ЕЭС
 
Market research results
Market research resultsMarket research results
Market research results
 
Ugly duckling
Ugly ducklingUgly duckling
Ugly duckling
 
Make Your Blog Buzz - Time Out x Clever Boxer - Live & Learn Series 2015
Make Your Blog Buzz - Time Out x Clever Boxer - Live & Learn Series 2015Make Your Blog Buzz - Time Out x Clever Boxer - Live & Learn Series 2015
Make Your Blog Buzz - Time Out x Clever Boxer - Live & Learn Series 2015
 
DAMMAM SECOND INDUSTRIAL CITY - IPS REHABILITATION WORKS
DAMMAM SECOND INDUSTRIAL CITY - IPS REHABILITATION WORKSDAMMAM SECOND INDUSTRIAL CITY - IPS REHABILITATION WORKS
DAMMAM SECOND INDUSTRIAL CITY - IPS REHABILITATION WORKS
 
Shabs budday ppt
Shabs budday pptShabs budday ppt
Shabs budday ppt
 
Executive Summary: Global Initiative on Out-of-School Children in South Asia
Executive Summary: Global Initiative on Out-of-School Children in South AsiaExecutive Summary: Global Initiative on Out-of-School Children in South Asia
Executive Summary: Global Initiative on Out-of-School Children in South Asia
 
Blog invitation 7th birthday party
Blog invitation 7th birthday partyBlog invitation 7th birthday party
Blog invitation 7th birthday party
 
Liberian YMCA "Dream Team" to attend Dallas Cup
Liberian YMCA "Dream Team" to attend Dallas CupLiberian YMCA "Dream Team" to attend Dallas Cup
Liberian YMCA "Dream Team" to attend Dallas Cup
 
Blog invitation 7th birthday party
Blog invitation 7th birthday partyBlog invitation 7th birthday party
Blog invitation 7th birthday party
 
01 early humans
01   early humans01   early humans
01 early humans
 

Similar to Depop - "Our first steps towards Material Design" @ London Android Meetup

Mobile Design at Gilt
Mobile Design at GiltMobile Design at Gilt
Mobile Design at GiltDavid Park
 
iCapps workshop App Design - AFT Leuven
iCapps workshop App Design - AFT LeuveniCapps workshop App Design - AFT Leuven
iCapps workshop App Design - AFT LeuveniCapps
 
Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014MoodLabs
 
Web UI Design Patterns 2014
Web UI Design Patterns 2014Web UI Design Patterns 2014
Web UI Design Patterns 2014Lewis Lin 🦊
 
World Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersWorld Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersSarah Dutkiewicz
 
Design systems - Razvan Rosu
Design systems - Razvan RosuDesign systems - Razvan Rosu
Design systems - Razvan RosuRazvan Rosu
 
Redesigning a large B2B website - The FusionCharts revamping story
Redesigning a large B2B website - The FusionCharts revamping storyRedesigning a large B2B website - The FusionCharts revamping story
Redesigning a large B2B website - The FusionCharts revamping storyFusionCharts
 
Propeller UI/UX Process
Propeller UI/UX ProcessPropeller UI/UX Process
Propeller UI/UX ProcessBlair Stewart
 
Mobile ui design patterns
Mobile ui design patternsMobile ui design patterns
Mobile ui design patternsKevinHao14
 
Mobile UI Design Patterns 2014
Mobile UI Design Patterns 2014Mobile UI Design Patterns 2014
Mobile UI Design Patterns 2014Lewis Lin 🦊
 
Uxpin mobile ui_design_patterns_2014
Uxpin mobile ui_design_patterns_2014Uxpin mobile ui_design_patterns_2014
Uxpin mobile ui_design_patterns_2014Akhil Kumar
 
Stanfy Publications: Mobile Applications UI/UX Prototyping Process
Stanfy Publications: Mobile Applications UI/UX Prototyping ProcessStanfy Publications: Mobile Applications UI/UX Prototyping Process
Stanfy Publications: Mobile Applications UI/UX Prototyping ProcessStanfy
 
Ashishuiuxdesigner resume-doc-97-2003
Ashishuiuxdesigner resume-doc-97-2003Ashishuiuxdesigner resume-doc-97-2003
Ashishuiuxdesigner resume-doc-97-2003Ashish Kumar
 
Jesse Cohen's Portfolio
Jesse Cohen's PortfolioJesse Cohen's Portfolio
Jesse Cohen's PortfolioJesse Cohen
 
UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?Diego Eis
 
Usability principles 1
Usability principles 1Usability principles 1
Usability principles 1Sameer Chavan
 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for DevelopersSarah Dutkiewicz
 

Similar to Depop - "Our first steps towards Material Design" @ London Android Meetup (20)

Mobile Design at Gilt
Mobile Design at GiltMobile Design at Gilt
Mobile Design at Gilt
 
iCapps workshop App Design - AFT Leuven
iCapps workshop App Design - AFT LeuveniCapps workshop App Design - AFT Leuven
iCapps workshop App Design - AFT Leuven
 
Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014
 
Web UI Design Patterns 2014
Web UI Design Patterns 2014Web UI Design Patterns 2014
Web UI Design Patterns 2014
 
World Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersWorld Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for Developers
 
Design systems - Razvan Rosu
Design systems - Razvan RosuDesign systems - Razvan Rosu
Design systems - Razvan Rosu
 
Raghavendra_Guru
Raghavendra_GuruRaghavendra_Guru
Raghavendra_Guru
 
UI and UX for Mobile Developers
UI and UX for Mobile DevelopersUI and UX for Mobile Developers
UI and UX for Mobile Developers
 
Redesigning a large B2B website - The FusionCharts revamping story
Redesigning a large B2B website - The FusionCharts revamping storyRedesigning a large B2B website - The FusionCharts revamping story
Redesigning a large B2B website - The FusionCharts revamping story
 
Propeller UI/UX Process
Propeller UI/UX ProcessPropeller UI/UX Process
Propeller UI/UX Process
 
Mobile ui design patterns
Mobile ui design patternsMobile ui design patterns
Mobile ui design patterns
 
Mobile UI Design Patterns 2014
Mobile UI Design Patterns 2014Mobile UI Design Patterns 2014
Mobile UI Design Patterns 2014
 
Uxpin mobile ui_design_patterns_2014
Uxpin mobile ui_design_patterns_2014Uxpin mobile ui_design_patterns_2014
Uxpin mobile ui_design_patterns_2014
 
Stanfy Publications: Mobile Applications UI/UX Prototyping Process
Stanfy Publications: Mobile Applications UI/UX Prototyping ProcessStanfy Publications: Mobile Applications UI/UX Prototyping Process
Stanfy Publications: Mobile Applications UI/UX Prototyping Process
 
Ashishuiuxdesigner resume-doc-97-2003
Ashishuiuxdesigner resume-doc-97-2003Ashishuiuxdesigner resume-doc-97-2003
Ashishuiuxdesigner resume-doc-97-2003
 
Jesse Cohen's Portfolio
Jesse Cohen's PortfolioJesse Cohen's Portfolio
Jesse Cohen's Portfolio
 
GeoFocus
GeoFocusGeoFocus
GeoFocus
 
UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?
 
Usability principles 1
Usability principles 1Usability principles 1
Usability principles 1
 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for Developers
 

Depop - "Our first steps towards Material Design" @ London Android Meetup

  • 1. Our first steps towards Material Design
  • 2. Mantas Varnagiris Mantas is passionate about all things Android. As a UX-driven Engineer, he advised on the rebuild and built the new codebase with Akshay, helping the UX team understand the Material concepts too. @mvarnagiris
  • 3. The UX Lead for Depop, Mark has a background in user experience for mobile apps and the web. Mark leads the design of how Depop looks, works and delights its community across the iOS and Android platforms. @markjenkins Mark Jenkins
  • 4. “Depop – a marketplace that lets friends sell things to other friends - is becoming the one-stop destination to snap up second hand threads, sneakers, design, art and music” – Jasmine Garnsworthy, StyleCaster
  • 5. The Depop experience on Android was subpar and broken in many places. We wanted to move towards a Material Design app. The problem
  • 6. Technical debt Time spent dealing with a legacy app that was broken. Messy codebase A lack of speed in our development process. Inconsistent An experience that didn’t match our iOS app.
  • 7. Our solution To take our first steps towards a Material app, we put solid work into the foundations – so that we can design and build faster in the future.
  • 8. Material containers Updated the chrome of the app (toolbar, keylines) according to Material Design guidelines. Consistent UI Cleaned up the UI layer. Used consistent styles across views. Next steps Update the content to follow Material Design guidelines. Add animations that makes sense.
  • 9. Attention to detail We’re strong believers that the details make the experience – even if they are invisible. We paid special attention to padding, margins, keylines, spacing and the layout structure, following some of the guidelines from Google.
  • 13. Styles and resources <style name="Text.Body1" parent="TextAppearance.AppCompat.Body1"> <item name="android:textSize">14sp</item> <item name="fontPath">fonts/Roboto-Regular.ttf</item> </style> <style name="Text.Title" parent="TextAppearance.AppCompat.Title"> <item name="fontPath">fonts/Roboto-Medium.ttf</item> </style> <resources> <dimen name="keyline">16dp</dimen> <dimen name="keyline_content">72dp</dimen> <dimen name="space_xlarge">24dp</dimen> <dimen name="space_large">16dp</dimen> <dimen name="space_normal">8dp</dimen> </resources>
  • 14. Themes <style name="AppTheme.One" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">#00bcd4</item> <item name="colorPrimaryDark">#0097a7</item> <item name="colorAccent">#cddc39</item> <item name="colorIcon">#001122</item> </style> <style name="AppTheme.Two" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">#cccccc</item> <item name="colorPrimaryDark">#aaaaaa</item> <item name="colorAccent">#cc0000</item> <item name="colorIcon">#334455</item> </style> <resources> <declare-styleable name="Theme"> <attr name="colorIcon" format="color" /> </declare-styleable> </resources>
  • 15. Themes <View android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?colorPrimary" /> public static int getColor(Context context, @AttrRes int resId) { final TypedArray a = context.getTheme().obtainStyledAttributes(new int[]{resId}); final int color = a.getColor(0, 0); a.recycle(); return color; } <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="?colorAccent" /> </shape>
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. We launched the app An increase in 4 and 5 star reviews!
  • 23.
  • 24. Featured in “The week’s Best apps”
  • 25. Questions? Like what you see? Got a question? Fire away!
  • 26. We’re looking for an amazing Android Engineer to join our team. For more details: bit.ly/workatdepop or email to work@depop.com Thank you, we’re hiring!