Firefox OS necesitaba aplicaciones, y toda plataforma nueva enfrenta el mismo problema de entrada: no hay desarrolladores sin una forma fácil de empezar. Los desarrolladores le dijeron a Mozilla que no sabían bien cómo iniciar el desarrollo de aplicaciones en la Web, porque implicaba descargar muchas herramientas y plantillas distintas de diversas fuentes. La solución convencional habría sido otro IDE descargable más guías de configuración.

En cambio, Mozilla usó la única herramienta que su público ya tenía abierta: el navegador. WebIDE se distribuyó dentro de Firefox Nightly: un clic iniciaba un proyecto a partir de una plantilla funcional, elegir un entorno de ejecución instalaba un simulador de Firefox OS o conectaba un dispositivo, y Ctrl/Cmd+R recargaba la aplicación allí con las DevTools habituales adjuntas. El editor CodeMirror incluido era deliberadamente opcional: una API permitía que cualquier editor externo controlara la gestión de entornos de ejecución de WebIDE, y todo el ciclo se apoyaba en el protocolo abierto Firefox Remote Debugging Protocol, con adaptadores previstos para Chrome para Android y Safari en iOS.

El diseño eliminó los dos costos reales de entrada. Un principiante obtenía una aplicación modelo funcional con un clic en lugar de una tarde de configuración, con un validador de manifiesto de aplicación que detectaba problemas antes del envío al marketplace. Un desarrollador experimentado no cambiaba nada: el editor integrado podía desactivarse, y los mapas de teclas de vim, emacs o Sublime se alternaban en about:config. Mozilla conservó solo lo que únicamente el navegador puede hacer —entornos de ejecución, dispositivos, depuración remota— e hizo reemplazable el resto.

El hilo de lanzamiento en Hacker News —489 puntos, 151 comentarios— mostró que el mecanismo funcionaba. Los comentaristas calificaron WebIDE como una incorporación fantástica para principiantes que ayudaría a las escuelas; los autores de temas publicaron soporte en pocos días; un desarrollador de un editor de vista previa en vivo dijo que quizá no habría creado su herramienta si WebIDE hubiera existido. Las objeciones más fuertes fueron sobre el empaquetado, y el equipo respondió que las herramientas apenas afectaban el rendimiento a menos que se abrieran. Un comentarista lo resumió: WebIDE bajó el nivel de entrada al desarrollo: sin descarga de SDK, sin configuración ni firma engorrosas, sin un nuevo lenguaje que aprender.

Convertir el propio navegador en el SDK: aplicaciones de inicio sin instalación y un protocolo abierto para que ningún desarrollador tenga que cambiar de editor

Un navegador que los desarrolladores ya tienen es herramienta sin instalación: la primera aplicación está a un clic de una plantilla en lugar de una tarde de descargas y configuración.

Hacer opcional el editor eliminó el costo de cambio para los desarrolladores experimentados, que de otro modo ignoran las herramientas de plataforma que imponen un nuevo flujo de trabajo.

Un protocolo abierto de depuración remota con adaptadores para navegadores rivales significó que el trabajo no quedara varado en Firefox OS: cualquier herramienta podía alcanzar cualquier entorno de ejecución.

El empaquetado en Firefox hizo la herramienta detectable donde ya estaba el público objetivo, convirtiendo al propio navegador en la presentación de la plataforma.

Para hacer crecer un ecosistema, reducir el costo del primer paso a cero dentro del producto que controlas, y luego hacer todo lo demás conectable para que los usuarios establecidos conserven su flujo de trabajo.

WebIDE llegó a Firefox Nightly el 23 de junio de 2014, en Herramientas > Desarrollador web > Administrador de aplicaciones, y pasó a llamarse WebIDE en la siguiente compilación tras una preferencia. Atrajo 489 puntos y 151 comentarios en Hacker News: los autores de temas actualizaron sus temas, los usuarios alternaron mapas de teclas de vim o Sublime, y un comentarista dijo que podría haber dejado innecesario su editor de vista previa en vivo. Los críticos lo llamaron inflado del navegador; el equipo dijo que las herramientas apenas afectaban el rendimiento a menos que se abrieran. Mozilla planeó un adaptador de protocolo para Chrome para Android y Safari en iOS e invitó a más plantillas de inicio de la comunidad.

CONSULTA LAS PRUEBAS

Las fuentes

  1. WebIDE lands in Firefox Nightly Mozilla Hacks · hacks.mozilla.org ·
  2. Hacker News discussion: WebIDE lands in Firefox Nightly Hacker News · news.ycombinator.com ·