Jan. 14, 2021
Abandonando mi propio SO para tablets
Por qué volví al iPad y la Mac
El año pasado he estado experimentando con la creación de mi propio sistema operativo para tableta usando Debian GNU/Linux y el gestor de ventanas i3 en una Microsoft Surface Go 2 con LTE. Después de meses de uso intensivo, he decidido abandonar el experimento para volver al iPad Pro y al Mac. Sigue leyendo para descubrir por qué.
Construyendo "WillemOS" usando Debian GNU/Linux en Microsoft Surface
Después de hartarme del enésimo error en Apple Photos, me tomé en serio el abandonar el ecosistema de Apple. Pensé que podía hacer las cosas mejor. ¿Qué tan difícil podría ser crear tu propio sistema operativo...? ¿Verdad?

Resulta que puedes lograr mucho, si tienes algo de tiempo libre y mucha dedicación. Es increíble lo que puedes aprender si simplemente intentas las cosas. Esto llevó a algunas publicaciones y descubrimientos interesantes en los últimos meses:
- Making my own tablet OS
- Free from iCloud escape Apple Photos
- Syncing files seamlessly between tablets and smartphones
- Y finalmente: Refining my tablet OS

Pero entonces sucedió algo, tuve la oportunidad de usar una computadora portátil Windows por un tiempo, la Surface Laptop Go. It is a jolly simple laptop y me gustó precisamente por eso: sin complicaciones. La computadora portátil simplemente funcionaba de una manera predecible y confiable que, aparentemente, extrañaba en "WillemOS".

El problema con mi propio sistema operativo
Construir tu propio sistema operativo es genial por todo tipo de razones, pero principalmente porque tú decides cómo funcionarán las cosas. Eres el arquitecto, el maestro, el que decide. Eres dios. La otra cara de ese gran poder es que también eres responsable de hacer que las cosas funcionen.
Muy a menudo las cosas funcionaban fantásticamente, especialmente cuando dedicaba tiempo a afinar la experiencia. Pero incluso con todo mi conocimiento y experiencia, hubo momentos en que las cosas se rompieron, a veces gravemente. Principalmente esto sucedió porque:
- Ejecuto software en hardware no compatible: la tableta Surface Go está diseñada para funcionar con Windows
- La mayoría del software GNU/Linux está diseñado para teclado y ratón: usarlo en una tableta solo con pantalla táctil es casi imposible (intenta ingresar tu clave de cifrado de disco sin un teclado)
- Prefiero las versiones de software de vanguardia de los repositorios inestables de Debian, que a veces tienen cambios 'disruptivos'...
- Creé mi propia extraña mezcla de software libre en WillemOS: combinando paquetes y aplicaciones que no necesariamente estaban diseñados para funcionar juntos
Durante los últimos 6 meses (cuando usé mi sistema operativo como controlador diario) hubo al menos 3 ocasiones en las que el sistema operativo se averió en momentos críticos. Por lo general, después de despertar la tableta de la hibernación, las cosas iban mal...
Por ejemplo, una vez tuve que responder a una interrupción del servicio, un cliente llamó y necesitaba directamente soporte. Precisamente en ese momento tuve problemas para conectar mi red después de despertar la tableta. Perdí un tiempo precioso, pero sobre todo me sentí como un aficionado al no poder responder instantáneamente debido a un estúpido error de red. La gente me paga mucho para ayudar a resolver sus problemas, ¡es mejor que esté listo!

Otro ejemplo molesto es cuando tuve esta súper gran idea para el próximo gran concepto unicornio de TI... Estaba listo para usar el lápiz de la tableta para capturar esta chispa de creatividad cuando, de repente, el digitalizador de la tableta no respondió. Mi lápiz no funcionaba y la pantalla táctil estaba por todas partes. Pude solucionarlo reiniciando algunos servicios del sistema, cerrando y abriendo algunas aplicaciones. Pero, cuando estuve listo, ¡la idea mágica se había ido!


Lecciones aprendidas
Además de sentirme cómodo con Debian GNU/Linux de una manera profunda y extrema, aprendí una o dos cosas sobre la realidad de construir un sistema que quieres usar a diario.
En primer lugar, la fiabilidad es increíblemente importante. Esto va de la mano con la previsibilidad (pero no son necesariamente lo mismo). No es un problema si las cosas se rompen, sino solo si las esperas. Esto es extremadamente difícil de hacer bien, he ganado un gran respeto por todo el buen trabajo que los proveedores comerciales de software/hardware han logrado. El rendimiento de una herramienta crítica que planeas usar a diario debe ser extremadamente predecible.
En segundo lugar, para lograr esto es mejor usar hardware compatible y conceptos de software comunes. Usa una PC convencional con componentes estándar con un ratón y teclado normales si planeas usar software libre (como Debian GNU/Linux). La experiencia fluida de la tableta con software libre aún no está lista.
En tercer lugar, y esto es probablemente lo más importante: ¡cuando funciona es mágico! Todos los problemas que encontré fueron manejables y no le quitan nada al hecho de que cuando mi sistema operativo funcionaba, sometimes was some true magic.

Conclusión
Realmente tienes que estar un poco loco para intentar construir tu propio sistema operativo. ¡Eres un tipo especial de loco si haces de tu sistema operativo experimental tu controlador diario!
Eso es lo que hice... y me alegro de haber sobrevivido para contar la historia. ¡Lo intentaré de nuevo algún día, porque el sabor de la libertad es difícil de olvidar una vez que lo has experimentado!
