Enkelhet som medel möjlighet som mål - Niklas Lindstrom

462 views
395 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
462
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Enkelhet som medel möjlighet som mål - Niklas Lindstrom

  1. 1. Enkelhet som medel, möjlighet som mål
  2. 2. Lätt som en plätt ” Gör allt så enkelt som möjligt, men inte enklare.” – Albert Einstein
  3. 3. Hej jag heter Niklas Jag jobbar med "IT".
  4. 4. Just Do ".. the simplest thing that could possibly work."
  5. 5. Resten är upp till oss Vid givna tillfällen. På givna platser. Vad gör det om hundra år?
  6. 6. Vad är det egentligen vi gör? "Det borde väl inte vara så svårt?" "Varför tar det så'n tid?" "Hur många möjliga sätt kan det finnas egentligen?"
  7. 7. Person name age
  8. 8. Idag, igår, imorrn name age ← FAIL
  9. 9. Förenkling Födelsedatum: år 1978, månad 2, dag 12 — enligt gregorianska kalenderräkningen. Räkna ut nuvarande ålder.
  10. 10. Precision birthDate (”en tidpunkt som representerar en persons födelse") "1978-02-12" (W3C.Date) ● En sträng av bytes (01001.. ASCII.. UTF-8..) ● Som tolkas
  11. 11. Kontext Kontext är gud. Finns överallt. Går inte att undkomma.
  12. 12. Ett steg längre Tänk långsiktigt för att undvika upprepat arbete. age += 1
  13. 13. Gå för långt? Löskopplad, sömlöst integrerbar, pluggbar flerlagersarkitektur. I praktiken: ● Monolitiska system ● Djupa arkitekturer ● Enkelriktade designbeslut ● Feodala ramverk
  14. 14. Dold komplexitet All problems can be solved by adding one more layer of indirection. Except for the problem of indirection.
  15. 15. Det värsta.. .. är inte 1000 rader procedurell kod fullproppad med muterbara variabler.
  16. 16. Diffust Det är när en tvetydighet uppträder i — och delas mellan — system.
  17. 17. Tolkningar smittar Exempel: "Kurskoden är egentligen ett databas-id för enskilda tilfällen."
  18. 18. Tydliggör Sträva efter platta gränssnitt, där tolkningar (detaljer) tydligt framträder. ● Platt: på samma abstraktionsnivå ● Inte för "djupt", inte för "brett" ● Täta skott
  19. 19. Enkla beslut Enkelhet kräver beslut. ● "vi ska ta emot X" ● "kunna styra på Y" ● "leverera Z"
  20. 20. Goda råd är dyra Beslut kostar. Låt andra välja/välja bort. Att värdera råd kräver kompetens.
  21. 21. Konsensus IETF, W3C, "de facto".. ● datumformat ● referenser (webbadresser) ● listor (feeds)
  22. 22. Stå på giganters axlar Vilkas? Flera? Hur länge? POSIX, TCP, HTTP J(2)EE? Spring? "Nothing"? SOAP.. REST
  23. 23. Byta spår
  24. 24. Hushåll beroenden Blanda inte ihop implementationen med den behandlade informationen.
  25. 25. UNIX-filosofin ● Gör en sak och gör den bra ● Skriv program som fungerar ihop ● Hantera textströmmar, eftersom det utgör ett universiellt gränssnitt
  26. 26. Tänk på att.. Enkelt: lätt att förstå Kräver: sammanhang Som är: komplexa
  27. 27. Möjligheter Tydliggör sammanhanget Ta bort onödiga beslut
  28. 28. Tack! Niklas Lindström, Valtech Bilderna i denna presentation (CC): "Cave Man Blog 2" http://www.flickr.com/photos/ittybittiesforyou/3413099218/ "P6086146" http://www.flickr.com/photos/ingythewingy/2584243648/ "wired things get strange" http://www.flickr.com/photos/jorgempf/68987189/ "Street wirescape" http://www.flickr.com/photos/ivva/2266608131/in/set-72157600234918432/

×