SlideShare a Scribd company logo
T1	
Session	-	Mobile	Development	
4/27/17	10:00	AM	
	
	
	
	
	
	
UI	Framework	Prototyping	with	
Playgrounds	for	iOS	Apps	
	
Presented	by:	
	
Ellen	Shapiro	
SpotHero	
	
	
	
Brought	to	you	by:		
		
	
	
	
	
350	Corporate	Way,	Suite	400,	Orange	Park,	FL	32073		
888---268---8770	··	904---278---0524	-	info@techwell.com	-	https://www.techwell.com/
Ellen	Shapiro	
SpotHero	
	
Ellen	Shapiro	is	the	former	Director	of	iOS	Engineering	at	Chicago-based	agency	
Vokal,	which	helps	companies	develop	and	build	their	vision	for	taking	advantage	
of	a	mobile	world.	When	not	working,	Ellen	partners	with	designer	and	fellow	
singer-songwriter	Aaron	Shekey	of	Github	to	create	the	leading	songwriting	app	
Hum.	Ellen	also	writes	tutorials	for	leading	iOS	tutorial	site	RayWenderlich.com	
and	will	talk	your	virtual	ear	off	on	Twitter	as	@DesignatedNerd
UI Prototyping With
PlaygroundsEllen Shapiro | Mobile Dev + Test, San Diego | April 2017
@designatednerd | spothero.com | justhum.com
UI Framework Prototyping with Playgrounds for iOS Apps
UI Framework Prototyping with Playgrounds for iOS Apps
via Kara Brugman at https://www.instagram.com/p/pvqUXsmBS5/
app.psd
app.psd
app_ios_v2.psd
app.psd
app_ios_v2.psd
designs_v2.5.psd
app.psd
app_ios_v2.psd
designs_v2.5.psd
app_designs_final.psd
app.psd
app_ios_v2.psd
designs_v2.5.psd
app_designs_final.psd
app_designs_final(2).psd
app.psd
app_ios_v2.psd
designs_v2.5.psd
app_designs_final.psd
app_designs_final(2).psd
app_designs_final_revised.psd
app.psd
app_ios_v2.psd
designs_v2.5.psd
app_designs_final.psd
app_designs_final(2).psd
app_designs_final_revised.psd
i_quit.psd
via twitter.com/DigitalSynopsis
via https://www.smashingmagazine.com/2011/05/two-cats-in-a-sack-designer-developer-discord/
UI Framework Prototyping with Playgrounds for iOS Apps
Allow Designers To Express Their Intent
In A Way Which Shows Up In Code
Naming Things Consistently
Thing iOS Thing Android Thing
Color UIColor R.color
Non-editable Text UILabel TextView
Short Text Input UITextField EditText
Long Text Input UITextView EditText
Button UIButton Button
Top Navigation UINavigationBar Toolbar
Thing iOS Thing Android Thing
Color UIColor R.color
Non-editable Text UILabel TextView
Short Text Input UITextField EditText
Long Text Input UITextView EditText
Button UIButton Button
Top Navigation UINavigationBar Toolbar
Thing iOS Thing Android Thing
Color UIColor R.color
Non-editable Text UILabel TextView
Short Text Input UITextField EditText
Long Text Input UITextView EditText
Button UIButton Button
Top Navigation UINavigationBar Toolbar
Name From Designer
Corvette
Tangerine
Canary
Palm Tree
Ocean
Violet
Name From Designer iOS Var Name Android Name
Corvette exm_darkRed R.color.red
Tangerine exm_orange R.color.orange
Canary exm_mutedYellow R.color.pee
Palm Tree exm_green R.color.lt_green
Ocean exm_navyBlue R.color.ocean
Violet exm_purpleDrank R.color.go_u_nu
Name From Designer iOS Var Name Android Name
Corvette exm_corvette R.color.corvette
Tangerine exm_tangerine R.color.tangerine
Canary exm_canary R.color.canary
Palm Tree exm_palmTree R.color.palm_tree
Ocean exm_ocean R.color.ocean
Violet exm_violet R.color.violet
Name From Designer iOS Class Name Android Style Name
Headline Text EXMHeadlineLabel HeadlineTextStyle
Sub-Head Text EXMSubHeadLabel SubHeadTextStyle
Body Text EXMBodyLabel BodyTextStyle
Caption Text EXMCaptionLabel CaptionTextStyle
Warning Text EXMWarningText WarningTextStyle
Fine Print Text EXMFinePrintText FinePrintTextStyle
Name From Designer iOS Class Name Android Style Name
Primary Call To Action Button EXMPrimaryCTAButton PrimaryCTAButtonStyle
Secondary Call To Action Button EXMSecondaryCTAButton SecondaryCTAButtonStyle
Transactional Button EXMTransactionalButton TransactionalButtonStyle
DestructiveButton EXMDestructiveButton DestructiveButtonStyle
Edit Button EXMEditButton EditButtonStyle
Checkbox Button EXMCheckboxButton CheckboxButtonStyle
Radio Button EXMRadioButton RadioButtonStyle
Giant Button EXMGiantButton GiantButtonStyle
Super-Giant Button EXMSuperGiantButton SuperGiantButtonStyle
via https://www.flickr.com/photos/designmilk/8552219138
Automatically Generate Code
Based on the Designer's Intentions
Get designers to use a
specified format
Get designers to use a
specified format*
*
This is a lot easier said than done
UI Framework Prototyping with Playgrounds for iOS Apps
Underlying values change
seamlessly
Name changes break
obviously
UI Framework Prototyping with Playgrounds for iOS Apps
UI Framework Prototyping with Playgrounds for iOS Apps
UI Framework Prototyping with Playgrounds for iOS Apps
UI Framework Prototyping with Playgrounds for iOS Apps
UI Framework Prototyping with Playgrounds for iOS Apps
UI Framework Prototyping with Playgrounds for iOS Apps
Selling Your Designers
on this cockamamie brilliant idea
via http://www.cultofmac.com/388474/apple-pencil-versus-wacom-cintiq/
UI Framework Prototyping with Playgrounds for iOS Apps
UI Framework Prototyping with Playgrounds for iOS Apps
Distributing playgrounds
• Git
• Email
• AirDrop
• Dropbox
• Continuous Integration uploading to S3 or an internal site
Re-incorporating
design changes
Working collaboratively
vs.
Working asynchronously
Building a Framework
Advantages
of UI Frameworks
Separation
of concerns
Reusability
across multiple apps
Reusability
across multiple extensions
Snapshot Testing
Limitations
of UI Frameworks
@IBDesignable?
Separation
of concerns
Separation
⚔
of concerns
Con rency cur
Concurrency
UI Framework Prototyping with Playgrounds for iOS Apps
Playgrounds With Designers: Easy Mode
• Hand off via email, AirDrop, or synced folder
• Use a single, ginormous playground file**
• Create basic elements but don't include anything complicated
• Copy and paste files into the sources folder
**
May be REAL slow
Playgrounds With Designers: Advanced Mode
• Automatically generate every time there's a build of the
application
• Copy source files of framework into Sources folder in playground
using a script
• Use a multi-page playground to separate things
• Let designers download from a consistent place
Playgrounds With Designers: Expert Mode
• #SquadGoals
• Automatically generate only when changes have taken place in
the UI framework
• Create a Playground Book that allows designers to muck about
with stuff on their iPad
• Automatically upload so the designers can get it on their iPad
(iCloud? Dropbox?)
A Few Parting Recommendations
• Start small.
A Few Parting Recommendations
• Start small.
• Colors, fonts, UILabel subclasses
A Few Parting Recommendations
• Start small.
• Colors, fonts, UILabel subclasses
• Margins, font sizes, padding
A Few Parting Recommendations
• Start small.
• Colors, fonts, UILabel subclasses
• Margins, font sizes, padding,
• UIButtons, UITextFields, and other state-driven UI
A Few Parting Recommendations
• Start small.
• Colors, fonts, UILabel subclasses
• Margins, font sizes, padding,
• UIButtons, UITextFields, and other state-driven UI
• Custom Views And Animations
Build the
Building Blocks
via https://www.flickr.com/photos/designmilk/8552219138
Links!
• TrueColors app and the CyndiLauper parser: https://
github.com/vokal/TrueColors-macOS
• Sourcery: https://github.com/krzysztofzablocki/Sourcery
• Embedding frameworks in an .xcworkspace: https://
useyourloaf.com/blog/adding-playgrounds-to-xcode-projects/

More Related Content

PPTX
2011 code camp
PDF
Introduction to Xamarin Forms
PDF
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
PDF
Your choices for building a mobile app in 2016
PDF
Developing Watch Apps for  Watch
PDF
Reark : a Reference Architecture for Android using RxJava
PPTX
Selenium Camp 2016
PDF
Appcelerator Overview
2011 code camp
Introduction to Xamarin Forms
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Your choices for building a mobile app in 2016
Developing Watch Apps for  Watch
Reark : a Reference Architecture for Android using RxJava
Selenium Camp 2016
Appcelerator Overview

What's hot (20)

PPTX
Wikipedia Mobile App with PhoneGap
PDF
An Introduction to Appium Desktop
PPTX
Building Native Apps The Lazy Way (BeerJS 2021)
PDF
Adobe phonegap-workshop-2013
PDF
Hybrid Apps with Ionic Framework
PPTX
Mobile Test Automation at eBay
PPTX
Open Source Mobile Augmented Reality
PDF
Alfresco Mobile - new Alfresco Mobile app features
PPTX
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
PPTX
Android Test Automation – one year later
KEY
Cross-platform Mobile Development
PPTX
Automation, Selenium Webdriver and Page Objects
PDF
[Srijan Wednesday Webinars] Building a High Performance QA Team
PPTX
Introduction to Xamarin
PPTX
Applied Testing Heuristics in the Context of eBay
PPTX
iOS & Android Application Development - Pee Dee User Group Meeting
PDF
The Unseen Experience: Putting Detail Into The Web
PPTX
Android Introduction on Java Forum Stuttgart 11
PDF
201906 mobile devops
PDF
Finding the sweet spot - blending the best of native and web
Wikipedia Mobile App with PhoneGap
An Introduction to Appium Desktop
Building Native Apps The Lazy Way (BeerJS 2021)
Adobe phonegap-workshop-2013
Hybrid Apps with Ionic Framework
Mobile Test Automation at eBay
Open Source Mobile Augmented Reality
Alfresco Mobile - new Alfresco Mobile app features
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Android Test Automation – one year later
Cross-platform Mobile Development
Automation, Selenium Webdriver and Page Objects
[Srijan Wednesday Webinars] Building a High Performance QA Team
Introduction to Xamarin
Applied Testing Heuristics in the Context of eBay
iOS & Android Application Development - Pee Dee User Group Meeting
The Unseen Experience: Putting Detail Into The Web
Android Introduction on Java Forum Stuttgart 11
201906 mobile devops
Finding the sweet spot - blending the best of native and web
Ad

Similar to UI Framework Prototyping with Playgrounds for iOS Apps (20)

PDF
Prototyping saves your bacon
PDF
Architecting apps - Can we write better code by planning ahead?
PDF
Preparing for Release to the App Store
PDF
How to prototype your mobile apps
PDF
Developing Applications on iOS
KEY
iPhone App from concept to product
PDF
Prototype like a pro
PDF
How to prototype like a pro
PDF
Scott mc cormick float mobile learning_prototyping strategy_mlearncon 2012
KEY
Life cycle of iPhone application
PDF
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
PDF
Top iOS App Development Tools You Should Know to Create Outstanding iOS Apps.pdf
PPTX
Technovation challenge workplan for week 4
PDF
Prototype Apps in No Time
PPTX
Layer architecture of ios (1)
KEY
Life Cycle of an iPhone App
PDF
打造你的第一個iPhone APP
PPTX
Unit-3.pptx
PDF
The Comprehensive Technical Guide to iOS Mobile App Development
PPTX
Prototyping saves your bacon
Architecting apps - Can we write better code by planning ahead?
Preparing for Release to the App Store
How to prototype your mobile apps
Developing Applications on iOS
iPhone App from concept to product
Prototype like a pro
How to prototype like a pro
Scott mc cormick float mobile learning_prototyping strategy_mlearncon 2012
Life cycle of iPhone application
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
Top iOS App Development Tools You Should Know to Create Outstanding iOS Apps.pdf
Technovation challenge workplan for week 4
Prototype Apps in No Time
Layer architecture of ios (1)
Life Cycle of an iPhone App
打造你的第一個iPhone APP
Unit-3.pptx
The Comprehensive Technical Guide to iOS Mobile App Development
Ad

More from TechWell (20)

PDF
Failing and Recovering
PDF
Instill a DevOps Testing Culture in Your Team and Organization
PDF
Test Design for Fully Automated Build Architecture
PDF
System-Level Test Automation: Ensuring a Good Start
PDF
Build Your Mobile App Quality and Test Strategy
PDF
Testing Transformation: The Art and Science for Success
PDF
Implement BDD with Cucumber and SpecFlow
PDF
Develop WebDriver Automated Tests—and Keep Your Sanity
PDF
Ma 15
PDF
Eliminate Cloud Waste with a Holistic DevOps Strategy
PDF
Transform Test Organizations for the New World of DevOps
PDF
The Fourth Constraint in Project Delivery—Leadership
PDF
Resolve the Contradiction of Specialists within Agile Teams
PDF
Pin the Tail on the Metric: A Field-Tested Agile Game
PDF
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
PDF
A Business-First Approach to DevOps Implementation
PDF
Databases in a Continuous Integration/Delivery Process
PDF
Mobile Testing: What—and What Not—to Automate
PDF
Cultural Intelligence: A Key Skill for Success
PDF
Turn the Lights On: A Power Utility Company's Agile Transformation
Failing and Recovering
Instill a DevOps Testing Culture in Your Team and Organization
Test Design for Fully Automated Build Architecture
System-Level Test Automation: Ensuring a Good Start
Build Your Mobile App Quality and Test Strategy
Testing Transformation: The Art and Science for Success
Implement BDD with Cucumber and SpecFlow
Develop WebDriver Automated Tests—and Keep Your Sanity
Ma 15
Eliminate Cloud Waste with a Holistic DevOps Strategy
Transform Test Organizations for the New World of DevOps
The Fourth Constraint in Project Delivery—Leadership
Resolve the Contradiction of Specialists within Agile Teams
Pin the Tail on the Metric: A Field-Tested Agile Game
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
A Business-First Approach to DevOps Implementation
Databases in a Continuous Integration/Delivery Process
Mobile Testing: What—and What Not—to Automate
Cultural Intelligence: A Key Skill for Success
Turn the Lights On: A Power Utility Company's Agile Transformation

Recently uploaded (20)

PDF
System and Network Administraation Chapter 3
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
AI in Product Development-omnex systems
PPTX
Materi-Enum-and-Record-Data-Type (1).pptx
PPTX
Presentation of Computer CLASS 2 .pptx
DOCX
The Five Best AI Cover Tools in 2025.docx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Become an Agentblazer Champion Challenge Kickoff
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Transform Your Business with a Software ERP System
PPTX
ai tools demonstartion for schools and inter college
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
top salesforce developer skills in 2025.pdf
PDF
Build Multi-agent using Agent Development Kit
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
The Role of Automation and AI in EHS Management for Data Centers.pdf
System and Network Administraation Chapter 3
VVF-Customer-Presentation2025-Ver1.9.pptx
How Creative Agencies Leverage Project Management Software.pdf
AI in Product Development-omnex systems
Materi-Enum-and-Record-Data-Type (1).pptx
Presentation of Computer CLASS 2 .pptx
The Five Best AI Cover Tools in 2025.docx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
How to Migrate SBCGlobal Email to Yahoo Easily
Which alternative to Crystal Reports is best for small or large businesses.pdf
Become an Agentblazer Champion Challenge Kickoff
PTS Company Brochure 2025 (1).pdf.......
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Transform Your Business with a Software ERP System
ai tools demonstartion for schools and inter college
2025 Textile ERP Trends: SAP, Odoo & Oracle
top salesforce developer skills in 2025.pdf
Build Multi-agent using Agent Development Kit
ManageIQ - Sprint 268 Review - Slide Deck
The Role of Automation and AI in EHS Management for Data Centers.pdf

UI Framework Prototyping with Playgrounds for iOS Apps