domain driven web design
play

DOMAIN DRIVEN WEB DESIGN Tom Scott Tuesday, 30 October 12 - PowerPoint PPT Presentation

DOMAIN DRIVEN WEB DESIGN Tom Scott Tuesday, 30 October 12 TRADITIONAL WEB DESIGN Tuesday, 30 October 12 FOCUSES ON THE PAGE Follows a desktop publishing WYSIWYG paradigm Tuesday, 30 October 12 NOT VERY WEBBY Designed like a magazine, so...


  1. DOMAIN DRIVEN WEB DESIGN Tom Scott Tuesday, 30 October 12

  2. TRADITIONAL WEB DESIGN Tuesday, 30 October 12

  3. FOCUSES ON THE PAGE Follows a desktop publishing WYSIWYG paradigm Tuesday, 30 October 12

  4. NOT VERY WEBBY Designed like a magazine, so... • Focus is on the page layout rather than what the thing is and its relationship to other things • Little thought to the rest of the application (document design throughout to database) • No URI for fragments of a page • Focus on the HTML page only Tuesday, 30 October 12

  5. POINTABILITY The Web is made of links not pages, links let you: • Bookmark, tweet, email and talk about things • Search and find stuff • Deliver content to different platforms (different representations) • The power of the Web is in the connections it makes – and value is in the context Tuesday, 30 October 12

  6. PEOPLE CARE ABOUT THINGS • People search for things (people, programmes, music, films, places etc.) • They get back documents and/or data about that thing (and links) • The Web is made up of information making assertions about the world Tuesday, 30 October 12

  7. FOR EXAMPLE PROGRAMMES • In a broadcast world the BBC cares about the transmission of assets • But the audience care more about the more abstract notion of a programme or episode • The culturally significant thing within the domain is the programme not the trasmission Tuesday, 30 October 12

  8. MUSIC IS THE SAME... • Most people are more interested in the artist, work or version • Broadcasters need to worry about the asset to be broadcast • Record companies the CD or MP3 Tuesday, 30 October 12

  9. AND PEOPLE LIKE MONKEYS • The habitats where they live • Their behaviours • Their relatives Tuesday, 30 October 12

  10. HOW WE MAKE (SOME) WEBSITES bbc.co.uk/programmes bbc.co.uk/music and bbc.co.uk/wildlifefinder Tuesday, 30 October 12

  11. EXPLORE THE DOMAIN • Find a domain expert! • Get them to sketch their world • Focus on modelling real things not web pages • Be prepared to do this through out the project Tuesday, 30 October 12

  12. IDENTIFY YOUR DOMAIN OBJECTS AND THE RELATIONSHIP BETWEEN THEM • Build a picture of of the types of Brands things they’re concerned with – list them Series Programme • Sketch out how those things relate Episodes Content to each other Service Publishing Version • Draw the ontology not the database schema Event Broadcast Tuesday, 30 October 12

  13. CHECK YOUR DOMAIN MODEL WITH USERS • Run focus groups and speak to users • Ask them to sketch their understanding of the domain • Synthesise the expert and user models Tuesday, 30 October 12

  14. CHECK TO SEE IF YOU’RE ALREADY PUBLISHING SOME OF YOUR DOMAIN OBJECTS • If you are link to those URIs and publish there – don’t mint new URIs for existing objects • One URI for one thing • Think of a URI as a database key but on a Web scale Tuesday, 30 October 12

  15. DESIGN YOUR DATABASE • Translate your domain model into a physical database schema Tuesday, 30 October 12

  16. SOURCE AND PIPE YOUR DATA • From internal sources • External (under permissive terms or paid for commercial data) • Probably need to reshape it to make it suitable for publishing • Consider the license terms – how will it be used? Tuesday, 30 October 12

  17. MAKE YOUR MODELS • (assuming you’re using an MVC framework) • Models should contain your business logic Tuesday, 30 October 12

  18. DESIGN YOUR URI SCHEME • Should flow from your domain model • Remember if you want to talk about it give it a URI (even if its not linked to from the HTML representation) • Different representations might need different resources Tuesday, 30 October 12

  19. HELLO WORLD • Make hello world pages for primary objects • And primary aggregations Tuesday, 30 October 12

  20. DEFINE THE DATA YOU NEED TO BUILD EACH PAGE • Think about the data for all representations – not just HTML • Reference transcluded resources Tuesday, 30 October 12

  21. BUILD YOUR HTML AND OTHER REPRESENTATIONS • Design your document to be semantically correct and accessible • This isn’t about page layout – that’s what CSS is for • Document design is independent of page layout Tuesday, 30 October 12

  22. APPLY LAYOUT CSS • You’re wireframing! • Use CSS to move elements around • Try and test different options Tuesday, 30 October 12

  23. APPLY DECOR CSS • Visual design gets added now • Try to work in CSS where possible • Try and test different options Tuesday, 30 October 12

  24. NEVER STOP TESTING • Personas are just abstractions of real people • It’s better to test with real people Tuesday, 30 October 12

  25. ADD JAVASCRIPT AND AJAX • Ajax should be seen as a progressive enhancement • Google can’t eval a JavaScript – give the Google bot HTML to chew through • Your site will be more accessible Tuesday, 30 October 12

  26. ONE WEB One URI multiple representations Tuesday, 30 October 12

  27. ONE URI FOR ONE THING • Content Negotiate to return the appropriate representation • One URI is better than having: foo.bar/mobile/:thing OR m.foo.bar/:thing • Content/data might be different for different representation • Make the raw data available Tuesday, 30 October 12

  28. THIS IS LINKED DATA • Use HTTP URIs to identify things • Return information (data) when you go to that URI • Include (typed i.e. semantic links) links to other things Tuesday, 30 October 12

  29. THANKS derivadow.com Tuesday, 30 October 12

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend