Good rules for bad apps

Shem Magnezi
Shem MagneziStaff Full Stack Engineer at WeWrok
GOOD RULES
BAD APPS
for
SHEM MAGNEZI
@shemag8 • shem8.github.com
GOOD
BAD
vs
BEFORE WE BEGIN
There are MANY
bad rules
It’s not “ ALL
or NOTHING”
Rules depends on
TIME & PLACE
There is no
PRIORITY
Ask as MANY
PERMISSIONS
as POSSIBLE
1.
Don’t handle
LOADING
2.
Don’t save
SCREEN STATE
3.
Don’t use
VECTORS
4.
Ignore
MATERIAL
DESIGN specs
5.
Create INTRO,
OVERLAY and
HINTS
6.
Mysterious
ICONS
7.
Put
ANIMATIONS
everywhere
8.
Support the
OLDEST ANDROID
VERSION
I’m not going to
GIVE UP on those
users!!!9.
Don’t use
A/B TESTING
10.
Listen to
EVERY single
FEEDBACK
11.
Permissions
Loading
Activity
state
Vector
drawable
Min SDK
A/B testing
Prioritize
feedbacks
Material
design
Icons
Onboarding
Animations
TECH UI/UX PRODUCT
THE FULL LIST
shem8.github.com
FEEDBACK
& slides
QUESTIONS?
@shemag8 • shem8.github.com
1 of 23

Recommended

Knowledge sharing by
Knowledge sharingKnowledge sharing
Knowledge sharingDarshit Shah
161 views19 slides
Relaunch Challenges and Learnings from a Product and UX perspective by
Relaunch Challenges and Learnings from a Product and UX perspectiveRelaunch Challenges and Learnings from a Product and UX perspective
Relaunch Challenges and Learnings from a Product and UX perspectiveDaWanda
1.7K views41 slides
Mobil Weekend - Evolution of the Test Team by
Mobil Weekend - Evolution of the Test TeamMobil Weekend - Evolution of the Test Team
Mobil Weekend - Evolution of the Test TeamCsaba Szabó
309 views15 slides
Seven Bad Habits to Avoid As a QA Engineer by
Seven Bad Habits to Avoid As a QA EngineerSeven Bad Habits to Avoid As a QA Engineer
Seven Bad Habits to Avoid As a QA EngineerRock Interview
488 views11 slides
Website qa by
Website qaWebsite qa
Website qaJonathan Ross
268 views12 slides
Ui qa tools by
Ui qa toolsUi qa tools
Ui qa toolsSevilla QA
663 views43 slides

More Related Content

What's hot

Continuous Testing With React Storybook & WebdriverIO by
Continuous Testing With React Storybook & WebdriverIOContinuous Testing With React Storybook & WebdriverIO
Continuous Testing With React Storybook & WebdriverIOJosh Cypher
700 views55 slides
Webapp security-tut-2017 by
Webapp security-tut-2017Webapp security-tut-2017
Webapp security-tut-2017Solita Oy
667 views37 slides
Age of Wearables by
Age of WearablesAge of Wearables
Age of WearablesKevin H.A. Tan
712 views23 slides
Embracing Innovation - Using Creativity To Solve Challenging Testing Problems... by
Embracing Innovation - Using Creativity To Solve Challenging Testing Problems...Embracing Innovation - Using Creativity To Solve Challenging Testing Problems...
Embracing Innovation - Using Creativity To Solve Challenging Testing Problems...Selenium Conference Austin 2017
407 views24 slides
Justin Ison by
Justin IsonJustin Ison
Justin IsonCodeFest
198 views38 slides
Api Days Berlin - Continuous Updating by
Api Days Berlin - Continuous UpdatingApi Days Berlin - Continuous Updating
Api Days Berlin - Continuous UpdatingRobert Reiz
824 views41 slides

What's hot(11)

Continuous Testing With React Storybook & WebdriverIO by Josh Cypher
Continuous Testing With React Storybook & WebdriverIOContinuous Testing With React Storybook & WebdriverIO
Continuous Testing With React Storybook & WebdriverIO
Josh Cypher700 views
Webapp security-tut-2017 by Solita Oy
Webapp security-tut-2017Webapp security-tut-2017
Webapp security-tut-2017
Solita Oy667 views
Justin Ison by CodeFest
Justin IsonJustin Ison
Justin Ison
CodeFest198 views
Api Days Berlin - Continuous Updating by Robert Reiz
Api Days Berlin - Continuous UpdatingApi Days Berlin - Continuous Updating
Api Days Berlin - Continuous Updating
Robert Reiz824 views
Use Docker as the operation system builder - Do-Ker conference by Quentin Adam
Use Docker as the operation system builder - Do-Ker conferenceUse Docker as the operation system builder - Do-Ker conference
Use Docker as the operation system builder - Do-Ker conference
Quentin Adam813 views
Mobile Usability & Search by PushON Ltd
Mobile Usability & SearchMobile Usability & Search
Mobile Usability & Search
PushON Ltd1.8K views
Kostentreiber bei der iOS-Entwicklung by xrb
Kostentreiber bei der iOS-EntwicklungKostentreiber bei der iOS-Entwicklung
Kostentreiber bei der iOS-Entwicklung
xrb785 views
Making operations visible - devopsdays tokyo 2013 by Nick Galbreath
Making operations visible  - devopsdays tokyo 2013Making operations visible  - devopsdays tokyo 2013
Making operations visible - devopsdays tokyo 2013
Nick Galbreath13.8K views

Viewers also liked

Andriod dev toolbox part 2 by
Andriod dev toolbox  part 2Andriod dev toolbox  part 2
Andriod dev toolbox part 2Shem Magnezi
2.9K views35 slides
Android dev toolbox by
Android dev toolboxAndroid dev toolbox
Android dev toolboxShem Magnezi
3.1K views53 slides
Venture lab empathy by
Venture lab empathyVenture lab empathy
Venture lab empathyMollie Braga
240 views8 slides
Building android apps with kotlin by
Building android apps with kotlinBuilding android apps with kotlin
Building android apps with kotlinShem Magnezi
495 views29 slides
Android ui tips & tricks by
Android ui tips & tricksAndroid ui tips & tricks
Android ui tips & tricksShem Magnezi
4.5K views32 slides
Know what (not) to build by
Know what (not) to buildKnow what (not) to build
Know what (not) to buildShem Magnezi
2.8K views29 slides

Viewers also liked(6)

Andriod dev toolbox part 2 by Shem Magnezi
Andriod dev toolbox  part 2Andriod dev toolbox  part 2
Andriod dev toolbox part 2
Shem Magnezi2.9K views
Android dev toolbox by Shem Magnezi
Android dev toolboxAndroid dev toolbox
Android dev toolbox
Shem Magnezi3.1K views
Building android apps with kotlin by Shem Magnezi
Building android apps with kotlinBuilding android apps with kotlin
Building android apps with kotlin
Shem Magnezi495 views
Android ui tips & tricks by Shem Magnezi
Android ui tips & tricksAndroid ui tips & tricks
Android ui tips & tricks
Shem Magnezi4.5K views
Know what (not) to build by Shem Magnezi
Know what (not) to buildKnow what (not) to build
Know what (not) to build
Shem Magnezi2.8K views

Similar to Good rules for bad apps

Advanced Appium by
Advanced AppiumAdvanced Appium
Advanced AppiumDan Cuellar
1.7K views46 slides
Advanced Appium: SeleniumConf UK 2016 by
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Dan Cuellar
891 views40 slides
TxJS 2011 by
TxJS 2011TxJS 2011
TxJS 2011Brian LeRoux
1.2K views85 slides
Selenium Camp 2016 by
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016Dan Cuellar
707 views34 slides
Acceptance Testing of Web UI by
Acceptance Testing of Web UIAcceptance Testing of Web UI
Acceptance Testing of Web UIVladimir Tsukur
4.7K views101 slides
Agile Testing Days 2018 USA - API Testing Fundamentals by
Agile Testing Days 2018 USA - API Testing FundamentalsAgile Testing Days 2018 USA - API Testing Fundamentals
Agile Testing Days 2018 USA - API Testing FundamentalsJoEllen Carter
347 views19 slides

Similar to Good rules for bad apps(20)

Advanced Appium by Dan Cuellar
Advanced AppiumAdvanced Appium
Advanced Appium
Dan Cuellar1.7K views
Advanced Appium: SeleniumConf UK 2016 by Dan Cuellar
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016
Dan Cuellar891 views
Selenium Camp 2016 by Dan Cuellar
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016
Dan Cuellar707 views
Agile Testing Days 2018 USA - API Testing Fundamentals by JoEllen Carter
Agile Testing Days 2018 USA - API Testing FundamentalsAgile Testing Days 2018 USA - API Testing Fundamentals
Agile Testing Days 2018 USA - API Testing Fundamentals
JoEllen Carter347 views
Pain Driven Development by Alexandr Sugak by Sigma Software
Pain Driven Development by Alexandr SugakPain Driven Development by Alexandr Sugak
Pain Driven Development by Alexandr Sugak
Sigma Software152 views
Responsive, adaptive and responsible - keynote at NebraskaJS by Christian Heilmann
Responsive, adaptive and responsible - keynote at NebraskaJSResponsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJS
Christian Heilmann2.2K views
Selenium Camp 2016 - Kiev, Ukraine by Justin Ison
Selenium Camp 2016 -  Kiev, UkraineSelenium Camp 2016 -  Kiev, Ukraine
Selenium Camp 2016 - Kiev, Ukraine
Justin Ison2.4K views
Automated Exploratory Testing by Justin Ison
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory Testing
Justin Ison1.7K views
Development without Testers: Myth or Real Option? (ConfeT&QA conference) by Mikalai Alimenkou
Development without Testers: Myth or Real Option? (ConfeT&QA conference)Development without Testers: Myth or Real Option? (ConfeT&QA conference)
Development without Testers: Myth or Real Option? (ConfeT&QA conference)
Mikalai Alimenkou1.7K views
Automating Mobile Testing at Gilt with Appium by Sauce Labs
Automating Mobile Testing at Gilt with AppiumAutomating Mobile Testing at Gilt with Appium
Automating Mobile Testing at Gilt with Appium
Sauce Labs5K views
Colorful world-of-visual-automation-testing-latest by Onur Baskirt
Colorful world-of-visual-automation-testing-latestColorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latest
Onur Baskirt2.1K views
Play Framework: Intro & High-Level Overview by Josh Padnick
Play Framework: Intro & High-Level OverviewPlay Framework: Intro & High-Level Overview
Play Framework: Intro & High-Level Overview
Josh Padnick4K views
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium by Srijan Technologies
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
Development without Testers: Myth or Real Option? by Mikalai Alimenkou
Development without Testers: Myth or Real Option?Development without Testers: Myth or Real Option?
Development without Testers: Myth or Real Option?
Mikalai Alimenkou3.3K views
Os Smarr by oscon2007
Os SmarrOs Smarr
Os Smarr
oscon2007492 views
Smarr Oscon 2007 by briandemant
Smarr Oscon 2007Smarr Oscon 2007
Smarr Oscon 2007
briandemant1.6K views

More from Shem Magnezi

The Future of Work(ers) by
The Future of Work(ers)The Future of Work(ers)
The Future of Work(ers)Shem Magnezi
764 views64 slides
“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ... by
“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ...“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ...
“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ...Shem Magnezi
173 views62 slides
Good rules for bad apps by
Good rules for bad appsGood rules for bad apps
Good rules for bad appsShem Magnezi
101 views24 slides
“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ... by
“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ...“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ...
“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ...Shem Magnezi
365 views50 slides
Iterating on your idea by
Iterating on your ideaIterating on your idea
Iterating on your ideaShem Magnezi
349 views46 slides
The Redux State of the Art by
The Redux State of the ArtThe Redux State of the Art
The Redux State of the ArtShem Magnezi
1.3K views31 slides

More from Shem Magnezi(10)

The Future of Work(ers) by Shem Magnezi
The Future of Work(ers)The Future of Work(ers)
The Future of Work(ers)
Shem Magnezi764 views
“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ... by Shem Magnezi
“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ...“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ...
“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ...
Shem Magnezi173 views
Good rules for bad apps by Shem Magnezi
Good rules for bad appsGood rules for bad apps
Good rules for bad apps
Shem Magnezi101 views
“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ... by Shem Magnezi
“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ...“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ...
“Micro Frontends”- You Keep Using That Word, I Don’t Think It Means What You ...
Shem Magnezi365 views
Iterating on your idea by Shem Magnezi
Iterating on your ideaIterating on your idea
Iterating on your idea
Shem Magnezi349 views
The Redux State of the Art by Shem Magnezi
The Redux State of the ArtThe Redux State of the Art
The Redux State of the Art
Shem Magnezi1.3K views
Startup hackers toolbox by Shem Magnezi
Startup hackers toolboxStartup hackers toolbox
Startup hackers toolbox
Shem Magnezi181 views
Fuck you startup world by Shem Magnezi
Fuck you startup worldFuck you startup world
Fuck you startup world
Shem Magnezi1.4K views
Android Developer Toolbox 2017 by Shem Magnezi
Android Developer Toolbox 2017Android Developer Toolbox 2017
Android Developer Toolbox 2017
Shem Magnezi2K views

Editor's Notes

  1. Why? Imagine how boring was the Batman movies without the Joker. We need those bad things to give us a perspective about the good things. The internet is full of “how make to make things right” but you can’t really tell when you’re doing a bad thing. For example- google suggests using Activties and Fragments, but don’t really explain what goes where. They give you bitmaps and then you realize that you are leaking memory. Nobody is taking about the “dark” side, and why not? We’re doing mistakes, a lot, and we probably keep going to do them, so let’s share and learn. What is a good app?
  2. #1 Ask as many permission as possible You know what your app worth, don’t let minor things like user privacy get down your way. The user is begging for this crucial analytics sending on boot, so go and ask that BOOT_COMPLETED permission! If you need to share this wonderful url to your user’s friends- pull the fucking contact list from his phone, and while you doing so why not sending it to your server and spam them all? Remember- data is power, and other’s data is money! Bonus point: when implement Android M permissions, don’t let the user do anything until he or she accept your permission, even if he accepted some, don’t let him win!
  3. #1 Ask as many permission as possible You know what your app worth, don’t let minor things like user privacy get down your way. The user is begging for this crucial analytics sending on boot, so go and ask that BOOT_COMPLETED permission! If you need to share this wonderful url to your user’s friends- pull the fucking contact list from his phone, and while you doing so why not sending it to your server and spam them all? Remember- data is power, and other’s data is money! Bonus point: when implement Android M permissions, don’t let the user do anything until he or she accept your permission, even if he accepted some, don’t let him win!
  4. #4 Don’t save activity or fragment state You snooze you lose, you rotated the screen? Boom- your form was lost. This is the best way to teach your users never leave your app, even if them just got a phone call. Tip: use id for your view to save text
  5. #9: Use gifs instead of drawing things in code or animation drawable Yes, I know, animation drawable might saves you a couple of MB, but your time is much more important! #10: Create resources for all resolutions Because you just saves time, so lets waste it.
  6. #1: Ignore material design guidelines Google, one of the greatest companies in the world, put lots of efforts creating material design, they probably do a long user research and gather feedback from many expert, but hey- you are the one with the bachelor of industrial design, so you probably know better.
  7. #5: Create intro, overlay explanations AND hints Because users are stupid (mostly true) and they always read your explanation (no chance ever) Bonus points: do a step-by-step tutorial with no option to skip.
  8. #3: Create a mysterious app icon App that let you send “Yo”, of course. That’s really helpful when users need to quickly find your app from 40 apps icons grid. #4: Use your own ideas for icons Now I’m talking about in app icons. I understand- you don’t fully pleased with the Android default share icon, you’re also didn’t find anything suits to your needs between hundreds of material design icons so why not creating a full icon pack from your own? Bonus points: don’t even bother to add title to your menu items, so that users will able to get a textual hint.
  9. #8: Put animations everywhere A splash screen animation is nice, even Google recommend adding animation while moving between screens, and the more the merrier
  10. #5: Support the oldest android version Because why not? you’re not the one the writing the code. And every user count! also those 0.8% of the users that still using 2.2, although those devices are so weak that your 42MB app probably can’t even run on them.
  11. #3: Trust you instincts, no A/B testing or data analysing Because you are the PM and you know what your users want, and this should CTA button should absolutely be green. Or red. Whatever. Bonus points: change your opinion regularly and randomly.
  12. #2: Listen to every single feedback and implement it Worrying that you implemented all your 492 items from your backlog and the ideas are about to run out? Go over all the store reviews, search some feedback in twitter and check all the posts in your beta group. Users are very demanding creatures and probably will keep whining about all those features that your app absolutely garbage without, yes even if it isn’t the core of the app or they can do it easily with other apps.