SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
RAPID PROTOTYPING
AND COMMUNICATING
WITH CLIENTS
KAT CHUANG, PH.D. 
TWITTER @KATYCHUANG
GITHUB @KATYCHUANG
EMAIL KATYCHUANG@GMAIL.COM
Talk given at DjangoCon2013 – 9/4/2013
1
ABOUT ME
Talk given at DjangoCon2013 – 9/4/2013
2
Once upon a time…
http://pyladies.com
Talk given at DjangoCon2013 – 9/4/2013
3
NYC PYLADIES
http://pydata.org
Talk given at DjangoCon2013 – 9/4/2013
4
PYDATA
OUTLINE
1.  Communication problems
2.  Interaction Design
3.  Django Templates
4.  Abstracting the problem
5.  Demo
6.  Recap
Talk given at DjangoCon2013 – 9/4/2013
5
Talk given at DjangoCon2013 – 9/4/2013
6
10 KINDS OF PEOPLE
COMMUNICATION PROBLEMS
Designs are difficult to describe
•  “I want big, colorful fonts.”
•  Single color or multi colors?
• 32pt or 40pt?
• Sans serif or Serif?
•  “When you click here, this should appear.”
The client may want to see something in
production before making a final decision.
Talk given at DjangoCon2013 – 9/4/2013
7
A DESIGN AID
Talk given at DjangoCon2013 – 9/4/2013
8
IMPLEMENTATION
Talk given at DjangoCon2013 – 9/4/2013
9
INTERACTION DESIGN
1.  Wireframing (blueprints)
2.  Design pattern libraries
3.  Screen sizes and responsive design
Talk given at DjangoCon2013 – 9/4/2013
10
WIREFRAMES = BLUEPRINTS
Talk given at DjangoCon2013 – 9/4/2013
11
EXPLAINING FUNCTIONS
Talk given at DjangoCon2013 – 9/4/2013
12
ADVANTAGE:
STRUCTURED CONVERSATION
Talk given at DjangoCon2013 – 9/4/2013
13
Patterns are optimal
solutions to common
problems.
Libraries:
http://ui-patterns.com/patterns
http://developer.yahoo.com/
ypatterns/
http://www.welie.com/
patterns/
Talk given at DjangoCon2013 – 9/4/2013
14
DESIGN PATTERNS
RESPONSIVE DESIGN
•  “The practice of using fluid grids, flexible images, and media
queries to progressively enhance a web page for different
viewing contexts.” - http://mediaqueri.es/about/
Talk given at DjangoCon2013 – 9/4/2013
15
Smartphone 320px Tablet 768px Netbook 1024px Desktop 1600px
Talk given at DjangoCon2013 – 9/4/2013
16
SCREEN SIZES
Talk given at DjangoCon2013 – 9/4/2013
17
DATA INPUT
DJANGO TEMPLATES
Common template elements
Tips on structuring templates
DRY Principle: “Don’t repeat yourself”
Talk given at DjangoCon2013 – 9/4/2013
18
SPATIAL REPRESENTATION
Talk given at DjangoCon2013 – 9/4/2013
19
CONSISTENCY à USE INCLUDE
CODE
<div	
  class=”logo">	
  
<a	
  href="/”><img	
  src="{{STATIC_URL}}/
pydatalogo.png”	
  ></a></div>	
  
{%	
  if	
  user.is_authenticated	
  %}	
  
<a	
  class="btn"	
  href="/logout”>Log	
  Out</a>	
  	
  	
  	
  
You	
  are	
  logged	
  in	
  as	
  <em><a	
  href="/
profile">{{	
  user.username	
  }}</a></em>	
  
{%	
  else	
  %}	
  
<a	
  class="btn"	
  href="/login”>Log	
  In</a>	
  
New	
  to	
  PyData?	
  <a	
  href="/
register">Register</a>	
  
{%	
  endif	
  %}	
  
<div	
  class="menu">	
  
	
  	
  	
  	
  {%	
  include	
  navmenu	
  %}	
  
</div>	
  
EVERY PAGE
Talk given at DjangoCon2013 – 9/4/2013
20
{%	
  include	
  header	
  %}	
  
TILING à USE LOOPS
CODE
{%	
  for	
  i	
  in	
  news	
  %}	
  
<div	
  class="news_item”>	
  
	
  	
  	
  	
  <a	
  href="/{{	
  i.conf	
  }}/
{{	
  i.id	
  }}">	
  
	
  	
  	
  	
  [{{	
  i.conf	
  }}]	
  {{	
  i.title	
  }}	
  
	
  	
  	
  	
  </a>	
  
<div	
  class="pub_date”>	
  
	
  	
  	
  	
  {{	
  i.date|date:'M	
  d,	
  Y'	
  }}	
  
</div>	
  
{{	
  i.content|striptags|truncatechars:
180	
  }}	
  
</div>	
  
{%	
  endfor	
  %}	
  
	
  
LIST OF ARTICLES
Talk given at DjangoCon2013 – 9/4/2013
21
ABSTRACT VIEW
Data Flow Diagrams (DFD)
Server-Client Architecture
The User Interface (UI)
Organizing templates
Talk given at DjangoCon2013 – 9/4/2013
22
DATA FLOW DIAGRAM
Talk given at DjangoCon2013 – 9/4/2013
23
SERVER-CLIENT ARCHITECTURE
Talk given at DjangoCon2013 – 9/4/2013
24
<Web framework goes here: python>
<User Interface: html/css/javascript>
<Database
Queries>
PATHS
Talk given at DjangoCon2013 – 9/4/2013
25
ORGANIZING
Project (settings and urls)
Apps
(individual
apps)
Models / Admin /
Urls / Utils
Templates
Structure Pages
Includes snippets
Static JS, CSS, Image files
Talk given at DjangoCon2013 – 9/4/2013
26
TEMPLATE SYSTEM IS A NESTED
HIERARCHY (DOM)
Page
Head
Stylesheets
Fonts
Header
Container
Banners
News Section
News Item
News Item
…
Footer
Javascripts Analytics
Talk given at DjangoCon2013 – 9/4/2013
27
DOCUMENT OBJECT MODEL
Talk given at DjangoCon2013 – 9/4/2013
28
This is what
the computer
understands.
PICTURE DICTIONARY
Talk given at DjangoCon2013 – 9/4/2013
29
No database; 1 html file with if/else logic
D3 MAP
Talk given at DjangoCon2013 – 9/4/2013
30
No database; 1 html file with if/else logic
MULTI PAGES
Talk given at DjangoCon2013 – 9/4/2013
31
Multiple pages (url based):
Home page | Multiple columns | Large Map
•  PyData.org Community Site
•  Convert image file to templates
About PyData:
PyData is a community for developers
and users of Python data tools. You
can join at pydata.org
Talk given at DjangoCon2013 – 9/4/2013
32
EXAMPLE
Talk given at DjangoCon2013 – 9/4/2013
33
PYDATA
PREVIEW, PREVIEW, PREVIEW
Run a local version:
$	
  python	
  manage.py	
  
runserver	
  
View the site at:
http://localhost:8000	
  
Talk given at DjangoCon2013 – 9/4/2013
34
RECAP
Idea != Execution
Blue print your ideas
Design pattern libraries
Spatial representations of code
Don’t repeat yourself
Talk given at DjangoCon2013 – 9/4/2013
35
THANK YOU.
KAT CHUANG, PH.D. 
TWITTER @KATYCHUANG
GITHUB @KATYCHUANG
EMAIL KATYCHUANG@GMAIL.COM
36
Talk given at DjangoCon2013 – 9/4/2013

Contenu connexe

Similaire à DjangoCon 2013 - Rapid prototyping and communicating with clients

Backend accessible
Backend accessibleBackend accessible
Backend accessibleMark Casias
 
Backing yourself into an Accessible Corner
Backing yourself into an Accessible CornerBacking yourself into an Accessible Corner
Backing yourself into an Accessible CornerMark Casias
 
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.Sadaaki HIRAI
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to DjangoAhmed Salama
 
#SPSTC Maximizing the SharePoint User Experience with Free 3rd Party jQuery L...
#SPSTC Maximizing the SharePoint User Experience with Free 3rd Party jQuery L...#SPSTC Maximizing the SharePoint User Experience with Free 3rd Party jQuery L...
#SPSTC Maximizing the SharePoint User Experience with Free 3rd Party jQuery L...Mark Rackley
 
Mobile drupal
Mobile drupalMobile drupal
Mobile drupalrupl
 
The power of accessibility (November, 2018)
The power of accessibility (November, 2018)The power of accessibility (November, 2018)
The power of accessibility (November, 2018)Rachel M. Carmena
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSPablo Godel
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xWong Hoi Sing Edison
 
Pwa, separating the features from the solutions
Pwa, separating the features from the solutions Pwa, separating the features from the solutions
Pwa, separating the features from the solutions Sander Mangel
 
Storage Wars: A discussion about Enterprise Cloud Storage
Storage Wars: A discussion about Enterprise Cloud StorageStorage Wars: A discussion about Enterprise Cloud Storage
Storage Wars: A discussion about Enterprise Cloud StorageStephanie Donahue
 
[drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance![drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance!DrupalDay
 
Speed up your Drupal instance!!
Speed up your Drupal instance!!Speed up your Drupal instance!!
Speed up your Drupal instance!!bmeme
 
Django Tutorial | Django Web Development With Python | Django Training and Ce...
Django Tutorial | Django Web Development With Python | Django Training and Ce...Django Tutorial | Django Web Development With Python | Django Training and Ce...
Django Tutorial | Django Web Development With Python | Django Training and Ce...Edureka!
 
Mobile Web App development multiplatform using phonegap-cordova
Mobile Web App development multiplatform using phonegap-cordovaMobile Web App development multiplatform using phonegap-cordova
Mobile Web App development multiplatform using phonegap-cordovaKhirulnizam Abd Rahman
 
Intro To Django
Intro To DjangoIntro To Django
Intro To DjangoUdi Bauman
 

Similaire à DjangoCon 2013 - Rapid prototyping and communicating with clients (20)

Backend accessible
Backend accessibleBackend accessible
Backend accessible
 
Backing yourself into an Accessible Corner
Backing yourself into an Accessible CornerBacking yourself into an Accessible Corner
Backing yourself into an Accessible Corner
 
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
 
#SPSTC Maximizing the SharePoint User Experience with Free 3rd Party jQuery L...
#SPSTC Maximizing the SharePoint User Experience with Free 3rd Party jQuery L...#SPSTC Maximizing the SharePoint User Experience with Free 3rd Party jQuery L...
#SPSTC Maximizing the SharePoint User Experience with Free 3rd Party jQuery L...
 
Mobile drupal
Mobile drupalMobile drupal
Mobile drupal
 
The power of accessibility (November, 2018)
The power of accessibility (November, 2018)The power of accessibility (November, 2018)
The power of accessibility (November, 2018)
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
 
Django introduction
Django introductionDjango introduction
Django introduction
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.x
 
Pwa, separating the features from the solutions
Pwa, separating the features from the solutions Pwa, separating the features from the solutions
Pwa, separating the features from the solutions
 
Storage Wars: A discussion about Enterprise Cloud Storage
Storage Wars: A discussion about Enterprise Cloud StorageStorage Wars: A discussion about Enterprise Cloud Storage
Storage Wars: A discussion about Enterprise Cloud Storage
 
[drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance![drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance!
 
Speed up your Drupal instance!!
Speed up your Drupal instance!!Speed up your Drupal instance!!
Speed up your Drupal instance!!
 
Django Tutorial | Django Web Development With Python | Django Training and Ce...
Django Tutorial | Django Web Development With Python | Django Training and Ce...Django Tutorial | Django Web Development With Python | Django Training and Ce...
Django Tutorial | Django Web Development With Python | Django Training and Ce...
 
SWAD Timeline 4:3
SWAD Timeline 4:3SWAD Timeline 4:3
SWAD Timeline 4:3
 
Mobile Web App development multiplatform using phonegap-cordova
Mobile Web App development multiplatform using phonegap-cordovaMobile Web App development multiplatform using phonegap-cordova
Mobile Web App development multiplatform using phonegap-cordova
 
wotxr-20190320rzr
wotxr-20190320rzrwotxr-20190320rzr
wotxr-20190320rzr
 
Intro To Django
Intro To DjangoIntro To Django
Intro To Django
 
Html 5 and css 3
Html 5 and css 3Html 5 and css 3
Html 5 and css 3
 

Plus de Kat Chuang

Insight DE project
Insight DE projectInsight DE project
Insight DE projectKat Chuang
 
Dissertation defense
Dissertation defenseDissertation defense
Dissertation defenseKat Chuang
 
NYC Pyladies talk May 2, 2013
NYC Pyladies talk May 2, 2013NYC Pyladies talk May 2, 2013
NYC Pyladies talk May 2, 2013Kat Chuang
 
Android NFC Nuance
Android NFC NuanceAndroid NFC Nuance
Android NFC NuanceKat Chuang
 
rheumatological diseases
rheumatological diseasesrheumatological diseases
rheumatological diseasesKat Chuang
 
Mayans and Chocolate
Mayans and ChocolateMayans and Chocolate
Mayans and ChocolateKat Chuang
 
Nurturant Support in Online Health Social Networking
Nurturant Support in Online Health Social NetworkingNurturant Support in Online Health Social Networking
Nurturant Support in Online Health Social NetworkingKat Chuang
 
Revolutionizing the hypatia metadata experience
Revolutionizing the hypatia metadata experienceRevolutionizing the hypatia metadata experience
Revolutionizing the hypatia metadata experienceKat Chuang
 
Candidacy Exam
Candidacy ExamCandidacy Exam
Candidacy ExamKat Chuang
 
How to become a top notch scholar
How to become a top notch scholarHow to become a top notch scholar
How to become a top notch scholarKat Chuang
 
Comparison of supportive interactions
Comparison of supportive interactionsComparison of supportive interactions
Comparison of supportive interactionsKat Chuang
 
Helping you to help me (slides)
Helping you to help me (slides)Helping you to help me (slides)
Helping you to help me (slides)Kat Chuang
 
Helping you to help me
Helping you to help meHelping you to help me
Helping you to help meKat Chuang
 

Plus de Kat Chuang (14)

Insight DE project
Insight DE projectInsight DE project
Insight DE project
 
Dissertation defense
Dissertation defenseDissertation defense
Dissertation defense
 
NYC Pyladies talk May 2, 2013
NYC Pyladies talk May 2, 2013NYC Pyladies talk May 2, 2013
NYC Pyladies talk May 2, 2013
 
Android NFC Nuance
Android NFC NuanceAndroid NFC Nuance
Android NFC Nuance
 
rheumatological diseases
rheumatological diseasesrheumatological diseases
rheumatological diseases
 
Mayans and Chocolate
Mayans and ChocolateMayans and Chocolate
Mayans and Chocolate
 
Nurturant Support in Online Health Social Networking
Nurturant Support in Online Health Social NetworkingNurturant Support in Online Health Social Networking
Nurturant Support in Online Health Social Networking
 
Revolutionizing the hypatia metadata experience
Revolutionizing the hypatia metadata experienceRevolutionizing the hypatia metadata experience
Revolutionizing the hypatia metadata experience
 
Candidacy Exam
Candidacy ExamCandidacy Exam
Candidacy Exam
 
How to become a top notch scholar
How to become a top notch scholarHow to become a top notch scholar
How to become a top notch scholar
 
Prospectus
Prospectus Prospectus
Prospectus
 
Comparison of supportive interactions
Comparison of supportive interactionsComparison of supportive interactions
Comparison of supportive interactions
 
Helping you to help me (slides)
Helping you to help me (slides)Helping you to help me (slides)
Helping you to help me (slides)
 
Helping you to help me
Helping you to help meHelping you to help me
Helping you to help me
 

Dernier

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 

Dernier (20)

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 

DjangoCon 2013 - Rapid prototyping and communicating with clients

  • 1. RAPID PROTOTYPING AND COMMUNICATING WITH CLIENTS KAT CHUANG, PH.D. TWITTER @KATYCHUANG GITHUB @KATYCHUANG EMAIL KATYCHUANG@GMAIL.COM Talk given at DjangoCon2013 – 9/4/2013 1
  • 2. ABOUT ME Talk given at DjangoCon2013 – 9/4/2013 2 Once upon a time…
  • 3. http://pyladies.com Talk given at DjangoCon2013 – 9/4/2013 3 NYC PYLADIES
  • 4. http://pydata.org Talk given at DjangoCon2013 – 9/4/2013 4 PYDATA
  • 5. OUTLINE 1.  Communication problems 2.  Interaction Design 3.  Django Templates 4.  Abstracting the problem 5.  Demo 6.  Recap Talk given at DjangoCon2013 – 9/4/2013 5
  • 6. Talk given at DjangoCon2013 – 9/4/2013 6 10 KINDS OF PEOPLE
  • 7. COMMUNICATION PROBLEMS Designs are difficult to describe •  “I want big, colorful fonts.” •  Single color or multi colors? • 32pt or 40pt? • Sans serif or Serif? •  “When you click here, this should appear.” The client may want to see something in production before making a final decision. Talk given at DjangoCon2013 – 9/4/2013 7
  • 8. A DESIGN AID Talk given at DjangoCon2013 – 9/4/2013 8
  • 9. IMPLEMENTATION Talk given at DjangoCon2013 – 9/4/2013 9
  • 10. INTERACTION DESIGN 1.  Wireframing (blueprints) 2.  Design pattern libraries 3.  Screen sizes and responsive design Talk given at DjangoCon2013 – 9/4/2013 10
  • 11. WIREFRAMES = BLUEPRINTS Talk given at DjangoCon2013 – 9/4/2013 11
  • 12. EXPLAINING FUNCTIONS Talk given at DjangoCon2013 – 9/4/2013 12
  • 13. ADVANTAGE: STRUCTURED CONVERSATION Talk given at DjangoCon2013 – 9/4/2013 13
  • 14. Patterns are optimal solutions to common problems. Libraries: http://ui-patterns.com/patterns http://developer.yahoo.com/ ypatterns/ http://www.welie.com/ patterns/ Talk given at DjangoCon2013 – 9/4/2013 14 DESIGN PATTERNS
  • 15. RESPONSIVE DESIGN •  “The practice of using fluid grids, flexible images, and media queries to progressively enhance a web page for different viewing contexts.” - http://mediaqueri.es/about/ Talk given at DjangoCon2013 – 9/4/2013 15
  • 16. Smartphone 320px Tablet 768px Netbook 1024px Desktop 1600px Talk given at DjangoCon2013 – 9/4/2013 16 SCREEN SIZES
  • 17. Talk given at DjangoCon2013 – 9/4/2013 17 DATA INPUT
  • 18. DJANGO TEMPLATES Common template elements Tips on structuring templates DRY Principle: “Don’t repeat yourself” Talk given at DjangoCon2013 – 9/4/2013 18
  • 19. SPATIAL REPRESENTATION Talk given at DjangoCon2013 – 9/4/2013 19
  • 20. CONSISTENCY à USE INCLUDE CODE <div  class=”logo">   <a  href="/”><img  src="{{STATIC_URL}}/ pydatalogo.png”  ></a></div>   {%  if  user.is_authenticated  %}   <a  class="btn"  href="/logout”>Log  Out</a>         You  are  logged  in  as  <em><a  href="/ profile">{{  user.username  }}</a></em>   {%  else  %}   <a  class="btn"  href="/login”>Log  In</a>   New  to  PyData?  <a  href="/ register">Register</a>   {%  endif  %}   <div  class="menu">          {%  include  navmenu  %}   </div>   EVERY PAGE Talk given at DjangoCon2013 – 9/4/2013 20 {%  include  header  %}  
  • 21. TILING à USE LOOPS CODE {%  for  i  in  news  %}   <div  class="news_item”>          <a  href="/{{  i.conf  }}/ {{  i.id  }}">          [{{  i.conf  }}]  {{  i.title  }}          </a>   <div  class="pub_date”>          {{  i.date|date:'M  d,  Y'  }}   </div>   {{  i.content|striptags|truncatechars: 180  }}   </div>   {%  endfor  %}     LIST OF ARTICLES Talk given at DjangoCon2013 – 9/4/2013 21
  • 22. ABSTRACT VIEW Data Flow Diagrams (DFD) Server-Client Architecture The User Interface (UI) Organizing templates Talk given at DjangoCon2013 – 9/4/2013 22
  • 23. DATA FLOW DIAGRAM Talk given at DjangoCon2013 – 9/4/2013 23
  • 24. SERVER-CLIENT ARCHITECTURE Talk given at DjangoCon2013 – 9/4/2013 24 <Web framework goes here: python> <User Interface: html/css/javascript> <Database Queries>
  • 25. PATHS Talk given at DjangoCon2013 – 9/4/2013 25
  • 26. ORGANIZING Project (settings and urls) Apps (individual apps) Models / Admin / Urls / Utils Templates Structure Pages Includes snippets Static JS, CSS, Image files Talk given at DjangoCon2013 – 9/4/2013 26
  • 27. TEMPLATE SYSTEM IS A NESTED HIERARCHY (DOM) Page Head Stylesheets Fonts Header Container Banners News Section News Item News Item … Footer Javascripts Analytics Talk given at DjangoCon2013 – 9/4/2013 27
  • 28. DOCUMENT OBJECT MODEL Talk given at DjangoCon2013 – 9/4/2013 28 This is what the computer understands.
  • 29. PICTURE DICTIONARY Talk given at DjangoCon2013 – 9/4/2013 29 No database; 1 html file with if/else logic
  • 30. D3 MAP Talk given at DjangoCon2013 – 9/4/2013 30 No database; 1 html file with if/else logic
  • 31. MULTI PAGES Talk given at DjangoCon2013 – 9/4/2013 31 Multiple pages (url based): Home page | Multiple columns | Large Map
  • 32. •  PyData.org Community Site •  Convert image file to templates About PyData: PyData is a community for developers and users of Python data tools. You can join at pydata.org Talk given at DjangoCon2013 – 9/4/2013 32 EXAMPLE
  • 33. Talk given at DjangoCon2013 – 9/4/2013 33 PYDATA
  • 34. PREVIEW, PREVIEW, PREVIEW Run a local version: $  python  manage.py   runserver   View the site at: http://localhost:8000   Talk given at DjangoCon2013 – 9/4/2013 34
  • 35. RECAP Idea != Execution Blue print your ideas Design pattern libraries Spatial representations of code Don’t repeat yourself Talk given at DjangoCon2013 – 9/4/2013 35
  • 36. THANK YOU. KAT CHUANG, PH.D. TWITTER @KATYCHUANG GITHUB @KATYCHUANG EMAIL KATYCHUANG@GMAIL.COM 36 Talk given at DjangoCon2013 – 9/4/2013