{"id":392,"date":"2013-03-16T16:03:24","date_gmt":"2013-03-16T16:03:24","guid":{"rendered":"http:\/\/multimedia.uoc.edu\/blogs\/fem\/?p=392"},"modified":"2013-03-26T08:48:34","modified_gmt":"2013-03-26T08:48:34","slug":"complexity","status":"publish","type":"post","link":"https:\/\/multimedia.uoc.edu\/blogs\/fem\/complexity\/","title":{"rendered":"Complexitat"},"content":{"rendered":"<p>El febrer del 2013, a <cite lang=\"en\">The Verge<\/cite> es publicava una pe\u00e7a, <q><a href=\"http:\/\/www.theverge.com\/2013\/2\/13\/3959868\/photoshop-is-a-city-for-everyone-how-adobe-endlessly-rebuilds-its\">Photoshop is a city for everyone: how Adobe endlessly rebuilds its classic app<\/a><\/q>, que \u00e9s una lectura imprescindible per als qui en algun moment ens hem enfrontat amb peces de programari que han tingut un recorregut i presenten un grau de complexitat tan enorme com Photoshop i els m\u00e9s de vint-i-cinc anys d\u2019hist\u00f2ria que t\u00e9. I qui diu Photoshop diu Flash, o Final Cut, o Microsoft Office, per\u00f2 tamb\u00e9 qualsevol sistema operatiu amb una mica d\u2019hist\u00f2ria o, fins i tot, qualsevol lloc web complex, com el de qualsevol gran botiga en l\u00ednia.<\/p>\n<p>La caracter\u00edstica comuna que uneix tots aquests sistemes \u00e9s que no hi ha ning\u00fa que habitualment els faci servir que n\u2019estigui satisfet del tot: tot usuari experimentat ha topat amb algun aspecte del sistema operatiu d\u2019aquests sistemes que va radicalment en contra de la seva intu\u00efci\u00f3, i tant \u00e9s que sigui Windows (el sistema que a tothom ens encanta odiar), Mac OS X o qualsevol versi\u00f3 de Linux: si no us heu trobat amb aquest detall que fa bullir la sang, \u00e9s que no l\u2019heu fet servir prou. I passa la mateixa cosa amb qualsevol dels exemples que hem esmentat en el par\u00e0graf anterior. Si no \u00e9s el tractament de tipografies de Photoshop, \u00e9s el funcionament de la inserci\u00f3 d\u2019imatges en Word, l\u2019editor de codi de Flash, el consum de mem\u00f2ria de Firefox\u2026<\/p>\n<p>La cosa greu \u00e9s que, si investiguem a fons qualsevol d\u2019aquests defectes que ens resulten obvis i gaireb\u00e9 literalment dolorosos, en la gran majoria de casos \u2013si no en tots\u2013 descobrirem, d\u2019entrada, que s\u00ed, que el dissenyador, desenvolupador, <i>product manager<\/i> o responsable de torn \u00e9s conscient del problema des de fa temps (segurament des d\u2019abans que nosaltres). I si no s\u2019ha resolt \u00e9s, gaireb\u00e9 sempre, per un d\u2019aquests dos motius. El primer \u00e9s que aquest bloc de codi, aparentment petit i inofensiu, \u00e9s una pe\u00e7a essencial de molts altres blocs de codi dels quals depenen un munt de funcionalitats essencials del programa. Aix\u00f2 habitualment s\u2019agreuja, m\u00e9s vegades de les que caldria, perqu\u00e8 amb els anys la documentaci\u00f3 no est\u00e0 a l\u2019altura i el codi s\u2019ha tornat tan complex que la inversi\u00f3 en persones i hores que requeriria corregir-lo seria tan gran que no compensa de cap manera els problemes que causa avui dia. El segon \u00e9s que aquest quadre de di\u00e0leg de selecci\u00f3 de tipografia que odiem tant \u00e9s el mateix quadre de di\u00e0leg que centenars, milers o, si parlem d\u2019una cosa tan gran com Photoshop, segurament desenes i desenes de milers d\u2019altres usuaris consideren perfecte i intocable.<\/p>\n<p>Sobre el primer aspecte, una an\u00e8cdota, segurament ap\u00f2crifa, d\u2019un empleat de Microsoft, uns mesos abans del llan\u00e7ament d\u2019una nova versi\u00f3 de Windows (95, si no em falla la mem\u00f2ria), anant a una gran botiga d\u2019inform\u00e0tica per comprar <em>totes<\/em> les aplicacions, provar-les <em>d\u2019una a una<\/em> amb el sistema operatiu, que encara estava en proves. El resultat (diu la llegenda, una altra vegada) \u00e9s que en el codi de Windows sempre hi ha hagut desenes de milers de l\u00ednies de codi dedicades a fer que hi hagi velles aplicacions, programades per a explotar errors (<i>bugs<\/i>) de versions anteriors del sistema, que continu\u00efn funcionant, amb el conseg\u00fcent efecte negatiu sobre el rendiment i el manteniment globals del sistema.<\/p>\n<p>(Per cert, un article molt recomanable sobre el tema \u00e9s <q><a href=\"http:\/\/www.joelonsoftware.com\/items\/2008\/03\/17.html\">Martian Headsets<\/a><\/q>, de Joel Spolsky.)<\/p>\n<p>Sobre el segon aspecte, el de l\u2019exist\u00e8ncia d\u2019una base d\u2019usuaris que s\u2019ha acostumat al funcionament de l\u2019aplicaci\u00f3 que sigui, n\u2019hi ha prou de recordar el clam popular quan Microsoft va llan\u00e7ar l\u2019Office 2007 i la interf\u00edcie <i>ribbon<\/i>. Malgrat que era el resultat d\u2019una exhaustiva recerca en el camp de la interacci\u00f3 persona-ordinador, hi va haver milions d\u2019usuaris que es van rebel\u2022lar contra el canvi i segurament van deixar de comprar l\u2019actualitzaci\u00f3, amb la conseg\u00fcent i milion\u00e0ria p\u00e8rdua d\u2019ingressos per a l\u2019empresa de Redmond.<\/p>\n<p>Es poden resoldre, aquests problemes? Fins a cert punt, s\u00ed. Sembla que hi ha empreses que tenen m\u00e9s bon pols a l\u2019hora de fer passos endavant. Apple, amb les seves actualitzacions del sistema operatiu, que sovint s\u00f3n incompatibles amb versions relativament recents de programaris populars, o amb els seus canvis d\u2019arquitectura (de la primera Motorola 68000 a PowerPC i finalment a Intel), sembla que gaireb\u00e9 sempre n\u2019ha sortit airosa (la sabata del seu peu la van trobar amb el cas Final Cut, per\u00f2 aquest cas \u00e9s relativament menor). Pel que fa als canvis en la interf\u00edcie, un bon exemple \u00e9s Facebook, que afronta amb determinaci\u00f3 l\u2019enorme crisi de relacions p\u00fabliques que ha comportat cada canvi al seu mur i nom\u00e9s avalua si el canvi s\u2019ha de retirar o no al cap d\u2019uns quants dies, quan ha retrocedit la inevitable onada de queixes davant qualsevol canvi m\u00e9s o menys radical.<\/p>\n<p>Per als qui d\u2019aqu\u00ed a un temps sereu graduats en Multim\u00e8dia, el desenvolupament d\u2019aplicacions complexes no \u00e9s, segurament, el camp que us afecta m\u00e9s. Sens dubte, per\u00f2, us trobareu, tant en el rol d\u2019usuaris com en el de creadors o productors, batallant amb sistemes que presenten factors com aquests. I \u00e9s molt important anticipar la inevitabilitat d\u2019aquests problemes per a minimitzar-ne, en la mesura del possible, l\u2019impacte futur sobre la vostra activitat.<\/p>\n<p>Vull acabar amb un parell d\u2019an\u00e8cdotes. En primer lloc, potser la millor il\u2022lustraci\u00f3 del problema que coneixem: una tira c\u00f2mica publicada a xkcd.com, casualment no gaires dies abans de l\u2019article amb qu\u00e8 he obert aquesta pe\u00e7a.<\/p>\n<p><a href=\"https:\/\/www.xkcd.com\/1172\/\"><img decoding=\"async\" src=\"http:\/\/imgs.xkcd.com\/comics\/workflow.png\" alt=\"C\u00f3mic. Nom\u00e9s cont\u00e9 el seg\u00fcent text, en angl\u00e8s: Changes in version 10.17: The CPU no longer overheats when you hold down spacebar. Comments. Longtimeuser4 writes: This update broke my workflow! My control key es hard to reach, so I hold spacebar instead, and I configured emacs to interpret a rapid temperature rise as Control. Admin write: That's horrifying. Longtime user4 writes: Look, my setup works for me. Just add an option to reenable spacebar heating.\" title=\"There are probably children out there holding down spacebar to stay warm in the winter! YOUR UPDATE MURDERS CHILDREN.\" class=\"aligncenter size-full \" \/><\/a><\/p>\n<p>I, en segon lloc, un enlla\u00e7 (<a href=\"http:\/\/computerhistory.org\/atchm\/adobe-photoshop-source-code\/\">http:\/\/computerhistory.org\/atchm\/adobe-photoshop-source-code\/<\/a>) des del qual podeu accedir al codi font original, en Pascal, per a Mac sobre arquitectura Motorola 68000 de la versi\u00f3 1.0.1 de Photoshop, del 1990, que \u201camb prou feines\u201d cont\u00e9 128.000 l\u00ednies de codi i que cap, comprimit, en un sol disquet de l\u2019\u00e8poca (una cosa del tot impensable al cap de no gaires versions).<\/p>","protected":false},"excerpt":{"rendered":"<p>El febrer del 2013, a The Verge es publicava una pe\u00e7a, Photoshop is a city for everyone: how Adobe endlessly rebuilds its classic app, que \u00e9s una lectura imprescindible per als qui en algun moment ens hem enfrontat amb peces de programari que han tingut un recorregut i presenten un grau de complexitat tan enorme &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/multimedia.uoc.edu\/blogs\/fem\/complexity\/\" class=\"more-link\">Continua llegint <span class=\"screen-reader-text\">\u00abComplexitat\u00bb<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[109,110,65,66,108],"class_list":["post-392","post","type-post","status-publish","format-standard","hentry","category-technologies","tag-complejidad","tag-complexitat","tag-desarrollo","tag-desenvolupament","tag-software","entry"],"_links":{"self":[{"href":"https:\/\/multimedia.uoc.edu\/blogs\/fem\/wp-json\/wp\/v2\/posts\/392","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/multimedia.uoc.edu\/blogs\/fem\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/multimedia.uoc.edu\/blogs\/fem\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/multimedia.uoc.edu\/blogs\/fem\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/multimedia.uoc.edu\/blogs\/fem\/wp-json\/wp\/v2\/comments?post=392"}],"version-history":[{"count":7,"href":"https:\/\/multimedia.uoc.edu\/blogs\/fem\/wp-json\/wp\/v2\/posts\/392\/revisions"}],"predecessor-version":[{"id":437,"href":"https:\/\/multimedia.uoc.edu\/blogs\/fem\/wp-json\/wp\/v2\/posts\/392\/revisions\/437"}],"wp:attachment":[{"href":"https:\/\/multimedia.uoc.edu\/blogs\/fem\/wp-json\/wp\/v2\/media?parent=392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/multimedia.uoc.edu\/blogs\/fem\/wp-json\/wp\/v2\/categories?post=392"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/multimedia.uoc.edu\/blogs\/fem\/wp-json\/wp\/v2\/tags?post=392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}