Memi Beltrame Collaborative Design

download Memi Beltrame Collaborative Design

of 48

  • date post

    11-May-2015
  • Category

    Technology

  • view

    583
  • download

    1

Embed Size (px)

Transcript of Memi Beltrame Collaborative Design

  • 1.Memi Beltrame Made by Many On Collaborative Designphpday, may 15th 2009 VeronaMemi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy

2. Who I am: Memi Beltrame Developping websites since 1997 Using php since 2000 2003-2007 Study of cinematography 2007 to present:specialising in frontend and interaction design Since 2008 for Liip Agile Web Development Movie enthusiast 1st feature lm in preparation... some day... Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 3. Why am I here?To raise awareness and to show thedynamics of collaborative design Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 4. Argh! Design! Go away, I am a Developer!Design is not only pushing pixels Designing means arranging stuff: Pixels, Databases, Code, Processes Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 5. Collaborative Design takes place whenever an artefact is planned and/or implemented by two or moreparticipants. Memi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 6. Typical Collaborative Design AreasArchitecture SoftwareMovies!Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 7. The Internet is (probably) thebiggest single instance of Collaborative Design Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 8. Collaborative Design is a reality.It is the inevitable process that emerges when you build something as a team. Memi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 9. Unlike UCD or TDD it is nothing youchoose, it just happens, nolens volens. UCD: User centered design TDD: Test driven developmentMemi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 10. It just happens, ok. Understand it. Control it. Embrace it.Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 11. Even the simplest Customer < > Contractor Relationshipinvolves Collaborative DesignMemi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 12. It involves is a network of participantsMemi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 13. The goal is a common product with a high overall utilityMemi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 14. Every participant can proposesolutions for design issuesMemi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 15. In theory a Design should move towards an optimum of utility Utility Time Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 16. In theory. Not in reality.Utility Time Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 17. Why does collaboration not automatically meanimprovement? Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 18. Participants are inter-dependent.Memi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 19. Participants are inter-dependent. Inter-dependency meansI need something Memi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 20. Every participant has a self-interest Customer: Affordable yet magicDeveloper: solid, stable and performing Designer:beautiful and usable Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 21. Fullling self-interest means Reaching a local optimum of utility Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 22. Are participants willing to compromise their self interest forthe sake of a global optimum?Memi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 23. A BC D global UtilityMemi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 24. A BC D global UtilityMemi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 25. The system can become very complex php-Developer Grafics Webserver adminManagement Proxy guy Usability guyMobile Services adminDB Specialist DB AdminProject Lead Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 26. It's hard to keep track of the interactions and design decisions Grafics Webserver adminManagement php-DeveloperProxy guy Usability guyMobile Services adminDB Specialist DB AdminProject Lead Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 27. Subsytems can emerge Grafics Webserver adminManagement php-DeveloperProxy guy Usability guyMobile Services adminDB Specialist DB AdminProject Lead Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 28. Subsytems also have a local optimum utility plus they are loyal! Grafics Webserver adminManagement php-DeveloperProxy guy Usability guyMobile Services adminDB Specialist DB AdminProject Lead Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 29. Every new participant brings a shift in the oveall utility.Memi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 30. Every old participant must be aware of this and accept it. Otherwise the team is possibly ripped apart.Memi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 31. Successful Collaborative Design isbased on the commitment of each participants to achieve an optimum of overall utility. Memi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 32. How is that achieved? Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 33. Raising awareness Remove barriers between you and thecustomer to form a team High iteration in the workow Elaboration of interdisciplinary patterns Talk, talk, talk, talk! Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 34. An example of interdisciplinary patterns:The Undo DilemmaMemi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 35. A list of users to be administeredEdit Delete Edit Delete Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 36. The Undo dilemmaEdit Delete Edit Delete Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 37. What happens if you hit Delete?Memi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 38. What happens if you hit Delete? Usually: a pop up!Memi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 39. Pop ups are Bad! Avoid them!Memi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 40. Use Undo!Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 41. Because: UNDO is the rescuer of users in distress. encourages exploration. eliminates sensless conrmation-dialogs! Dont ask, do and UNDO !Memi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 42. Pop Ups are easy to implement, Undo is not.It requires a well planned processMemi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 43. Frontend and backend people must decide on a pattern of implementation.This is a collaborative design decision. Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 44. Possible patterns of implementation ofundo in the database: 1) Through a Flag 2) Through a history table Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona - Italy 45. Implementation of Undo 1) Through a FLAG TABLE users VIEW view_users ------------------------------------- ------------------------ | ID | name | surname | is_deleted || ID | name | surname | ------------------------------------- ------------------------ | 1 | Pio | Polli| 0| | 1 | Pio | Polli| ------------------------------------- ------------------------ | 2 | Enzo | Enzi| 1| | 3 | Toni | Marroni | ------------------------------------- ------------------------ | 3 | Toni | Marroni | 0| ------------------------------------- SELECT * From `users`WHERE is_deleted = 0 simple Ideal to undo deletions Downside: data may be materialized twiceMemi Beltrame: Made by Many On Collaborative Design6th phpDay May 15th/16th 2009 Verona - Italy 46. Implementations of undo 2) Through a history table TABLE users TABLE users_history ---------------------------------------------------------- | ID | name | surname | | ID | ID_users | name | surname | ---------------------------------------------------------- | 1 | Pio | Polli|| 1 | 1 | Pio | Polli| ---------------------------------------------------------- | 2 | Enio | Enzi|| 2 | 2 | Enzo | Enzi| ---------------------------------------------------------- | 3 | Toni | Marroni || 3 | 3 | Toni | Marroni | ---------------------------------------------------------- | 4 | 2 | Enio | Enzi| ---------------------------------- Table users: every change is Table users_history: every change an UPDATEalso executes an INSERT Memi Beltrame: Made by Many On Collaborative Design 6th phpDay May 15th/16th 2009 Verona