Por qué la UI de Mac OS es mucho mejor que la de Windows cuando Microsoft es muy capaz de contratar a los mejores diseñadores como Apple?

Hay algunos principios fundamentales en juego aquí, y resultan en la propiedad emergente de que la UX (no necesariamente la UI) es mejor en los sistemas MacOS que en los sistemas Windows.

  1. No se permite "tematizar" MacOS en ningún grado relevante

    Esto es fundamentalmente una decisión que se tomó para permitir un fácil soporte y la transferencia de habilidades entre las instalaciones del sistema operativo.

    Si usted llama a la persona de soporte de Windows, y ha instalado un tema "espacial", entonces puede que tenga que "hacer doble clic en el agujero negro" en lugar de "hacer doble clic en la papelera" o "hacer doble clic en el bote de basura".

    Esto puede hacer que el soporte telefónico sea muy difícil; pero también significa que cuando usted se sienta en una máquina Windows al azar, puede que no se vea - o actúe - como su máquina Windows.

    Apple vio esto como un problema; Microsoft vio esto como una oportunidad de marketing. Hay una fuerte división entre los usuarios en cuanto a si la "tematización" es realmente algo bueno, o no.

    Casi cualquier "usuario avanzado" ha sido llamado por un familiar que ejecuta un sistema Windows muy tematizado, que dice "Sólo necesito hacerle una pregunta muy simple", y se convierte en una llamada de soporte de dos horas.

    Colgarle a tu abuela no es realmente una opción, a menos que luego puedas convencerla de que te colgó, porque se está volviendo senil.

  2. No se te permite variar tu programa sustancialmente de las directrices de la interfaz de usuario, sin mucho esfuerzo

    Esto es, de nuevo, una elección intencional de UX; pero conduce a un problema para Apple en términos de ... ¿qué gritó Steve Ballmer, mientras lanzaba una silla por el escenario? ... "¡Desarrolladores! ¡Desarrolladores! ¡Desarrolladores!".

    El problema surge porque, en MacOS, "Si has visto un procesador de textos, los has visto todos".

    Esto tiene dos impactos; uno es en la UX: "¡Todo mi conocimiento que obtuve para subir la curva de aprendizaje de un procesador de textos se aplica instantáneamente a cualquier otro procesador de textos!"

    Ese es un beneficio mágico para la UX, y significa que todo el mundo piensa que MacOS es "fácil de usar", porque aprenden a usar un programa, y prácticamente pueden transferir ese conocimiento a todos los demás.

    El segundo impacto es un poco un problema para Apple, y es que no hay mucho espacio en el mercado para que un desarrollador intente competir con un producto existente en MacOS - a menos que lo que ya está allí apeste mucho, bien, y realmente - porque todo es más o menos lo mismo.

    No es difícil añadir características, pero la forma de añadir características cambia la forma en que los usuarios perciben el uso de su producto. Si Apple te impide añadirlas de una manera no estándar -para reducir la curva de aprendizaje y mejorar la UX-, entonces, por la misma razón, te han quitado el control creativo que de otra manera explotarías para participar en la diferenciación del producto, compitiendo a su vez por la cuota de mercado.

  3. No se permite hacer cosas que no se pueden hacer

    Esto parece una obviedad, hasta que se empieza a hablar de servidores en el otro extremo de las aplicaciones, y se habla de la aplicación de permisos basada en el servidor, y de múltiples usuarios que interactúan no sólo con los datos, sino también con los metadatos.

    Como los permisos de los archivos.

    En MacOS, se pide permiso; ocurre entre bastidores, y la mayoría de las veces no se nota.

    En Microsoft Windows, se pide perdón; ocurre en tu cara, porque aparece un mensaje de error, cuando el SO no está de humor para perdonar.

    El caso más obvio de esto es lo que se llama "drop target".

    Un drop target es algo que puedes arrastrar un archivo encima y soltarlo, y hará algo. Tal vez sea un procesador de textos, o tal vez sea un programa de edición de imágenes, o tal vez sea simplemente una carpeta a la que quieres mover un archivo.

    En MacOS, si no se te permite arrastrar una cosa a un lugar específico: está en gris, y no es una opción para ti. En otras palabras, el problema nunca aparece porque no es algo que esté permitido, porque MacOS ha pedido permiso sobre todas las acciones posibles, y ahora sólo te ofrece opciones que están garantizadas para funcionar.

    En Windows, tienes todas las opciones, todo el tiempo. Esto tiene la ventaja de que los menús no cambian sobre ti para perder las opciones que no puedes hacer, y te permite ver las cosas que podrías querer hacer. Tiene la desventaja de que, si intentas hacer algo que no está permitido, Windows te manda a la mierda.

    Esto hace que MacOS parezca mucho más amigable, porque "It Just Works™"; pero sólo funciona para un subconjunto de todas las cosas posibles que podrías querer hacer. En el lado positivo, Windows no te va a dejar hacer esas cosas de todos modos, así que no tener la opción de intentarlo, te ahorra algo de frustración.

  4. MacOS X está centrado en los programas, y Windows está centrado en los datos

    Este es un problema abstracto interesante, y sólo suele surgir si usted es un programador que intenta acceder a un tipo de archivo estándar, y se encuentra con que no puede hacerlo en MacOS X sin escribir mucho código, porque el tipo de archivo no tiene una biblioteca para manipularlo.

    Esto no surge en Windows. En Windows, usas el método DLL o COM o DCOM o .NET que pertenece a la aplicación que viene con ella, y haces lo que quieras de todas formas.

    Abres la biblioteca DLL (digamos que es una DLL), o te conectas al objeto COM, y luego usas el IUnkown para acceder a una "fábrica de clases", y luego instancias un objeto que representa abstractamente el archivo con el que quieres trastear, y luego empiezas a invocar métodos de esa clase por su nombre.

    ¡Absolutamente fantástico! Puede hacer cualquier cosa que se le pida que haga con el archivo de datos, como introducir virus de macros de Word en todos los archivos .DOC de un ordenador con Windows.

    La desventaja del enfoque de MacOS es que realmente tiene que pedir al programa que sea que haga el trabajo por usted, en lugar de poder hacerlo usted mismo.

    Así que si, por ejemplo, quiere exportar un mp3 de su biblioteca de iTunes, su mejor opción para poder realizar esta tarea es pedir a iTunes que lo haga por usted.

    Y más vale que se lo pidas amablemente, es decir: de la forma en que iTunes espera que se lo pidan.

    Esto, por supuesto, lleva a otros problemas para los programadores, como la mayoría de los problemas introducidos por CoreData al confundir "modelo" y "vista" y "controlador", generando clases y código que son específicos para el formato de datos del día.

    Si eres usuario de MacOS, y has usado iCloud, es casi seguro que has tenido una entrada en la Agenda que se duplica, o simplemente "no se va a la mierda, haga lo que haga".

    En el lado positivo, no es como si tuvieras que elegir qué herramienta alcanzar para hacer algo, porque - en la mayoría de los casos - hay exactamente una herramienta.

También hay otros factores en juego, por supuesto.

Pero en su mayor parte, eso cubre todos los puntos principales que hacen que la UX de MacOS parezca fantástica en comparación con Windows.

Kinda tiende a cabrear a los programadores, y como que tiende a cabrear a las compañías de software comercial, si son la segunda compañía en salir con un programa, y quieren convencer a los usuarios de MacOS para que usen el suyo, en lugar del programa de la primera compañía en salir al mercado.

En ese momento, tienes que "dejar de hacer el tonto", y realmente añadir un valor que tu competencia no puede duplicar fácilmente; y entonces tu trabajo se vuelve difícil, porque realmente tienes que trabajar para vivir.

Oh, bueno, como mi abuela era aficionada a decir: "Así son las cosas"