Entrevista con Simon Long de Raspberry Pi sobre el Raspberry Pi Desktop, el diseño de la interfaz de usuario y mucho más.
Información de fondo importante: esta entrevista se realizó a principios de julio de 2018, por lo que algunas aplicaciones a las que se refiere Simon podrían estar ya liberadas, etc.
Max: Esta es la entrevista con Simon Long de la Fundación Raspberry Pi, que es el principal responsable de Raspbian, el sistema operativo de escritorio.
Simon: Así es.
Max: Muchas aplicaciones como VeraCrypt lanzan binarios para la plataforma Raspberry Pi específicamente, pero en este caso ni siquiera binarios ARMv6 - sólo ARMv7. Me preguntaba si hay una razón técnica específica para esto, apuntando a la Pi específicamente, por qué no sólo hacer binarios ARMv7 genéricos.
Simon: Así que no sé nada sobre el caso específico que mencionas ahí. En términos de apuntar a la Pi específicamente, soy consciente de que las versiones estándar ARM hard float de Debian no hacen el mejor uso de la Pi. No están especialmente optimizadas para nuestra plataforma, según tengo entendido. No he intentado ejecutar nada que no hayamos construido específicamente utilizando sistemas de construcción dedicados a la Pi o construidos en entornos de compilación cruzada diseñados para la Pi. Pero me hace creer que las cosas deben ser construidas específicamente para ella en lugar de simplemente usar el material estándar de flotación de Debian. No estoy familiarizado con los detalles técnicos de por qué tiene que ser así, pero sospecho que tiene que ver con las optimizaciones para el hardware. Ciertamente, en el caso de cosas obvias en las que la gente desea utilizar partes de VideoCore, una construcción estándar de Debian ARM hard float no hará ningún uso de eso. Así que no obtendrá el mejor rendimiento que podría obtener del dispositivo.
Max: ¿Se refiere a cosas como, por ejemplo, estas optimizaciones NEON SIMD?
Simon: No - el material NEON debería funcionar, porque está en el lado ARM del dispositivo. Es más específicamente el lado del VideoCore del dispositivo, del cual la aceleración de video es probablemente la parte más importante. También hay cosas como las unidades de procesamiento de píxeles en el VideoCore IV que te permiten hacer operaciones paralelas. No se obtiene nada de esa optimización si no se apunta específicamente a nuestra plataforma.
Max: Así que esencialmente una plataforma ARM no es como una plataforma diferente?
Simon: El núcleo ARM en sí es el mismo, pero los periféricos serán diferentes. Uno de los periféricos en nuestro caso es el VideoCore que proporciona aceleración de vídeo y multimedia. Así que si escribes para una plataforma ARM genérica, no harás el mejor uso de eso. Para dar un buen ejemplo: Chromium. Cada vez que se lanza una nueva versión de Chromium, tenemos un chico que trabaja en la integración de nuestra aceleración de hardware de vídeo en ella. Si usas Chromium para reproducir YouTube o lo que sea en la plataforma, obtienes el beneficio de la aceleración para eso. Si tomas sólo la construcción estándar de Chromium ARM, no lo harías. Es principalmente para cosas como la aceleración de vídeo.
Max: ¿Tiene un procedimiento automatizado para hacerlo?
Simon: No - es algo difícil de automatizar. El código cambia significativamente, ciertamente en el caso de Chromium. En muchos casos se trata de tomar los mismos parches que se pusieron en la última versión y aplicarlos a la nueva. Pero como sabes, siempre que intentas fusionar parches entre versiones, no siempre entran limpiamente. Es una cantidad variable de trabajo para poner en función de la cantidad de movimiento que ha habido en el código base, pero no es, por desgracia, un proceso automatizado. Es un caso de la persona que trabaja en esto y tiene que mirar lo que ha cambiado entre Chromium 65 y 67 y ver cómo esto afecta a estos parches. Es una base de código enorme y va a cambiar. Mientras que los parches son relativamente pequeños, las líneas que se parchean pueden ser significativamente diferentes entre las versiones del lado de Chromium.
Max: En resumen, la idea es, dado que la Pi es -relativamente- aún menos potente que un PC de sobremesa, utilizar realmente el hardware el mayor tiempo posible y optimizar los binarios para ello.
Simon: Exactamente.
Max: Pasemos al tema del escritorio Raspberry Pi. Cuáles son los principales objetivos e ideas que hay detrás?
Simon: Los principales objetivos e ideas detrás de él ... cuando empecé, mi primer día en Pi Eben y yo nos sentamos, con Raspbian ejecutando LXDE, y me dijo si se puede hacer esto mejor. Jugué con él un poco, y pensé - bueno, sí, ciertamente es posible hacerlo mejor. La cuestión era si sabía cómo mejorarlo, porque nunca había usado Linux antes, así que tenía una curva de aprendizaje.
Max: ¿Realmente nunca has usado Linux antes?
Simon: Había arrancado Linux un par de veces de forma experimental, pero nunca había escrito código para Linux, nunca lo he utilizado realmente durante más de diez minutos, [antes de empezar a trabajar en Raspberry Pi].
Max: ¿Una de las razones por las que no usaste Linux fue el entorno de escritorio? ¿La forma confusa en que está organizado?
Simon: He usado Ubuntu, he usado Knoppix.
Max: Knoppix - en realidad por un ingeniero alemán.
Simon: Sí, he utilizado ambos y el entorno de escritorio no me parecía intuitivo en ninguno de ellos. El entorno de escritorio de Ubuntu sigue sin parecerme intuitivo. Siempre me lleva diez minutos intentar recordar dónde han escondido el terminal. Cosas así. Creo que muchas aplicaciones de Linux no están escritas con la usabilidad como prioridad. Están escritas para ser fáciles de escribir más que para ser fáciles de usar. Lo cual es comprensible, dado que a nadie se le paga por ello. Pero al ver LXDE, tal y como era entonces, sentí que había mucho margen para hacerlo mucho más fácil de usar de lo que era, y ciertamente, creo que, dadas las dos plataformas en las que tenía más experiencia en ese punto, que eran Windows y Mac, me pareció que había una brecha importante en la usabilidad entre LXDE y cualquiera de ellas. Si quieres un objetivo declarado para ello, sería hacer que el Raspberry Pi Desktop sea tan fácil de usar como Windows o Mac. Idealmente como Mac, porque es mi plataforma preferida. En términos de hacerlo fácil creo que lo más importante era añadir consistencia. Creo que el problema con LXDE es que es una colección de componentes de diferentes problemas que han sido vertidos juntos. Así que tienes un gestor de ventanas de un lugar, y tienes un gestor de archivos de otro lugar, y tienes una barra de tareas de otro lugar. Y realmente - para mí - no funcionaba como un conjunto integrado de cosas. Si quería cambiar la fuente del sistema, tenía que cambiarla en tres lugares para que tuviera efecto en todas partes. Y esto es un proceso continuo. En la nueva versión probablemente has visto el asistente de inicio.
Max: Sí.
Simon: Ya he recibido críticas en los comentarios del blog de gente que dice que no se debería usar un asistente de inicio, porque eso desanima a la gente a mirar la instalación [archivos de configuración].
Max: De hecho, he visto ese comentario. La razón es algo así como - 'Lo hicimos de la manera más difícil ...'
Simon: Exactamente. Esta es toda mi frustración con la gente que [piensa así]. Es "yo tuve que sufrir, así que los usuarios de hoy tienen que sufrir". Para mí esto malinterpreta el propósito de Pi. El propósito de Pi siempre ha sido proporcionar un entorno en el que la gente pueda aprender sobre informática. Y si se habla de aprender sobre informática, para mí, eso es aprender a programar un ordenador. No es aprender a configurar un escritorio Linux. Porque una de ellas es una habilidad útil que puedes utilizar: una vez que aprendes a programar, se te abren carreras enteras. Y eso es lo que se ha establecido para hacer. Aprender a configurar un escritorio Linux - sí es útil, si necesitas configurar escritorios Linux. No es lo que Pi existe para enseñar a la gente a hacer. Así que, desde mi punto de vista, quiero sacar el entorno de escritorio del camino, para que la gente pueda simplemente empezar a programar. Ese es uno de los principales objetivos de lo que estoy haciendo: si la gente quiere cambiar el fondo de su escritorio, o hacer su fuente más grande para que puedan leer cosas, no deberían tener que cavar en doce archivos de configuración para hacerlo. Eso debería ser fácil de hacer.
Max: Por supuesto. La razón por la que utilizo Windows en mi escritorio es que no puedo molestarme en hacerlo... por ejemplo, tengo una configuración de varios monitores... tengo una idea aproximada de cómo hacerlo en Linux, pero tendría que editar los archivos de configuración y dedicarle mucho tiempo.
Simon: De nuevo, llegando a Linux como alguien que no lo ha usado mucho antes, cuanto más descubría sobre cómo había que hacer estos cambios de configuración, más me horrorizaba el lío con el que se espera que la gente se enfrente. Por eso, lo primero que hice fue escribir una aplicación que cambiara toda la configuración del sistema por ti. Eso me pareció la gran cosa como, ¿por qué nadie había hecho esto antes? ¿Por qué todavía era aceptable que tuvieras que abrir cuatro [archivos] de configuración diferentes para que la cosa se viera bien? Es hacer que todo se sienta como un solo entorno. Ese ha sido siempre mi objetivo con el Escritorio, tiene que llegar a un punto en el que, como en un Mac, ni siquiera pienses en el Escritorio. El Escritorio simplemente funciona. Y si quieres cambiar la imagen de fondo, o hacer la fuente más grande, o quieres lanzar una aplicación, es obvio cómo hacer todas esas cosas. Para mí, LXDE -aunque proporcionaba una gran base sobre la que trabajar -y de ninguna manera estoy denigrando el trabajo de los creadores de LXDE, han hecho algunas cosas fantásticas debajo de él- sólo necesitaba tener un poco de cuidado y atención en la parte superior. Eso es lo que proporcioné para convertirlo en una experiencia agradable de usar. Ese es siempre mi objetivo - es hacer que sea agradable de usar, con un enfoque específico siempre que pueda en hacer que sea agradable de usar para las personas que no han utilizado un ordenador mucho antes, o ciertamente nunca han utilizado un sistema Linux antes. Es hacer que sea familiar y más intuitivo.
Max: ¿Existen realmente problemas de derechos de autor o de diseño, por ejemplo, como la barra de menús de la parte superior en MacOS? ¿Dónde hay que tener cuidado?
Simon: No soy consciente de nada, no. Todo esto se remonta a los días de Xerox PARC y el escritorio original. La metáfora del escritorio está bien establecida y nadie es dueño de ella. No se me ocurriría, por ejemplo, quitarle los iconos a Apple. Creo que los iconos de Apple son una belleza. ¿Has probado a ampliarlos? Tienen una gran cantidad de detalles ocultos que nunca se ven. Si miras cosas como el icono del correo en un Mac, si lo amplías, puedes ver que tiene un matasellos que dice "Bienvenido a Cupertino" y cosas así. Se esfuerzan mucho en cosas así. De ninguna manera voy a poner iconos de Apple en nuestro sistema, eso sería claramente una violación de los derechos de autor. Y también queremos establecer nuestra propia identidad visual, por eso hemos encargado nuestros propios iconos, por eso he rediseñado el aspecto de nuestras ventanas, por eso hemos elegido nuestro conjunto de colores. Y nada de eso ha sido copiado de nadie más. Todo eso son mis propias ideas sobre cómo debería ser el diseño. Creo que en términos del concepto general de un entorno de ventanas que tiene menús y barras de tareas, etc. - eso es más o menos de dominio público. Los problemas de derechos de autor son si empiezas a robar los recursos de la gente, efectivamente. Y no vamos a hacer eso. No quiero hacer una copia de MacOS. MacOS tiene algunas ideas muy buenas detrás de él. Pero esto tiene que ser algo que sea reconociblemente Raspberry Pi. Al menos reconociblemente diferente de MacOS. De la misma manera que tiene que ser reconociblemente tan utilizable como MacOS.
Cuando empecé, la única marca que habíamos puesto en el sistema operativo era que teníamos una Raspberry en el escritorio. Aparte de eso, era LXDE; no le habíamos hecho nada más, porque no habíamos tenido gente para trabajar en él. Es como decía Steve Jobs: las fuentes son realmente importantes, la tipografía es importante. Son cosas así cuando intentas crear una imagen visual que represente tu marca. Para sonar un poco pretencioso al respecto. Es hacer algo que la gente mire y diga "oh, eso es el Pi Desktop".
Max: Hablando de tipografía, ¿qué tipo de letra del sistema utilizas por defecto?
Simon: Es una fuente de dominio público de Google llamada "Roboto". He tenido que trabajar un poco en ella. Es una cuestión interesante si eres un friki de las fuentes. Fue casi lo primero que hice, literalmente el primer día, porque la fuente por defecto de LXDE es fea - y sé que se puede hacer una gran diferencia ...
Max: ¿Sabes lo que era?
Simon: No lo recuerdo, era muy horrible. Se puede marcar una gran diferencia en la forma en que se percibe cualquier cosa simplemente cambiando los tipos de letra. Basta con cambiar un documento, de una fuente serif a una sans-serif, y todo el documento parece una cosa diferente. Es una de las cosas más cruciales que hay que hacer -Steve Jobs tenía toda la razón en esto- si consigues el tipo de letra correcto, muchas cosas mejoran inmediatamente. Así que, lo primero que hice, fue literalmente ir a través de todas las fuentes libres que pude encontrar - obviamente hay millones de fuentes en el mundo - pero ya sabes. Necesitaba algo que fuera gratis [para usar], algo que pudiera entender cómo entrar en Linux. Revisé docenas de fuentes, y tan pronto como di con Roboto, me dije, sí, eso es, se ve como quiero que se vea. Afortunadamente era de dominio público, así que podíamos usarla. El problema fue que instalamos el paquete de Roboto, y unos meses después hicimos una actualización del sistema, y la fuente seguía siendo Roboto, pero la fuente había cambiado. Y no era ni de lejos tan buena. Google había hecho algo con las métricas de la fuente. Lo miré y dije ¡Eugh! - eso no es lo que quería. Así que en realidad, lo que tenemos es una versión antigua de Roboto, que tiene su propio paquete. Lo llamo Piboto, sólo para distinguirlo de Roboto. No puedo seguir el paquete de Roboto, porque ha cambiado la fuente y no me gusta la nueva.
Max: En realidad es una sorpresa bastante desagradable, diría yo. Porque esperas que las fuentes sigan siendo las mismas.
Simon: No lo hizo. Lo cambiaron. Y lo cambiaron hasta el punto de decir "no, no vamos a seguir esto, vamos a tomar nuestra propia versión de esto ahora, y vamos a seguir con mi versión".
Max: Especialmente en pantallas muy pequeñas - como las de 2,8" de Adafruit - hay que tener una fuente especial.
Simon: Sí, los tamaños de punto más pequeños - usted necesita tener una fuente que está diseñado para trabajar en situaciones como esa. Así que estamos en esta vieja versión de Piboto, como se llama, y una de las otras cosas que es interesante - si usted es un fanático de la fuente - hablando de la coherencia. Las fuentes, obviamente, tienen diferentes pesos en Linux - ligero y fino, medio y pesado, y negrita, etc. Y algunas aplicaciones - esto es en realidad una cosa de GTK 2 vs GTK 3 ... ; estoy muy a favor de GTK 2, estoy realmente muy en contra de GTK 3. Creo que han hecho algunas decisiones realmente malas en GTK 3. Cosas como si se ejecuta una aplicación GTK 3 bajo sudo, se ve diferente de la forma en que se ve si no, debido a la forma en que están tirando de la información temática en ella. Así que si se ejecuta bajo sudo, no se obtiene el tema original de GTK 3 del usuario, se obtiene el tema raíz de GTK 3. Que puede no ser el mismo. Cosas así. Si quieres ser coherente, GTK 3 no es tan bueno como GTK 2. Y este es el punto que estaba haciendo sobre GTK 3 - en términos de lo que es malo en términos de fuentes, es que su manejo de los pesos de las fuentes no es bueno.
La fuente del sistema que utilizamos es Piboto Light. De nuevo, quiero la versión Light, porque la versión Light se ve mejor que la versión normal. Hay algunas aplicaciones - por ejemplo, Chromium creo que es una aplicación GTK 3 - en la que se establece la fuente para ser Piboto Light, y se deshace de la luz, sólo le da Piboto. Creo que esto es una cosa de GTK 3, donde algunos de su manejo de peso de la fuente no se hace muy bien. Y esto de nuevo, creo que entra en sus cosas sudo y no-sudo, hay algunas cosas allí que no se hace correctamente. De hecho, he planteado errores contra [esto] - y ellos dicen: "no, se supone que funciona así, está bien". Tengo que trabajar alrededor de esto, porque no hace lo que quiero que haga.
Max: ¿Cómo lo afrontas?
Simon: La forma en que arreglé el problema de la fuente con todo, es que hay nuestra fuente, que normalmente se llama Piboto, ahora se llama Piboto LT, porque es el peso ligero. Ahora la gente no puede romper, porque si usted elige nuestra fuente, es el peso correcto todo el tiempo.
Max: Con Piboto LT sólo hay un peso, sólo el peso ligero.
Simon: Puedes ponerlo en negrita - todavía incluye las versiones en negrita y en cursiva. Pero la normal es la ligera. Es la única manera de conseguir que todo tenga un aspecto coherente. A la hora de elegir las fuentes, creo que el peso es tan importante como la propia fuente, porque cambiar el peso puede cambiar enormemente el aspecto de la fuente. He pasado muchas horas jugando con FontForge, creando mi versión de la fuente, lo que significa que ahora todo tiene un aspecto coherente. Este es uno de los cambios en la versión más reciente, es que ahora Chromium está usando la misma fuente que todo lo demás, mientras que antes no lo hacía. Antes usaba Piboto en un peso normal, a diferencia del peso Light.
Max: Creo que esto es algo que la gente nota, parece un poco fuera de lugar, al menos subliminalmente.
Simon: Subliminalmente es una buena manera de verlo - siempre pensé que algo no estaba bien en Chromium. Pero miraba la configuración, y la configuración decía que tenía la fuente Light. Y tan pronto como hice estos cambios - eso era lo que estaba mal con Chromium. Chromium ahora se ve bien. Chromium ahora coincide con todo lo demás. Es una de estas cosas - si no lo arreglas la primera vez que lo notas - te acostumbras. Y luego piensas, bueno, es sólo la forma en que es.
Conseguir que Chromium funcione fue un gran paso en primer lugar. Chromium fue difícil, conseguir que funcionara correctamente con el gestor de ventanas y que se viera bien en el gestor de ventanas. Uno de mis grandes odios son las aplicaciones que quieren verse como ellos quieren, en lugar de como el sistema quiere que se vean. Y Chromium es una de las que intenta usar sus propios colores para las barras de las ventanas, y cosas así. No se lleva bien con los gestores de ventanas. Pasé mucho tiempo cuando lo pusimos, tratando de hacer que realmente se vea bien.
Hay una anécdota sobre eso. Tenemos Chromium en el sistema. Y Eben usa Chrome en otros sistemas. Yo no uso Chrome, porque soy un usuario de Mac, uso Safari.
Max: ¿Existe Chrome para ...
Simon: Hay Chrome para Mac, yo no lo recomendaría porque hace exactamente lo que dije entonces - parece una aplicación de Google en un Mac, en lugar de parecer una aplicación de Apple en el Mac. Eben está acostumbrado a usar Chrome. Y Chrome colorea su borde, por lo que tienes pestañas y tienes un fondo de color particular - y Eben estaba acostumbrado a esto, porque lo usaba en un Mac. Lo investigué, y no encaja con el resto de nuestras aplicaciones, tiene que cambiar. Estuve jugando con varias combinaciones de colores, y activé la opción de usar los marcos de Openbox - el gestor de ventanas de LXDE - con Chromium. Porque por defecto, se pierde el marco de la ventana. Teniendo un marco de ventana, Eben dijo "eso no se ve bien con un marco de ventana, eso no se ve más como Chrome". Yo dije, "confía en mí, esto va a estar bien. Pero tiene que tener el marco. Porque tiene que coincidir con todo lo demás". Y Eben estaba como dando vueltas y murmurando, "estás cometiendo un gran error - no debes hacer eso" Yo dije "confía en mí, esto será correcto al final". El problema era que tenía los colores de Chromium dentro de nuestro marco de la ventana. Tenía que averiguar cómo cambiar el color de la ventana que te da Chromium, el fondo detrás de las pestañas. Necesitaba hacer que coincidiera con el color que usábamos. Me costó varios días de trabajo averiguar dónde estaba el ajuste, y lo cambié. Eben se acercó a mi escritorio después de haber hecho esto, y le dije "Ahora echa un vistazo a Chromium. " Lo miró y dijo: "Está bien" le dije "Te dije que estaría bien". Se trata de la consistencia. Se trata de hacer que se vea como esperas que se vea. Lo que Eben había visto, era algo que no se parecía a Chrome y no se parecía a nosotros.
Max: ¿Algo completamente diferente, entonces?
Simon: Sí, eso se veía mal. Pero yo sabía que para hacerlo bien había que acertar con los colores y los tipos de letra. Y tan pronto como se consiguen los colores correctos, y coincide, Eben fue "Oh, está bien". - "Sí, te dije que sería. Es porque ahora se parece a nosotros. Estás acostumbrado a que se parezca a Chrome y lo que estabas viendo es esta etapa incómoda en el medio donde no lo había terminado". Pero esta es la razón por la que cosas como el gestor de ventanas son importantes. Es una forma muy importante de darle una apariencia consistente. Así que las aplicaciones que no juegan bien con el gestor de ventanas me molestan, porque el gestor de ventanas está ahí por una razón.
Max: Esa es una de las cosas que me molestan sobre el escritorio de Linux - la consistencia como usted dice. Hay creo que el GTK, entonces hay entorno de escritorio KDE ...
Simon: Y la cosa sobre el GTK es - si alguien dice que está escribiendo una aplicación para nosotros, en qué debería basarse, mi respuesta es que se base en GTK 2, porque he pasado mucho tiempo haciendo que nuestro tema GTK 2 funcione bien. Se ve como quiero que se vea. Cada vez que GNOME lanzaba una nueva GTK 3, jugaban con el tema de GTK 3. Y yo he pasado semanas tratando de hacer que los temas coincidan. Para que una aplicación GTK 3 se vea como una aplicación GTK 2. Y cada vez que GNOME cambiaba cosas. Como dije, GTK 3 no parece hacer la tematización tan bien como lo hacía GTK 2. GNOME parece haberse movido hacia tener un tema que está conectado a él, y realmente se le anima a no cambiarlo, mientras que con GTK 2 siempre tenía el tema que quería. He creado efectivamente un tema de GTK 3 que hace sombra a nuestro tema de GTK 2. Y de vez en cuando GNOME hace algo en GTK 3 que no puedo replicar en GTK 2. O que choca con nuestro tema. Y entonces tengo que pasar por esta fase de intentar que los dos se parezcan lo más posible, porque la gente nota que esta aplicación se ve ligeramente diferente. No lo notan necesariamente de forma explícita, pero sí de forma subliminal y no les parece del todo bien.
Max: Es un verdadero desafío, ¿no? Es algo que no tendrías que hacer en un Mac o Windows.
Simon: No, porque sólo hay un conjunto de herramientas, cierto. Y la otra cosa que entra en ella recientemente es Qt. Porque el nuevo visor de PDF - cuando lo introdujimos esta vez - quiero decir que Xpdf es tan viejo y anticuado, que necesitábamos deshacernos de él. Era una de las cosas que tenía en mi lista desde el primer día, tenemos que conseguir un nuevo visor de PDF, y finalmente lo hice. Y he probado todos los visores de PDF que se pueden instalar en la Raspberry Pi. Estoy mirando las cosas en términos de aspecto y la sensación, ¿cómo funciona, hace - porque la interfaz de Xpdf es una lista de páginas en el lado, en lugar de ser capaz de seguir para desplazarse por las páginas, es cosas así. Y tenía que parecer un visor de PDF moderno. Y el mejor candidato era Qpdf viewer, que es una aplicación Qt. Así que no se parecía a nada más en la plataforma. Así que mi siguiente reto fue hacer que la tematización de Qt se pareciera lo más posible a nuestra tematización GTK. Y eso fue varias semanas de trabajo. De nuevo, porque he construido esta aplicación que cambia cosas como la configuración de la ventana y la configuración de la apariencia de la ventana. Así que eso tiene que ser personalizado para asegurarse de que cambia los [archivos de configuración de Qt también], si cambia cosas allí. Todavía estoy frustrado - me las he arreglado para conseguir que se vean más o menos idénticos. Lo único que no puedo hacer son los atajos automáticos. Así que cuando mantienes presionada la tecla Alt, los guiones bajos aparecen en los accesos directos del menú. Qt no soporta eso. De hecho, me pasé un par de días revisando el código de Qt, y añadí esto a LibreOffice. LibreOffice no tenía esto, hasta que se lo añadí.
Max: En qué se basa realmente LibreOffice.
Simon: LibreOffice es su propio kit de herramientas, completamente diferente. Y no soportaba este resaltado del autoacelerador, así que el código de LibreOffice que lo hace fue escrito por mí. Porque decidí que lo necesitábamos. Y lo subí a la red. Y ellos dijeron: "Oh, esto es contra una versión antigua - puedes hacerlo contra la nueva versión". Y yo dije: "No, realmente no tengo tiempo para hacer eso. Aquí está, haz lo que quieras con él - es para nosotros más que para ti". Y en el plazo de una semana alguien más en LibreOffice había cogido este código que habían estado esperando que alguien escribiera y lo subió a la versión [reciente]. Parecía que había hecho lo que la gente había estado esperando durante un tiempo, lo cual es una sensación bastante agradable. He mirado de hacer lo mismo para Qt, sería una pesadilla añadirlo. No existen los ganchos para hacerlo - los mensajes para decir dónde se está pulsando la tecla. Me pasé unos días mirándolo y decidí que iba a tener que vivir sin ello. Esa es la principal diferencia visual entre el visor de Qpdf y otras cosas en la plataforma - tiene guiones bajos debajo de todos sus aceleradores todo el tiempo y no puedes apagarlo. En algún momento podríamos reshellar todo en GTK, pero es un gran trabajo.
Max: ¿Cuánto trabajo supondría, en realidad, reescribir el visor de Qpdf en GTK?
Simon: No lo sé para ser honesto. Es algo que Eben me pidió que considerara hacer. El renderizado real de los PDFs lo hace una biblioteca de terceros. Así que eso está bien - es sólo recrear todo el shell alrededor de él. Y la cubierta no es enormemente complicada. Tienes una barra de herramientas, tienes algunos botones, tienes algunos menús. Va a depender mucho de cosas como, cuántos diálogos de preferencia hay allí, porque tendrías que rehacer cada uno de ellos.
Max: Esencialmente tendrías que ir y reescribir toda la interfaz.
Simon: Sí, reescribirlo todo. No hay manera de hacerlo con un proceso automatizado, tendrías que hacerlo a mano. Así que sí, creo que sería un trabajo demasiado grande. Pero sería bueno, sólo para deshacerse de los guiones bajos. (Risas). ¿Queremos pasar tres meses de mi mano con esto, para deshacernos de los guiones bajos? Probablemente no, hay cosas mejores en las que podría invertir mi tiempo.
Max: ¿Tiene realmente lectura con pestañas?
Simon: Creo que sí, no estoy seguro, nunca lo he activado.
Max: Otra cosa - personalmente he tenido problemas con los visores de PDF de Linux para rellenar formularios PDF. Es una cosa que es importante para el trabajo de oficina, como los gobiernos.
Simon: Sí, lo sé. Tengo que comprobarlo, nunca lo he probado.
Max: Esa característica en particular parece difícil de hacer.
Simon: Le echaré un vistazo, es una buena pregunta.
Max: Volviendo al escritorio de Raspbian. Qué otros problemas tiene previsto arreglar?
Simon: Llevo casi cuatro años trabajando en ello. Creo que tengo la mayor parte como me gustaría que fuera. Creo que lo que estamos estudiando ahora es personalizar algunos iconos más. Los iconos son un trabajo muy grande: un solo icono requiere mucho trabajo. Tienes que asegurarte de que funciona en todos los diferentes tamaños, estás haciendo todo esto [masaje] a nivel de píxel individual en cada uno de los doce tamaños. Así que todos nuestros iconos del sistema están hechos, creo que nuestro siguiente paso va a ser los iconos de la barra de herramientas. Actualmente usamos un tema de reserva, así que vienen de - creo que es un tema de reserva de GNOME que usamos en este momento. Y vamos a hacer cosas como mirar las barras de herramientas en LibreOffice y en el editor de texto y en el visor de PDF, para que empiecen a estar en línea con nuestra apariencia.
Max: Porque LibreOffice utiliza sus propios iconos ...
Simon: Hay un conjunto estándar de iconos que se definen para los entornos de escritorio. Cosas como cortar y pegar, y archivo y copia, son todos estándares. Hay múltiples temas de iconos, que tienen sus propias interpretaciones de los mismos, LibreOffice entonces añadir algunos de los suyos en la parte superior de eso. Utilizan el tema de los iconos para muchos de ellos. Así que ya tienes el problema de que tienes dos diseñadores trabajando en los iconos y se ven diferentes - y de nuevo esto es algo que estamos tratando de evitar. Estamos tratando de hacer que todos los iconos parezcan venir del mismo lugar. Porque todos los iconos de Apple parecen venir del mismo lugar. En su mayoría. Es sólo tratar de obtener una consistencia visual. Por lo tanto, los iconos de la barra de herramientas son creo que la siguiente área que vamos a ver. En términos de apariencia general, creo que estamos casi en un punto en el que la gente se ha acostumbrado a la forma en que se ve. Lo que yo consideraría hacer en el futuro es lo que Apple hizo cuando pasó de cualquier versión de MacOS que fuera - Apple tuvo un cambio de interfaz de usuario bastante importante.
Max: Solían hacer esta cosa material natural, y luego se alejaron ...
Simon: Tuvieron un cambio de fuente. Creo que cuando pasaron de los gatos a las montañas cambiaron el tipo de letra.
Max: ¿No usaron la Helvética?
Simon: No, esta no es la fuente del sistema. No lo recuerdo. Hicieron un cambio con la fuente, e hicieron varios ajustes en la interfaz de usuario. No fueron grandes, pero se trasladó un diseño de interfaz de usuario que en ese momento tenía diez años o más, y de repente se movió un poco.
Max: Un diseño renovado.
Simon: Exactamente. No tengo intención de cambiar nuestro aspecto general, porque creo que es bastante bueno tal y como está, pero estamos considerando la posibilidad de hacer algo similar, para mostrar que hemos hecho una nueva versión cuando pasemos a Buster [nota del transcriptor: próxima versión de Debian]. Una de las cosas que es ligeramente frustrante es que cuando pasamos de Jessie a Stretch, nadie se dio cuenta. (Risas) Porque no hay ninguna diferencia visual - se ven exactamente igual. "Oh, ahora tenemos a Stretch, genial. ¿Cuál es la diferencia? Pues que tiene el mismo aspecto".
Max: ¿Tal vez podrías hacer algunas fotos de fondo diferentes?
Simon: Las fotos de fondo son preciosas - las ha hecho un chico de aquí que hace mucha fotografía. Y son preciosas. En cuanto las vimos, Eben y yo nos sentamos y miramos y la que tiene la carretera, dijimos que iba a ser el fondo. Y por mucho que me guste la foto, la he visto mucho ahora. Y es curioso - es una de las cosas cada vez que veo una foto de una Raspberry Pi Jam o un Code Club, es sólo mi diseño de escritorio - es una cosa maravillosa para ver que la gente lo está utilizando. Pero siempre tienen la misma imagen de escritorio. Y es como: ¡hemos puesto muchas otras, prueba algunas de las otras...! Esa es otra cosa que podríamos actualizar para la nueva [versión]. De hecho, escribí algo para cambiar aleatoriamente el fondo del escritorio al arrancar, fue una de las cosas que alguien sugirió, pero me distraje con otra cosa después de terminarlo, así que nunca lo activé. Es un buen punto, lo activaré en caso de que la gente lo quiera. Algunas de las otras imágenes son preciosas.
En cuanto al aspecto general, estoy contento con él. La otra cosa que estamos estudiando es que, el primer día, tenía una lista de aplicaciones que quería tener como estándar en la imagen. Y ahora hemos llegado al punto - cosas como tener una suite de oficina, tener correo electrónico, tener un buen visor de PDF, obviamente todas las herramientas de programación que tenemos, un buen editor de texto, pero uno de los que todavía falta es un reproductor multimedia en la GUI. Y en realidad la razón por la que no hemos lanzado uno de esos todavía, es que queríamos tener la misma aceleración de hardware que tenemos para la reproducción de vídeo en Chromium, etc. Ha estado en mi lista para hacer, literalmente, desde el primer día. Ahora estamos trabajando en ello; no puedo prometer una fecha en la que vaya a aparecer, pero está en marcha y espero verlo bastante pronto. Es lo único que creo que nos falta. Se basa en VLC.
Max: Eso sería absolutamente fantástico. Es uno de los mejores reproductores. No hay anuncios en él.
Simon: Es un buen producto. Lo reproduce todo. Lo uso en casa, lo uso en mi Mac. Era lo más obvio. Ya estaban [empezando a habilitar la aceleración por hardware en el código].
Creo que esa es la última aplicación que quería ver y que no hemos incluido. Con la actualización del visor de PDF, tenemos un conjunto de características comparables a las que se obtienen en Windows o Mac. Que es a lo que quería llegar. Así que las cosas que la gente espera encontrar en un ordenador hoy en día. Quería asegurarme de que teníamos todo eso. Y, por supuesto, la otra cosa que hemos introducido con la última versión es la aplicación de software recomendada, que de nuevo es algo que quería hacer bastante pronto. Porque añadir y eliminar software, si eres un usuario experimentado y sabes [cómo usar] apt, está bien. Añadí un programa de adición y eliminación de la interfaz gráfica de usuario bastante pronto, que fue un montón de trabajo para poner en orden, no puedo recordar cómo se llama. La interfaz de usuario era una pesadilla cuando la vi por primera vez. Una vez más, miré todos los paquetes que existen para encontrar el que mejor se adaptaba a nuestro aspecto, pero casi nadie lo utiliza. Porque hay un gran número de programas en él, y no hay información sobre cuáles son los buenos, y no hay información sobre lo que realmente pueden hacer. Y de hecho puedes hacer actualizaciones del sistema y cosas en él. Pero de nuevo, nadie lo usa para eso, todos usan la línea de comandos. Lo cual está bien. Pero sentí que - hace muchos años, antes de que empezara, teníamos el Pi Store y cosas por el estilo, y eso como que murió.
Max: ¿Cuál fue la razón de la muerte de la tienda Pi en realidad?
Simon: Creo que la gente dejó de apoyarlo. No sé si alguna vez hubo mucho en él. Creo que lo proporcionaba un tercero, y simplemente dejó de recibir apoyo. No creo que haya sido una decisión consciente...
Max: ¿Nunca despegó realmente...?
Simon: No, creo. La gente está acostumbrada a las tiendas de aplicaciones en plataformas como los dispositivos móviles y, de hecho, en Mac y Windows hoy en día, y una de las cosas que Eben siempre ha dicho es que todo el paquete de descargas es en parte sobre el escritorio, y en parte sobre la curación de software. Sobre el suministro de software que creemos que es bueno. Y hasta ahora la única manera que hemos sido capaces de hacerlo es poner todo en la imagen, porque la gente no lo encontrará de otra manera. Así que la imagen se ha ido haciendo cada vez más grande, a medida que la gente nos proporcionaba software. Y es estupendo que la gente nos proporcione este software -no quiero desanimar a la gente a hacerlo-, algunas de las cosas que hemos tenido son gratuitas para nuestros usuarios y por las que otras personas tienen que pagar. Es fantástico.
Max: ¿Las cosas de Wolfram?
Simon: Las cosas de Wolfram. RealVNC. Este es un software comercial, que los usuarios de Pi obtienen gratuitamente. Y estamos muy agradecidos a las empresas en cuestión por hacerlo. Pero la única forma de hacer llegar este software a la gente es: "Vale, lo añadiremos a la imagen". Y la imagen ahora está subiendo - la imagen es ahora 1,75 GB. Es grande. Sé que mucha gente piensa que "sí, ahora tenemos banda ancha rápida. Así que a quién le importa". Pero puedo recordar cuando descargar un gigabyte me llevaba tres o cuatro horas.
Max: Además, algunos de los países a los que quiere llegar la Fundación Raspberry Pi no tienen ese tipo de banda ancha.
Simon: Precisamente. Así que creo que es demasiado grande. La intención del Software Recomendado era reducir el tamaño de la imagen descargada, reducir el número de cosas en los menús, simplemente e intentar despejar un poco las cosas. Por qué seguir haciendo saber a la gente, "Oye, hay estas grandes aplicaciones - son gratis, es fácil instalarlas. Por qué no las pruebas". Pero sin obligar a todo el mundo a descargarlas siempre, lo que siempre me ha parecido un poco injusto: "tienes que descargar todo lo que te digamos".
Así que sí, creo que es un buen lugar para estar - que tenemos efectivamente nuestra propia pequeña tienda de aplicaciones con la ventaja de que todas las aplicaciones son gratis.
Max: En realidad es muy importante también para la gente que es nueva. Linux - funciona un poco diferente que en Windows. En Windows se descarga el instalador y se ejecuta. Creo que la forma en que Linux lo hace es mucho más inteligente, con el gestor de paquetes.
Simon: Es mucho más fácil. apt es genial, pero de nuevo uno de mis objetivos es que la gente no tenga que usar un terminal. De nuevo [los viejos usuarios de Linux dicen]: "¿Por qué no le enseñas a la gente a usar la terminal?" - Bueno, no deberían tener que usar una terminal, no están acostumbrados a usar una terminal. La terminal está ahí, si quieres usarla, por eso está en la barra de tareas, porque es algo útil. Pero para alguien que sólo ha visto un Mac o un PC con Windows, la idea de que de repente tenga que empezar a escribir cosas para instalar programas, no. Pueden hacerlo más tarde. Uno de los objetivos del diseño siempre fue que la gente no tuviera que ver lo que ocurre dentro de un terminal. Todo debería ser simplemente apuntar y hacer clic.
Max: Sólo quieres una incorporación fácil.
Simon: Exactamente. Está todo ahí y bajo el capó, si quieren jugar con él. Si quieres entender cómo se configura un sistema Linux, o el escritorio X, ve y mira mi aplicación que cambia los archivos de configuración. Porque eso te muestra, dónde están los archivos, qué necesitas para hacerlos, cuáles son las líneas en los archivos que son importantes. Creo, que mi C no es probablemente la mejor herramienta de aprendizaje en el mundo, pero si usted puede leer mi C, se puede ver - que es un buen lugar para ir. Entonces, ¿cómo se cambia la fuente del sistema - "oh, hay una función aquí si desea cambiar la fuente del sistema - ¿qué hace eso"?
Si llegas al punto en que estás aprendiendo a programar querrás leer algún código de ejemplo. Intento escribir código que sea razonablemente legible. Puedes echarle un vistazo y aprender de él. Es casi una herramienta que ayuda a la gente a aprender a configurar un escritorio Linux - además de una forma de hacerlo en sí mismo.
Max: Una de las cosas que mencionaste antes fue Buster, la próxima versión de Debian. Qué tipo de cambios esperas de ella en general y para la Raspberry Pi en concreto?
Simon: No he mirado mucho a Buster. Tuvimos un gran cambio cuando pasamos de Wheezy a Jessie, debido a systemd.
Max: Creo que eso fue muy importante para la velocidad de arranque.
Simon: Sí, la velocidad de arranque supuso una gran diferencia. No he mirado en profundidad a Buster, pero no conozco ningún cambio tan grande. Buster parece ser más evolutivo que revolucionario bajo el capó. Creo que con todo esto - [como dije] la mayoría de la gente no notó el cambio entre Jessie y Stretch. No creo que haya grandes cambios desde el punto de vista del usuario en Buster. Los cambios creo que serán principalmente evolutivos entre las aplicaciones. Pero aún no he investigado mucho. Para que te hagas una idea, es probable que Buster no se congele hasta el primer trimestre del año que viene, y que se convierta en la versión estable en torno al segundo trimestre del año que viene. Cuando hicimos Jessie, estábamos bastante atrasados. Creo que nuestra versión Jessie fue alrededor de 6 meses después de la de Debian. En el caso de Stretch estábamos mucho más cerca, creo que dos meses después de la de Debian. Y quiero estar en el mismo [tipo de lapso de tiempo esta vez]. Así que voy a empezar a mirar a Buster la primera mitad del comienzo del próximo año. Voy a empezar a mirar lo que tenemos que adaptar a Buster. Desde mi punto de vista, mucho de lo que hay que hacer es asegurarse de que la tematización sigue funcionando, asegurarse de que todo sigue pareciendo correcto, asegurarse de que las cosas de configuración no han cambiado. Aunque LXDE no tiene una gran cantidad de cambios, porque no está bajo una gran cantidad de desarrollo activo, pero todavía habrá cambios. Y habrá un nuevo GTK 3, y puedo decir ahora sin siquiera mirarlo que probablemente pasaré un mes tratando de hacer que todo funcione correctamente bajo GTK 3 todavía. La mitad de las funciones habrán cambiado, y habrá cosas diferentes... Ya he pasado por eso. Quiero estar en una posición en la que seamos capaces de poner en marcha nuestra propia versión de Buster bastante pronto después de Debian, dentro de un mes o así. Ya tenemos la experiencia de hacerlo un par de veces, así que sabemos cómo va. Así que sí, esperamos hacer Buster relativamente pronto después de Debian el próximo año.
Max: Hablamos de coherencia, hablamos de una forma fácil de acceder a los paquetes, de paquetes curados, de ofrecer un buen conjunto de paquetes por defecto. ¿Qué más crees que le falta a un entorno de escritorio Linux moderno?
Simon: Otra cosa que hay que mencionar es el asistente de inicio, obviamente. Era algo que queríamos hacer e intentar que el proceso de encendido por primera vez fuera un poco más fácil para la gente.
Max: ¿Creo que tiene un enlace para lanzar las aplicaciones recomendadas al final del Asistente de Inicio?
Simon: Actualmente no lo tenemos, pero fue algo que consideramos hacer. El Asistente de Inicio fue algo interesante, porque en realidad surgió de la necesidad de establecer un país para el WiFi. Para 5 GHz. No podíamos certificar nuestro hardware inalámbrico sin esto: tienes que obligar al usuario a seleccionar un país WiFi si quieres obtener la certificación WiFi. Y jugamos con varias formas de hacerlo. Ninguna de ellas era particularmente ideal desde el punto de vista del usuario. Y también tenemos cosas como - muchos usuarios de Pi nunca cambian la contraseña. Hemos hecho varias cosas en el transcurso de los últimos años para tratar de aumentar la seguridad - para que no haya un agujero abierto en el Pi, por lo que la gente no puede SSH en el uso de una contraseña por defecto, etc. Me molesta que tengamos que hacer eso. Me molesta que la gente quiera hacer cosas criminales, pero así es la vida. En un mundo ideal no tendríamos que hacerlo. Es una pena que lo tengamos que hacer. Siempre hemos intentado mantener un equilibrio entre no molestar demasiado a los usuarios haciendo que la seguridad sea demasiado odiosa y tampoco tener la posibilidad de que el Pis de la gente sea tomado y utilizado con fines maliciosos. Creo que cada vez que hemos hecho un cambio he seguido de cerca los comentarios en los foros después. Y mientras la mitad de ellos digan "habéis ido demasiado lejos", y la otra mitad digan "no habéis ido lo suficientemente lejos", entonces hemos hecho lo correcto. Porque nunca van a decir todos "oye, has hecho exactamente lo correcto". Nunca vas a tener a todo el mundo contento, ciertamente con cosas como la seguridad. Así que queríamos tratar de encontrar una manera de - de nuevo sin forzar a la gente [gargantas] - "¿Le gustaría cambiar su contraseña". Esto es algo que alguien había sugerido.
Estaba jugando con el código de localización de Linux - formas de configurar el teclado y configurar cosas así. De nuevo, eso es enormemente complicado para un usuario, un usuario que no ha visto algo como esto antes. Y empecé a pensar, tal vez podemos combinar muchas de estas cosas en un solo lugar. El Asistente de Inicio creció a partir de eso. La primera parte fue mi revisión y clasificación, "OK, ¿cuál es el número mínimo de cosas que puedo pedir a un usuario para establecer, lo que significa que al final del día tienen WiFi de trabajo, tienen el idioma correcto, su teclado es correcto, ese tipo de cosas. Y cuál es el número mínimo de controles que puedo darles para hacer eso". El resultado es algo que, en cierto modo, es bastante restrictivo -y sabía que íbamos a recibir quejas al respecto- [por ejemplo, si] estoy en Japón pero quiero usar mi Pi en inglés, y no puedo. Bueno, sé que no puedes, pero dije por adelantado -y no hemos quitado ninguna de las antiguas herramientas de configuración, siguen estando ahí-, pero de nuevo, esto es para la mayoría de los usuarios que tienen un caso de uso directo, ahora sólo dicen: "Estoy en este país, estoy usando mi Pi en este idioma que se usa en este país y mi zona horaria es esta ciudad en este país". Y no tienen que ver el enorme marasmo de otras cosas, que de otro modo tendrían que vadear.
Me equivoqué en algunas cosas - una cosa divertida que sucedió: no hay un mapeo automatizado en Linux entre el código de país y el del teclado. Muchos teclados utilizan el código de país como nombre, otros no. Y no me di cuenta de lo extendido que estaba el problema de que no hubiera un mapeo uno a uno. Así que cuando lanzamos esto, la primera vez que supe de esto fue cuando alguien en Argentina se quejó de que estaba escribiendo en su teclado ahora y salía en árabe. Y yo fui a mirarlo y vi que "OK, tienes toda la razón - porque Argentina tiene un código de país de AR, no hay un teclado AR, hay un teclado ARA que es usado por todos los países de Oriente Medio. OK, tenemos que arreglar eso". Alguien me señaló que no hay una base de datos en Debian, el único lugar donde hay una base de datos para eso es en el instalador de Debian. Alguien me indicó, con mucha ayuda, que lo hiciera. Eso es lo que pasé haciendo la semana pasada, sacando esa base de datos [y añadiéndola]. Así que los teclados en la próxima versión deberían ser más precisos. Este es el tipo de cosas que sólo se descubren cuando se lanza el producto y decenas de miles de personas de todo el mundo empiezan a utilizarlo y a contar los problemas que tienen. Con todo esto, sabía que no hay manera de sacarlo y tenerlo perfecto a la primera. En casos como este, es realmente útil recibir los informes de errores. Te ayudan a ver las partes que se te han escapado.
Obviamente estamos en el Reino Unido. No puedo probar las traducciones al alemán de las cosas. Porque no puedo leer alemán, bueno puedo leer francés, puedo leer algo de alemán. La localización en Linux es en realidad un gran problema - ya que usted estaba preguntando acerca de los problemas. No es que crea que pueda arreglarlo, pero creo que puedo hacer ajustes para mejorarlo. El soporte para la localización no es tan bueno como debería ser. Te daré otro ejemplo. Hay una aplicación llamada Zenity. Y Zenity se utiliza para crear diálogos GTK a partir de scripts de shell. Puedes decirle "créame un diálogo de contraseña, o créame un listbox o algo así". Y Zenity entonces creará un control con el que el usuario puede interactuar hecho en GTK, así que coincide con las cosas. Y usamos esto para algunas cosas. Me di cuenta de que en algunos de estos diálogos de Zenity, he cambiado el sistema al alemán, y la mitad del texto en el cuadro de diálogo de Zenity se convertiría en alemán, y la mitad se quedaría en Inglés. Revisé las bases de datos de las localizaciones de Zenity, y había traducciones al alemán y al francés para todas las cadenas allí. No podía entender por qué las cosas no se traducían, así que pasé unas cuantas horas revisando el código. Y resultó que, en la versión de Zenity que viene con Stretch, la mitad de las cadenas de traducción están rotas. Así que el código nunca traducirá las cadenas correctamente.
Max: ¿Cómo es que están rotos?
Simon: Creo que lo que ha ocurrido es que la gente ha intentado pasar de un sistema de hacer las cosas a otro sistema de hacerlas y se ha quedado a medias. Pero nadie se había dado cuenta. Me parece extraño que en ningún momento un usuario alemán de Pi haya venido a decirme: "Bueno, espera: ¿por qué sólo la mitad de las cosas de la caja están en inglés y la otra mitad en alemán?"
Max: Creo que los usuarios están acostumbrados a que el ordenador no funcione.
Simon: Esa es exactamente la cuestión. Ciertamente, con Linux -tengo un colega sentado a mi lado que es un entusiasta de Linux, no tocaría una máquina Mac o Windows ni aunque le obligaras a hacerlo-, es en parte ucraniano y a menudo hace pruebas en diferentes idiomas. Le dije: "¿te has dado cuenta de que estos cuadros de diálogo tienen la mitad del texto en ucraniano y la otra mitad en inglés?". Y él dijo: "bueno, así es como funciona". Y yo dije: "¡no, no debería ser así!". Eso ya está arreglado. En la última versión de Zenity, alguien se dio cuenta de que esto estaba roto. Así que ahora estamos enviando la versión buster de Zenity sobre Stretch. Hemos hecho un backport para que funcione. Pero son cosas así. La localización es muy fácil de hacer mal. A veces la gente envía solicitudes de extracción de nuestro código. Si la gente envía solicitudes de extracción para la corrección de errores y cosas por el estilo, estoy muy feliz de tomarlas. Cuando la gente es creativa y decide "voy a escribir esta cosa nueva para ti", entonces invariablemente me encuentro con que no han puesto el soporte de localización en él, y cosas por el estilo. Porque no se les ocurre hacerlo. Simplemente lo hacen en su propio idioma. La gente que pensó en el soporte de localización en Linux - es realmente un sistema bastante bueno, funciona muy bien. Y hay un montón de herramientas para ayudarte a hacerlo bien. Pero de nuevo, como dices, la gente no tiende a quejarse cuando no funciona. Se limitan a aceptar: "Bueno, esto no funciona". No hay razón para que no funcione bien - porque [Linux tiene] una manera de hacerlo. Así que esa es una de las cosas que me gustaría ver hacer mejor en el futuro. Estamos tratando de hacer mejoras [aquí]. Creo que Pi ya funciona muy bien en inglés. Me molesta cuando miro nuestro menú - a veces lo cambio a otros idiomas para probarlo - tres cuartas partes han sido traducidas al alemán o al francés, y hay cosas - cuatro o cinco cosas - que obviamente no lo han sido. Eso me parece - es molesto y me gustaría que se hiciera mejor. Hay algunos sitios web automatizados que te ayudan a hacer traducciones, y la gente me señaló que simplemente pones tu código allí, y la gente viene y lo traduce gratis. Me gustaría poner en marcha algo así. Está en la lista de cosas por hacer ....
Max... pero tienes que equilibrar tus prioridades.
Simon: Exactamente. Pero creo que en términos de escritorio de Linux, el soporte de internacionalización, sería bueno si fuera mejor. Nosotros, como empresa, no podemos salir a traducir todo esto. Dependemos de que los usuarios nos proporcionen traducciones. Y el mecanismo por el cual los usuarios pueden proporcionar traducciones en este momento es incómodo - está haciendo pull requests en GitHub. Un número comparativamente pequeño de personas son capaces de hacer eso, mientras que un número comparativamente grande de personas son capaces de traducir una de nuestras aplicaciones a un idioma diferente. Así que eso es algo que me gustaría que hiciéramos mejor en el futuro.
En general, creo que el escritorio Linux que distribuimos es bastante bueno, creo que estamos más o menos donde quiero estar. No hay grandes cambios que quiera hacer en esta etapa, creo que la mayoría de las cosas que busqué en el primer día y [anoté como] malas, [ya están arregladas].
Max: Tienes una sensación de logro, ...
Simon: Una de las cosas que me gusta hacer es poner una tarjeta con Wheezy tal y como era el primer día, y otra tal y como lo tenemos ahora - y - eso es un ordenador diferente. Y, sí, me siento muy orgulloso de ello. En términos de mi carrera, el escritorio es la cosa de la que me siento más orgulloso de haber trabajado, porque 95 % de él es mi propio trabajo. Puedo mirarlo y decir: He hecho el trabajo de diseño, he hecho el trabajo de implementación, he escrito el código, he construido los paquetes. Colaboro con un colega, que se encarga de la creación de las imágenes y de algunas de las cosas subyacentes de Linux, y trabajo con un diseñador gráfico que ha hecho algunos diseños de iconos. Pero siento que el Escritorio es mi bebé, esto es lo que he creado. Y estoy muy orgulloso de él - siento que tengo [derecho] a estarlo - siento que la experiencia de usar una Pi es ahora comparable a la de usar una máquina Windows o una Mac, y ahí es donde queríamos estar.
Max: Es importante hacer que el Pi sea más amigable y accesible, como una plataforma para todos.
Simon: Exactamente. Eben siempre ha dicho que quiere que el Pi sea un ordenador de propósito general. Y el escritorio es una parte importante de eso. Ahora estamos en el punto en el que el escritorio no va a impedir que sea un ordenador de propósito general. Y creo que LXDE, hace cuatro años, habría supuesto una barrera de entrada para algunas personas. El Escritorio es lo que más me enorgullece haber logrado - y ese es un buen lugar para estar.
Max: ¿Cómo te inspiras en el trabajo que haces? Sentimientos, ideas, ...
Simon: La inspiración viene principalmente de que miro algo y digo: "Dios, eso es realmente molesto. Debo ser capaz de hacerlo mejor". "No se trata de una inspiración positiva, sino de una frustración por las partes que no funcionan tan bien como podrían hacerlo. Parece una forma muy negativa de verlo. Pero: Me siento y pienso, "Oh Dios, ¿es realmente la mejor manera de hacerlo?" Entonces me siento y pienso, podría hacer esto, podría hacer aquello.
No tiendo a mirar cómo hacen las cosas los demás. Tiendo a mirar: ¿cuál es la secuencia más corta de movimientos que puedo hacer para llegar al punto donde quiero estar? ¿Cuál es el menor número de cosas que quiero hacer que el usuario haga, para lograr lo que quiere hacer. Y eso es lo que quieres hacer.
Max: Recortar, en lugar de añadir...
Simon: Sí, es quitar cosas en lugar de añadir pasos. Hace muchos años trabajé en el diseño de la interfaz de usuario de teléfonos. En realidad fue con Microsoft. Trabajaba para una empresa de I+D por contrato y estábamos trabajando en el primer videoteléfono que iba a salir al mercado. Fui a reunirme con el equipo de diseño de la interfaz gráfica de Microsoft en Seattle; era el año 1999, más o menos, y Microsoft no se consideraba vanguardista en cuanto al diseño de la interfaz de usuario. Si quieres un ejemplo de mal diseño, utiliza uno de Microsoft, en lugar de los de Apple, que eran buenos. Por supuesto, hoy en día son mucho mejores. Y tenían una lista de directrices para el diseño de la interfaz de usuario. Me desconcertó, porque eran muy buenas directrices sobre cómo diseñar una interfaz de usuario, y Microsoft estaba produciendo tan malas interfaces de usuario. "Tenéis estas brillantes directrices, ¿qué demonios está fallando entre estas directrices y el producto final?"
Pero una de las cosas más importantes, que se me quedó grabada y que mantengo hoy en día es que -permítanme que lo entienda bien- "ofrecer al usuario opciones no sustituye a tomar la decisión correcta por adelantado".
Es muy fácil decir: "Bueno, no sé si debemos hacerlo así o así, así que pongamos una casilla y dejemos que el usuario elija". He visto esto muchas veces, de hecho en mi anterior carrera en el diseño de la interfaz de usuario, cuando trabajé para el contrato de I + D, siempre hubo esta tendencia, "oh, bueno, no sabemos lo que el usuario va a querer hacer aquí, así que vamos a darles la opción. Hagamos que sea personalizable, para que puedan hacer lo que quieran". Mi ejemplo aquí es siempre el reproductor de discos compactos. Cuando los reproductores de CD salieron por primera vez, podías programar las pistas que querías reproducir. Por ejemplo, primero la pista 1, luego la pista 5 y luego la pista 3, y luego la pista 4. Y todo el mundo hizo esto durante los primeros veinte minutos que tuvo un reproductor de CD. Y nunca lo volvieron a tocar. Si compras un reproductor de CD [hoy] - en los últimos tres o cuatro reproductores de CD que he tenido, ya no puedes programarlos, porque se dieron cuenta de que nadie quería hacerlo. Daban a los usuarios esta funcionalidad que un número ínfimo de usuarios utilizaba, pero que estaba ahí para todo el mundo. Es el mismo tipo de cosa - si lo hago bien por adelantado, no tengo que diferir esa decisión a los usuarios porque no puedo tomar la decisión. Uno de los aspectos del diseño de la interfaz de usuario que es importante es tener el valor de ir: Creo que esta es la manera de hacerlo. Creo que esta es la manera que es mejor para todos. Y nunca vas a tener razón en todo momento. Y tienes que aceptar que a veces recibirás una respuesta tan mala de los usuarios que pensarás: OK, eso estuvo mal, debería haberlo hecho de otra manera.
Y ha pasado un par de veces en la Pi. He quitado la configuración del reloj. "¡¡¡Has quitado los ajustes del reloj!!!" "Vale, los vuelvo a poner". Es tratar de ponerse en la mentalidad, de OK, lo que es una persona promedio está utilizando esto, lo que realmente quieren hacer, lo que realmente están tratando de lograr, ¿dónde quieren llegar. ¿Cómo puedo ayudarles a llegar allí, sin poner muchas decisiones en su camino? ¿Cómo quieres hacerlo? ¿Quieren hacer esto o aquello? No les importa esta cosa intermedia, quieren estar aquí. Y se trata de cómo llegan allí. ¿Cómo hago para que lleguen allí lo más rápido posible? Esa es la prioridad, se trata de tomar la decisión correcta para ti, en lugar de hacer que los usuarios tomen la decisión por sí mismos. Suena un poco dictatorial, es como "Yo sé lo que es mejor para usted", pero por otro lado, eso es lo que el diseño de usabilidad se trata - se trata de tener una sensación de lo que es mejor para la gente.
Max: Para que las cosas funcionen de forma intuitiva sin que el usuario tenga que invertir mucho tiempo en aprender cómo funciona.
Simon: Sí. Para hablar un poco de la teoría del diseño de la interfaz de usuario, hay varios libros de texto sobre el diseño de la interfaz de usuario, pero el mejor se llama "La psicología de las cosas cotidianas", que ahora creo que ha cambiado de nombre. Si alguien quiere aprender diseño de interfaz de usuario, "La psicología de las cosas cotidianas" es el único libro que debe leer.
Max: ¿Tiene una tetera con el asa mal colocada en la tapa?
Simon: Ese es, ese es el libro. Una de las cosas que explica, es que en tu cerebro haces un mapa de cómo funciona algo. Y mientras el mapa mental coincida con la cosa que tienes delante, y se comporten de la misma manera, entonces puedes usarlo intuitivamente. Y en algunos casos es tan simple como un mapa real. Si voy a la izquierda desde aquí, quiero que la pantalla se desplace hacia la izquierda. No quiero pulsar el botón izquierdo y que la pantalla se desplace de repente hacia arriba. Son cosas así. Es hacer que las cosas en tu mente funcionen como el ordenador, y hacer que la cosa en el ordenador funcione como la cosa en el mundo real. Y si puedes hacer eso, es como consigues que las cosas sean intuitivas. Es hacer que las cosas funcionen como los usuarios esperan que funcionen. Y hoy en día los usuarios entienden el paradigma de los ordenadores. Entienden, muevo un ratón para mover el cursor, presiono un botón. No hay que enseñarle eso a la gente, mientras que hace treinta años nadie hubiera sabido nada de eso. Esa parte está establecida, así que no hay que jugar con eso innecesariamente, porque no ayuda. Intenta ser coherente. Si tienes un botón en la ventana, haz que parezca un botón. Aquí es donde Apple creo que se equivocó terriblemente con uno de sus últimos rediseños de iOS, están tratando de hacer que la pantalla se vea más bonita, y en el proceso quitaron todos los botones. Así que ahora sólo tienes palabras. Ahora todo el mundo ha aprendido, que un botón se parece a una palabra. Pero cuando lo hicieron por primera vez, la gente decía: "¿Dónde han ido todos los botones?". Puedes apreciar la simplicidad del diseño, porque se ven muy bien, pero desde el punto de vista de la usabilidad, no fue una gran idea.
Max: Ya no se puede insinuar que se trata de botones.
Simon: Exactamente. Son cosas así: si algo es un botón, haz que parezca un botón. No hagas que parezca otra cosa. Haz lo que la gente espera. Y, por supuesto, puedes hacer lo contrario. Hacer cosas que la gente no espera. Y si haces cosas que la gente no espera, se fijan en ellas. Así que si quieres llamar la atención de alguien sobre algo, haz algo que no esperen. El ejemplo más obvio es abrir un cuadro de diálogo: has cambiado la pantalla, tendrán que notarlo. Se trata de trabajar con las expectativas del usuario en cuanto a lo que va a ocurrir y puedes utilizarlo para que se sienta cómodo y familiarizado, o puedes utilizarlo para llamar su atención sobre algo [que quieres que pueda] conocer. Creo que la psicología que hay detrás es muy interesante. Creo que aquí es donde muchos programadores de Linux no piensan en esos términos.
Max: Creo que se trata sobre todo de hacer algo que funcione.
Simon: Exactamente, sí. Es casi que funciona con el mapa mental que tienen. Pero el mapa mental que tienen no está en la mente de los usuarios. Así que el hecho de que tenga sentido para ellos, porque así es como funciona la base de datos que hay detrás, es un poco el problema. Gestionar la base de datos es mi problema, tengo que hacerlo. Los usuarios no deberían preocuparse por eso. Tengo que presentar la base de datos a los usuarios de una manera que tenga sentido para su modelo de la realidad, en lugar del modelo del ordenador de las cosas dentro de ella.
Max: Sé a lo que te refieres, cierto. A veces hay aplicaciones en las que das varios pasos, uno tras otro, pero ponen todos los pasos en un solo diálogo. Te confundes.
Simon: Cuando desarrollas software, empiezas lanzando todo a la pantalla: necesito hacer esta cosa, necesito hacer [esa] cosa, necesito hacer [esa] cosa. Lo lanzas a la pantalla. Y luego lo que deberías hacer es volver a mirarlo y decir: "Vale, ¿es esta la mejor manera de hacerlo? ¿Es la forma más fácil de hacerlo? No, por supuesto que no lo es - no necesitas usar eso, puedo ocultar este botón porque nadie necesita ver eso". Y creo que con una gran cantidad de desarrollo de Linux llegan al punto en que todo está en la pantalla de trabajo, y está hecho. Y no hacen el paso final - de, cómo pulir esto para que se vea bien para los usuarios.
Max: Eso es lo que la gente nota en Linux: es más áspero.
Simon: Exactamente. No tiene el pulido. Y yo me encargo de pulirlo. Ese es básicamente mi trabajo - hay algunas cosas que he escrito desde cero. Pero, como he dicho antes, sin los autores de LXDE, no habría tenido nada con lo que trabajar, así que todo el mérito es de lo que han hecho, y su trabajo es fantástico. Pero algunos de ellos simplemente no tenían ese 5 % de pulido. Eso es lo que hace falta para que esto pase de ser una buena pieza de software a una gran experiencia de usuario.
Max: Según el principio de Pareto, estos 5 % ocupan en realidad el 80 % del tiempo...
Simon: Puede llevar mucho tiempo, pero sí...
Max: ¿Cuál es el comentario más sorprendente que han recibido de los usuarios?
Simon: Comentarios sorprendentes... Creo que lo que me sorprende es que la gente sea increíblemente elogiosa. Creo que, de vez en cuando, alguien dice algo como, ya sabes, hay un par de comentarios en el blog sobre lo fantástico que se ha vuelto el Desktop, cómo se ha convertido en un ordenador de verdad, que debería ser el estándar de la informática, ... es cuando la gente dice cosas así, lo que me sorprende. Porque creo que lo que hago es bueno, pero al fin y al cabo soy un tipo sentado en la oficina con un ordenador, que hace cuatro años no usaba Linux.
Max: Lo cual es una ventaja tal vez.
Simon: ¡Sí! No he aceptado que todo esté roto. Debe haber una forma de mejorarlo. Y creo que ese tipo de comentarios me siguen sorprendiendo. Lo que no me sorprende es cuando cambio algo y la gente dice: "No, no deberías haber hecho eso". La gente se resiste mucho al cambio. Y a veces creo que tiene razón. A veces - de nuevo es esta experiencia de no conocer la forma en que Linux hace esto, pero voy a decir: "En realidad no es correcto lo que estamos haciendo, deberíamos hacerlo así, seguramente". Y entonces te encuentras con que todo el mundo se ha acostumbrado a la forma en que Linux lo hace, y por lo tanto cambiarlo, incluso si puede ser mejor de esta manera, no es lo correcto.
Max: Hay un sesgo cuando se reciben comentarios en los foros: son más los usuarios comprometidos, no los niños normales.
Simon: Exactamente. Siempre que los comentarios son muy muy positivos, suelen venir de los nuevos usuarios, creo.
Me han llamado cosas horribles, no en nuestros foros. Cuando hicimos el lanzamiento del Pixel - cuando lo llamamos por primera vez Pixel [el transcriptor: el Escritorio Raspbian], fue en los foros del Register (es un sitio web de tecnología). Los comentarios allí eran bastante francos. Y uno de ellos me atacó, brutalmente, en términos de... creo que me llamó un poco.
Max: ¿Medio bit?
Simon: La mitad del ingenio es un término de abuso bastante estándar, él lo hizo más informático llamándome medio bit. Explicó que "poner un nombre completo a lo que es un reskinning de LXDE era exagerar mi papel. Había tardado tanto en hacer tan poco". Ya sabes. Hasta cierto punto, puedo ver su punto de vista - si usted miró de LXDE a Pixel, la funcionalidad fundamental era exactamente la misma. Pero lo que había hecho, es que había aplicado el pulido. Y el pulido hace una gran diferencia. Pero no para él, porque - creo que hizo el comentario, "El único propósito del escritorio es tener algo para poner en sus ventanas de terminal". Realmente no eres mi mercado objetivo, dice: "¿por qué has puesto una gran barra de tareas en la parte superior? Eso está ocupando parte del espacio en el que podría haber puesto ventanas de terminal". Realmente no eres mi mercado objetivo aquí. Esto no es para ti. Si lo que quieres es una gran pantalla de ventanas de terminal, hay muchos otros lugares en el mundo de Linux donde puedes conseguir eso, no vengas aquí. No vas a hacer feliz a todo el mundo con lo que estás haciendo. Pero es cuando ves la retroalimentación de la gente que realmente entiende claramente lo que estás tratando de hacer, y claramente aprecia [eso]. Es cuando ves gratitud y un nivel de comprensión de lo que estás haciendo. En contraste con la gente que claramente no entiende lo que estás tratando de hacer. No entienden cuánto trabajo se ha hecho en algunos casos. Porque no estás haciendo lo que ellos quieren. Son esos mensajes que recibes cuando la gente dice: "Has hecho que esto sea mucho más agradable de usar que antes. Y todos los cambios son positivos". Cuando recibes esos mensajes, sientes que lo que estás haciendo vale la pena. Y de nuevo, no soy perfecto, cometo errores. Salen cosas con errores, salen cosas con decisiones de usabilidad que pueden no ser perfectas. Pero todos tratamos de hacer de esto un producto tan bueno como pueda ser. El escritorio es mi bebé, quiero que sea tan bueno como pueda serlo, eso es lo que vivo haciendo en este momento, básicamente. Es el trabajo más gratificante que he tenido en 25 años de ingeniería.
Max: Eso es realmente maravilloso, estar en un lugar donde te sientes feliz de hacer lo que estás haciendo.
Simon: He pasado... antes de estar aquí, pasé nueve años en un trabajo en el que tenía que arrastrarme de la cama cada mañana para entrar, porque detestaba lo que hacía. Y aquí me levanto cada mañana entusiasmado por ir a la oficina a hacer lo que voy a hacer. Casi he olvidado que se puede tener un trabajo así. Pensaba que eso no ocurría. Realmente llego cada mañana y disfruto con lo que hago. Y creo que eso ayuda mucho, porque me importa el producto. Este producto es casi una extensión de mí. Este es el sistema operativo que yo -incluso en un nivel puramente egoísta- es el sistema operativo que quiero usar. Cuando empecé en Pi hice todo mi trabajo en el Mac. Escribía código en el Mac y lo descargaba en la Pi. Ahora hago todo mi trabajo en la Pi. Utilizo mi Mac para el correo electrónico y la navegación web, y eso es todo. Uso Geany en la Pi para todo el desarrollo de código, me siento a escribir en mi Pi ...
Max: ¿Usas el Modelo 3 B+?
Simon: Sí, es el más rápido. Pero sí, y de manera similar con la versión x86 - que es el sistema operativo que Eben ejecuta en su Mac, y ese tipo de compra en él es realmente agradable.
No es tanto una cosa de retroalimentación... es cuando veo fotos o videos de gente en África, y tienen un salón de clases con Pi's y todos están ejecutando mi escritorio. Ver que la cosa que diseñé se está utilizando en todos estos lugares, es increíble.
En mis primeros diez años de carrera, hice muchos diseños de interfaz de usuario en el ámbito de la investigación y el desarrollo por contrato, pero todo era para productos bastante especializados. Así que nunca llegué a verlos en el mundo real. Pero con esto ... Eben irá a la CNN o en algún lugar, y tenían Pi en las pantallas en la pared. A él le gusta tomar fotos de los lugares que ha visto el escritorio que se utiliza. Las trae de vuelta y dice: "mira esto, lo están usando aquí".
Sigue siendo emocionante verlo. Me pellizco, ¿estoy soñando, que esta gente está usando lo que yo diseñé? Es una sensación increíble. Hace que merezca la pena, aunque no haya disfrutado haciéndolo, que es lo que hago.
Max: Hablando de la versión x86, ¿cuáles son los planes para ella? ¿Están planeando hacer una especie de distribución alternativa de Linux para que todo el mundo la use?
Simon: Seguiremos haciendo lanzamientos de x86 en la medida de lo posible en sincronía con los lanzamientos de Raspbian. Manteniendo los dos productos tan similares como sea posible desde el punto de vista del usuario. La principal diferencia entre los dos es que hay algunas aplicaciones libres que tenemos en la Pi, que no podemos tener en x86. No creo que sea una cuestión de tener planes como tal para ello. De nuevo, hay gente que dice que, en lo que a ellos respecta, es el mejor escritorio / la mejor distribución de Linux. No pretendo enfrentarme a Ubuntu o Debian o lo que sea. Se trata de hacer las cosas más agradables, y si la gente va a tener una experiencia más agradable en su portátil también como en su Pi, entonces eso es absolutamente genial. Tenemos la intención de seguir produciendo, ahora es un proceso bastante automatizado para producir construcciones x86 junto con las construcciones ARM, así que sí, vamos a seguir poniéndolo ahí fuera. Su intención era permitir a la gente con menor potencia - porque está basado en Debian - su intención era hacer que la gente con ordenadores viejos de menor potencia sea capaz de usarlo. Creo que hoy en día es una distribución Linux bastante decente por derecho propio. De nuevo, es Debian con nuestra piel encima - no me malinterprete, no es todo nuestro trabajo, es principalmente Debian, con el pulido encima.
Max: ¿Tienes cifras de hasta dónde se ha extendido?
Simon: Probablemente tenemos números de descarga de cuántas copias se descargaron. Creo que en términos de usuarios de escritorio Pi es probablemente 95 % Raspbian. En cuanto a las versiones x86 - lo lanzamos como un experimento. Fue casi una broma, porque Eben y yo estábamos sentados y charlando en la oficina. Llegamos al punto en que estábamos bastante satisfechos con la forma en que el escritorio iba. Y él dijo: "¿No sería genial, si pudiera tener esto en mi portátil? Me gustaría esto en mi portátil". Y empecé a pensar en esto. Me fui a casa, y estaba aburrido un sábado en casa. Y pensé - Me pregunto si podemos hacer eso. Debe haber una versión LXDE de Debian, y descargué la versión LXDE de Debian. Luego pasé unas dos horas, tratando de conseguir que la persistencia funcionara en ella. He creado una imagen que arrancaría en mi Mac en casa, con persistencia basada en la imagen LXDE. Y conseguí que funcionara, y pensé, vamos a ver qué puedo hacer. Creo que para esa tarde tenía el escritorio de la Raspberry Pi funcionando en esa memoria USB. Lo traje, Eben había estado en una conferencia durante el fin de semana y llegó el lunes, y le dije: "echa un vistazo a esto". Conecté la memoria USB en mi Mac, y la arranqué en el escritorio. Y él dijo: "Vaya, lo has conseguido. ¿Vas a enviarlo, entonces?" Le dije: "Si crees que debemos hacerlo".
Surgió, literalmente, de un comentario improvisado de Eben, y yo estaba aburrido en casa, y pensé: qué difícil puede ser, voy a intentarlo. Resultó que en realidad no era tan difícil.
Max: La verdad es que es interesante que una cosa tan importante -pensarás que te llevará mucho tiempo, pero no es así-, pero otras cosas -como el qPDF ...
Simon: Sí, se tarda mucho. Lo único que nos llevó tanto tiempo en la imagen x86 fue tratar de conseguir una que arrancara en el mayor número de plataformas posible, porque tenemos muchos problemas con ciertos modelos de Mac. Teníamos dos plataformas difíciles, que eran: mi Mac mini en casa, y el MacBook de Eben. Y queríamos que funcionara en ambas. Mi Mac en la oficina, que era una generación diferente de MacBook, todo funcionaba en él, todas las imágenes arrancaban en él. Pero nos costó mucho tiempo tratar de jugar con las cosas de bajo nivel de la BIOS de Debian y la creación de imágenes, y pasamos un par de semanas jugando con eso. Mucho de ello lo hice en casa los fines de semana, probando múltiples cosas en cuanto a la creación de la imagen de Debian. Para conseguir que arrancara. Finalmente encontramos una manera de crear una imagen que arrancara tanto en mi Mac en casa, como en el Macbook de Eben. Esa es la que estamos enviando, porque funciona en los dos casos de referencia. Creo que tuvimos problemas porque Debian dividió la imagen en vivo y la imagen instalable - eran dos cosas diferentes. Y la imagen instalable funcionaba en muchas más plataformas que la imagen en vivo. Pero en ese momento nos basamos en la imagen en vivo. Así que tuvimos que unir las dos cosas, para tener algo que fuera instalable y que arrancara en tantas cosas como fuera posible. Y eso fue lo más difícil, en teoría no deberíamos haber tenido que hacer eso - Debian ya debería haber hecho eso por nosotros. Pero realmente conseguir nuestro escritorio en él fue un proceso relativamente rápido. El proceso se puso en marcha en un día.
Max: ¿Tienes todo en él, como el mago también?
Simon: El que acabamos de lanzar tiene todo en él - el asistente de inicio, las aplicaciones preferidas, la única diferencia son como he dicho cosas como Mathematica, que no podemos enviar. Todo lo demás debería ser - cada cambio de GUI que hacemos a la versión ARM ...
Max: Eso también es automático. Una cosa que quería preguntarte es sobre las actualizaciones de paquetes, porque es algo que algunos usuarios no saben hacer. ¿Hay algún plan para hacer actualizaciones automáticas de paquetes? Específicamente para la seguridad.
Simon: Hay un actualizador automático en el asistente. La primera vez que ejecutas el asistente de inicio, [Raspbian se actualiza] para que sepas que tienes lo último y lo mejor en ese momento. Hacer que las actualizaciones sean automáticas es algo difícil, porque por cada persona que no está actualizando su sistema, porque no sabe que debe hacerlo - y a quien probablemente quieras ayudar - tienes otra que no está actualizando su sistema porque sabe que si actualiza su sistema este paquete de aquí se va a romper. Y esa aplicación va a dejar de funcionar. Y es una de estas áreas en las que soy bastante cauteloso a la hora de hacer un cambio, porque - mencionando la seguridad: es como cuando hicimos estos cambios de seguridad. Lo que temo es romper cosas. Si alguien encuentra que su Pi funcionó ayer, y no funciona hoy, y es mi culpa que haya cambiado porque sacaron una actualización - ese es mi escenario de pesadilla. Un par de veces, donde pusimos paquetes malos en el repo, que no había probado adecuadamente - e invariablemente sucede cuando me voy de vacaciones. Me voy de vacaciones. Y me encuentro, el segundo día de mis vacaciones, con que llegan informes de errores - para un paquete que enviamos.
Max: ¿Realmente te sientas a arreglar estos fallos? ¿No puedes vivir con la mala conciencia?
Simon: De todos modos, suelo estar en casa. He pasado la primera semana de varias vacaciones arreglando fallos desde casa, e intentando que el sistema se arregle, porque -sí, me siento culpable por ello-. No me gusta romper cosas para la gente. Lo que me preocupa de las actualizaciones automáticas es que, sin tener la culpa, en algunos casos, se rompan cosas. Porque - todo el tema de las dependencias de Debian, es muy fácil que un paquete suba a una nueva versión, y no tengamos el backport relevante para ejecutarlo, y entonces ese paquete que funcionaba ayer ahora no funciona hoy.
No querría hacerlo automáticamente. Hasta que no estuviera seguro de que no iba a romper nada para nadie, no querría hacerlo automáticamente.
Max: ¿Y para las cosas críticas de seguridad?
Simon: Incluso para cosas críticas de seguridad. Es una decisión difícil. Microsoft hizo su actualización para creadores en Windows 10, cuando quiera que fuera - ¿el año pasado? Mi Ethernet dejó de funcionar en mi PC con Windows. Eso es inexcusable. Mi red funcionaba antes de hacer esta actualización, y ahora no lo hace. Como usuario razonablemente experto en tecnología, me llevó dos horas conseguir que mi ordenador [volviera a funcionar].
Max: Especialmente cuando no consigues establecer una red de contactos.
Simon: Exactamente, es bastante difícil hacer un diagnóstico sin el consejo de Internet. Así que soy cauteloso al respecto. Es una de las cosas que hemos estudiado: algún tipo de herramienta de interfaz gráfica para realizar actualizaciones. De hecho, se pueden hacer actualizaciones del sistema a través de la herramienta existente de añadir/eliminar programas. Mirando el diseño de esa herramienta, en realidad se ejecuta como una aplicación separada. No hay ninguna razón por la que no podría sacar eso como una aplicación separada. Y tal vez la comprobación de las actualizaciones en el arranque y cosas por el estilo. Todo es factible, y estamos llegando a un punto en el que este es el tipo de cosas que vamos a empezar a mirar.
Max: En realidad es algo que es realmente bueno de Linux en comparación con Windows. Tu ordenador no te obliga a hacer estas actualizaciones. Eso es algo que realmente odio de Windows. Y se apaga - imagina hacer una presentación, y se apaga. Ahí es donde tienes que poner el límite. Como hemos discutido antes, tienes que tomar decisiones para los usuarios, pero no puedes obligar al usuario a dejar de trabajar en el ordenador cuando no quiere.
Simon: Siempre molesta a los usuarios que les rompas cosas. Incluso si lo haces con las mejores intenciones. También hay algunas aplicaciones de iOS que escribo - hay una aplicación para resolver crucigramas. Y de vez en cuando saco actualizaciones, y recuerdo que saqué una que se rompía en una versión de iOS en la que no la había probado. Y tienes una avalancha de usuarios que están furiosos porque se ha roto, y tienes una avalancha de otros usuarios que probablemente son más conocedores de la tecnología, que dicen "sólo para que sepas que esto está roto". Hace un par de años me pasé una semana en Navidad arreglando mi aplicación para iOS. Era Apple quien había roto cosas, no yo, pero tuve que encontrar una solución para ello. Casi te sientes más culpable por los usuarios que son amables al respecto, que dicen "sí, entiendo que esto es difícil". - "no, ¡te conseguiré una solución para mañana!". - siempre es difícil. Las actualizaciones son algo complicado, y es muy fácil romper cosas.
Una de las cosas que hace Apple, que me parece imperdonable es: en iOS, descargan un Gbytes y medio de actualización de imágenes, cuando paso de iOS 10 a iOS 11. La descargan automáticamente en cuanto te conectas al WiFi, en segundo plano, sin preguntarte. Si quieren usar un Gbytes y medio de mi ancho de banda, me lo preguntan antes. Eso es inexcusable. De hecho registré un error, y dije: esto está descargando datos de un tamaño enorme. Dijeron: no - es una actualización de seguridad, tienes que tenerla, por lo tanto tenemos que hacer todo lo posible para que estés en la plataforma. Yo dije: no, no lo tenéis, la gente tiene que pagar por sus datos. Hay gente que tiene un tope de datos mensual. Tienen cinco iPhones en casa, todos descargando. Son cosas así, hay que encontrar un equilibrio razonable. Por el momento no hacemos cosas en términos de forzar las actualizaciones, o incluso aconsejar las actualizaciones. Probablemente sería bueno que lo hiciéramos, pero aún no he tomado una nueva decisión sobre lo que haremos al respecto.
Max: ¿Ha pensado en tener una especie de área de notificación?
Simon: Tenemos cosas de notificación. El sistema de notificaciones de LXDE no es muy bueno en realidad, pone ventanas en la esquina de la pantalla. Pero cada vez que tenemos una aplicación que las utiliza, tiendo a reescribir la aplicación, porque no se ven bien. Pero ciertamente es posible ejecutar algo al inicio, para ver si hay alguna actualización, y poner un cuadro de diálogo en la pantalla. Hay cosas que podríamos hacer, pero es probablemente en un área que vamos a empezar a mirar, sólo porque llegamos al fondo de las cosas más obvias para hacer.
Max: ¿Qué cosas le facilitan el desarrollo y qué cosas se lo dificultan? El tipo de herramientas que utiliza.
Simon: Geany es genial. Como he dicho, hoy en día hago la mayor parte de mi desarrollo en la Pi.
Max: ¿También hace sugerencias de código?
Simon: Sí. Geany hace casi todo. Cosas como la forma en que saca los nombres de las funciones por ti, y te permite encontrar fácilmente cosas así es realmente bueno. Ahora echo de menos eso cuando uso otros editores, de hecho. [Otras herramientas que uso:] Glade - que es la herramienta para el diseño de ventanas GTK. La uso mucho, aunque he tenido que construir la versión antigua desde el código fuente, porque ahora sólo soportan la nueva versión que sólo soporta GTK 3, "¡no, quiero la versión antigua, por favor, porque puedo desarrollar para GTK 2 con la versión antigua!"
Hay un par de herramientas que son útiles para mi trabajo. Hay una herramienta llamada "A Widget Factory". AWF. Eso es básicamente una pantalla con todos los widgets GTK en ella. Y tengo dos versiones de ella, una de GTK 3 y otra de GTK 2. Así que trato de mantener mi tema sincronizado entre las dos, las uso. Es una muy buena manera de ver - no se ven igual.
Max: ¿Tienes realmente dos Pi's una al lado de la otra, una ejecutando GTK ...
Simon: No, porque puedo ejecutar esa aplicación en dos o tres modos, así que sólo tengo dos ventanas en la pantalla. Mi objetivo con el tema es hacer que las ventanas tengan el mismo aspecto. Así que puedes hacerlo en la misma plataforma. Eso es bastante útil. Git y GitHub son maravillosos. Estaría completamente atascado sin GitHub. Creo que GitHub es genial.
Max: La documentación interna, ¿se hace en línea con la fuente?
Simon: Casi siempre sí. Sólo comento el código. No hago una gran cantidad de documentación externa. Tenemos gente trabajando en la documentación independientemente de mí. Mi intención es escribir cosas que sean lo suficientemente obvias como para que puedan resolverlas sin que yo les diga cómo hacerlo. Trato de usar nombres de variables útiles, nombres de funciones útiles, comentarios donde no es obvio, lo que el código está haciendo, sobre todo como notas para mí tanto como cualquier otra cosa.
Otras cosas que son útiles - una de las cosas que me frustra es que Linux no tiene una herramienta de diferencia realmente buena, en términos de una herramienta de diferencia gráfica agradable. La que uso es meld, que es la mejor que encontré, pero no es tan buena como cosas como "Beyond Compare" en el PC, que es realmente buena. Me encontré moviendo el código de Pi en el Mac, para que pueda utilizar la herramienta de diferencia en Xcode en él. Hay algunas funciones de Xcode que uso mucho. Creo que es la mayoría de las herramientas que uso para el desarrollo, cosas que uso a diario. Eso es probablemente todo, creo. Y en términos de cosas que facilitan la vida - un código bien estructurado siempre es bueno. Siempre intento escribir el código desde el punto de vista de que quizás tenga que volver atrás y hacer algo más con él. Hacerlo bien a la primera siempre ayuda.
Max: ¿Conoces la teoría de los dos sistemas, cuando construyes el primero es mejor tirarlo?
Simon: Sí. Lo he hecho en el pasado. Sobre todo cuando tienes menos experiencia. Es una de las cosas, me encuentro ahora cuando vuelvo a mirar algunas aplicaciones que escribí en el primer año, para el Pi, vuelvo y digo "oh, ¿por qué hice eso? Oh, eso estaba mal". Si encuentro eso, lo arreglo hoy en día. Probablemente, dentro de cuatro años, si miro hacia atrás y veo las cosas que estoy escribiendo ahora, [sentiré lo mismo]. Todo desarrollo de software es un proceso de aprendizaje. Se mejora a medida que se avanza, se mejora cuanto más se hace. Cuanto más entiendes tu arte.
GTK es una de las cosas que, cuanto más aprendes sus pequeñas debilidades, cuanto más la usas, mejor puedes hacer que se comporte. GTK en sí es una herramienta muy útil. Como diseñador de interfaz de usuario es muy útil tener restricciones. GTK es genial desde ese punto de vista. Cualquier kit de herramientas de interfaz de usuario es genial: no tengo una pantalla vacía y tengo que decidir cómo va a ser esta ventana. Sé cómo va a ser esta ventana, porque se va a parecer a todas las demás ventanas. Sé cómo van a ser los botones, porque se van a parecer a todos los demás botones.
Max: ¿Así que se centran en la propia aplicación?
Simon: Sí. Más que el escaparate. Es bueno que esté separado. Porque todas esas cosas las puedo hacer en el tema. Si quiero que todas mis aplicaciones se vean mejor, puedo cambiar el tema. Si quiero hacer que la aplicación funcione mejor, no tengo que preocuparme de hacerla más bonita.
Max: Como usuario, prefiero que las aplicaciones sean predecibles, que tengan el mismo aspecto. ¿Conoces WinAMP? No parece una aplicación de Windows.
Simon: Oh sí, no parece una aplicación de Windows. Esos pequeños... Sí. Y tenemos algunos desarrolladores que han escrito aplicaciones para nosotros, que quieren hacer su propia cosa que se ve diferente de todo lo demás. Y [voy cuando lo hacen]: "no lo hagas". Entiendo el deseo de hacerlo. Entiendo el deseo de hacer que la cosa parezca "esto es mío". Es una marca, es la misma forma en la que estamos marcando el escritorio. Pero a menudo no es útil para los usuarios. Tanto como cualquier otra cosa, ese es mi argumento, porque quieres que el entorno sea consistente. Y alguien que quiere hacer su propia cosa no está siendo útil en términos de crear consistencia.
Max: Creo que esa es realmente la idea que hay detrás, no es así, que quieres poner tu propio nombre.
Simon: Sí, exactamente. Un par de personas que producen cosas para Pi lo hacen. Está bien, intento disuadirles de que lo hagan, pero al fin y al cabo, si desarrollan para nosotros, no puedo decir "¡no, debes hacer esto!".
Max: "El décimo mandamiento".
Simon: Exactamente.
Max: ¿Qué le inspira a desarrollar?
Simon: ¿Qué me inspira? Mejorarlo. ¿Esto es tan bueno como puede ser? Y si no, ¿cómo puedo mejorarlo? Es hacer que la experiencia del usuario sea algo que me guste como usuario. Quiero sentarme ahí y que sea una experiencia agradable para mí. Si es una experiencia agradable para mí, espero que sea una experiencia agradable para otras personas. Eso es el diseño. Si hablas con cualquier diseñador industrial, el diseño es hacer las cosas mejor para la gente.
Max: Se trata de eliminar la fricción. Recuerdo el ejemplo del frigorífico que aparece en el libro "El diseño de las cosas cotidianas", en el que el usuario pensaba que había dos mandos o algo así, uno para el congelador y otro para el resto. Y en realidad era una especie de mezcla extraña... O como estos grifos en Gran Bretaña: dice "cuidado, agua extremadamente caliente". ¿Pero qué se supone que debes hacer?
Simon: Interruptores de luz que no funcionan igual. Cosas así. Creo que vi un documental con Seymourpowell, los diseñadores industriales en Londres. Dijeron: un diseñador quiere hacer las cosas mejor.
Max: ¿Qué le inspiró a dedicarse al diseño de interfaces de usuario?
Simon: Fue hace muchos años. Estudié ingeniería en la universidad. Y me especialicé en software. Pero siempre he apreciado el buen diseño. [Por ejemplo, tenía una cámara Canon, y era muy satisfactorio usarla, porque todo estaba bien hecho. Y no fumaba. Nunca he fumado. Pero tenía un encendedor Zippo, porque era una cosa tan bonita. Me pasé el tiempo pensando: no tengo ningún talento artístico. No sé dibujar, no sé pintar, no sé hacer bocetos. No sé cómo se hacen cosas tan bonitas. Pero me gustaría poder hacerlo. ¿Cómo puedo combinar mi deseo de crear cosas hermosas con hacer software? Y el lugar lógico en el que se encontraron fue el diseño de interfaces de usuario. Me entrevisté con Cambridge Consultants, mi primer empleador. Me mostraron -porque entonces estaban empezando en el diseño de interfaces de usuario, y desarrollaban tecnologías para la simulación de interfaces de usuario. Así que pudieron mostrarme que habían diseñado un equipo de música, y tenían una pantalla que se parecía a este equipo. Y podías pulsar botones en la pantalla y todo respondía. Y podías desarrollar toda la interfaz de usuario en este mundo virtual. Vi esta demostración, y dije "Quiero venir a trabajar para ustedes y hacer eso". Creo que fue por eso que conseguí el trabajo, porque estaba completamente enamorado de lo que han hecho. Eso es lo que quiero hacer. Pude ver una manera de que yo pudiera realmente - si pudiera hacer eso, yo sería feliz. Porque eso significa que puedo llegar a hacer cosas hermosas, pero no tengo que ser capaz de dibujar y colorear y diseñar. Puedo hacer cosas hermosas como esa. Y ahí fue donde, creo, todo surgió para mí.
Max: Así que probablemente es como los ingenieros de hardware que vienen a Raspberry Pi...
Simon: Siempre me he sentido muy frustrado cuando miraba a los diseñadores industriales, y realmente deseaba poder hacer lo que ellos hacían. Pero como digo hay que tener un talento, que yo no tengo para eso.
Max: ¿Diseño de productos como estuches, etc.?
Simon: Exactamente. Cuando trabajé en Cambridge Consultants, acabé pasando de un grupo de software a un grupo de diseño industrial. Porque en ese momento quería que se me considerara un diseñador más que un ingeniero. Recuerdo que fue un movimiento muy impopular con mi jefe de ingeniería de software. Me dijo: "Estás cometiendo un gran error. Nunca te vas a salir con la tuya". Y yo dije: "Esto es lo que siento que tengo que hacer". Yo era un ingeniero de software que trabajaba muy estrechamente con los diseñadores industriales, y trabajé en el diseño de la interfaz con ellos. Me resultaba enormemente estimulante estar en una oficina con personas que hacían todo esto que yo deseaba poder hacer, que hacían el diseño de la carcasa, el diseño de la apariencia, el diseño de los gráficos y este tipo de cosas. Y lo más parecido a poder hacerlo yo mismo era trabajar con ellos y contribuir al producto que estaban creando. Y de ahí surgió mi inspiración para el diseño de la interfaz de usuario. Fue querer hacer algo que no podía hacer y encontrar la siguiente mejor cosa, que era el diseño de interfaz gráfica de usuario en el software.
Max: ¿Cuáles son algunas de las características o cambios que personalmente te gustaría ver en Raspbian, cosas que no has hecho todavía, que no hemos discutido. ¿Tal vez cosas que están realmente fuera, que son realmente difíciles de hacer?
Simon: Para ser sincero, empecé el primer día, hice una lista de todas las cosas que quería hacer. Y creo que ahora he llegado al final de la lista de cosas que quería hacer.
Max: Mejor hacer una nueva lista.
Simon: Creo que tengo que hacer una nueva lista. Todavía no estoy seguro de lo que va a estar en esa lista. Es una pregunta difícil de responder. Si me hubieras preguntado eso hace un año, o hace dos o tres, habría tenido una idea mucho más clara de cuál era la respuesta. Ahora he llegado al final de mi lista de cosas originales. Hay una tarea de mantenimiento constante con todo este material. Cada dos años, vamos a tener que dar soporte a una nueva versión de Debian.
Max: Espero que el equipo pueda crecer.
Simon: En algunos aspectos no lo quiero, porque lo disfruto.
Max: ¿Realmente disfrutas jugando con GTK 3 para que se comporte?
Simon: Me siento y maldigo en ella, pero no dejaría que nadie más lo hiciera, porque ...
Max...porque es tu bebé.
Simon...porque es mi bebé y quiero que esté bien. Se asocia conmigo. Hay gente que sabe que Simon Long hace el diseño de GUI para Raspberry Pi. No es una cuestión de no confiar en nadie más para hacerlo. Es una cuestión de - He pasado tanto tiempo aprendiendo las complejidades de la misma, que es casi que soy la mejor persona para hacerlo de todos modos.
Fui gerente durante nueve años en mi anterior trabajo, y lo odiaba.
Max: ¿Realmente disfrutaste haciendo las tareas en lugar de delegarlas?
Simon: Disfruté haciéndolo. Mi pesadilla es que llegue Eben y diga: "Ah Simon, te hemos conseguido personal para hacer cosas. Vas a sentarte arriba y a tomar decisiones". Y yo diría: "Nooo, no me lo quites". Porque me gusta tener mis manos en el código. Y realmente no me gustaría que me lo quitaran. En cierto modo, estoy contento de seguir haciendo esto, porque lo encuentro gratificante. Me resulta gratificante [poder decir]: "Mira, yo lo hice". Como gerente nunca sentí que pudiera decir: "Yo lo hice". - mi gente lo hacía, yo no lo hacía. Mientras que ahora me siento y digo: "Yo lo hice".
Max: Una pregunta más técnica: ¿qué ganaremos con el controlador OpenGL? ¿Ventajas / desventajas?
Simon: Básicamente dará una animación más rápida y suave en cualquier cosa que use OpenGL. Aplicaciones OpenGL, obviamente. La intención, creo, es que todo sea efectivamente renderizado por OpenGL, el escritorio, etcétera, pasará por él, lo que significa que obtendrás los beneficios de la aceleración por hardware en todo ello. Así que, en teoría, será una experiencia más rápida y fluida para todos. No creo que haya ninguna ventaja más allá de eso.
Max: Si lo he entendido bien, ¿hay que hacer ajustes en el escritorio? ¿O se beneficiará automáticamente de ello?
Simon: Sí. Pero por cuánto... no es un área en la que sea un experto técnico en absoluto. OpenGL es una de esas artes negras. Lo que yo entiendo es que básicamente se trata de conseguir una mejor aceleración por hardware bajo el sistema, para todo lo que sale en la pantalla.
Max: Así que, por ejemplo, la Pi 1 tendrá un mejor rendimiento, idealmente?
Simon: Potencialmente sí, aunque de nuevo, uno de los problemas que creo que tiene el controlador OpenGL es la cantidad de memoria que utiliza. Así que podríamos tener problemas en la Pi 1. Creo que nos hemos ocupado en gran medida de ellos, pero - las mejoras obvias serán en cosas como los juegos OpenGL. Obviamente, todos van a ir directamente al hardware. Usted debe ver una mejora general en el rendimiento de vídeo en general.
Max: Wayland, Weston. ¿Completamente abandonado?
Simon: Está en gran parte en la estantería, sí. No creo que esté completamente abandonado. Es posible que en algún momento vuelva a funcionar. Pero por ahora, no hemos hecho ningún trabajo de desarrollo activo en él desde hace un par de años.
Max: ¿Cuál es su forma favorita de pasar el tiempo en un Pi?
Simon: (Risas) Soy aburrido, me gusta programar para mejorar las cosas, tengo que decirlo. A menudo me voy a casa por la noche y si hay un problema técnico que no he resuelto, pienso que será interesante. A menudo me descargo el código de GitHub y lo pirateo en mi Pi en casa.
Max: ¿Sólo porque no puedes resistirte?
Simon: Sí. Quiero mejorarlo, no puedo dejarlo solo. Si utilizo un ordenador por pura diversión, no uso una Pi. Utilizo un Pi como plataforma de desarrollo, pero disfruto del desarrollo [tanto]. No uso Pis para cosas como la navegación web, porque incluso con Chromium, la experiencia es mucho mejor en una máquina Windows o Mac, porque la navegación web requiere mucha potencia. Pero para lo que uso mi Pi en términos de disfrute es para las mismas cosas que hago en el trabajo.
Max: Es más bien un día de fiesta, cuando estás en el trabajo.
Simon: Mi pareja en casa es plenamente consciente de que si estoy sentado arriba en mi estudio, probablemente estoy escribiendo cosas para la Pi. Eso es lo que me gusta hacer.
Max: Me encontré con Martin en el evento Raspberry Pi fields, y me habló de la nueva ayuda. Usted está planeando para liberar la ayuda para el nuevo tema, que va a ser enviado con Raspbian.
Simon: Martin ha hecho un gran trabajo para poner en orden nuestros recursos web. Sus páginas web son muy buenas. Y en serio, deberías echar un vistazo a los enlaces del menú, porque ha trabajado mucho en ellos, y creo que son geniales. Y sí - la intención es que vamos a tomar que fuera de línea de alguna manera, ya sea páginas web estáticas que están en el Pi, o que lo hacemos como una aplicación Electron, aunque las aplicaciones Electron no son terriblemente eficientes en términos de espacio, porque usted termina con todo el navegador Chromium construido en cada uno de ellos. Ya tenemos una en el sistema para Scratch 2.
Sus recursos de ayuda son geniales, y sí, tenerlos disponibles fuera de línea es algo muy bueno, así que lo haremos en algún momento en el futuro.
Max: Todavía no hay planes concretos.
Simon: Todavía no.
Max: Obviamente, eso sería una cosa en la que se podría tirar de las actualizaciones. La ayuda se pone mejor ...
Simon: De nuevo, esa es una de las ventajas de contar con ayuda que no está en la plataforma, ya que se actualiza automáticamente.
Una de las cosas que hice con las aplicaciones recomendadas - que realmente se actualiza cada vez que se ejecuta. Así que ahora he hecho una aplicación que se actualiza automáticamente al iniciarse. Porque quería asegurarme de que la gente siempre tuviera la última y mejor lista de aplicaciones recomendadas. Así que ahora he probado el concepto de que es posible hacer una aplicación que lo primero que hace es actualizarse. Con la ayuda podríamos hacer algo similar.
Max: Tal vez si le das a los usuarios un botón de "deshacer". Si algo se rompe para ellos, pueden volver atrás. El problema, obviamente, es averiguar qué es lo que ha roto el sistema.
Simon: Que no es tan fácil. Deberías poder hacerlo a través de apt. Y desafortunadamente con apt no siempre es fácil deshacerlo.
Max: Una de las cosas que hago es, simplemente actualizar los paquetes, porque confío en la Fundación Raspberry Pi para hacer lo correcto. En realidad no me preocupa que algunas cosas puedan romperse.
Simon: Intentamos hacer lo correcto, pero como digo no somos infalibles. Así que de vez en cuando sacamos cosas que no deberían ser las correctas. Pero tratamos de mantenerlo al mínimo.
Max: Con los problemas de corrupción de la SD, estaba pensando que hay un montón de registro en Raspbian pasando ...
Simon: En cuanto a la corrupción de la SD, una de las cosas que hemos considerado hacer, y que puede que hagamos en el futuro, es lo que hacemos con la imagen x86. Que es efectivamente enviar una imagen fija con una partición persistente en la parte superior de la misma. En cuyo caso siempre se podría volver a un buen estado. Esa es una de las cosas que hemos considerado hacer. Tienes una partición base, y luego aplicas la persistencia sobre ella.
Max: Básicamente una superposición.
Simon: Exactamente. Es algo que hemos pensado hacer. No tengo tiempo [para hacerlo], pero probablemente sea el camino a seguir en el futuro.
Max: Una de las primeras cosas que vi cuando llegué al Reino Unido, fue una lanzadera - cuando sales del aeropuerto de Stansted tienen una lanzadera, que va a la terminal. Y había una Raspbian [congelada durante la salida].
Simon: Sí que ocurre. Nos utilizan bastante en las exposiciones. Y la capacidad de recuperarse de algo así es obviamente algo bueno. Pero sí, las tarjetas SD no son una tecnología perfecta. Las cosas que se hacen más robustas son buenas. Sospecho que pasaremos a un sistema de archivos superpuesto sobre una partición base. Lo que al menos significa que puedes volver a algo que sabes que funciona, si no necesariamente con todo tu trabajo [existente] en él.
Max: ¿Tienen algún plan para los usuarios industriales que no tocan el sistema, para una imagen de sólo lectura?
Simon: La gente ha estudiado las imágenes de sólo lectura. No lo hemos estudiado internamente: se discute de vez en cuando, pero no hemos trabajado en ello. Sin duda, es posible hacerlo.
Max: La última pregunta que tengo es sobre los binarios ARMv6, y los binarios ARMv7. Básicamente, lo que se hace es apoyar a todos los Raspberry Pi.
Simon: No queremos dejar huérfana a la gente que compró Pi 1, porque por definición pueden tener un presupuesto limitado. Una Pi nueva sólo cuesta 35 $, pero puede que no tengan 35 $. Así que intentamos dar soporte a todas las plataformas antiguas siempre que sea posible. El único lugar donde no lo hacemos por el momento es el reproductor Flash. El reproductor Flash sólo está disponible como un binario ARMv7, eso es todo lo que proporciona Adobe. Así que hay muy poco que podamos hacer al respecto. No queremos conscientemente dejar huérfanas las plataformas antiguas con nuevas versiones de software.
Max: La razón por la que pregunto es por el rendimiento. Obviamente, los binarios ARMv6 no utilizan todas las características que los binarios ARMv7 utilizarían.
Simon: En algunos casos tenemos bibliotecas híbridas, algunas de nuestras bibliotecas de acceso a la memoria, por ejemplo. Miran para ver si se están ejecutando en un ARM 6 o en un ARM 7 y ejecutan un código diferente en consecuencia. Es algo que podríamos considerar hacer.
Max: El kernel también está optimizado ... bibliotecas del núcleo [donde se produciría el mayor impacto]
Simon: Sí. Son cosas como copias de memoria, comparación de memoria. Cosas que son una sobrecarga general del sistema, esas están optimizadas para varias plataformas. Es algo complicado de hacer funcionar. Pero funciona. Probablemente no lo haríamos para todo - pero cuando encontramos lugares donde podemos obtener una ventaja. Probablemente no optimizaríamos una aplicación individual. Pero si podemos optimizar para múltiples aplicaciones - y tenemos un tipo que es muy bueno en esto - en la respiración en bits de código de bajo nivel para ese propósito. Tenemos un programa continuo de búsqueda de cosas por las que podemos obtener una ventaja de rendimiento mediante la optimización.
Max: Así que, esencialmente, lo que sucede, en comparación con otras plataformas, donde básicamente se trata más de hardware barato, con la Raspberry Pi se obtiene un ordenador que mejora todo el tiempo, porque el software mejora todo el tiempo.
Simon: Esperamos que así sea, sí.
Max: ¿Alguna cosa que te gustaría mencionar, alguna cosa interesante, ideas?
Simon: Creo que hemos cubierto la mayoría de las cosas que están flotando en mi cabeza en este momento, así que creo que es genial.
Max: Gracias por tomarse el tiempo.
Simon: No hay ningún problema, me alegro de volver a verte.