1 puntos por GN⁺ 1 시간 전 | 1 comentarios | Compartir por WhatsApp
  • En la época en que Microsoft e IBM desarrollaban OS/2 en conjunto, decidir qué tecla usar para moverse entre campos en un cuadro de diálogo se convirtió en un punto de fricción que dejó ver las diferencias en su estructura organizacional
  • Un colega de Microsoft asignado a la oficina de IBM en Boca Raton decidió usar la tecla TAB como tecla de navegación entre campos, y IBM exigió que el tema se elevara al gerente en Redmond
  • El gerente de Microsoft respondió que él estaba en Boca justamente para tomar ese tipo de decisiones en su lugar, y el mensaje se transmitió a IBM como “Microsoft respalda el uso de la tecla TAB para este propósito”
  • IBM no quedó satisfecha y elevó el asunto por varios niveles siguiendo su estructura organizacional, afirmando que un VP situado unas siete capas por encima del programador se oponía al uso de la tecla TAB, y pidió una confirmación de un directivo de nivel equivalente en Microsoft
  • El colega de Microsoft respondió que “a la madre de Bill Gates no le interesa la tecla TAB”, y al parecer con eso terminó la discusión y la tecla Tab se mantuvo

Diferencias en la estructura organizacional expuestas durante la colaboración en OS/2

  • Durante la época en que Microsoft e IBM desarrollaban OS/2 en conjunto, hubo choques culturales: del lado de Microsoft veían a sus colegas de IBM como personas atadas a una burocracia innecesaria, mientras que en IBM veían a la gente de Microsoft como hackers sin disciplina
  • Uno de los puntos de conflicto fue la estructura organizacional, y la discusión giró en torno a qué tecla debía usarse para pasar de un campo a otro en un cuadro de diálogo (dialog box)
  • Un colega de Microsoft había sido asignado a la oficina de IBM en Boca Raton, Florida, y decidió usar la tecla TAB como tecla de navegación entre campos
  • IBM no estuvo conforme con esa decisión y pidió que el asunto se elevara a su gerente en Redmond

La delegación en Microsoft y el proceso de escalamiento en IBM

  • El gerente de Microsoft respondió: “La razón por la que estás en Boca es para tomar ese tipo de decisiones y que yo no tenga que estar en Boca”
  • Antes de transmitirse a IBM, esa respuesta se reformuló con un tono más corporativo como: “Microsoft respalda el uso de TAB para este propósito”
  • IBM no quedó satisfecha y elevó el asunto varios niveles siguiendo su estructura organizacional
  • IBM afirmó que un VP ubicado unas siete capas por encima del programador estaba absolutamente en contra de usar TAB para este propósito, y pidió una confirmación de un directivo de nivel equivalente en Microsoft

El final de la discusión

  • El colega de Microsoft respondió: “A la madre de Bill Gates no le interesa TAB”
  • Después de esa respuesta, al parecer la discusión terminó y la tecla TAB se mantuvo
  • El texto cierra con la broma de que en Estados Unidos el próximo domingo es Mother’s Day, pero no recomienda preguntarle a tu madre su opinión sobre la tecla TAB
  • Es posible que las valoraciones que Microsoft e IBM tenían una de la otra fueran, hasta cierto punto, válidas

1 comentarios

 
GN⁺ 1 시간 전
Comentarios de Hacker News
  • IBM era legendariamente sobreburocrática
    Alguien con quien trabajé antes hizo unas prácticas de verano a mediados de los 90 en IBM Londres, haciendo algo parecido a lo que hoy sería ingeniería de QA, y contó que en ese entonces estaban en medio de un cambio en la cultura de ir todos de traje, así que los practicantes pidieron que se les permitiera ir con ropa casual los viernes
    Como trabajaban encerrados en una oficina al fondo sin contacto con clientes, pensaron que no era gran cosa, pero la respuesta llegó apenas unos meses después, justo antes de que terminara la práctica, y la solicitud había subido por una cadena de aprobación de cuatro niveles en la oficina de Londres, luego pasó a la sede en EE. UU. y terminó en el escritorio de un vicepresidente
    Parece que cada nivel tardó semanas en decidir si tenía autoridad para manejar un asunto tan trascendental, y la respuesta regresó por la misma ruta, bajando nivel por nivel y cruzando el Atlántico hasta llegar a los practicantes de traje en Londres, cuando ya les quedaban apenas unos días de práctica
    La respuesta fue no aprobada

    • A finales de los 90, mientras me mudaba a otro país y buscaba trabajo, apliqué a la oficina local de IBM porque tenía experiencia con OS/2, y poco después recibí otras 3 ofertas y acepté una, así que me olvidé por completo de haber aplicado a IBM
      Pero 8 meses después, RH de IBM me llamó para preguntarme si quería entrevistarme el jueves siguiente, y cuando les dije que ya no me interesaba, se quedaron completamente desconcertados
      No sé qué estaban pensando, pero tenían una autoestima exagerada para no estar ofreciendo tampoco un gran sueldo
    • Mi papá trabajó toda su vida en IBM, y cuando dijeron que ya se podía usar un traje que no fuera negro, fue con un traje azul y su jefe le preguntó: “¿Viniste en autobús al trabajo?”
    • Hice una práctica de un año en 1988~89 en el sitio de I+D de IBM en Winchester, Reino Unido, y no recuerdo que ninguno de los practicantes usara traje o corbata, ni tampoco muchos empleados regulares de IBM
      El ambiente era bastante informal, y no lo digo para negar la historia anterior, solo para aportar otra perspectiva
    • “Change for a Dollar” de Mr. Show: https://www.youtube.com/watch?v=KyocQT4Vn2g
    • Hay varios casos así
      Pedí una excepción a una cláusula del contrato que le daba a IBM prioridad sobre la propiedad intelectual creada fuera del horario laboral
      Yo solo trabajaba en un call center de soporte técnico, no tenía acceso a información propietaria exclusiva de IBM ni tenía un rol de desarrollo, así que en ese aspecto no había ningún riesgo
      De hecho, todas las personas con las que uno podía hablar en persona pensaban que era una solicitud muy razonable, pero tomó 6 semanas recibir la primera respuesta de rechazo, y luego mi jefe directo intentó mediar, lo que agregó otras 2 semanas de revisión, aunque la respuesta siguió siendo negativa
      Parece que subió por la línea de reporte hasta EE. UU., se desvió al área legal y luego volvió a bajar, y al final dejé la empresa para evitar el riesgo de que IBM reclamara derechos incluso sobre un pequeño proyecto de software con un amigo
      Además, los formularios de RH se habían redactado a principios de los 80 y digitalizado en los 2000, y nuestro equipo, que no era de atención al cliente, era muy diverso
      Hubo un intento de actualizar los formularios para reconocer otras combinaciones de género y pronombres, pero la revisión tomó unas 12 semanas y al final parece que lo rechazaron porque nadie quería averiguar quién tenía que cambiar el formulario
      El equipo tenía muchos integrantes LGBT y parecía importante retenerlos, pero aun así lo rechazaron tajantemente
      La capacitación de prevención del acoso sexual se entregaba en cinta en 2010, y decía que era una “versión actualizada”, así que quizá antes venía en disco de vinilo
  • Esta historia se siente rara porque IBM usó una nomenclatura de teclado consistente en varios productos, y las terminales mainframe de la familia 3270 movían el cursor al siguiente campo con la tecla Tab, ubicada donde está Tab en los teclados modernos
    https://www.bitsavers.org/pdf/ibm/3278/GA27-2890-4_3278_Disp... página 73 del PDF
    Como referencia, en las terminales IBM moverse entre campos era tan importante que del otro lado de la tecla Tab había una tecla dedicada de Back Tab
    En la PC original de IBM ambas funciones se combinaron en una sola tecla, y por eso la tecla Tab de los teclados clásicos de PC lleva juntos los símbolos de tabulación hacia adelante y hacia atrás; que el símbolo de tabulación hacia atrás esté arriba significa que hay que presionar Shift
    Además, las terminales de la familia 5250 usaban los términos “Field Advance” y “Field Backspace” en lugar de Tab/Back Tab, pero los símbolos y la posición de las teclas eran más o menos los mismos que en la familia 3270
    Referencia: https://www.bitsavers.org/pdf/ibm/5291/GA21-9409-0_5291_Disp...

    • Un teclado IBM 3270 real se veía así[1]
      Solo hay que ver la tecla “Next field” a la izquierda y su par “Previous field” a la derecha
      El IBM 3270 era un dispositivo para llenar formularios, y el mainframe enviaba al terminal un formulario con espacios en blanco para que el usuario los completara
      El hardware del terminal impedía sobrescribir las partes fijas del formulario y también aplicaba restricciones como campos numéricos, y todo eso se procesaba en el terminal
      Cuando el formulario estaba completo, el usuario presionaba ENTER y el formulario terminado se enviaba al mainframe como una sola transacción
      Este enfoque permitía que un solo mainframe manejara una cantidad enorme de terminales, y el usuario podía escribir rápido sin ver el teclado y sin sentir latencia durante la captura
      La PC no tenía ese modelo de uso, y la gente del mundo PC pensaba en una “máquina de escribir”
      Una de las primeras terminales para computadoras domésticas incluso se llamaba “TV Typewriter”
      Los formularios web sí tienen este modelo, pero con mucha menos consistencia
      [1] https://sharktastica.co.uk/resources/images/model_bs/themk_1...
    • Habiendo trabajado en IBM, mi suposición es que usar la tecla Tab así formaba parte de alguna patente que IBM quería impulsar, y que si Microsoft la usaba de esa manera podría hacer que pareciera “algo obvio” y dificultar patentarla
      Pero es solo una especulación
      En la IBM de los 80 había un grupo senior de técnicos llamado “Systems Engineers”, y todo su trabajo consistía en comentar las ventajas y desventajas de ciertos sistemas
      No escribían sistemas, no los depuraban ni los explicaban; solo estaban ahí para dictaminar: “lo estás haciendo mal”
    • Parece raro si se considera que IBM normalmente hacía cumplir con rigor sus normas corporativas en todas las divisiones, pero en libros sobre el origen de la IBM PC esto podría estar relacionado con que la organización de PC en Boca era una excepción anómala para los estándares de IBM
      Para el equipo de Microsoft parecían una organización desesperadamente corporativa, pero dentro de IBM la gente de Boca era vista como una “unidad rebelde”, y de hecho la mayor parte de IBM ni siquiera sabía que existían
      Desde la percepción temporal de IBM, casi apareció de la noche a la mañana y se movió a una velocidad increíble, y eso fue posible porque Thomas Watson Jr. aprobó ese skunkworks imponiéndose a la oposición de sus subordinados
      Por eso en Boca casi no había la supervisión, coordinación ni control que normalmente habría en un proyecto de ese tamaño
      Al principio Boca operaba fuera de la cadena normal de reportes, y cuando intentaban conseguir tecnología o componentes de otras partes de IBM a veces tenían que explicar que realmente sí pertenecían a IBM
    • Si mal no recuerdo, las terminales IBM 3270 tenían dos teclas “Enter/Return”
      Una era la Return habitual de hoy, que solo movía al siguiente campo y no enviaba el formulario
      La otra tecla Enter estaba donde hoy está el Ctrl derecho, y esa sí enviaba el formulario
      Así que quizá IBM no se oponía a la tecla Tab en sí, sino a usar como tecla de envío del formulario la Return, que los usuarios de 3270 esperaban que solo avanzara al siguiente campo
      Muchos programas DOS también funcionaban así: al presionar Return ibas al siguiente campo en lugar de enviar el formulario, y fue una de las cosas a las que hubo que acostumbrarse en Windows
    • Curiosamente, IBM ya había publicado esto antes
      CUA dice explícitamente que Tab y Backtab se usan para moverse entre campos
      Así que IBM terminó oponiéndose a su propio estándar a través de 7 niveles de gerencia: https://archive.org/details/ibmsj2703E/page/n13/mode/2up
  • Como alguien que prefiere Tab, no intento iniciar una discusión, pero alguna vez le pregunté a Brendan Eich en Twitter por qué prefería espacios
    Su respuesta fue más reflexiva de lo que esperaba
    Como los sistemas operativos modernos y el comportamiento de las interfaces de usuario secuestran la propia tecla Tab, se vuelve complicado introducir un carácter de tabulación real, especialmente en contextos como el navegador
    Aun así yo sigo prefiriendo Tab y soy desarrollador Go, pero en esto él tenía toda la razón: sí es un problema realmente molesto
    Por ejemplo, intenta meter un carácter de tabulación en el área de texto de Hacker News y lo verás enseguida

    • Pero incluso quienes no usan tabulaciones literales, ¿no presionan la tecla Tab cuando escriben código? ¿O acaso presionan espacio N veces?
      Entiendo en parte el argumento, pero si estás escribiendo en el área de texto de HN código donde Tab/espacios importa, ya algo anda mal de entrada
      Un editor de código sí maneja correctamente la tecla Tab
      Aun así, aunque con Enter hay ciertas convenciones como Shift+Enter, Alt+Enter o Cmd+Enter, sigue molestándome que casi no exista una forma general de introducir un carácter de tabulación en todo el sistema operativo
      Shift/Alt/Ctrl+Tab normalmente ya están capturados para otras acciones
    • Podría ser razonable separar la tecla para “tabulación” de la tecla para “siguiente campo”, y también tener teclas distintas para “salto de línea” y “enviar”
      Claro que ni la tabulación ni el salto de línea aplican en todos los contextos
      También podría ser razonable tener una tecla o combinación para introducir caracteres de control como datos en lugar de como comandos, como pasa con ^V en algunos programas
      Son cosas a considerar al diseñar una computadora nueva que no tenga que parecerse a las existentes, y yo sí he pensado en esto e incluso podría tomarlo en cuenta de verdad
    • El hecho de que la mayoría crea que la tecla Tab era la elección correcta es justo el ejemplo perfecto de por qué esa elección no era correcta
      La tecla Tab tenía un propósito original, pero fue secuestrada, haciendo más difícil usar su propósito real
      No es tan distinto de cuando Apple introdujo la Touch Bar y quitó la tecla Escape
      Puede que el usuario promedio casi no la use, pero al desarrollador promedio le cuesta vivir mucho tiempo sin usar esa tecla para su propósito original
    • El inglés no es mi idioma nativo, así que intento entender qué quiso decir Brendan
      Alguna vez escuché que antes la tecla Tab podía representarse distinto según el sistema, así que los espacios, que siempre se representan igual, eran más seguros
      ¿Eso era lo que Brendan quería decir?
    • También está el problema de que no todo el mundo configura igual el ancho de tabulación
  • Excelente artículo, pero sigo con curiosidad por saber por qué IBM se oponía a usar la tecla Tab de esta manera
    ¿Será que no querían que Tab fuera a la vez un carácter de entrada y un carácter de control?
    O sea, que en algunos campos de entrada se pudiera escribir Tab y en otros no, y que no fuera fácil saber de inmediato cuál de los dos casos aplica
    Incluso ahora, en 2026, puedo simpatizar con ese punto de vista

    • Personalmente no me gusta usar la tecla Tab para moverse entre campos
      Primero, porque rompía la compatibilidad con DOS
      Los programas DOS usaban Enter, y además el teclado numérico tenía una tecla Enter, así que se podían capturar datos numéricos con una sola mano
      Podías dejar la mano izquierda sobre el documento en papel y teclear con la derecha, y la gente se volvía muy rápida haciéndolo
      Ese patrón sigue vivo en algunos programas como Excel
      A muchos clientes no les gustaba tener que poner ambas manos en el teclado, y muchos de nuestros programas permitían mapear Enter=Tab
      Lo importante no es el “nombre” de la tecla, sino su posición
      El uso doble de la tecla es solo una molestia que toleramos, y a veces actúa como tecla de navegación y otras como tecla para ingresar espacios
      Con Enter habría existido el mismo problema
      La solución claramente superior habría sido agregar una tecla nueva al teclado, idealmente en el teclado numérico
      En esa época se añadieron muchas teclas nuevas; visto en retrospectiva, ahí debieron haber agregado una tecla de “siguiente”
    • Si diseñaras un editor de texto que corre dentro del navegador, tendrías que romper por completo las expectativas del usuario sobre la función de la tecla Tab
      Porque en ese entorno hay dos funciones totalmente lógicas e intuitivas que Tab podría cumplir, y entran en conflicto
      El mismo problema aparece muchísimo más seguido con la tecla Enter, y todavía hoy memorizamos reglas bastante complejas sobre si ctrl+crlf es un salto de línea o el envío de un mensaje, y qué hacen exactamente crlf solo y shift+crlf
      En el editor de HN, shift+crlf y crlf solo crean un salto de línea, y ctrl+crlf no hace nada
      Pero en otros lados ctrl+crlf dispara el envío del formulario o del mensaje, shift+crlf inserta un salto de línea crudo, y crlf solo puede hacer una de esas dos cosas o ninguna
      Esas son asociaciones comunes, pero también he visto excepciones e inversiones, e incluso casos donde shift+crlf envía el formulario y ctrl+crlf inserta el salto de línea crudo
      Todo esto es realmente molesto y genera mucha fricción para el usuario, y durante un tiempo la guía de estilo de Microsoft fue vista como una referencia central de mejores prácticas, aunque hoy eso quizá les parezca irónico a muchos
    • Me hace imaginar un mundo donde CAPSLOCK sirve para “seleccionar la siguiente entrada” y TAB se usa como carácter
    • Sí, creo que puede verse así
      Administrar una organización con innumerables partes móviles y construir algo rápido para los usuarios claramente son preocupaciones muy distintas
    • Por como lo leí, no parece que hubiera una “razón de IBM” completa y coherente
      Más bien una persona dentro de la burocracia de IBM se metió y detuvo todo, y eso mostraba una diferencia cultural
      Porque el texto original, desde el principio, era un texto sobre esa diferencia cultural
  • IBM también es la razón por la que MS-DOS no soporta “-” en las opciones, y por la que los dispositivos no terminaron en el directorio “\DEV” de todas las unidades
    El soporte de “/” como separador de rutas sí sobrevivió
    Mucha gente en Microsoft usaba Xenix y era fan de Unix, y en DOS muy temprano existieron las opciones SWITCHCHAR y AVAILDEV en config.sys para este tipo de cosas
    Pero según entiendo, IBM se opuso con fuerza y obligó a quitarlas
    Lo más irritante del problema de DEV es que DOS 1 ni siquiera tenía directorios, así que no podía haber un gran problema de compatibilidad
    Pero como resultado, DOS/Windows quedó atado a asumir que los archivos de dispositivo existen en todos los directorios, así que no puede soportar crear archivos llamados “CON” o “COM1”

    • Microsoft nunca lo eliminó de MS-DOS
      Solo que durante años no documentó las llamadas necesarias para hacerlo
  • Me parece raro porque recuerdo que en el mainframe 3270 la tecla Tab sí se usaba para moverse entre campos

    • Así es
      Encontré el PDF de la Operator's Guide
      Solo hay que ver https://news.ycombinator.com/item?id=48028227
    • Yo también siempre pensé que el estándar de IBM era moverse con TAB y confirmar el formulario con ENTER
    • Mi recuerdo es exactamente ese
      Usar Tab era casi segunda naturaleza, y cuando pasé a las apps GUI, especialmente las hechas en Visual Basic, me desesperaba cuando el orden de tabulación estaba mal definido
    • Hace mucho que no uso pantallas verdes de IBM, pero en nuestras aplicaciones recuerdo que Tab sí movía entre campos
      Aunque creo que también había teclas de función reservadas para ese propósito
    • Me pregunto cómo era en los sistemas midrange
      Nunca usé AS/400, pero entiendo que existía el concepto de una tecla separada de Field Exit
  • Me hizo reír bastante la parte de “la gente de Microsoft veía a sus colegas de IBM como gente atrapada en burocracia inútil, y la gente de IBM veía a la gente de Microsoft como hackers sin disciplina”
    Trabajo en MSFT, y parece que el Microsoft de aquella época era una empresa muy distinta
    Ahora siento, igual que mis colegas, que estamos atrapados en burocracia inútil por reuniones interminables, mandatos de IA y teatro de promociones
    Pagan bien, pero la burocracia te va drenando el alma

  • Hay que conectar un control de videojuegos a todas las máquinas y usar la cruceta para moverse entre campos, la tecla ‘A’ para subir un nivel en menús jerárquicos y la ‘B’ para entrar al submenú
    Así, para pasar entre campos, primero capturas los datos, luego quitas las manos del teclado, agarras el control, presionas derecha o izquierda y luego vuelves a poner las manos en el teclado
    La productividad realmente se dispararía

    • Mira esto también :) https://github.com/madewokherd/xalia#default-gamepad-control...
      La idea es permitir controlar naturalmente con gamepad videojuegos que usan controles estándar del sistema operativo
    • Es una idea excelente
      Definitivamente hay que patentarla
      Mientras tanto tendremos que conformarnos con la solución de segunda categoría: el mouse
  • Llevo más de 30 años siendo usuario de Mac, pero de verdad me encantan los artículos históricos de Raymond Chen
    Conozco folklore.org, pero ojalá existiera algo equivalente sobre el interior de Apple
    Lástima que eso no sea parte de la cultura de Apple

    • La cultura de Apple es la que es, pero ya pasó suficiente tiempo como para compartir una historia y que a nadie le moleste
      En 1992 fui practicante de verano en el equipo de System Software, y uno de mis proyectos era mejorar una función del Disk Initialization Package que marcaba bloques defectuosos encontrados durante la inicialización del disco
      La función existente funcionaba, pero era muy lenta, no mostraba progreso y no se podía cancelar
      La parte más complicada era la interfaz de usuario
      Mejoré mucho la velocidad, pero como no había forma de saber cuánto iba a tardar todo el proceso, cualquier heurística para mostrar el tiempo restante era pésima
      Vi a unas cuantas mesas de distancia a alguien cuyo cargo era “User Interface”, me pregunté si podría ayudar, le pregunté si tenía un momento y me senté con Bill Fernandez, empleado número 4 de Apple y la persona que presentó a los dos Steve entre sí, para resolver el problema
      Fuera de mi gerente, fue literalmente la persona más amable que conocí ese verano, entendió el problema por completo de inmediato y propuso una solución excelente
      La idea fue abandonar la estimación del tiempo restante y cambiarla por una barra de progreso indeterminada que avanzara cada vez que se probaba una pista del disco
      Funcionó bien, a la gente le gustó y se incluyó en una actualización menor después de la 7.1
      No es tan increíble como los textos de Raymond, pero para empezar no está mal
  • Me resulta admirable que todas las épocas hayan estado llenas de peleas por casi todos los detalles
    Las teclas, sus distribuciones, su forma, su significado, todo
    Y a la vez es muy raro y gracioso que ahora a casi nadie le importe nada de eso

    • ¿No viste la discusión sobre el glassmorphism de Tahoe?