SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Putting together the pieces of a web app
         (http://bit.ly/shouldicode)
It’s easy to get confused about how
to build a web app
It’s easy to get confused about how
to build a web app
But it
shouldn’t be
There’s so much to learn?
   PHP       .net
                               Codeignitor
                    Java                     Javascript
          Ruby
                     CakePHP       Node.js
                                             Sinatra
  Rails




           Python              Django

          See: www.bestwebframeworks.com
Your choice of programming language could
        affect your circle of friends
Layout the site

                   User             User          User pins
                   registration     profiles




                    Main feed       Commenting    Categories




                                       ‘Repin’      ‘Follow’
                       ‘Like’




Voices.com                        pinterest.com
Wireframing
      • Draw out 4 pages (make copies)

      • Each ‘activity’ on the site should be
        completed in no more than 4 steps
Wireframing
      E.g. Layout the profile page

      • Where everything should be
      • How to share files
      • What options users should have
        (Download audio files, create / edit /
        delete jobs)
Wireframing
      E.g. Searching for voice talent

      •   Where everything should be
      •   What fields? – Affects models
      •   How to display data
      •   What user should do with the data




      See:
      http://blogs.voices.com/thebiz/2006/09/
      web20_sketch_to_screenshot.html

      Or http://bit.ly/wireframevoices
Wireframing (.PSD)
            Design the first user experience
            (or blank state)

            • What can the user do before
              they sign up?
            • What to show with no user
              data?



             Read:
             http://37signals.com/svn/archive
             s/000578.php

             Or http://bit.ly/37signalsblank
Wireframing (.PSD)
            Think about how you present data

            •   Masonry style
            •   Unlimited scrolling / pagination
            •   Customized content
            •   Jquery/HTML5
Wireframing (.PSD)
            Think about how you present data

            •   Think about actions
            •   Same page/ New page
            •   What data to show
            •   Fixed columns
            •   Scrolling
Test Test Test
Get out of the building




Cold calling    Meet people   Find collaborators
What is Model View Controller (MVC)




From: http://www.moock.org/lectures/mvc/
For Rails: http://betterexplained.com/articles/intermediate-rails-understanding-
models-views-and-controllers/ (or http://bit.ly/railsmvc )
Planning your database schema
Planning your database schema
• Tables should represent real world things / events
  (user, invoice, books, follow, friend, message, comment)

• Primary key (a column that contains unique values in a table – no dupes)
  (UserId, CommentId, UniqueURL) – can’t change (usually whole number)

• Foreign keys (denote relationships)
  (one-to-one, one-to-many, many-to-many)




 Overview of designing your schema
 http://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabas
 eDesign.aspx or http://bit.ly/dbschema
What is an app?
 (May be Django Specific)


                 • Avoid monolithic design
                 • A simple app has 12
                   installed apps
Use admin systems to CRUD data
                     The beauty of Django is that
                     early in the process, you can
                     easily set up an admin
                     system to start adding data.

                     Helps you show your app is
                     live and growing, albeit
                     manually.
Defining Model Methods
• Is associated with behaviors
  – Is Chilean?
    (Address is in Chile, IP is in Chile, Geographic
    coordinates in Chile)
  – Is Mike_Arrington?
    (FirstName + LastName = Mike Arrington)
  – AllUserPins
    (Find all pins by UserId)
  – Is Paid User?
    (last successful invoicing date = this.month)
View fields
•   Templates (nesting)
•   Multiple views (blocks of content)
•   Not just Http (json, pdf, xml, csv…)
•   Forms
Focus on
•   Flexibility not Scalability
•   User experience not flashy elements
•   Reusability not specificity
•   Functionality not perfect code
•   MVP not full feature sets
Read about

• Responsive design
• Lean UX
• Agile development
This presentation was given to a group of participants from
Startup Chile.
                                                                   Ryan Lou
                                                                  Ryan@krawst.com
To apply: Go to http://bit.ly/applysup
                                                              Read: www.Validating.it

Contenu connexe

Tendances

Hammersmith fundamentals html fundamentals
Hammersmith fundamentals   html fundamentalsHammersmith fundamentals   html fundamentals
Hammersmith fundamentals html fundamentals
Mike Bradshaw
 
Wireframing basics may 2012
Wireframing basics may 2012Wireframing basics may 2012
Wireframing basics may 2012
Meaghan Barbin
 
Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries
themystic_ca
 

Tendances (18)

jQuery for Drupal
jQuery for DrupaljQuery for Drupal
jQuery for Drupal
 
GCC 11-13-15
GCC 11-13-15GCC 11-13-15
GCC 11-13-15
 
I Blog, You Blog, Weblog
I Blog, You Blog, WeblogI Blog, You Blog, Weblog
I Blog, You Blog, Weblog
 
Visual_Resume
Visual_ResumeVisual_Resume
Visual_Resume
 
a11yTO - Web Accessibility for Developers
a11yTO - Web Accessibility for Developersa11yTO - Web Accessibility for Developers
a11yTO - Web Accessibility for Developers
 
Microformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic WebMicroformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic Web
 
WordPress: A Designer's CMS
WordPress: A Designer's CMSWordPress: A Designer's CMS
WordPress: A Designer's CMS
 
Wheel.js
Wheel.jsWheel.js
Wheel.js
 
Web design v roku 2013
Web design v roku 2013Web design v roku 2013
Web design v roku 2013
 
O'Reilly Drupal Webcast
O'Reilly Drupal WebcastO'Reilly Drupal Webcast
O'Reilly Drupal Webcast
 
Zurb foundation
Zurb foundationZurb foundation
Zurb foundation
 
Hammersmith fundamentals html fundamentals
Hammersmith fundamentals   html fundamentalsHammersmith fundamentals   html fundamentals
Hammersmith fundamentals html fundamentals
 
Wireframing basics may 2012
Wireframing basics may 2012Wireframing basics may 2012
Wireframing basics may 2012
 
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo MashupPut A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
 
Responsive Design Overview for UB CIT
Responsive Design Overview for UB CITResponsive Design Overview for UB CIT
Responsive Design Overview for UB CIT
 
Mul-ti-site!
Mul-ti-site!Mul-ti-site!
Mul-ti-site!
 
Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries
 
Web Accessibility - A feature you can build
Web Accessibility - A feature you can buildWeb Accessibility - A feature you can build
Web Accessibility - A feature you can build
 

Similaire à Putting together a web app

Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
Jeanho Chu
 
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Jeremy Likness
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
Mihail Mateev
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
Jeanho Chu
 
Feature driven agile oriented web applications
Feature driven agile oriented web applicationsFeature driven agile oriented web applications
Feature driven agile oriented web applications
Ram G Athreya
 
Gettings started with Web development
Gettings started with Web developmentGettings started with Web development
Gettings started with Web development
Ujjwal Ojha
 
Click here to download my CV in Word format.doc
Click here to download my CV in Word format.docClick here to download my CV in Word format.doc
Click here to download my CV in Word format.doc
butest
 

Similaire à Putting together a web app (20)

Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
 
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint Beast
 
Mini training- Scenario Driven Design
Mini training- Scenario Driven DesignMini training- Scenario Driven Design
Mini training- Scenario Driven Design
 
A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)
 
Training presentation.pptx
Training presentation.pptxTraining presentation.pptx
Training presentation.pptx
 
From Website To Webapp Shane Morris
From Website To Webapp   Shane MorrisFrom Website To Webapp   Shane Morris
From Website To Webapp Shane Morris
 
Presentation 1.pptx
Presentation 1.pptxPresentation 1.pptx
Presentation 1.pptx
 
Introduction to HTML, CSS, and JavaScript for Web Development
Introduction to HTML, CSS, and JavaScript for Web DevelopmentIntroduction to HTML, CSS, and JavaScript for Web Development
Introduction to HTML, CSS, and JavaScript for Web Development
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
Feature driven agile oriented web applications
Feature driven agile oriented web applicationsFeature driven agile oriented web applications
Feature driven agile oriented web applications
 
Branding Wont Fix Crappy Content - SharePoint User Experience Discussion
Branding Wont Fix Crappy Content - SharePoint User Experience DiscussionBranding Wont Fix Crappy Content - SharePoint User Experience Discussion
Branding Wont Fix Crappy Content - SharePoint User Experience Discussion
 
Responsive web design with various grids and frameworks comparison
Responsive web design with various grids and frameworks comparisonResponsive web design with various grids and frameworks comparison
Responsive web design with various grids and frameworks comparison
 
Publishing API documentation -- Presentation
Publishing API documentation -- PresentationPublishing API documentation -- Presentation
Publishing API documentation -- Presentation
 
Gettings started with Web development
Gettings started with Web developmentGettings started with Web development
Gettings started with Web development
 
Chalam_JAVA_Portal
Chalam_JAVA_PortalChalam_JAVA_Portal
Chalam_JAVA_Portal
 
Click here to download my CV in Word format.doc
Click here to download my CV in Word format.docClick here to download my CV in Word format.doc
Click here to download my CV in Word format.doc
 

Plus de Ryan Lou

Growth hacking - How marketing and product development has to work together f...
Growth hacking - How marketing and product development has to work together f...Growth hacking - How marketing and product development has to work together f...
Growth hacking - How marketing and product development has to work together f...
Ryan Lou
 

Plus de Ryan Lou (8)

Setting up communication channels
Setting up communication channelsSetting up communication channels
Setting up communication channels
 
Redefining your big idea
Redefining your big ideaRedefining your big idea
Redefining your big idea
 
Growth hacking - How marketing and product development has to work together f...
Growth hacking - How marketing and product development has to work together f...Growth hacking - How marketing and product development has to work together f...
Growth hacking - How marketing and product development has to work together f...
 
Intro to Growth hacking
Intro to Growth hackingIntro to Growth hacking
Intro to Growth hacking
 
How startup ecosystems affect your startup more than you know
How startup ecosystems affect your startup more than you knowHow startup ecosystems affect your startup more than you know
How startup ecosystems affect your startup more than you know
 
Building products that solve human needs 101
Building products that solve human needs 101Building products that solve human needs 101
Building products that solve human needs 101
 
Building products that solve human needs
Building products that solve human needsBuilding products that solve human needs
Building products that solve human needs
 
Intro to lean startups
Intro to lean startupsIntro to lean startups
Intro to lean startups
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Dernier (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Putting together a web app

  • 1. Putting together the pieces of a web app (http://bit.ly/shouldicode)
  • 2. It’s easy to get confused about how to build a web app
  • 3. It’s easy to get confused about how to build a web app But it shouldn’t be
  • 4. There’s so much to learn? PHP .net Codeignitor Java Javascript Ruby CakePHP Node.js Sinatra Rails Python Django See: www.bestwebframeworks.com
  • 5. Your choice of programming language could affect your circle of friends
  • 6. Layout the site User User User pins registration profiles Main feed Commenting Categories ‘Repin’ ‘Follow’ ‘Like’ Voices.com pinterest.com
  • 7. Wireframing • Draw out 4 pages (make copies) • Each ‘activity’ on the site should be completed in no more than 4 steps
  • 8. Wireframing E.g. Layout the profile page • Where everything should be • How to share files • What options users should have (Download audio files, create / edit / delete jobs)
  • 9. Wireframing E.g. Searching for voice talent • Where everything should be • What fields? – Affects models • How to display data • What user should do with the data See: http://blogs.voices.com/thebiz/2006/09/ web20_sketch_to_screenshot.html Or http://bit.ly/wireframevoices
  • 10. Wireframing (.PSD) Design the first user experience (or blank state) • What can the user do before they sign up? • What to show with no user data? Read: http://37signals.com/svn/archive s/000578.php Or http://bit.ly/37signalsblank
  • 11. Wireframing (.PSD) Think about how you present data • Masonry style • Unlimited scrolling / pagination • Customized content • Jquery/HTML5
  • 12. Wireframing (.PSD) Think about how you present data • Think about actions • Same page/ New page • What data to show • Fixed columns • Scrolling
  • 14. Get out of the building Cold calling Meet people Find collaborators
  • 15. What is Model View Controller (MVC) From: http://www.moock.org/lectures/mvc/ For Rails: http://betterexplained.com/articles/intermediate-rails-understanding- models-views-and-controllers/ (or http://bit.ly/railsmvc )
  • 17. Planning your database schema • Tables should represent real world things / events (user, invoice, books, follow, friend, message, comment) • Primary key (a column that contains unique values in a table – no dupes) (UserId, CommentId, UniqueURL) – can’t change (usually whole number) • Foreign keys (denote relationships) (one-to-one, one-to-many, many-to-many) Overview of designing your schema http://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabas eDesign.aspx or http://bit.ly/dbschema
  • 18. What is an app? (May be Django Specific) • Avoid monolithic design • A simple app has 12 installed apps
  • 19. Use admin systems to CRUD data The beauty of Django is that early in the process, you can easily set up an admin system to start adding data. Helps you show your app is live and growing, albeit manually.
  • 20. Defining Model Methods • Is associated with behaviors – Is Chilean? (Address is in Chile, IP is in Chile, Geographic coordinates in Chile) – Is Mike_Arrington? (FirstName + LastName = Mike Arrington) – AllUserPins (Find all pins by UserId) – Is Paid User? (last successful invoicing date = this.month)
  • 21. View fields • Templates (nesting) • Multiple views (blocks of content) • Not just Http (json, pdf, xml, csv…) • Forms
  • 22. Focus on • Flexibility not Scalability • User experience not flashy elements • Reusability not specificity • Functionality not perfect code • MVP not full feature sets
  • 23. Read about • Responsive design • Lean UX • Agile development
  • 24. This presentation was given to a group of participants from Startup Chile. Ryan Lou Ryan@krawst.com To apply: Go to http://bit.ly/applysup Read: www.Validating.it