Interview met Simon Long van Raspberry Pi over de Raspberry Pi Desktop, UI design, en nog veel meer!
Belangrijke achtergrondinformatie: dit interview werd begin juli 2018 afgenomen, dus sommige toepassingen waar Simon naar verwijst zijn misschien al vrijgegeven, enz.
Max: Dit is het interview met Simon Long van de Raspberry Pi Foundation die hoofdzakelijk verantwoordelijk is voor Raspbian het desktop OS.
Simon: Dat klopt.
Max: Veel applicaties zoals VeraCrypt brengen binaries uit specifiek voor het Raspberry Pi platform, maar in dit geval niet eens ARMv6 binaries - alleen ARMv7. Ik vroeg me af of hier een specifieke technische reden voor is, specifiek gericht op de Pi, waarom niet gewoon generieke ARMv7 binaries maken.
Simon: Dus ik weet niets over het specifieke geval dat u daar noemde. Wat betreft het specifiek richten op de Pi, ben ik me ervan bewust dat Debian standaard ARM hard float versies niet het beste gebruik maken van de Pi. Ze zijn niet bijzonder geoptimaliseerd voor ons platform, heb ik begrepen. Ik heb nog niet geprobeerd om iets te draaien dat we niet specifiek hebben gebouwd met speciale Pi build systemen die op de Pi zijn gebouwd of met cross compile omgevingen die voor de Pi zijn ontworpen. Maar ik heb begrepen dat dingen specifiek voor de Pi gebouwd moeten worden in plaats van standaard Debian hard float spul te gebruiken. Ik ben niet bekend met de technische details van waarom dit het geval moet zijn, maar ik vermoed dat het te maken heeft met de optimalisaties voor de hardware. Zeker in het geval van voor de hand liggende zaken waar mensen delen van VideoCore willen gebruiken, zal een standaard Debian ARM hard float build daar geen gebruik van maken. Je zult dus niet de beste prestaties krijgen die je uit het apparaat zou kunnen halen.
Max: Je bedoelt dingen zoals bijvoorbeeld deze NEON SIMD optimalisaties?
Simon: Nee - het NEON spul zou moeten werken, omdat dat aan de ARM kant van het apparaat zit. Het is meer specifiek de Video Core kant van het apparaat, waarvan de video-versnelling waarschijnlijk het belangrijkste onderdeel is. Er zijn ook dingen zoals de pixel processing units in de VideoCore IV die je in staat stellen parallelle operaties uit te voeren. Je krijgt niets van die optimalisatie als je je niet specifiek op ons platform richt.
Max: Dus in wezen is een ARM platform niet hetzelfde als een ander platform?
Simon: De ARM kern zelf is hetzelfde, maar de randapparatuur zal verschillend zijn. Een van de randapparaten in ons geval is VideoCore die zorgt voor video en multimedia versnelling. Dus als je schrijft voor een generiek ARM platform, zul je daar niet optimaal gebruik van maken. Om een goed voorbeeld te geven: Chromium. Elke keer als er een nieuwe Chromium release komt, hebben we een man die werkt aan de integratie van onze video hardware versnelling. Als je Chromium gebruikt om YouTube of wat dan ook af te spelen op het platform, krijg je daar het voordeel van de versnelling voor. Als je gewoon de standaard Chromium ARM build zou nemen, zou je dat niet doen. Het is vooral voor dingen als video versnelling.
Max: Heb je een geautomatiseerde procedure om dat te doen?
Simon: Nee - het is moeilijk te automatiseren. De code verandert aanzienlijk, zeker in het geval van Chromium. In veel gevallen gaat het erom dezelfde patches als op de laatste versie toe te passen op de nieuwe versie. Maar zoals je weet, wanneer je patches probeert samen te voegen tussen versies, gaan ze er niet altijd netjes in. Het is een variërende hoeveelheid werk om erin te stoppen, afhankelijk van hoeveel veranderingen er in de basiscode zitten, maar het is helaas geen geautomatiseerd proces. Het is een kwestie van de man die hieraan werkt en moet kijken wat er is veranderd tussen Chromium 65 en 67 en zien hoe dit deze patches beïnvloedt. Het is een enorme code base en het zal veranderen. Terwijl de patches relatief klein zijn, kunnen de lijnen waarop ze worden gepatcht aanzienlijk verschillen tussen de versies aan de Chromium kant.
Max: Samengevat is het idee, omdat de Pi - relatief gezien - nog steeds minder krachtig is dan een desktop PC, om de hardware echt zo lang mogelijk te gebruiken en de binaries daarvoor te optimaliseren.
Simon: Precies.
Max: Laten we overgaan naar het onderwerp van de Raspberry Pi desktop. Wat zijn de belangrijkste doelen en ideeën erachter?
Simon: De belangrijkste doelen en ideeën erachter ... toen ik begon, mijn eerste dag bij Pi, zaten Eben en ik met Raspbian en LXDE, en hij zei: "Kun je dit nog beter maken? Ik speelde er een beetje mee, en dacht - nou ja, het is zeker mogelijk om het beter te maken. Of ik wist hoe het beter te maken was de vraag, want ik had nog nooit Linux gebruikt op dat moment, dus ik had nogal een leercurve.
Max: Heb je eigenlijk nog nooit Linux gebruikt?
Simon: Ik had Linux een paar keer experimenteel opgestart, maar ik had nog nooit code voor Linux geschreven, ik heb het nooit langer dan tien minuten gebruikt, [voordat ik aan Raspberry Pi begon te werken].
Max: Was één van de redenen dat je Linux niet gebruikte de desktop omgeving? De verwarrende manier waarop het is ingedeeld?
Simon: Ik heb Ubuntu gebruikt, ik heb Knoppix gebruikt.
Max: Knoppix - eigenlijk door een Duitse ingenieur.
Simon: Ja, ik heb ze allebei gebruikt en ik vond de desktopomgeving op geen van beide intuïtief. Ik vind Ubuntu's desktop omgeving nog steeds niet intuïtief. Het kost me altijd tien minuten om te proberen te herinneren waar ze de terminal hebben verborgen. Dat soort dingen. Ik heb het gevoel dat veel Linux applicaties niet geschreven zijn met bruikbaarheid als prioriteit. Ze zijn geschreven om makkelijk te schrijven, niet om makkelijk te gebruiken. Wat begrijpelijk is, gezien het feit dat niemand daarvoor betaald wordt. Maar toen ik naar LXDE keek, zoals het toen was, had ik het gevoel dat er veel ruimte was om het veel gebruikersvriendelijker te maken dan het was, en zeker, denk ik, gezien de twee platformen waar ik de meeste ervaring mee had, namelijk Windows en Mac, leek er een groot gat in bruikbaarheid te zijn tussen LXDE en een van die twee. Als je er een doel voor wilt stellen, zou het zijn om de Raspberry Pi Desktop net zo makkelijk te gebruiken te maken als Windows of Mac. Het liefst als Mac, want dat is mijn favoriete platform. In termen van het gemakkelijk maken denk ik dat de belangrijkste dingen waren om consistentie toe te voegen. Ik denk dat het probleem met LXDE is dat het een verzameling is van componenten van verschillende problemen die allemaal bij elkaar zijn gegoten. Dus je hebt een window manager van de ene plaats, en je hebt een bestandsmanager van ergens anders, en je hebt een taakbalk van ergens anders. En het werkte niet echt - voor mij - als een geïntegreerde set van dingen. Als ik het lettertype van het systeem wilde veranderen, moest ik het op drie plaatsen veranderen om overal effect te hebben. En dit is een doorlopend proces. In de nieuwe release heb je waarschijnlijk de opstart wizard gezien.
Max: Ja.
Simon: Ik heb al kritiek gehad op blog commentaren van mensen die zeggen dat je geen opstart wizard moet gebruiken, omdat dat mensen ontmoedigt om naar de setup [configuratie bestanden] te kijken.
Max: Ik heb dat commentaar ook gezien. De reden is zoiets als - 'We deden het op de moeilijke manier ...'
Simon: Precies. Dit is mijn hele frustratie met mensen die [zo denken]. Het is "Ik moest lijden, dus de gebruikers van vandaag moeten lijden." Voor mij miskent dit het doel van Pi. Het doel van Pi is altijd geweest om een omgeving te bieden waar mensen kunnen leren over informatica. En als je het hebt over leren over computeren, dan is dat voor mij leren hoe je een computer programmeert. Het is niet leren hoe je een Linux desktop configureert. Want een van beide is een nuttige vaardigheid die je kunt gebruiken: als je eenmaal hebt leren programmeren, liggen er hele carrières voor je open. En dat is waar we voor opgericht zijn. Leren hoe je een Linux-desktop configureert - ja, dat is nuttig, als je Linux-desktops moet configureren. Maar dat is niet waar Pi voor is opgericht om mensen dat te leren. En dus, vanuit mijn standpunt, wil ik de desktopomgeving uit de weg hebben, zodat mensen gewoon kunnen beginnen met programmeren. Dat is een hoofddoel van wat ik doe: als mensen hun bureaubladachtergrond willen veranderen, of hun lettertype groter willen maken zodat ze dingen kunnen lezen, dan zouden ze daarvoor niet in twaalf configuratiebestanden moeten hoeven te graven. Dat moet makkelijk te doen zijn.
Max: Absoluut. De reden dat ik Windows gebruik op mijn desktop is dat ik er gewoon geen moeite voor heb ... ik heb bijvoorbeeld een multi-monitor opstelling ... ik heb een idee hoe ik dat onder Linux zou kunnen doen, maar ik zou configuratiebestanden moeten bewerken, en er veel tijd in moeten steken.
Simon: Nogmaals, ik heb Linux nog niet zo vaak gebruikt, en hoe meer ik ontdekte over hoe je deze configuratie wijzigingen moest maken, hoe meer ik me ergerde aan de puinhoop waar mensen mee te maken krijgen. Daarom was het eerste wat ik deed een applicatie schrijven die al je systeeminstellingen voor je veranderde. Dat leek me het grote ding, zoals, waarom had niemand dit eerder gedaan? Waarom was het nog steeds acceptabel dat je vier verschillende configuratie [bestanden] moest openen om het ding er goed uit te laten zien? Het laat het allemaal voelen als één omgeving. Dat is altijd mijn doel geweest met de desktop, het moet op een punt komen waar je op een Mac niet eens nadenkt over de desktop. De Desktop werkt gewoon. En als je de achtergrondafbeelding wilt veranderen, of het lettertype groter wilt maken, of een applicatie wilt starten, is het duidelijk hoe je al die dingen doet. Voor mij was LXDE - hoewel het een goede basis vormde om op te werken - en ik wil op geen enkele manier het werk van de makers van LXDE bagatelliseren, ze hebben er fantastische dingen onder gedaan - alleen had het net dat beetje zorg en aandacht nodig bovenop de basis. Dat is wat ik geleverd heb om er een ervaring van te maken die prettig is om te gebruiken. Dat is altijd mijn focus - het leuk maken om te gebruiken, met een specifieke focus wanneer ik kan om het leuk te maken voor mensen die nog niet veel met een computer hebben gewerkt, of zeker nog nooit een Linux systeem hebben gebruikt. Het moet vertrouwd en meer intuïtief worden.
Max: Zijn er eigenlijk problemen met auteursrecht of ontwerp, bijvoorbeeld zoals de menubalk bovenaan in MacOS? Waar je voorzichtig mee moet zijn?
Simon: Ik ben me van niets bewust, nee. Dit gaat allemaal terug tot de dagen van Xerox PARC en de originele desktop. De desktop-metafoor is ingeburgerd en niemand is er de eigenaar van. Ik zou er niet van dromen om bijvoorbeeld Apple's iconen te nemen. Ik denk dat Apple's iconen mooie dingen zijn. Heb je al geprobeerd erop in te zoomen? Ze hebben enorme hoeveelheden verborgen details die je nooit ziet. Als je kijkt naar dingen zoals het mail icoon op een Mac, en je zoomt erop in, dan zie je dat er een poststempel op staat met "Welkom in Cupertino" en dat soort dingen. Ze stoppen zoveel moeite in dat soort dingen. Ik ga echt geen Apple icoontjes op ons systeem zetten, dat zou duidelijk een inbreuk op het auteursrecht zijn. En we willen ook onze eigen visuele identiteit, dat is waarom we onze eigen iconen hebben laten maken, dat is waarom ik opnieuw heb ontworpen hoe onze vensters eruit zien, waarom we onze kleurenset hebben gekozen. En niets van dat alles is overgenomen van iemand anders. Dat zijn allemaal mijn eigen ideeën over hoe het ontwerp eruit moet zien. Ik denk dat in termen van het algemene concept van een Windows omgeving met menu's en taakbalken, enz. - dat is vrij veel in het publieke domein. De copyright problemen zijn als je begint met het stelen van mensen hun bronnen, effectief. En dat gaan we niet doen. Ik wil geen kopie van MacOS maken. MacOS heeft een aantal zeer goede ideeën achter zich. Maar dit moet iets zijn dat herkenbaar is als Raspberry Pi. Tenminste herkenbaar anders dan MacOS. Op dezelfde manier dat het herkenbaar net zo bruikbaar moet zijn als MacOS.
Toen ik begon, was het enige merk dat we in het besturingssysteem hadden gestopt, dat we een Raspberry op de desktop hadden. Afgezien daarvan was het LXDE - we hadden er verder niets aan gedaan, omdat we niet de mensen hadden om eraan te werken. Het is zoals Steve Jobs altijd zei - lettertypes zijn echt belangrijk, typografie is belangrijk. Het zijn dat soort dingen wanneer je probeert een visueel beeld te creëren dat je merk vertegenwoordigt. Om er een beetje pretentieus over te klinken. Het is iets maken waar mensen naar kijken, en denken "oh, dat is de Pi Desktop".
Max: Over typografie gesproken, wat voor systeemlettertype gebruik je als standaard?
Simon: Het is een publiek domein lettertype van Google genaamd "Roboto". Ik heb er een beetje werk aan gehad. Het is een interessante vraag als je een lettertype geek bent. Het was bijna het eerste wat ik deed, letterlijk op dag één, omdat het standaard lettertype van LXDE lelijk is - en ik weet dat je een enorm verschil kunt maken ...
Max: Weet je wat het was?
Simon: Ik kan het me niet herinneren - het was erg afschuwelijk. Je kunt een enorm verschil maken in de manier waarop iets wordt waargenomen door alleen de lettertypes te veranderen. Verander gewoon een document, van een schreeflettertype naar een schreefloos lettertype, het hele document ziet er anders uit. Het is een van de meest cruciale dingen om te doen - Steve Jobs had hier absoluut gelijk in - als je het lettertype goed hebt, worden een heleboel dingen onmiddellijk beter. Dus, het eerste wat ik deed, was letterlijk door alle gratis lettertypes gaan die ik kon vinden - natuurlijk zijn er miljoenen lettertypes in de wereld - maar weet je. Ik had iets nodig dat vrij is [om te gebruiken], iets dat ik kon begrijpen hoe ik in Linux kon komen. Ik ging door tientallen lettertypes, en zodra ik Roboto tegenkwam, had ik zoiets van, ja, dat is het, dat ziet eruit zoals ik het wil hebben. Gelukkig was het publiek domein, dus konden we het gebruiken. Het probleem was - dus we installeerden het Roboto pakket, en dan een paar maanden later deden we een systeem update, en het lettertype was nog steeds Roboto, maar het lettertype was veranderd. En het kwam lang niet zo goed over. Google had iets gedaan met de metriek van het lettertype. Ik keek er naar en dacht... - dat is niet wat ik wilde. Dus eigenlijk, wat we hebben is een oude versie van Roboto, dat heeft zijn eigen pakket. Ik noem het Piboto, gewoon om het te onderscheiden van Roboto. Ik kan het Roboto pakket niet blijven volgen, omdat het lettertype veranderd is en ik het nieuwe niet mooi vind.
Max: Dat is eigenlijk een vrij onaangename verrassing, zou ik zeggen. Omdat je verwacht dat lettertypes hetzelfde blijven.
Simon: Dat is niet zo. Ze hebben het veranderd. En ze veranderden het zodanig dat ik zei "nee we volgen dit niet, we nemen nu onze eigen versie hiervan, en we blijven bij mijn versie".
Max: Vooral op zeer kleine schermen - zoals Adafruit 2,8" schermen - moet je een speciaal lettertype hebben.
Simon: Ja, de kleinere puntgroottes - je moet een lettertype hebben dat ontworpen is om in dat soort situaties te werken. Dus we zijn op deze oude versie van Piboto, zoals het heet, en een van de andere dingen die interessant zijn - als je een font geek bent - praten over consistentie. Lettertypes hebben natuurlijk verschillende gewichten in Linux - licht en dun, medium en zwaar, en vet, enz. En sommige toepassingen - dit is eigenlijk een GTK 2 vs GTK 3 ding ... ; Ik ben heel erg voor GTK 2, Ik ben echt heel erg tegen GTK 3. Ik denk dat ze een paar hele slechte beslissingen hebben genomen in GTK 3. Dingen zoals als je een GTK 3 toepassing draait onder sudo, ziet het er anders uit dan wanneer je dat niet doet, door de manier waarop ze thematische informatie erin trekken. Dus als je onder sudo draait, krijg je niet het originele GTK 3 thema van de gebruiker, je krijgt het root GTK 3 thema. Wat misschien niet hetzelfde is. Dat soort dingen. Als je probeert om consistent te zijn, GTK 3 is niet zo goed als GTK 2. En dit is het punt dat ik maakte over GTK 3 - in termen van wat er slecht aan is in termen van lettertypes, is dat de behandeling van lettertype gewichten niet goed is.
Het systeemlettertype dat we gebruiken is Piboto Light. Nogmaals, ik wil de Light versie, omdat de Light versie er mooier uitziet dan de normale versie. Er zijn sommige applicaties - bijvoorbeeld, Chromium is geloof ik een GTK 3 applicatie - waarbij je het lettertype instelt op Piboto Light, en het gooit de Light weg, het geeft je gewoon Piboto. Ik denk dat dit een GTK 3 ding is, waar sommige van zijn lettertype gewichtsafhandeling niet erg goed gedaan is. En dit heeft weer te maken met hun sudo en non-sudo dingen, er staan dingen in die niet goed gedaan worden. Ik heb zelfs bugs tegen [dit] - en ze zeggen: "nee, het hoort zo te werken, het is in orde". Ik moet hier omheen werken, omdat het niet doet wat ik wil dat het doet.
Max: Hoe ga je er mee om?
Simon: De manier waarop ik het probleem met het lettertype heb opgelost, is dat ons lettertype, dat gewoonlijk Piboto wordt genoemd, nu Piboto LT wordt genoemd, omdat het licht van gewicht is. Nu kunnen mensen het niet breken, want als je ons lettertype kiest, is het de hele tijd het juiste gewicht.
Max: Met Piboto LT is er maar één gewicht, alleen het lichte gewicht.
Simon: Je kunt het vet maken - het bevat nog steeds de vette en de cursieve versies. Maar de gewone is de lichte versie. Het is de enige manier waarop ik alles consistent kan krijgen. Bij het kiezen van lettertypes, denk ik dat het gewicht net zo belangrijk is als het lettertype zelf, omdat het veranderen van het gewicht het uiterlijk van het lettertype enorm kan veranderen. Ik heb vele gelukkige uren doorgebracht met het spelen met FontForge, het creëren van mijn versie van het lettertype, wat nu betekent dat alles er wel consistent uitziet. Dit is een van de veranderingen in de meest recente release, het is dat Chromium nu echt hetzelfde lettertype gebruikt als al het andere, terwijl dat voorheen niet zo was. Voorheen gebruikte het Piboto in een normaal gewicht, in tegenstelling tot het lichte gewicht.
Max: Ik denk dat dit een van de dingen is die mensen opvalt - het lijkt een beetje af - althans subliminaal.
Simon: Subliminaal is een goede manier om het te bekijken - Ik dacht altijd dat er iets niet helemaal goed was met Chromium. Maar ik keek naar de instellingen, en de instellingen zeiden dat ze het Light lettertype hadden. En zodra ik deze veranderingen aanbracht - dat was wat er mis was met Chromium. Chromium ziet er nu goed uit. Chromium komt nu overeen met al het andere. Het is een van die dingen, als je het niet meteen repareert, raak je eraan gewend. En dan denk je, nou ja, het is gewoon zoals het is.
Chromium aan de praat krijgen was in de eerste plaats zo'n grote stap. Chromium aan de praat krijgen met de window manager en het er mooi uit laten zien in de window manager was moeilijk. Een van mijn grote haten zijn applicaties die er uit willen zien zoals zij dat willen, in plaats van zoals het systeem wil dat ze eruit zien. En Chromium is er een die probeert zijn eigen kleuren te gebruiken voor vensterbalken, en dingen zoals dit. Het speelt niet goed met window managers. Ik heb veel tijd besteed toen we het erin stopten, om het er goed uit te laten zien.
Daar is een anekdote over. We hebben Chromium in het systeem. En Eben gebruikt Chrome op andere systemen. Ik gebruik Chrome niet, omdat ik een Mac gebruiker ben, ik gebruik Safari.
Max: Is er Chrome voor...
Simon: Er is Chrome voor Mac, ik zou het niet aanraden omdat het precies doet wat ik toen zei - het ziet eruit als een Google-programma op een Mac, in plaats van eruit te zien als een Apple-programma op de Mac. Eben is gewend om Chrome te gebruiken. En Chrome kleurt zijn rand, dus je hebt tabbladen en je hebt een bepaalde gekleurde achtergrond - en Eben was dit gewend, omdat hij het op een Mac gebruikte. Ik heb er naar gekeken, en het past niet bij de rest van onze applicaties, het moet veranderen. Ik was aan het spelen met verschillende kleurencombinaties, en ik zette de optie aan om de frames van Openbox - de LXDE window manager - te gebruiken met Chromium. Omdat je standaard het vensterframe kwijt bent. Eben zei, "dat ziet er niet goed uit met een vensterkader, dat lijkt niet meer op Chrome". Ik zei, "vertrouw me, dit gaat goed komen. Maar het moet het frame hebben. Omdat het bij al het andere moet passen." En Eben was aan het mompelen, "je maakt een grote fout - dat moet je niet doen". Ik zei, "vertrouw me, dit komt uiteindelijk wel goed". Het probleem was dat je de kleuren van Chromium in ons raam had. Ik moest uitzoeken hoe ik het venster dat Chromium je geeft - de achtergrond achter de tabs - een andere kleur kon geven. Ik moest die laten overeenkomen met de kleur die wij gebruikten. Het kostte me een paar dagen prutsen om uit te vinden waar de instelling zat, en ik veranderde de instelling. Eben liep naar mijn bureau nadat ik dit gedaan had, en ik zei "Kijk nu eens naar Chromium. " Hij keek er naar en zei: "Dat is prima" Ik zei "Ik zei toch dat het goed zou zijn". Het gaat over consistentie. Het gaat erom dat het eruit ziet zoals je verwacht dat het eruit ziet. Wat Eben had gezien, was iets dat niet op Chrome leek en niet op ons.
Max: Iets heel anders, dan?
Simon: Ja, dus dat zag er verkeerd uit. Maar ik wist dat om het goed te krijgen, je de kleuren en lettertypes goed moet krijgen. En zodra je de kleuren goed hebt, en het past, zei Eben "Oh het is prima." "Ja, ik zei toch dat het zo zou zijn. Het is omdat het nu op ons lijkt. Je bent gewend dat het op Chrome lijkt en wat je zag was een lastige fase in het midden waar ik het nog niet af had." Maar dit is waarom dingen als de window manager belangrijk zijn. Het is een zeer belangrijke manier om je een consistente look en feel te geven. Dus applicaties die niet goed samenwerken met de window manager irriteren me, omdat de window manager er niet voor niets is.
Max: Dat is een van de dingen die me irriteren aan de Linux desktop - de consistentie zoals je zegt. Er is, denk ik, de GTK, dan is er de KDE desktop omgeving...
Simon: En het ding over de GTK is - als iemand zegt dat ze een toepassing voor ons schrijven, waar ze het op moeten baseren, is mijn antwoord baseer het op GTK 2, omdat ik veel tijd heb besteed om ons GTK 2 thema mooi te laten werken. Het ziet eruit zoals ik wil dat het eruit ziet. Elke keer als GNOME een nieuwe GTK 3 uitbracht, werd er gesleuteld aan het GTK 3-thema. En ik ben weken bezig geweest om de thema's op elkaar af te stemmen. Zodat een GTK 3 applicatie eruit ziet als een GTK 2 applicatie op ons. En elke keer veranderde Gnome dingen. Zoals ik al zei, GTK 3 lijkt niet zo goed te thematiseren als GTK 2 deed. GNOME lijkt te zijn overgegaan op een thema dat er vast in zit, en je wordt echt aangemoedigd om het niet te veranderen, terwijl je met GTK 2 altijd het thema had dat je wilde. Ik heb effectief een GTK 3 thema gemaakt dat ons GTK 2 thema schaduwt. En zo nu en dan doet GNOME iets in GTK 3 dat ik niet kan repliceren in GTK 2. Of dat botst slecht met ons thema. En dan moet ik door deze fase gaan van proberen om de twee er zo gelijk mogelijk uit te laten zien, omdat mensen merken dat deze applicatie er een beetje anders uitziet. Je merkt het niet per se expliciet, maar subliminaal en het voelt niet helemaal goed.
Max: Het is een echte uitdaging, is het niet. Dat is iets wat je niet zou moeten doen op een Mac of Windows.
Simon: Nee, want er is maar één toolkit, juist. En het andere ding dat er recent bij komt is Qt. Omdat de nieuwe PDF viewer - toen we die deze keer introduceerden - ik bedoel Xpdf is zo oud en gedateerd, we moesten er vanaf. Het was een van de dingen op mijn lijstje vanaf dag een, we moeten een nieuwe PDF viewer hebben, ik ben er eindelijk aan toegekomen. En ik heb elke PDF viewer geprobeerd die op Raspberry Pi te installeren was. Ik kijk naar dingen in termen van look and feel, hoe presteert het, doet het - omdat de interface van Xpdf een lijst van pagina's aan de zijkant is, in plaats van de mogelijkheid om door pagina's te blijven scrollen, dat soort dingen. En het moest aanvoelen als een moderne PDF viewer. En de beste kandidaat was Qpdf viewer, wat een Qt applicatie is. Dus het zag er niet uit als iets anders op het platform. Dus mijn volgende uitdaging was, ik moet de Qt thema's zoveel mogelijk op onze GTK thema's laten lijken. En dat was enkele weken werk. Nogmaals, omdat ik deze applicatie heb gebouwd die dingen verandert zoals venster instellingen en venster uiterlijk instellingen. Dus dat moet worden aangepast om ervoor te zorgen dat het de [Qt configuratie bestanden ook] verandert, als je daar dingen in verandert. Ik ben nog steeds gefrustreerd - ik ben er in geslaagd om ze er vrijwel identiek uit te laten zien. Het enige dat ik niet kan doen zijn autoshortcuts. Dus als je de Alt-toets ingedrukt houdt, verschijnen de underscores op de menusnelkoppelingen. Qt ondersteunt dat niet. Ik ben een paar dagen bezig geweest om de Qt code uit te werken - ik heb dit toegevoegd aan LibreOffice. LibreOffice had dit niet, totdat ik het eraan toevoegde.
Max: Waar is LibreOffice eigenlijk op gebaseerd.
Simon: LibreOffice is zijn eigen, compleet andere toolkit. En het ondersteunde deze auto-accelerator markering niet, dus de LibreOffice code die dat doet is door mij geschreven. Omdat ik besloot dat we het nodig hadden. En ik upstreamde het. En ze zeiden, "Oh, dit is tegen een oude versie - kun je het tegen de nieuwe versie doen." En ik zei: "Nee, ik heb echt geen tijd om dat te doen. Hier is het, doe ermee wat je wilt - het is meer voor ons dan voor jou. " En binnen ongeveer een week had iemand anders in LibreOffice deze code, waar ze op hadden gewacht tot iemand hem had geschreven, gepakt en naar de [recente] versie gehaald. Het leek erop dat ik datgene had gedaan waar mensen al een tijdje op zaten te wachten, en dat is best een fijn gevoel. Ik heb gekeken of ik hetzelfde kon doen voor Qt, het zou een nachtmerrie zijn om het toe te voegen. De haken om het te doen zijn er niet - de berichten om je te vertellen waar de toets wordt ingedrukt. Ik heb er een paar dagen naar gekeken en besloot dat ik het maar zonder moest doen. Dat is het belangrijkste visuele verschil tussen Qpdf viewer en andere dingen op het platform - het heeft de hele tijd underscores onder al zijn versnellers en je kunt het niet uitzetten. Op een gegeven moment zullen we misschien het hele ding in GTK herschalen, maar dat is een hele klus.
Max: Hoeveel werk zou het eigenlijk zijn om Qpdf viewer te herschrijven in GTK?
Simon: Ik weet het niet om eerlijk te zijn. Het is iets dat Eben me vroeg om te overwegen. Het eigenlijke renderen van PDF's wordt gedaan door een derde partij bibliotheek. Dus dat is prima - het is gewoon het opnieuw maken van de hele schil eromheen. En het omhulsel is niet enorm ingewikkeld. Je hebt een werkbalk, je hebt wat knoppen, je hebt wat menu's. Het hangt er vanaf hoeveel voorkeursdialogen er zijn, want die moet je allemaal opnieuw maken.
Max: In wezen zou je de hele interface moeten herschrijven.
Simon: Ja, de hele zaak herschrijven. Er is geen manier om dat te doen met een geautomatiseerd proces, je zou het met de hand moeten doen. Dus ja, ik denk dat het een te grote klus zou zijn. Maar het zou leuk zijn, gewoon om zich te ontdoen van de underscores. (lacht). Willen we hier drie maanden mee rommelen, om van de underscores af te komen? Waarschijnlijk niet, er zijn waarschijnlijk betere dingen waar ik mijn tijd aan kan besteden.
Max: Heeft het echt lezen met tabbladen?
Simon: Ik denk het wel, ik weet het niet zeker - ik heb het nooit aangezet.
Max: Een ander ding - ik heb persoonlijk moeite gehad met Linux PDF viewers met het invullen van PDF formulieren. Het is een ding dat belangrijk is voor kantoorwerk, zoals overheden.
Simon: Ja, ik weet het. Ik moet het nakijken, ik heb het nooit geprobeerd.
Max: Dat specifieke kenmerk lijkt moeilijk te doen.
Simon: Ik zal er eens naar kijken - het is een goede vraag.
Max: Terugkeren naar de Raspbian Desktop. Welke andere problemen bent u van plan op te lossen?
Simon: Ik ben er nu bijna vier jaar mee bezig. Ik denk dat ik het meeste heb zoals ik het zou willen hebben. Ik denk dat we nu gaan kijken of we nog meer iconen kunnen aanpassen. Icoontjes zijn een hele klus - één icoontje vergt al heel veel werk. Je moet er zeker van zijn dat het werkt op alle verschillende groottes, je doet al dit [masseren] op individueel pixel niveau op elk van de twaalf groottes. Dus al onze systeem iconen zijn klaar, ik denk dat onze volgende stap de werkbalk iconen gaan worden. Op dit moment gebruiken we een fallback thema, dus ze komen van - ik denk dat het een GNOME fallback thema is dat we op dit moment gebruiken. En we gaan dingen doen zoals kijken naar de werkbalken in LibreOffice en in de tekstverwerker en in de PDF-viewer, zodat die in lijn komen met onze look en feel.
Max: Omdat LibreOffice zijn eigen pictogrammen gebruikt...
Simon: Er is een standaard set van iconen die gedefinieerd zijn voor desktop omgevingen. Dingen zoals knippen en plakken, en bestanden en kopiëren, het zijn allemaal standaarden. Er zijn meerdere icoon thema's, die allemaal hun eigen interpretatie daarvan hebben, LibreOffice voegt daar dan nog wat van hun eigen thema's aan toe. Ze gebruiken het icoon thema voor veel van hen. Dus je hebt al het probleem dat je twee ontwerpers hebt die aan pictogrammen werken en ze zien er verschillend uit - en opnieuw is dit een ding dat we proberen te vermijden. We proberen alle iconen eruit te laten zien alsof ze van dezelfde plek komen. Omdat alle iconen van Apple eruit zien alsof ze van dezelfde plek komen. Meestal wel. Het is gewoon proberen om visuele consistentie te krijgen. Dus, werkbalk iconen zijn denk ik het volgende gebied waar we naar gaan kijken. In termen van algemene look en feel, denk ik dat we bijna op een punt zijn waar mensen gewend zijn aan de manier waarop het eruit ziet. Wat ik zou overwegen om in de toekomst te doen is wat Apple deed toen ze overstapten van welke versie van MacOS dan ook - Apple had een vrij grote UI verandering.
Max: Vroeger deden ze dit natuurlijke materiaal ding, en toen gingen ze weg ...
Simon: Ze hadden een ander lettertype. Ik denk dat ze het lettertype veranderd hebben toen ze van katten naar bergen gingen.
Max: Gebruikten ze geen Helvetica?
Simon: Nee, dit is niet het systeemlettertype. Ik kan het me niet herinneren. Ze hebben het lettertype veranderd, en ze hebben verschillende UI aanpassingen gemaakt. Ze waren niet groot, maar het veranderde een UI ontwerp dat op dat moment tien jaar oud was of daaromtrent, en het ging plotseling een beetje vooruit.
Max: Een opgefrist ontwerp.
Simon: Precies. Ik ben niet van plan om onze algemene look en feel te veranderen, omdat ik denk dat het vrij goed is zoals het is, maar we overwegen om misschien iets soortgelijks te doen - om te laten zien dat we een nieuwe versie hebben gemaakt wanneer we naar Buster gaan [noot van de transcriber: volgende versie van Debian]. Een van de dingen die een beetje frustrerend is, is dat toen we van Jessie naar Stretch gingen, niemand het echt merkte. (lacht) Omdat er geen visueel verschil is - ze zien er precies hetzelfde uit. "Oh, we hebben Stretch nu - geweldig. Wat is het verschil? Nou, het ziet er hetzelfde uit."
Max: Misschien kun je wat andere achtergrondfoto's maken?
Simon: De achtergrondfoto's zijn prachtig - ze zijn gemaakt door een kerel hier die veel fotografeert. En ze zijn prachtig. Zodra we ze zagen, gingen Eben en ik zitten, en we keken er doorheen en die ene met de weg - we zeiden dat wordt de achtergrond. En hoeveel ik ook van de foto hou, ik heb hem nu veel gezien. En het is grappig - het is een van de dingen wanneer ik een foto zie van een Raspberry Pi Jam of een Code Club, het is gewoon mijn desktop ontwerp - het is een prachtig ding om te zien dat mensen het gebruiken. Maar ze hebben altijd dezelfde bureaubladfoto. En het is zo van: we hebben een heleboel andere erin gezet, probeer een paar van de andere ... ! Dat is een ander ding dat we misschien opfrissen voor de nieuwe [release]. Ik heb inderdaad iets geschreven om de achtergrond van het bureaublad willekeurig te veranderen bij het opstarten, het was een van de dingen die iemand voorstelde, maar ik werd afgeleid door iets anders nadat ik het af had, dus ik heb het nooit echt aangezet. Dat is een goed punt - ik zal het aanzetten voor het geval mensen het willen. Sommige van de andere foto's zijn prachtig.
Qua uiterlijk en gevoel ben ik er tevreden mee. Het andere waar we naar kijken is dat ik op de eerste dag een lijst van applicaties had die ik standaard in de image wilde hebben. En we zijn nu op het punt gekomen - dingen zoals een office suite, email, een PDF viewer, natuurlijk alle programmeer tools die we hebben, een mooie tekst editor, maar één van de dingen die nog ontbreekt is een multimedia speler in de GUI. En eigenlijk is de reden dat we er nog geen hebben gelanceerd, dat we dezelfde hardware versnelling wilden hebben als we doen voor het afspelen van video in Chromium, etc. Het stond letterlijk sinds dag één op mijn lijst om te doen. We zijn er nu mee bezig - ik kan geen datum beloven waarop het zal verschijnen, maar er wordt aan gewerkt en ik hoop het vrij snel te zien. Het is het enige wat ik voel dat we missen. Het is gebaseerd op VLC.
Max: Dat zou absoluut fantastisch zijn. Het is een van de beste spelers. Er zit geen reclame in.
Simon: Het is een goed product. Het speelt alles af. Ik gebruik het thuis, ik gebruik het op mijn Mac. Het was het voor de hand liggende ding om te gebruiken. Ze waren [al begonnen om hardwareversnelling in de code in te schakelen].
Dat is denk ik de laatste toepassing, die ik echt wilde zien, die we er niet in hebben gezet. De PDF viewer is geupdate, met dat erin, hebben we een feature set die vergelijkbaar is met wat je krijgt uit de doos op Windows of Mac. Dat is waar ik naar toe wilde. Dus de dingen die mensen tegenwoordig verwachten te vinden in een computer. Ik wilde er zeker van zijn dat we dat allemaal hadden. En natuurlijk het andere dat we nu hebben geïntroduceerd met de laatste release is de aanbevolen software toepassing, wat weer iets is wat ik al vrij vroeg wilde doen. Want software toevoegen en verwijderen, als je een ervaren gebruiker bent en je weet hoe je apt moet gebruiken, dat is prima. Ik heb al vrij vroeg een GUI add en remove programma toegevoegd, wat nogal wat werk was om op te ruimen, ik weet niet meer hoe het heet. De UI was een beetje een nachtmerrie toen ik er voor het eerst naar keek. Nogmaals, ik heb naar alle pakketten gekeken die er zijn om het pakket te vinden dat het beste bij ons past qua look en feel, maar [bijna niemand] gebruikt het. Omdat er zo'n groot aantal programma's in zitten, en er is geen informatie over welke de goede zijn, en er is geen informatie over wat ze eigenlijk zouden kunnen doen. En in feite kun je er systeem updates en dingen in doen. Maar nogmaals, niemand gebruikt het daarvoor, iedereen gebruikt de commandoregel. Wat prima is. Maar ik vond dat - vele jaren geleden, voordat ik begon, hadden we de Pi Store en dat soort dingen, en dat is zo'n beetje uitgestorven.
Max: Wat was de reden dat de pi-winkel stierf eigenlijk?
Simon: Ik denk dat mensen het gewoon niet meer steunen. Ik weet niet of er ooit veel op stond. Ik denk dat het werd geleverd door een derde partij, en het werd gewoon niet meer ondersteund. Ik denk niet dat het een bewuste beslissing was...
Max: Het is nooit echt van de grond gekomen...?
Simon: Nee, denk ik. Mensen zijn gewend aan App stores op platformen zoals mobiele toestellen en tegenwoordig ook op de Mac en Windows - en één van de dingen die Eben altijd heeft gezegd, is dat het hele download pakket deels over de desktop gaat, en deels over curatie van software. Over het aanbieden van software waarvan wij denken dat het goed is. En tot nu toe was de enige manier waarop we dat konden doen, alles in een image te stoppen, omdat mensen het anders niet zouden vinden. En dus is het beeld alleen maar groter en groter en groter geworden, omdat mensen ons software aanleveren. En het is geweldig dat mensen ons deze software leveren - ik wil mensen niet ontmoedigen om dat te doen - sommige dingen die we hebben gehad zijn gratis voor onze gebruikers waar andere mensen voor moeten betalen. Het is fantastisch.
Max: Het Wolfram spul...?
Simon: De Wolfram spullen. RealVNC. Dit is commerciële software, die Pi gebruikers gratis krijgen. En we zijn de bedrijven in kwestie erg dankbaar dat ze dit doen. Maar de enige manier waarop we deze software bij de mensen konden krijgen is, "OK we voegen het toe aan het beeld". En de image kruipt nu omhoog - de image is nu 1.75 GB. Het is groot. Ik weet dat veel mensen denken: "Ja, we hebben nu snel breedband. Dus wat maakt het uit." Maar ik kan me herinneren dat het downloaden van een gigabyte me drie of vier uur kostte.
Max: Ook hebben sommige landen waar de Raspberry Pi stichting naar toe wil niet zo'n breedbandverbinding.
Simon: Precies. Dus ik denk dat dat te groot is. De bedoeling van de Aanbevolen Software was om de grootte van het gedownloade beeld te verminderen, het aantal dingen in de menu's te verminderen, gewoon en proberen de dingen een beetje te ontwarren. Waarom nog steeds mensen laten weten, "Hey, er zijn deze geweldige applicaties - ze zijn gratis, het is makkelijk om ze te installeren. Waarom probeer je ze niet eens". Maar zonder iedereen te dwingen ze altijd te downloaden, wat ik altijd een beetje oneerlijk vond: "je moet alles downloaden wat wij zeggen dat je moet downloaden."
Dus ja, ik denk dat dat een goede plek is om te zijn - dat we effectief onze eigen kleine app-winkel hebben met het voordeel dat alle apps gratis zijn.
Max: Het is eigenlijk ook heel belangrijk voor mensen die nieuw zijn. Linux - het werkt een beetje anders dan op Windows. Op Windows download je het installatieprogramma, en start je het. Ik denk dat de manier waarop Linux het doet eigenlijk veel slimmer is, met de pakketbeheerder.
Simon: Het is veel eenvoudiger. apt is geweldig, maar nogmaals een van mijn doelen is, dat mensen geen terminal hoeven te gebruiken. Nogmaals [oude Linux gebruikers gaan]: "Waarom leer je de mensen niet om de terminal te gebruiken?" - Nou, ze zouden geen terminal hoeven te gebruiken, ze zijn niet gewend om een terminal te gebruiken. De terminal is er, als je hem wilt gebruiken, dat is waarom hij op de taakbalk staat, omdat het een nuttig ding is. Maar voor iemand die alleen maar een Mac of Windows PC heeft gezien, is het idee dat ze plotseling dingen moeten gaan intypen om programma's te installeren - nee. Daar kunnen ze later op terugkomen. Een van de ontwerpdoelen was altijd - mensen zouden niet hoeven te zien wat er in een terminal gebeurt. Het moet allemaal gewoon aanwijzen en klikken zijn.
Max: Je wilt gewoon een gemakkelijke onboarding.
Simon: Precies. Het is er allemaal en onder de motorkap, als ze er mee willen spelen. Als je wilt begrijpen hoe een Linux systeem is geconfigureerd, of de X desktop is geconfigureerd, ga dan eens kijken naar mijn applicatie die de config files verandert. Want dat laat je zien, waar de bestanden zijn, wat je moet doen, wat de regels in de bestanden zijn die belangrijk zijn. Ik denk dat mijn C waarschijnlijk niet de beste leerschool ter wereld is, maar als je mijn C kunt lezen, kun je zien - dat is een goede plaats om te beginnen. Dus hoe verander je het systeem lettertype - "oh, er is een functie hier als je het systeem lettertype wilt veranderen - wat doet dat"?
Als je op het punt komt dat je leert programmeren, wil je wat voorbeeldcode lezen. Ik probeer code te schrijven die redelijk leesbaar is. Je kan daar naar kijken en er dan van leren. Het is bijna een hulpmiddel dat mensen helpt om te leren hoe ze een Linux desktop moeten configureren - naast een manier om het op zichzelf te doen.
Max: Een van de dingen die u eerder noemde was Buster, de aankomende Debian release. Wat voor veranderingen verwacht u daarvan in het algemeen en voor de Raspberry Pi in het bijzonder?
Simon: Ik heb niet veel naar Buster gekeken. We hadden een grote verandering toen we van Wheezy naar Jessie gingen, vanwege systemd.
Max: Ik denk dat dat heel belangrijk was voor de opstartsnelheid.
Simon: Ja, de opstartsnelheid maakte een enorm verschil. Ik heb Buster niet grondig bekeken, maar ik ben me niet bewust van zulke grote veranderingen. Buster lijkt onder de motorkap meer evolutionair dan revolutionair te zijn. Ik denk dat met al dit spul - [zoals ik al zei] de meeste mensen de verandering tussen Jessie en Stretch niet hebben opgemerkt. Ik denk niet dat er grote veranderingen zullen zijn vanuit het oogpunt van de gebruiker in Buster. Ik denk dat de veranderingen vooral evolutionair zullen zijn tussen applicaties. Maar ik heb nog niet veel onderzoek gedaan. Om je een idee te geven - Buster zal waarschijnlijk niet bevriezen voor Q1 volgend jaar, het zal waarschijnlijk de stabiele versie worden rond Q2 volgend jaar. Toen we Jessie deden, liepen we behoorlijk ver achter. Ik denk dat onze Jessie-release ongeveer 6 maanden na die van Debian was. Stretch waren we veel dichterbij, ik denk dat we twee maanden na die van Debian waren. En ik wil deze keer in dezelfde [soort van tijdspanne] zitten. Dus ik ga beginnen kijken naar Buster in de eerste helft van het begin van volgend jaar. Ik ga kijken naar wat we moeten porten naar Buster. Vanuit mijn oogpunt is een groot deel van de dingen ervoor zorgen dat het thema nog steeds werkt, ervoor zorgen dat alles er nog steeds goed uitziet, ervoor zorgen dat de configuratie niet veranderd is. Hoewel LXDE niet erg in beweging is, omdat het niet erg actief ontwikkeld wordt, zullen er toch veranderingen zijn. En er komt een nieuwe GTK 3, en ik kan nu al zeggen zonder er naar te kijken dat ik waarschijnlijk een maand bezig zal zijn om alles nog goed te laten werken onder GTK 3. De helft van de functies zullen allemaal veranderd zijn, en er zullen andere dingen zijn ... Ik ben daar al eerder geweest. Ik wil in een positie zijn waarin we vrij snel na Debian, binnen een maand of zo, live kunnen gaan met onze eigen versie van Buster. We hebben nu de ervaring om dat een paar keer te doen, dus we weten hoe het gaat. Dus ja, hopelijk doen we Buster relatief snel na Debian volgend jaar.
Max: We hadden het over consistentie, we hadden het over een gemakkelijke manier om toegang te krijgen tot pakketten, gecureerde pakketten, voor het leveren van een goede set standaardpakketten. Wat ontbreekt er volgens jou nog in een moderne Linux desktop omgeving?
Simon: Een ander ding om te vermelden is natuurlijk de Startup Wizard. Het was iets wat we wilden doen om het proces van het voor de eerste keer aanzetten een beetje gemakkelijker te maken voor mensen om zich in te stellen.
Max: Ik geloof dat je een link hebt om de aanbevolen applicaties te starten aan het einde van de Startup Wizard?
Simon: Op dit moment hebben we dat niet, maar het was iets wat we overwogen te doen. De Startup Wizard was een interessant ding om te doen, omdat het eigenlijk voortkwam uit de eis om een land in te stellen voor WiFi. Voor 5 GHz. We konden onze draadloze hardware niet certificeren zonder dit - je moet de gebruiker dwingen een WiFi-land te selecteren als je een WiFi-certificatie wilt krijgen. En we speelden met verschillende manieren om dit te doen. Geen van hen was bijzonder ideaal vanuit het oogpunt van de gebruiker. En we hebben ook dingen zoals - veel Pi-gebruikers veranderen nooit het wachtwoord. We hebben de laatste jaren verschillende dingen gedaan om de veiligheid te verhogen - zodat er geen gapend open gat in de Pi is, waardoor mensen niet kunnen SSH-en met een standaardwachtwoord, enz. Het ergert me dat we dat moeten doen. Het ergert me dat mensen criminele dingen willen doen, maar zo is het leven. In een ideale wereld hadden we dit niet hoeven doen. Het is een schande dat we het moeten doen. We hebben altijd geprobeerd een evenwicht te vinden tussen de gebruikers niet te veel van streek maken door de beveiliging te hinderlijk te maken en ook niet de mogelijkheid te hebben dat de Pis van mensen wordt overgenomen en voor kwaadwillige doeleinden wordt gebruikt. Ik denk dat telkens we een verandering hebben doorgevoerd, ik de commentaren op de forums nadien nauwlettend in het oog heb gehouden. En zolang de helft van hen zegt "je bent te ver gegaan", en de andere helft zegt "je bent niet ver genoeg gegaan", dan hebben we het juiste gedaan. Want ze zullen nooit allemaal zeggen "hé, je hebt precies het juiste gedaan." Je gaat nooit iedereen tevreden houden, zeker niet met dingen zoals beveiliging. Dus we wilden proberen een manier te vinden om - opnieuw zonder het door de strot van de mensen te duwen - "Wilt u uw wachtwoord veranderen." Dit is iets wat iemand anders had voorgesteld.
Ik was aan het spelen met de Linux lokalisatie code - manieren om het toetsenbord in te stellen en dat soort dingen. Nogmaals, dat is enorm ingewikkeld voor een gebruiker, een gebruiker die zoiets nog niet eerder heeft gezien. En ik begon te denken, misschien kunnen we gewoon veel van deze dingen combineren op één plaats. De Startup Wizard is daar een beetje uit gegroeid. Het eerste deel was mijn zoektocht naar, "OK, wat is het minimum aantal dingen die ik van een gebruiker kan vragen om in te stellen, wat betekent dat ze aan het eind van de dag werkende WiFi hebben, ze hebben de juiste taal, hun toetsenbord is in orde, dat soort dingen. En wat is het minimum aantal controls dat ik ze kan geven om dat te doen." Het resultaat is iets dat in sommige opzichten nogal beperkend is - en ik wist dat we hierover klachten zouden krijgen - [bijvoorbeeld als] ik in Japan ben maar mijn Pi in het Engels wil gebruiken, en dat kan ik niet. Ik weet dat het niet kan, maar ik zei van tevoren - en we hebben geen van de oude configuratiehulpmiddelen weggehaald, ze zijn er allemaal nog - maar nogmaals, dit is voor de meerderheid van de gebruikers die een eenvoudig gebruikscasus hebben, ze zeggen nu gewoon: "Ik ben in dit land, ik gebruik mijn Pi in deze taal die ze in dit land gebruiken en mijn tijdzone is deze stad in dit land." En ze hoeven niet de enorme wirwar van andere dingen te zien, waar ze anders doorheen zouden moeten waden.
Ik heb er dingen in verkeerd - een amusant ding dat gebeurde: er is geen geautomatiseerde mapping in Linux tussen land en toetsenbord code. Veel toetsenborden gebruiken gewoon de landcode als hun naam, veel ook niet. En ik had niet gemerkt hoe wijdverbreid het probleem was dat er geen één-op-één koppeling was. Dus toen we dit lanceerden, wist ik dit voor het eerst toen iemand in Argentinië klaagde dat hij nu op zijn toetsenbord aan het typen was en dat het er in het Arabisch uitkwam. En ik ging er naar kijken, en zag dat "OK, je hebt helemaal gelijk - omdat Argentinië een landcode heeft van AR, is er geen AR-toetsenbord, er is een ARA-toetsenbord dat wordt gebruikt door elk land in het Midden-Oosten. OK, dat moeten we oplossen." Iemand wees me erop dat er geen database is in Debian zelf, de enige plaats waar er een database voor is, is in het Debian installatieprogramma. Iemand wees me er behulpzaam op. Dat is waar ik vorige week mee bezig ben geweest, om die database op te halen [en toe te voegen]. Dus, toetsenborden in de volgende release zouden nauwkeuriger moeten zijn. Dat soort dingen ontdek je pas echt als je het ding uitbrengt en tienduizenden mensen over de hele wereld het gaan gebruiken, en beginnen te vertellen over de problemen die ze hebben. Met dit alles wist ik dat er geen manier is om het uit te brengen en het de eerste keer perfect te hebben. In dit soort gevallen is het erg handig om de foutrapporten terug te krijgen. Ze helpen je de stukjes te zien die je gemist hebt.
We zijn duidelijk in het Verenigd Koninkrijk. Ik kan de Duitse vertalingen van dingen niet testen. Omdat ik geen Duits kan lezen, nou ja ik kan Frans lezen, ik kan wat Duits lezen. Lokalisatie in Linux is eigenlijk een groot probleem - aangezien je vroeg naar problemen. Niet dat ik denk dat ik het kan oplossen, maar ik denk dat ik tweaks kan maken om het beter te maken. Ondersteuning voor lokalisatie is niet zo goed als het zou moeten zijn. Ik zal je een ander voorbeeld geven. Er is een applicatie genaamd Zenity. En Zenity wordt gebruikt om GTK dialogen te maken van shell scripts. Je kunt zeggen "maak me een wachtwoord dialoog, of maak me een listbox of zoiets." En Zenity zal dan een controle maken waar de gebruiker mee kan werken in GTK, dus het komt overeen met dingen. En we gebruiken dit voor een paar dingen. Het viel me op dat in sommige van deze Zenity dialogen, ik het systeem op Duits had gezet, en de helft van de tekst in het Zenity dialoogvenster veranderde in Duits, en de andere helft bleef in het Engels. Ik ging door Zenity's lokalisaties databases, en er waren Duitse vertalingen en Franse vertalingen voor alle strings daar. Ik kon er niet achter komen waarom dingen niet vertaald werden, dus ben ik een paar uur door de code gegaan. En het bleek dat in de versie van Zenity die met Stretch geleverd wordt, de helft van de vertaalde strings kapot zijn. Dus de code zal de strings nooit goed vertalen.
Max: Hoe komt het dat ze kapot zijn?
Simon: Ik denk dat wat er gebeurd was, was dat mensen geprobeerd hadden van het ene systeem over te stappen op een ander systeem en dat ze halverwege waren. Maar niemand had het gemerkt. Het lijkt me vreemd dat er op geen enkel moment een Duitse pi-gebruiker naar me toe kwam en zei: "Nou, wacht eens even: waarom is maar de helft van de spullen in de doos in het Engels en de andere helft in het Duits?"
Max: Ik denk dat gebruikers gewend zijn dat de computer niet werkt.
Simon: Dat is precies het punt. Zeker met Linux - ik heb een collega naast me zitten die een door de wol geverfde Linux liefhebber is, hij zou nog geen Mac of Windows machine aanraken als je hem ertoe dwong - hij is deels Oekraïner en hij test heel vaak in verschillende talen. Ik zei, "is het je ooit opgevallen dat de helft van de tekst in deze dialoogvensters in het Oekraïens is en de andere helft in het Engels?" En hij zei: "nou, dat is gewoon de manier waarop het werkt." En ik zei: "Nee, dat zou niet zo moeten zijn!" Dat is nu opgelost. In de laatste versie van Zenity, heeft iemand gemerkt dat dit kapot is. Dus nu leveren we de buster versie van Zenity bovenop Stretch. We hebben een backport gedaan om het te laten werken. Maar het zijn dat soort dingen. Lokalisatie is heel makkelijk fout te gaan. Soms dienen mensen pull requests in op onze code. Als mensen pull requests indienen voor bug fixes en dat soort dingen, ben ik erg blij om ze te accepteren. Wanneer mensen creatief zijn en beslissen, ik ga dit nieuw ding voor jou schrijven - dan zal ik steevast [ontdekken] dat ze de localisatie-ondersteuning er niet in gestopt hebben, en dat soort dingen. Omdat ze er niet aan denken om het te doen. Ze doen het gewoon in hun eigen taal. De mensen die nagedacht hebben over de lokalisatie ondersteuning in Linux - het is eigenlijk een vrij goed systeem, het werkt zeer goed. En er zijn veel hulpmiddelen om je te helpen het goed te doen. Maar nogmaals, zoals je zegt - mensen hebben niet de neiging om te klagen als het niet werkt. Ze accepteren gewoon, "nou dit werkt niet". Er is geen reden waarom het niet goed zou werken - omdat [Linux] een manier heeft om het te doen. Dus dat is een van de dingen die ik in de toekomst beter zou willen zien. We proberen [hier] verbeteringen aan te brengen. Ik denk dat Pi al heel goed werkt in het Engels. Het ergert me als ik naar ons menu kijk - ik schakel het soms naar andere talen om te testen - driekwart ervan is vertaald in het Duits of Frans, en er zijn dingen - vier of vijf dingen - die dat duidelijk niet zijn. Dat komt op mij over als - dat is vervelend en ik zou willen dat het beter gedaan werd. Er zijn een aantal geautomatiseerde websites die je helpen om vertalingen te maken, en mensen wezen me erop dat je gewoon je code daar zet, en mensen komen langs en vertalen het gratis. Ik zou graag zoiets opzetten. Het staat op de lijst van dingen die ik moet doen ....
Max... maar je moet je prioriteiten in evenwicht brengen.
Simon: Precies. Maar ik denk dat in termen van de Linux desktop, de internationalisatie ondersteuning, het zou leuk zijn als het beter zou zijn. Wij als bedrijf kunnen niet naar buiten gaan en al deze dingen laten vertalen. We vertrouwen op gebruikers om ons vertalingen te bezorgen. En het mechanisme waarmee gebruikers ons vertalingen kunnen leveren is op dit moment onhandig - het gaat om pull requests in GitHub. Een relatief klein aantal mensen zijn in staat om dat te doen, terwijl een relatief groot aantal mensen in staat zijn om een van onze applicaties te vertalen in een andere taal. Dus dat is iets wat ik graag beter zou willen doen in de toekomst.
Over het algemeen denk ik dat de Linux desktop die we verschepen vrij goed is, ik denk dat we ongeveer zijn waar ik wil zijn. Er zijn geen grote veranderingen die ik in dit stadium wil maken, ik denk dat de meeste dingen waar ik op dag één naar keek en [noteerde als] slecht, [nu opgelost zijn].
Max: Je hebt een gevoel van prestatie, ...
Simon: Eén van de dingen die ik graag doe is een kaart inbrengen met Wheezy zoals het was op dag één, en één zoals we het nu hebben - en - dat is een andere computer. En, ja, ik voel me er erg trots op. In termen van mijn carrière, is de Desktop het ding waar ik het meest trots op ben, omdat 95 % ervan mijn eigen werk is. Ik kan er echt naar kijken en zeggen: Ik heb het ontwerp gedaan, ik heb de implementatie gedaan, ik heb de code geschreven, ik heb de pakketten gebouwd. Ik werk samen met een collega, die veel van de images maakt, en wat van het onderliggende Linux spul, en ik werk met een grafisch ontwerper die wat icoontjes ontwerpt. Maar ik heb het gevoel, de Desktop is mijn baby, dit is het ding dat ik gemaakt heb. En ik ben er echt trots op - ik heb het gevoel dat ik [het recht] heb om dat te zijn - ik heb het gevoel dat de ervaring in het gebruik van een Pi nu vergelijkbaar is met het gebruik van een Windows machine of een Mac, en dat is waar we wilden zijn.
Max: Dat is belangrijk om de Pi vriendelijker en toegankelijker te maken, als een platform voor iedereen.
Simon: Precies. Eben heeft altijd gezegd dat hij wil dat de Pi een computer voor algemeen gebruik wordt. En de desktop is daar een belangrijk deel van. We zijn nu op het punt waar de desktop het niet zal tegenhouden om een computer voor algemeen gebruik te zijn. En ik denk dat LXDE, vier jaar geleden, voor sommige mensen een drempel zou hebben opgeworpen. De desktop is waar ik het meest trots op ben dat ik die bereikt heb - en dat is een goede plek om te zijn.
Max: Hoe krijg je eigenlijk inspiratie voor het werk dat je doet? Gevoelens, ideeën, ...
Simon: Inspiratie komt meestal doordat ik naar iets kijk en denk: "God, dat is echt irritant. Ik moet het beter kunnen doen. "Het is niet zozeer positieve inspiratie, het is frustratie over stukjes die niet zo goed werken als ze zouden kunnen. Het klinkt als een zeer negatieve manier om het te bekijken. Maar..: Ik zit en denk, "Oh God, is dat echt de beste manier om dat te doen?" Dan ga ik zitten en denk, ik zou dit kunnen doen, ik zou dat kunnen doen.
Ik heb niet de neiging om te kijken naar hoe andere dingen dingen doen. Ik kijk naar - wat is de kortste reeks bewegingen die ik kan doen om te komen tot het punt waar ik wil zijn? Wat is het minste aantal dingen die ik de gebruiker wil laten doen, om te bereiken wat hij wil doen. En dat is een beetje wat je wilt doen.
Max: Snijden uit, in plaats van toe te voegen ...
Simon: Ja, het is dingen weghalen in plaats van stappen toevoegen. Vele jaren geleden heb ik wat werk gedaan op het gebied van telefoon gebruikers interface ontwerp. Eigenlijk was het voor Microsoft. Ik werkte voor een contract R&D bedrijf, en we werkten aan de eerste videotelefoon die op de markt zou komen. Ik ging naar Microsoft's GUI design team in Seattle - het was 1999 of zo, en Microsoft werd niet beschouwd als vooruitstrevend in termen van UI design. Als je een voorbeeld wilt van een slecht ontwerp, gebruik je een van Microsoft's, in plaats van Apple's, die goed waren. Natuurlijk zijn ze tegenwoordig een stuk beter. En ze hadden een lijst met richtlijnen voor UI design. Het verbijsterde me - omdat het zulke goede richtlijnen waren voor hoe een UI te ontwerpen - en Microsoft produceerde zulke slechte UI's. "Jullie hebben deze briljante richtlijnen, wat gaat er in godsnaam mis tussen deze richtlijnen en het eindproduct?"
Maar een van de belangrijkste dingen, die me is bijgebleven en waaraan ik me tegenwoordig houd, is dat - laat ik het goed zeggen - "de gebruiker opties bieden geen substituut is voor het nemen van de juiste beslissing vooraf".
Het is erg makkelijk om te zeggen: "Ik weet niet of we het zo of zo moeten doen, dus laten we er een vakje voor zetten en de gebruiker laten kiezen." Ik heb dit vaak gezien, inderdaad in mijn vorige carrière in UI design, toen ik werkte voor contract R&D, was er altijd die neiging, "oh wel, we weten niet wat de gebruiker hier gaat willen doen, dus laten we hen de keuze geven. Laten we het hier aanpasbaar maken, zodat ze kunnen doen wat ze willen." Mijn voorbeeld is altijd de CD-speler. Toen CD-spelers voor het eerst uitkwamen, kon je programmeren welke tracks je wilde afspelen. Bijvoorbeeld eerst track 1, dan track 5 en dan track 3, en dan track 4. En iedereen deed dit de eerste twintig minuten dat ze een CD-speler hadden. En ze raakten hem nooit meer aan. Als je [vandaag] een CD-speler koopt - op de laatste drie of vier CD-spelers die ik heb gehad, kun je ze niet meer programmeren, omdat ze zich realiseerden dat niemand dat wilde doen. Ze gaven gebruikers deze functionaliteit die een klein aantal gebruikers ooit gebruikte, maar het was er voor iedereen. Het is net zoiets - als ik het van tevoren goed doe, hoef ik die beslissing niet aan gebruikers uit te stellen omdat ik de beslissing niet kan nemen. Een van de aspecten van UI ontwerp dat belangrijk is, is de moed hebben om te gaan: Ik denk dat dit de manier is waarop je het doet. Ik denk dat dit de manier is die het beste is voor iedereen. En je zult nooit elke keer gelijk hebben. En je moet accepteren dat je soms zulke slechte feedback krijgt van de gebruikers dat je denkt: OK, dat was verkeerd, ik had het op een andere manier moeten doen.
En het is een paar keer gebeurd op de Pi. Ik heb de klokinstellingen verwijderd. "Je hebt de klok instellingen weggehaald!!!" "OK, ik zal ze terug zetten." Het is proberen om jezelf in de mindset te plaatsen, van OK, waar gebruikt een gemiddeld persoon dit voor, wat willen ze eigenlijk doen, wat proberen ze eigenlijk te bereiken, waar willen ze naar toe. Hoe kan ik ze helpen daar te komen, zonder ze met veel beslissingen op te zadelen. Hoe wil je dat doen? Wil je dit of dat doen? Ze geven niet om dit tussenliggende ding, ze willen hier zijn. En het gaat erom hoe ze daar komen. Hoe krijg ik ze daar zo snel mogelijk? Dat is zo'n beetje de prioriteit waar het om gaat - het gaat erom, laten we de juiste beslissing voor je nemen, in plaats van de gebruikers zelf de beslissing te laten nemen. Het klinkt een beetje dictatoriaal, het is als "Ik weet wat het beste is voor jou.", maar aan de andere kant, dat is waar het bij usability design om gaat - het gaat om een gevoel te hebben voor wat het beste is voor mensen.
Max: Zodat dingen intuïtief werken zonder dat de gebruiker veel tijd moet investeren om te leren hoe het ding werkt.
Simon: Ja. Om een beetje te praten over de theorie van UI design, er zijn verschillende tekstboeken over UI design, maar de beste heet "De psychologie van alledaagse dingen", die nu denk ik een andere naam heeft gekregen. Als iemand UI design wil leren, is "The psychology of everyday things" het enige boek dat je moet lezen.
Max: Het heeft een theepot met een handvat in de verkeerde richting op de cover?
Simon: Dat is hem, dat is het boek. Een van de dingen die het uitlegt, is dat je in je hersenen een kaart maakt van hoe iets werkt. En zolang de mentale kaart overeenkomt met het ding voor je, en ze gedragen zich op dezelfde manier, dan kun je het intuïtief gebruiken. En in sommige gevallen is het net zo simpel als een echte kaart. Als ik vanaf hier naar links ga, wil ik het scherm naar links zien verschuiven. Ik wil niet op de linkerknop drukken, en dat het scherm plotseling omhoog schuift. Het zijn dat soort dingen. Het is de dingen in je hoofd laten werken als de computer, en het ding op de computer laten werken als het ding in de echte wereld. En als je dat kunt, dan worden dingen intuïtief. Het is dingen laten werken zoals gebruikers verwachten dat ze werken. En tegenwoordig begrijpen gebruikers het paradigma van computers. Ze begrijpen, ik beweeg een muis om de cursor te verplaatsen, ik druk op een knop. Dat hoef je mensen niet te leren, terwijl dertig jaar geleden niemand dat zou hebben geweten. Dat stukje is ingeburgerd, dus ga daar niet onnodig mee rommelen, want dat helpt niet. Probeer gewoon consequent te zijn. Als je een knop op het venster hebt, laat het er dan uitzien als een knop. Dit is waar Apple volgens mij de fout inging met een van hun laatste iOS herontwerpen, ze probeerden het scherm er mooier uit te laten zien, en in het proces haalden ze alle knoppen weg. Dus nu heb je alleen nog maar woorden. Nu heeft iedereen geleerd, dat een knop er net zo uitziet als een woord. Maar toen ze het voor het eerst deden, waren de mensen van: "Waar zijn alle knoppen gebleven?". Je kunt de eenvoud van het ontwerp waarderen, omdat ze er mooi uitzien, maar vanuit het oogpunt van bruikbaarheid was het geen goed idee.
Max: Er is geen hint meer dat dit knoppen zijn.
Simon: Precies. Het zijn dat soort dingen - als iets een knop is, laat het er dan uitzien als een knop. Laat het niet op iets anders lijken. Je doet wat de mensen verwachten. En natuurlijk kun je het tegenovergestelde doen. Je doet dingen die mensen niet verwachten. En als je dingen doet die mensen niet verwachten, vallen ze op. Dus als je iemands aandacht op iets wilt vestigen, doe dan iets wat ze niet verwachten. Het voor de hand liggende voorbeeld daarvan is het oproepen van een dialoogvenster - je hebt het scherm veranderd, dat zullen ze moeten opmerken. Het is werken met de verwachtingen van de gebruiker over wat er gaat gebeuren en je kunt dat gebruiken om hen op hun gemak en vertrouwd te laten voelen, of je kunt het gebruiken om hun aandacht te vestigen op iets [dat je wilt dat ze kunnen] weten. De psychologie erachter vind ik heel interessant. Ik denk dat dit is waar veel Linux programmeurs niet in die termen denken.
Max: Ik denk dat het er vooral om gaat iets te doen wat werkt.
Simon: Precies, ja. Het is bijna dat het werkt op de mentale kaart die ze hebben. Maar de mentale kaart die ze hebben zit niet in de hoofden van de gebruikers. Dus het feit dat het logisch is voor hen, omdat dat is hoe de database erachter werkt - dat is een beetje het probleem. De database beheren is mijn probleem, dat moet ik doen. De gebruikers zouden zich daar geen zorgen over hoeven te maken. Ik moet de database aan de gebruikers presenteren op een manier die zinvol is voor hun model van de werkelijkheid, in plaats van het computermodel van de dingen erin.
Max: Ik weet wat je bedoelt, juist. Soms zijn er toepassingen waarbij je verschillende stappen neemt, de ene na de andere, maar ze zetten alle stappen in één dialoog. Je raakt in de war.
Simon: Wanneer je software ontwikkelt, begin je met alles op het scherm te gooien - ik moet dit ding doen, ik moet [dat] ding doen, ik moet [dat] ding doen. Je gooit het op het scherm. En wat je dan moet doen is teruggaan en er nog eens naar kijken, en zeggen: "OK, is dat de beste manier waarop ik dat kan doen? Is dat de meest makkelijke manier om het te doen? Nee natuurlijk niet - je hoeft dat niet te gebruiken, ik kan deze knop verbergen omdat niemand dat ooit hoeft te zien." En ik denk dat bij veel Linux-ontwikkelaars ze op het punt komen waar alles op het scherm werkt en klaar is. En ze doen niet de laatste stap - van, hoe kan ik dit oppoetsen zodat het er leuk uitziet voor de gebruikers.
Max: Dat is wat mensen opvalt aan Linux - het is ruiger.
Simon: Precies. Het krijgt niet de poetsbeurt. En ik ben aan het polijsten. Dat is eigenlijk mijn werk - er zijn dingen die ik vanaf het begin heb geschreven. Maar, zoals ik al eerder zei, zonder de schrijvers van LXDE had ik niets gehad om mee te werken, dus alle lof voor wat ze gedaan hebben, en hun werk is fantastisch. Maar sommige dingen hadden gewoon niet die 5 % aan glans. Dat is wat er nodig is om dit van een goed stuk software naar een geweldige gebruikerservaring te brengen.
Max: Volgens het Pareto principe kosten deze 5 % in werkelijkheid 80 % van de tijd ...
Simon: Het kan veel tijd in beslag nemen, maar ja...
Max: Wat is eigenlijk de meest verrassende feedback die je ooit van gebruikers hebt gekregen?
Simon: Verrassende feedback ... Ik denk dat de dingen waar ik verbaasd over ben is wanneer mensen ongelooflijk complimenteus zijn. Ik denk, omdat zo nu en dan iemand iets zegt als, weet je - er zijn op dit moment een paar blog commentaren over, hoe fantastisch de Desktop is [geworden], hoe het een echte computer is geworden, dit zou de standaard voor computergebruik moeten zijn, ... het is wanneer mensen dat soort dingen zeggen, dat me verbaast. Omdat ik denk dat wat ik doe goed is, maar aan het eind van de dag ben ik een kerel die op kantoor zit met een computer, die vier jaar geleden nog nooit Linux gebruikte.
Max: Wat misschien een voordeel is.
Simon: Ja! Ik heb nog niet geaccepteerd dat het allemaal kapot is. Er moet een manier zijn om het beter te maken. En ik denk dat dat soort feedback nog steeds verrassend is voor mij. De feedback die me niet verbaast is als ik iets verander en mensen zeggen: "Nee, dat had je niet moeten doen". Mensen zijn erg resistent tegen verandering. En soms denk ik dat dat terecht is. Soms - opnieuw is het deze ervaring van het niet kennen van de manier waarop Linux dit doet, maar ik zal zeggen: "Eigenlijk is het niet goed wat we doen, we moeten het zo doen, zeker." En dan kom je erachter dat iedereen gewend is geraakt aan de manier waarop Linux het doet, en dus is veranderen, ook al is het op deze manier misschien beter, niet het juiste ding om te doen.
Max: Er is een vooroordeel wanneer je feedback krijgt in de forums - het zijn meer je betrokken gebruikers, het zijn niet de gewone kinderen.
Simon: Precies. Als de feedback heel erg positief is, komt het meestal van de nieuwe gebruikers, denk ik.
Ik ben voor afschuwelijke dingen uitgemaakt, niet op onze forums. Toen we de Pixel lanceerden - toen we het voor het eerst Pixel noemden [de transcribent: de Raspbian Desktop], was dat op de forums van de Register (het is een tech website). De commentaren daar waren vrij uitgesproken. En een van hen heeft me hard aangepakt, in termen van - ik denk dat hij me een halvegare noemde.
Max: Halve gare?
Simon: Halve gare is een vrij standaard scheldwoord, hij maakte het wat computernuzer door mij halve gare te noemen. Hij legde uit dat "het geven van een hele naam aan wat een herschildering van LXDE is, mijn rol buiten alle proporties opblies. Het had zo lang geduurd om zo weinig te doen." Je weet wel. Tot op zekere hoogte kan ik zijn punt zien - als je van LXDE naar Pixel keek, was de fundamentele functionaliteit precies hetzelfde. Maar wat ik had gedaan, is dat ik het had opgepoetst. En het oppoetsen maakt een groot verschil. Maar niet voor hem, want - ik denk dat hij de opmerking maakte: "Het enige doel van het bureaublad is om iets te hebben om op je terminalvensters te zetten." Je bent echt niet mijn doelmarkt, zegt hij: "waarom heb je een grote taakbalk bovenaan gezet? Dat neemt een deel van de ruimte in waar ik terminalvensters had kunnen zetten." U bent echt niet mijn doelgroep hier. Dit is niet voor u. Als je een groot scherm met terminalvensters wilt, zijn er veel andere plaatsen in de Linux-wereld waar je dat kunt krijgen, kom dan niet hier. Je gaat niet iedereen gelukkig maken met wat je doet. Maar het is wanneer je feedback ziet van mensen die eigenlijk duidelijk begrijpen wat je probeert te doen, en het duidelijk echt waarderen [het]. Het is wanneer je dankbaarheid ziet en een niveau van begrip voor wat je aan het doen bent. In tegenstelling tot mensen die duidelijk niet begrijpen wat je probeert te doen. Niet begrijpen hoeveel werk er in sommige gevallen in is gaan zitten. Omdat je niet doet wat zij willen. Het zijn die berichten die je krijgt als mensen zeggen: "Je hebt dit zoveel leuker gemaakt om te gebruiken dan het eerst was. En alle veranderingen zijn positief." Het is wanneer je die krijgt, dat je voelt dat wat je doet de moeite waard is. En nogmaals, ik ben niet perfect, ik maak fouten. Dingen komen uit met bugs, dingen komen uit met bruikbaarheid beslissingen die misschien niet perfect zijn. Maar we proberen allemaal om dit een zo goed mogelijk product te maken. De Desktop is mijn baby, ik wil dat het zo goed mogelijk is, dat is waar ik op dit moment voor leef, in principe. Het is de meest lonende baan die ik heb gehad in 25 jaar engineering.
Max: Dat is eigenlijk prachtig, om op een plek te zijn waar je gelukkig bent om te doen wat je doet.
Simon: Ik heb - voor ik hier was, heb ik negen jaar een baan gehad waar ik mezelf elke ochtend uit bed moest slepen om naar binnen te gaan, omdat ik verafschuwde wat ik aan het doen was. En hier sta ik elke ochtend enthousiast op om naar kantoor te gaan om te doen wat ik ga doen. Ik was bijna vergeten dat je zo'n baan kon hebben. Ik dacht dat dat niet zou gebeuren. Ik kom echt elke morgen binnen en ik geniet van wat ik doe. En ik denk dat dat veel helpt, want ik geef om het product. Dit product is bijna een verlengstuk van mij. Dit is het besturingssysteem dat ik - zelfs op een puur egoïstisch niveau - dit is het besturingssysteem dat ik wil gebruiken. Toen ik begon bij Pi deed ik al mijn werk op de Mac. Ik schreef code op de Mac, ik downloadde het naar de Pi. Nu doe ik al mijn werk op de Pi. Ik gebruik mijn Mac voor e-mail en surfen op het web, en dat is het wel zo'n beetje. Ik gebruik Geany op de Pi voor al het code ontwikkelwerk, ik zit te typen op mijn Pi ...
Max: Gebruikt u Model 3 B+?
Simon: Oh ja, het is de snelste. Maar ja, en net zo met de x86 versie - dat is het besturingssysteem dat Eben op zijn Mac draait, en dat soort inkopen zijn echt leuk.
Het is niet zozeer een feedback ding ... het is wanneer ik foto's of video's zie van mensen in Afrika, en ze hebben een klaslokaal opgezet met Pi's en iedereen draait mijn desktop. Het is verbazingwekkend om te zien dat het ding dat ik heb ontworpen op al deze plaatsen wordt gebruikt.
Ik heb veel UI-ontwerpen gemaakt in de eerste tien jaar van mijn carrière in contract R&D, maar dat was allemaal voor vrij gespecialiseerde producten. Dus je zag ze nooit echt gebruikt worden in de echte wereld. Maar met dit ... Eben gaat naar CNN of ergens, en ze hadden Pi's op de schermen aan de muur. Hij neemt graag foto's van plaatsen waar hij de desktop gebruikt ziet worden. Hij brengt ze terug en zegt: "Kijk hier eens, ze gebruiken het hier".
Het is nog steeds een sensatie om het te zien. Mezelf knijpen, of ik droom, dat deze mensen het ding gebruiken dat ik ontworpen heb. Het is een ongelooflijk gevoel. Het maakt het de moeite waard, zelfs als ik het niet leuk vond om te doen - wat ik wel doe.
Max: Nu we het toch over de x86 versie hebben, wat zijn de plannen daarvoor? Bent u van plan om een soort alternatieve Linux distributie te maken die iedereen kan gebruiken?
Simon: We zullen doorgaan met x86-versies zoveel mogelijk synchroon te laten lopen met Raspbian-versies. We houden de twee producten zo gelijk mogelijk vanuit het oogpunt van de gebruiker. Het belangrijkste verschil tussen de twee is dat er een aantal vrije applicaties zijn die we op de Pi hebben, die we niet op x86 kunnen hebben. Ik denk niet dat het een kwestie is van plannen hebben als zodanig. Nogmaals, je krijgt mensen die zeggen dat het wat hen betreft de beste desktop / de beste Linux distributie is. Ik ben niet van plan om het op te nemen tegen Ubuntu of Debian of wat dan ook. Het is proberen om dingen mooier te maken, en als mensen ook een mooiere ervaring op hun laptop willen hebben als op hun Pi, dan is dat absoluut geweldig. We zijn van plan om het te blijven produceren, het is nu een vrij geautomatiseerd proces om x86 builds te produceren naast de ARM builds, dus ja, we gaan het daar blijven uitbrengen. De bedoeling was om mensen met minder krachtige - omdat het gebaseerd is op Debian - het was de bedoeling om mensen met minder krachtige oude computers in staat te stellen om het te gebruiken. Ik denk dat het tegenwoordig een fatsoenlijke Linux-distributie op zich is. Nogmaals, het is Debian met onze skin er overheen - begrijp me niet verkeerd, het is niet allemaal ons werk, het is vooral Debian, met de polish er overheen.
Max: Heb je cijfers hoe ver het zich heeft verspreid?
Simon: We hebben waarschijnlijk download nummers voor hoeveel exemplaren werden gedownload. Ik denk dat in termen van Pi desktop gebruikers het waarschijnlijk 95 % Raspbian is. Wat betreft de x86 versies - we hebben het uitgebracht als een experiment. Het was bijna een grap, omdat Eben en ik in het kantoor zaten te praten. We kwamen op het punt waar we heel tevreden waren met de manier waarop de desktop ging. En hij zei: "Zou het niet geweldig zijn, als ik dit op mijn laptop kon krijgen? Ik wil dit op mijn laptop." En ik begon erover na te denken. Ik ging naar huis, en ik verveelde me op een zaterdag thuis. En ik dacht, ik vraag me af of we dat kunnen doen. Er moet een LXDE versie van Debian zijn, en ik heb de LXDE versie van Debian gedownload. Daarna heb ik ongeveer twee uur geprobeerd om persistence aan de praat te krijgen. Ik heb een image gemaakt dat zou booten op mijn Mac thuis, met persistence gebaseerd op de LXDE image. En ik kreeg dat werkend, en ik dacht, laten we eens kijken wat ik kan doen. Ik denk dat ik tegen de avond de Raspberry Pi desktop had draaien op die USB stick. Ik bracht het binnen, Eben was op een conferentie in het weekend en hij kwam op maandag, en ik zei tegen hem: "kijk hier eens naar". Ik plugde de USB stick in mijn Mac, en startte het op naar de desktop. En hij zei: "Wow, het is je gelukt. Ga je het versturen, dan?" Ik zei: "Als jij denkt dat we dat moeten doen."
Het kwam letterlijk voort uit een spontane opmerking van Eben, en ik verveelde me thuis, en dacht: hoe moeilijk kan het zijn, ik zal het eens proberen. Het bleek dat het eigenlijk niet zo moeilijk was.
Max: Het is eigenlijk interessant dat zo'n groot ding - je zult denken dat het veel tijd zal kosten, maar dat doet het niet, maar andere dingen - zoals de qPDF ...
Simon: Ja, het duurt eeuwen. Het enige dat zo lang duurde bij de x86 image was het proberen om er een te krijgen die op zoveel mogelijk platformen bootte, omdat we veel problemen hebben met bepaalde modellen van Macs. We hadden twee moeilijke platformen: mijn Mac mini thuis, en Eben's MacBook. En we wilden dat het op allebei zou werken. Mijn Mac op kantoor, dat was een andere generatie van MacBook - alles werkte er op, elke image zou er op opstarten. Maar het kostte ons eeuwen om te prutsen met de low-level Debian BIOS en imaging, en we hebben daar een paar weken mee gespeeld. Veel daarvan deed ik thuis in het weekend, meerdere dingen proberen in termen van de creatie van het Debian image. Om het te laten booten. Uiteindelijk vonden we een manier om een image te maken dat zowel op mijn Mac thuis, als op Eben's Macbook kon booten. Dat is degene die we verschepen, omdat het werkt op de twee referentie gevallen. Ik denk dat we problemen hadden omdat Debian eigenlijk de live image en de installeerbare image splitste - dat waren twee verschillende dingen. En de installeerbare image werkte op veel meer platformen dan de live image deed. Maar wij waren in die tijd gebaseerd op de live image. Dus moesten we die twee samenbrengen, om iets te hebben dat zowel installeerbaar als bootbaar was op zo veel mogelijk dingen. En dat was het moeilijke eraan, in theorie hadden we dat niet hoeven te doen - Debian had dat al voor ons moeten doen. Maar onze desktop erop krijgen was een relatief snel proces. Het proces was binnen een dag opgestart.
Max: Je hebt er alles in, zoals de tovenaar ook?
Simon: De versie die we net hebben uitgebracht heeft alles - de opstart wizard, de voorkeurs apps, het enige verschil zijn zoals ik al zei dingen zoals Mathematica, die we niet kunnen verzenden. Al het andere zou wel - elke GUI verandering die we maken aan de ARM versie ...
Max: Dat is ook automatisch. Een ding dat ik je wilde vragen is over de pakket updates, omdat dat iets is wat sommige gebruikers niet weten hoe te doen. Zijn er plannen om automatische pakket updates te doen? Beveiliging in het bijzonder.
Simon: Er zit een automatisch updateprogramma in de wizard. De eerste keer dat je de opstart wizard start, wordt [Raspbian geupdate] zodat je weet dat je het laatste en het beste hebt op dat moment. Updates automatisch maken is een moeilijke zaak, want voor elke persoon die zijn systeem niet update, omdat ze niet weten dat ze het zouden moeten doen - en die je waarschijnlijk wil helpen - heb je iemand anders die zijn systeem niet update, omdat ze weten dat als ze hun systeem updaten dit pakket hier zal breken. En die applicatie zal stoppen met werken. En het is een van die gebieden waar ik nogal terughoudend ben met het maken van een verandering, omdat - de veiligheid noemend: het is net als toen we deze beveiligingswijzigingen maakten. Het ding waar ik bang voor ben is dingen kapot maken. Als iemand ontdekt dat zijn Pi gisteren werkte, en vandaag niet meer, en het is mijn schuld dat het veranderd is omdat ze een update hebben verwijderd - dat is mijn nachtmerrie scenario. Een paar keer hebben we slechte pakketten op de repo gezet, die ik niet goed getest had - en dat gebeurt altijd als ik op vakantie ga. Ik ga op vakantie. En ik ontdek, de tweede dag van mijn vakantie, dat er bug rapporten binnenkomen - voor een pakket dat we verzonden hebben.
Max: Ga je echt zitten om deze bugs op te lossen? Kun je niet leven met het schuldige geweten?
Simon: Ik ben toch meestal thuis. Ik heb de eerste week van verschillende vakanties doorgebracht met het thuis oplossen van bugs, en geprobeerd het systeem op orde te krijgen, want - ja, daar voel ik me wel schuldig over. Ik hou er niet van om dingen kapot te maken voor mensen. Mijn zorg over automatische updates is dat er in sommige gevallen dingen kapot gaan buiten onze schuld om. Omdat - de hele Debian afhankelijkheidsproblemen, het is heel gemakkelijk voor een pakket om naar een nieuwe versie te gaan, en we hebben niet de relevante backport om het te draaien, en dus dat pakket dat gisteren werkte, werkt vandaag niet meer.
Ik zou het niet automatisch willen doen. Totdat ik er zeker van kon zijn dat het voor niemand ooit iets zou breken, zou ik het niet automatisch willen doen.
Max: En voor veiligheidskritieke dingen?
Simon: Zelfs voor veiligheidskritieke dingen. Het is een moeilijke beslissing. Microsoft deed hun Creator's update op Windows 10, wanneer het ook was - vorig jaar? Mijn Ethernet stopte met werken op mijn Windows PC. Dat is onvergeeflijk. Mijn netwerk werkte voordat ik deze update deed, en nu niet meer. Als een redelijk technisch onderlegde gebruiker kostte het me twee uur om mijn computer [weer] aan de praat te krijgen.
Max: Vooral als je geen netwerk krijgt.
Simon: Precies, het is vrij moeilijk om een diagnose te stellen zonder het advies van het internet. Dus ik ben er terughoudend over. Het is een van de dingen waar we naar gekeken hebben - een soort GUI tool om updates te doen. In feite kun je systeemupdates doen via het bestaande hulpprogramma voor het toevoegen/verwijderen van programma's. Kijkend naar het ontwerp van die tool, het draait dat eigenlijk als een aparte applicatie. Er is geen reden waarom ik dat niet als een aparte applicatie zou kunnen doen. En misschien controleren op updates bij het opstarten en dat soort dingen. Het is allemaal te doen, en we komen op een punt waar dit het soort dingen is waar we naar gaan kijken.
Max: Het is eigenlijk iets wat echt geweldig is aan Linux in vergelijking met Windows. Je computer dwingt je niet om deze updates te doen. Dat is iets wat ik echt haat aan Windows. En het sluit af - stel je voor dat je een presentatie geeft, en het sluit af. Dat is waar je de lijn moet trekken. Zoals we eerder hebben besproken moet je beslissingen nemen voor gebruikers, maar je kunt de gebruiker niet dwingen te stoppen met werken op de computer als hij dat niet wil.
Simon: Het maakt gebruikers altijd van streek als je dingen voor hen kapot maakt. Zelfs als je het met de beste bedoelingen doet. Er zijn ook enkele iOS applicaties die ik schrijf - er is een kruiswoord oplosser applicatie. En zo nu en dan breng ik updates uit, en ik herinner me dat ik er een uitbracht die kapot ging op een bepaalde versie van iOS waar ik het niet op had getest. En je krijgt een vloedgolf van gebruikers die woedend zijn dat het kapot is, en je krijgt een vloedgolf van andere gebruikers die waarschijnlijk meer technisch onderlegd zijn, die gaan "gewoon om je te laten weten dat dit kapot is." Een paar jaar geleden heb ik met Kerstmis een week besteed aan het repareren van mijn iOS applicatie. Het was Apple die dingen kapot had gemaakt, niet ik, maar ik moest er wel een workaround voor vinden. Je voelt je bijna schuldiger over de gebruikers die er aardig over zijn, die zeggen "ja, ik begrijp dat dit moeilijk is." - "Nee, ik zal morgen een oplossing voor je vinden!". - het is altijd moeilijk. Updates zijn een lastig iets, en het is heel makkelijk om dingen kapot te maken.
Een van de dingen die Apple doet, die ik onvergeeflijk vind, is - op iOS downloaden ze anderhalve Gbytes aan image-updates, wanneer ik van iOS 10 naar iOS 11 ga. Ze downloaden het automatisch zodra je verbonden bent met WiFi, op de achtergrond, zonder het je te vragen. Als je anderhalve Gbyte van mijn bandbreedte wilt gebruiken, vraag het me dan eerst. Dat is onvergeeflijk. Ik heb zelfs een bug geregistreerd, en gezegd: dit is het downloaden van gegevens van een enorme omvang. Ze zeiden: nee - het is een beveiligingsupdate, die moet je hebben, daarom moeten we alles doen om je op het platform te krijgen. Ik zei: nee dat hoeft niet, mensen moeten betalen voor hun data. Er zijn mensen die een maandelijkse datalimiet hebben. Ze hebben vijf iPhones in huis, die allemaal aan het downloaden zijn. Het zijn dat soort dingen - je moet een verstandige balans vinden. Op dit moment doen we geen dingen in termen van het forceren van updates, of zelfs het adviseren van updates. Het zou waarschijnlijk goed zijn als we dat wel deden, maar ik heb nog geen nieuwe beslissing genomen over wat we daarmee gaan doen.
Max: Heb je er eigenlijk aan gedacht om een soort van meldingsruimte te hebben?
Simon: We hebben wel notificatie spul. Het LXDE notificatie spul is eigenlijk niet geweldig, het zet vensters in de hoek van het scherm. Maar telkens als we een applicatie hebben die dat gebruikt, ben ik geneigd om de applicatie te herschrijven, omdat het er niet goed uitziet. Maar het is zeker mogelijk om iets te starten bij het opstarten, om te zien of er updates zijn, en een dialoogvenster op het scherm te zetten. Er zijn dingen die we zouden kunnen doen, maar het is waarschijnlijk een gebied waar we naar zullen gaan kijken, gewoon omdat we de meer voor de hand liggende dingen om te doen tot op de bodem hebben uitgezocht.
Max: Wat maakt ontwikkelen voor jou makkelijker, en wat maakt het moeilijker? Het soort gereedschap dat u gebruikt.
Simon: Geany is geweldig. Zoals ik al zei, doe ik het meeste van mijn ontwikkeling tegenwoordig op de Pi.
Max: Doet het ook code hinting?
Simon: Ja. Geany doet zowat alles. Dingen zoals de manier waarop het functienamen voor je tevoorschijn haalt, en je gemakkelijk dat soort dingen laat vinden is echt goed. Ik mis dat nu als ik andere editors gebruik, eigenlijk. [Andere tools die ik gebruik:] Glade - dat is de tool voor GTK window design. Ik gebruik dat veel, hoewel ik de oude versie van broncode heb moeten bouwen, omdat ze nu alleen de nieuwe versie ondersteunen, die alleen GTK 3 ondersteunt, "nee, ik wil de oude versie, alsjeblieft, want ik kan voor GTK 2 ontwikkelen met de oude versie!"
Er zijn een paar gereedschappen die nuttig zijn voor mijn werk. Er is een hulpmiddel genaamd "A Widget Factory". AWF. Dat is eigenlijk gewoon een scherm met alle GTK widgets erop. En ik heb er twee versies van, een GTK 3 versie en een GTK 2 versie. Dus ik probeer mijn thema synchroon te houden tussen de twee, ik gebruik die. Het is echt een goede manier om te zien - ze zien er niet hetzelfde uit.
Max: Heb je eigenlijk twee Pi's naast elkaar, een draait GTK ...
Simon: Nee, want ik kan die applicatie in twee of drie modi draaien, dus ik heb gewoon twee vensters op het scherm. Mijn doel met het thema is om de vensters er hetzelfde uit te laten zien. Zodat je het op hetzelfde platform kunt doen. Dat is best handig. Git en GitHub zijn geweldig. Ik zou helemaal vastzitten zonder GitHub. Ik vind GitHub geweldig.
Max: Interne documentatie, doe je het in lijn met de bron?
Simon: Meestal wel. Ik geef alleen commentaar op de code. Ik doe geen grote hoeveelheid externe documentatie. We hebben mensen die onafhankelijk van mij aan documentatie werken. Mijn bedoeling is om dingen te schrijven die duidelijk genoeg zijn om te gebruiken, zodat zij het kunnen uitwerken zonder dat ik hen vertel hoe ze het moeten doen. Ik probeer nuttige variabele namen te gebruiken, nuttige functienamen, commentaar waar het niet duidelijk is wat de code doet, meestal als notities voor mijzelf, net als iets anders.
Andere dingen die nuttig zijn - een van de dingen die me frustreert is dat Linux geen echt goed diff programma heeft, in de zin van een mooi grafisch diff programma. Degene die ik gebruik is meld, en dat is de beste die ik heb gevonden, maar het is niet zo goed als dingen als "Beyond Compare" op de PC, die echt goed is. Ik heb zelf Pi code naar de Mac overgezet, zodat ik het diff gereedschap in Xcode kan gebruiken. Er zijn enkele functies van Xcode die ik veel gebruik. Ik denk dat het de meeste tools zijn die ik gebruik voor ontwikkeling, dingen die ik dagelijks gebruik. Dat is het wel zo'n beetje, denk ik. En in termen van dingen die het leven gemakkelijk maken - mooi gestructureerde code is altijd goed. Ik probeer altijd code te schrijven vanuit het standpunt dat ik misschien terug moet gaan om er iets anders mee te doen. Het de eerste keer goed doen helpt altijd.
Max: Ken je die twee systemen theorie, als je het eerste systeem bouwt kun je het beter weggooien?
Simon: Ja. Dat heb ik in het verleden ook gedaan. Vooral als je minder ervaren bent. Het is een van de dingen, ik merk nu als ik terug ga en kijk naar sommige aanvragen die ik in het eerste jaar heb geschreven, voor de Pi, dan ga ik terug en denk ik "oh, waarom deed ik dat? Oh, dat was slecht." Als ik die vind, repareer ik ze tegenwoordig. Ik zou waarschijnlijk kunnen vinden, dat als ik over vier jaar terugkijk op de dingen die ik nu schrijf, [ik hetzelfde zal voelen]. Alle software ontwikkeling is een leerproces. Je wordt beter naarmate je vordert, je wordt beter naarmate je meer doet. Hoe meer je je kunst verstaat.
GTK is een van die dingen, hoe meer je de kleine eigenaardigheden ervan leert kennen, hoe meer je het gebruikt, hoe beter je het kunt laten gedragen. GTK zelf is een zeer nuttig gereedschap. Als UI ontwerper is het erg handig om beperkingen te hebben. GTK is geweldig vanuit dat oogpunt. Elke UI toolkit is soort van geweldig - Ik heb geen leeg scherm en moet beslissen hoe dit venster eruit gaat zien. Ik weet hoe dit venster eruit gaat zien, omdat het eruit gaat zien als alle andere vensters. Ik weet hoe de knoppen eruit gaan zien, omdat ze eruit gaan zien als alle andere knoppen.
Max: Dus je concentreert je op de toepassing zelf?
Simon: Ja. In plaats van de etalage. Het is goed, dat het apart is. Want al die dingen kan ik in het thema doen. Als ik al mijn applicaties er mooier uit wil laten zien, kan ik het thema veranderen. Als ik de applicatie beter wil laten werken, hoef ik me geen zorgen te maken over hoe het er mooier uit te laten zien.
Max: Als gebruiker heb ik liever dat applicaties voorspelbaar zijn, dat ze er hetzelfde uitzien. Ken je WinAMP? Het ziet er niet uit als een Windows applicatie.
Simon: Oh ja, het ziet er niet uit als een Windows applicatie. Die kleine ... Ja. En we hebben een paar ontwikkelaars die apps voor ons hebben geschreven, die hun eigen ding willen maken dat er anders uitziet dan al het andere. En [ik ga telkens als ze het doen]: "doe het niet". Ik begrijp de wens om het te doen. Ik begrijp de wens om het ding eruit te laten zien als, "dit is van mij". Het is branding, het is dezelfde manier waarop we de desktop branding maken. Maar het is vaak niet nuttig voor gebruikers. Dat is ook mijn argument, omdat je de omgeving consistent wilt hebben. En iemand die zijn eigen ding wil doen is niet behulpzaam in termen van het creëren van consistentie.
Max: Ik denk dat dat echt het idee erachter is, nietwaar, dat je je eigen naam erop wilt zetten.
Simon: Ja, precies. Een paar anderen die dingen voor Pi produceren doen dat. Dat is prima, ik probeer het ze af te raden, maar uiteindelijk, als ze voor ons ontwikkelen, kan ik niet zeggen "nee, je moet dit doen!"
Max: "Het tiende gebod."
Simon: Precies.
Max: Wat inspireert je om te ontwikkelen?
Simon: Wat inspireert me? Het beter maken. Is dit zo goed als het kan zijn? En zo niet, hoe kan ik het beter maken? Het gaat erom de gebruikerservaring er een te maken waar ik als gebruiker van geniet. Ik wil daar zitten en dit een prettige ervaring voor mij vinden. Als het voor mij een prettige ervaring is, hoop ik dat het voor andere mensen ook een prettige ervaring is. Dat is wat design is. Als je met een industrieel ontwerper spreekt, is design dingen beter maken voor mensen.
Max: Het gaat om het wegnemen van wrijving. Ik herinner me een voorbeeld van een koelkast uit het boek "The design of everyday things", waarbij de gebruiker dacht dat er twee knoppen of zoiets waren, één voor het diepvriesvak en één voor het gewone. En eigenlijk was het een soort van rare mix ... Of zoals deze kranen in Groot-Brittannië - er staat "voorzichtig, extreem heet water". Maar wat moet je dan doen?
Simon: Lichtschakelaars die niet op dezelfde manier werken. Dat soort dingen. Ik geloof dat ik een documentaire zag met Seymourpowell, de industriële ontwerpers in Londen. Ze zeiden: een ontwerper wil dingen beter maken.
Max: Wat inspireerde je om in UI design te gaan?
Simon: Het was vele jaren geleden. Ik studeerde engineering aan de universiteit. En ik specialiseerde me in software. Maar ik heb altijd een goed ontwerp gewaardeerd. [Bijvoorbeeld] Ik had een Canon camera, en het was zo bevredigend om te gebruiken, omdat alles mooi was gedaan. En ik rookte niet. Ik heb nooit gerookt. Maar ik had een Zippo aansteker, omdat het zo'n mooi ding was. Ik bracht mijn tijd door met denken - Ik heb helemaal geen artistiek talent. Ik kan niet tekenen, ik kan niet schilderen, ik kan geen dingen schetsen. Ik weet niet hoe je zulke mooie dingen maakt. Maar ik wenste echt dat ik het kon. Hoe combineer ik mijn wens om mooie dingen te maken met het doen van software? En de logische plek waar die elkaar ontmoetten was user interface design. Ik ging in gesprek met Cambridge Consultants, mijn eerste werkgever. Zij lieten me zien - want ze waren toen net begonnen met UI design, en ze ontwikkelden technologieën voor user interface simulatie. Dus ze konden me laten zien dat ze een hifi hadden ontworpen, en ze hadden een scherm dat eruit zag als deze hifi. En je kon op knoppen op het scherm klikken en alles reageerde. En je kon de hele UI ontwikkelen in deze virtuele wereld. Ik zag deze demonstratie, en ik zei: "Ik wil voor jullie komen werken en dat doen." Ik denk dat dat de reden was waarom ik de baan kreeg, omdat ik zo gecharmeerd was van wat ze gedaan hebben. Dat is wat ik wil doen. Ik kon een manier zien dat ik eigenlijk - als ik dat kon doen, zou ik gelukkig zijn. Want dat betekent dat ik mooie dingen kan maken, maar ik hoef niet te kunnen tekenen en kleuren en ontwerpen. Ik kan mooie dingen maken zoals dat. En dat was waar, denk ik, het allemaal vandaan kwam voor mij.
Max: Dus het is waarschijnlijk net als de hardware ingenieurs die naar Raspberry Pi komen...
Simon: Ik ben altijd erg gefrustreerd geweest, als ik naar industrieel ontwerpers keek, en ik wenste echt dat ik kon doen wat zij deden. Maar zoals ik al zei, je moet talenten hebben, die ik daar niet voor heb.
Max: Productontwerp zoals koffers, enz.?
Simon: Precies. Toen ik bij Cambridge Consultants werkte, ben ik uiteindelijk van een softwaregroep naar een industrieel-ontwerpgroep gegaan. Omdat ik op dat moment meer als ontwerper dan als ingenieur wilde worden gezien. Ik herinner me dat het een zeer impopulaire stap was bij mijn baas in de software engineering. Hij zei: "Je maakt een grote fout. Daar kom je nooit mee weg." En ik zei: "Dit is wat ik voel dat ik moet doen." Ik was een software-ingenieur die nauw samenwerkte met industrieel ontwerpers, en ik werkte aan interface-ontwerp met hen. Ik vond het enorm stimulerend om in een kantoor te zijn met mensen die al die dingen deden waarvan ik wou dat ik ze kon doen, die de behuizing ontwierpen, het uiterlijk ontwierpen, de grafische vormgeving bepaalden, en dat soort dingen. En het beste wat ik kon doen was met hen samenwerken en bijdragen aan het product dat zij maakten. En dat is iets waar mijn inspiratie voor UI design vandaan kwam. Het was iets willen doen wat ik niet kon doen en het vinden van het op één na beste, dat was GUI ontwerp in software.
Max: Wat zijn enkele van de mogelijkheden of veranderingen die je persoonlijk graag zou zien in Raspbian, dingen die je nog niet gedaan hebt, die we nog niet besproken hebben. Misschien dingen die echt out there zijn, die echt heel moeilijk te doen zijn?
Simon: Om eerlijk te zijn, ik begon op dag één, ik maakte een lijst van alle dingen die ik wilde doen. En ik denk dat ik nu echt onderaan de lijst ben gekomen van dingen die ik wilde doen.
Max: Maak maar een nieuwe lijst.
Simon: Ik denk dat ik een nieuwe lijst moet maken. Ik weet nog niet zeker wat er op die lijst komt te staan. Het is een moeilijke vraag om te beantwoorden. Als je me dat een jaar geleden, of twee of drie jaar geleden had gevraagd, had ik een veel duidelijker idee gehad van wat het antwoord was. Ik ben nu zo'n beetje aan de onderkant van mijn lijst met originele dingen gekomen. Er is een constante onderhoudstaak met al dit spul. Elke twee jaar, moeten we een nieuwe versie van Debian ondersteunen.
Max: Ik hoop dat het team kan groeien.
Simon: Op sommige manieren wil ik dat niet, omdat ik ervan geniet.
Max: Vind je het echt leuk om met GTK 3 te rommelen zodat het zich gedraagt?
Simon: Ik zit wel te vloeken en te schelden, maar ik zou het niemand anders laten doen, want...
Max... omdat het jouw baby is.
Simonomdat het mijn baby is, en ik wil dat het goed is. Het wordt met mij geassocieerd. Er zijn mensen die weten dat Simon Long GUI design doet voor Raspberry Pi. Het is geen kwestie van niemand anders vertrouwen om het te doen. Het is een kwestie van - ik ben zo lang bezig geweest om de fijne kneepjes ervan te leren, dat het bijna is dat ik toch de beste persoon ben om het te doen.
Ik was negen jaar manager bij mijn vorige baan, en ik haatte het.
Max: Vond je het echt leuk om de taken te doen in plaats van ze te delegeren?
Simon: Ik vond het leuk om te doen. Mijn nachtmerrie is dat Eben langskomt en zegt: "Ah Simon, we hebben wat personeel voor je om dingen te doen. Jij gaat boven zitten en neemt beslissingen." En ik zou zeggen: "Nee, neem het niet van me af." Omdat ik ervan geniet om mijn handen aan de code te hebben. En ik zou het echt niet leuk vinden als het me werd afgenomen. Op een bepaalde manier ben ik blij om dit te blijven doen, omdat ik het de moeite waard vind. Ik vind het belonend om te kunnen zeggen: "Kijk, dat heb ik gedaan." Als manager heb ik nooit echt het gevoel gehad dat ik kon zeggen: "Dat heb ik gedaan." - mijn mensen deden het, ik deed het niet. Terwijl ik nu zit en zeg: "Ik heb het gedaan."
Max: Een meer technische vraag: wat winnen we met de OpenGL driver? Voordelen / nadelen?
Simon: In principe zal het snellere en vloeiendere animatie geven in alles dat OpenGL gebruikt. OpenGL toepassingen, natuurlijk. De bedoeling is, denk ik, dat alles effectief zal worden gerenderd door OpenGL, de desktop, enzovoort zal er doorheen gaan, wat betekent dat je de voordelen van hardwareversnelling op alles zult krijgen. Dus in theorie, zal het een snellere, soepelere ervaring zijn voor iedereen. Ik denk niet dat er daarbovenop nog voordelen zijn.
Max: Als ik het goed begrijp, moet je dan echt tweaks doen aan het bureaublad? Of zal het er automatisch van profiteren?
Simon: Ja. Maar met hoeveel - het is niet een gebied waar ik een technisch expert in ben. OpenGL is een van die zwarte kunsten. Ik heb begrepen dat het eigenlijk probeert om betere hardwareversnelling onder het systeem te krijgen, voor alles wat op het scherm komt.
Max: Dus, bijvoorbeeld, de Pi 1 zal beter presteren, idealiter?
Simon: Potentieel ja, maar nogmaals, een van de problemen met de OpenGL driver is denk ik hoeveel geheugen het gebruikt. Dus we zouden problemen kunnen krijgen op de Pi 1. Ik denk dat we die grotendeels hebben opgelost, maar - de voor de hand liggende verbeteringen zullen zijn in dingen zoals OpenGL spellen. Ze gaan natuurlijk allemaal rechtstreeks naar de hardware. U zou een algemene verbetering in algemene videoprestaties moeten zien.
Max: Wayland, Weston. Helemaal verlaten?
Simon: Het ligt grotendeels op de plank, ja. Ik denk niet dat het helemaal verlaten is. Het kan op een gegeven moment tot zijn recht komen. Maar op dit moment hebben we er al een paar jaar geen actief ontwikkelingswerk meer aan gedaan.
Max: Wat is uw favoriete manier om de tijd te doden op een Pi?
Simon: (lacht) Ik ben saai, ik hou van programmeren om dingen beter te maken, moet ik zeggen. Ik ga 's avonds vaak naar huis en als er een technisch probleem is waar ik nog niet uit ben, dan denk ik: dat wordt interessant. Ik zal heel vaak code downloaden van GitHub en die thuis op mijn Pi hacken.
Max: Alleen omdat je het niet kunt weerstaan?
Simon: Ja. Ik wil het beter maken, ik kan het niet alleen laten. Als ik een computer puur voor recreatie gebruik, dan gebruik ik geen Pi. Ik gebruik een Pi als ontwikkelplatform, maar ik geniet van het ontwikkelen [zo veel]. Ik gebruik Pi's niet voor dingen als surfen op het web, omdat zelfs met Chromium de ervaring veel beter is op een Windows-machine of Mac, omdat surfen op het web zoveel paardenkracht vergt. Maar waar ik mijn Pi voor gebruik in termen van plezier, zijn dezelfde dingen die ik op het werk doe.
Max: Het is meer een vakantie, als je aan het werk bent.
Simon: Mijn partner thuis weet heel goed dat als ik boven in mijn studeerkamer zit, ik waarschijnlijk dingen voor de Pi aan het typen ben. Dat is wat ik graag doe.
Max: Ik ontmoette Martin op het Raspberry Pi Fields evenement, en hij vertelde me over de nieuwe hulp. Je bent van plan om hulp uit te brengen voor de nieuwe uitgave, die met Raspbian zal worden meegeleverd.
Simon: Martin heeft goed werk verricht met het op orde brengen van onze webbronnen. Zijn webpagina's zijn erg goed. En serieus, je moet eens kijken naar de links in het menu, want hij heeft er veel werk aan verricht, en ik denk dat ze geweldig zijn. En ja - het is de bedoeling dat we dat op een of andere manier offline halen, of het nu statische webpagina's zijn die op de Pi staan, of dat we het doen als een Electron applicatie, hoewel Electron applicaties niet erg efficiënt zijn in termen van ruimte, omdat je eindigt met de hele Chromium browser ingebouwd in elk van hen. We hebben er al een op het systeem voor Scratch 2.
Zijn hulpbronnen zijn geweldig, en ja, ze offline beschikbaar stellen is heel goed, dus dat zullen we in de toekomst ook doen.
Max: Nog geen concrete plannen.
Simon: Nog niet.
Max: Dat zou natuurlijk een ding zijn waar je updates zou kunnen trekken. De hulp wordt beter ...
Simon: Nogmaals, dat is een van de voordelen van het hebben van hulp die niet op het platform is, omdat het automatisch wordt bijgewerkt - dus je hebt daar een beslissing te nemen.
Een van de dingen die ik deed met de aanbevolen toepassingen - die eigenlijk zichzelf bijwerkt wanneer het draait. Dus ik heb nu een applicatie gemaakt die zichzelf automatisch update bij het opstarten. Omdat ik zeker wilde zijn dat mensen altijd de laatste en beste lijst van aanbevolen applicaties hadden. Dus ik heb nu het concept bewezen dat het mogelijk is om een applicatie te maken die zichzelf als eerste update. Met de hulp zouden we iets soortgelijks kunnen doen.
Max: Misschien als je de gebruikers een "undo" knop geeft. Als er iets kapot gaat voor hen, kunnen ze het terugdraaien. Het probleem is natuurlijk om uit te zoeken welk ding het systeem kapot maakte.
Simon: Dat is niet zo gemakkelijk. Je zou dat via apt moeten kunnen doen. En helaas is het met apt niet altijd makkelijk om het ongedaan te maken.
Max: Een ding dat ik doe is, ik update gewoon de pakketten, omdat ik de Raspberry Pi Foundation vertrouw om het juiste te doen. Ik maak me eigenlijk geen zorgen dat sommige dingen kapot kunnen gaan.
Simon: We proberen het juiste te doen, maar zoals ik al zei, we zijn niet onfeilbaar. Dus zo nu en dan duwen we er dingen uit die niet het juiste ding hadden moeten zijn. Maar we proberen dat tot een minimum te beperken.
Max: Met de SD corruptie problemen, dacht ik dat er een hoop logging in Raspbian gaande is...
Simon: In termen van SD corruptie, één van de dingen die we overwogen te doen, en die we in de toekomst misschien zullen doen, is wat we doen met de x86 image. Dat is in feite het leveren van een vast image met een persistente partitie erbovenop. In dat geval kun je altijd terug naar een goede staat. Dat is een van de dingen die we hebben overwogen te doen. Je hebt een basis partitie, en dan pas je er persistentie op toe.
Max: In principe een overlay.
Simon: Precies. Dat is iets waar we aan dachten om te doen. Ik heb er de tijd niet voor, maar in de toekomst moet het waarschijnlijk zo gaan.
Max: Een van de eerste dingen die ik zag toen ik aankwam in het Verenigd Koninkrijk, was een shuttle - als je uitstapt van Stansted airport hebben ze een shuttle, die naar de terminal gaat. En er was een Raspbian [bevroren tijdens de start].
Simon: Dat gebeurt wel. We worden nogal vaak gebruikt in displays. En de mogelijkheid om te herstellen van zoiets is natuurlijk een goede zaak. Maar ja, SD-kaarten zijn geen perfecte technologie. Spullen om die robuuster te maken zijn goed. Ik vermoed dat we overgaan naar een overlay bestandssysteem bovenop een basispartitie. Dat betekent tenminste dat je terug kunt gaan naar iets waarvan je weet dat het werkt, zij het niet noodzakelijk met al je [bestaande] werk erop.
Max: Heeft u plannen voor industriële gebruikers die het systeem niet aanraken, voor een read-only image?
Simon: Mensen hebben gekeken naar alleen-lezen afbeeldingen. We hebben er intern niet naar gekeken - het wordt af en toe besproken, maar we hebben er geen werk van gemaakt. Het is zeker haalbaar om het te doen.
Max: De laatste vraag die ik heb gaat over ARMv6 binaries, en ARMv7 binaries. In principe, wat je doet is je ondersteunt alle Raspberry Pi's.
Simon: We willen mensen die Pi 1's hebben gekocht niet verweesd maken - omdat zij per definitie een beperkt budget kunnen hebben. Het is maar 35 $ voor een nieuwe Pi, maar zij hebben misschien geen 35 $. Dus proberen we waar mogelijk alle oude platforms te ondersteunen. De enige plek waar we dat op dit moment niet doen is de Flash player. De Flash speler is alleen beschikbaar als een ARMv7 binary, dat is alles wat Adobe levert. Dus daar kunnen we weinig aan doen. We willen niet bewust oude platformen verweesd maken met nieuwe versies van software.
Max: De reden waarom ik het vraag is over de prestaties. Het is duidelijk dat ARMv6 binaries niet alle mogelijkheden gebruiken die ARMv7 binaries zouden gebruiken.
Simon: In sommige gevallen hebben we eigenlijk hybride bibliotheken, sommige van onze geheugentoegangsbibliotheken, bijvoorbeeld. Die kijken of ze op een ARM 6 of een ARM 7 draaien en voeren dienovereenkomstig andere code uit. Dat is iets wat we zouden kunnen overwegen te doen.
Max: De kernel is ook geoptimaliseerd ... core libraries [waar de grootste impact zou gebeuren]
Simon: Ja. Dit zijn dingen zoals geheugenkopieën, geheugenvergelijking. Dingen die algemene systeem overhead zijn, die zijn geoptimaliseerd voor verschillende platformen. Het is een ingewikkeld ding om aan het werk te krijgen. Maar het werkt wel. We zouden het waarschijnlijk niet voor alles doen - maar als we plaatsen vinden waar we een voordeel kunnen krijgen. We zouden waarschijnlijk niet een individuele toepassing optimaliseren. Maar als we kunnen optimaliseren voor meerdere toepassingen - en we hebben een man die hier erg goed in is - op het ademen van stukjes code op laag niveau voor dat doel. We hebben een doorlopend programma om te kijken naar dingen waarmee we onszelf een prestatievoordeel kunnen bezorgen door te optimaliseren.
Max: Dus wat er in essentie gebeurt, in vergelijking met andere platforms, waar het in principe meer om goedkope hardware gaat, krijg je met de Raspberry Pi een computer die steeds beter wordt, omdat de software steeds beter wordt.
Simon: We hopen van wel, ja.
Max: Nog dingen die je zou willen vermelden, leuke dingen, ideeën?
Simon: Ik denk dat we de meeste dingen die op dit moment in mijn hoofd rondspoken, behandeld hebben, dus ik denk dat het geweldig is.
Max: Dank u dat u de tijd neemt.
Simon: Geen probleem. Leuk je weer te zien.