Para los usuarios que trabajan con el móvil varias horas al día y hacen de él su centro de trabajo — lista de tareas, gestión del email, revisión etc. — la Keynote más importante fue la de junio, el WWDC. Apple iniciaba una nueva era, una nueva forma de entender sus sistemas operativos. Por fin Apple se "abría"; se abre a las posibilidades de los desarrolladores de una manera muy peculiar a través de las denominadas extensiones y será una versión de iOS genial.

El mejor aliado de los powerusers

iphone6

Muchos powerusers usaban Android por las limitaciones que tenía iOS hasta ahora; no había menú compartir, no había teclados de terceros, una app no podía modificar el funcionamiento de las demás... los usuarios tardaban una eternidad en compartir enlaces e información de una app a otra, cosa que Android hace muy bien gracias a su menú compartir.

Pero eso se acabó. Las extensiones van a lograr que iOS, con la ayuda de los desarrolladores, se convierta en el mejor sistema operativo para powerusers, para todas las personas que organizan su vida y trabajan desde dispositivos móviles. Apple no ha hecho más que dar lo que los usuarios queríamos: más libertad para que los desarrolladores pudiesen implementar más funciones, pero sin perder el sandbox en el que está cada aplicación. Apple lo ha hecho y de la mejor manera posible. Vamos a explicar las extensiones.

¿Qué son las extensiones?

Desde la aparición de iOS 8 y OS X 10.10 dispondremos de las extensiones, utilidades que nos permiten extender una funcionalidad personalizada, además del contenido que pueda usar dicha funcionalidad, haciendo que esté disponible para los usuarios en el resto de apps que usen. Los desarrolladores pueden crear una extensión para una tarea concreta; cuando los terceros obtengan su extension podrán usarla en numerosos contextos.Los desarrolladores se ayudarán de las extensiones para dotar a sus apps de funcionalidad extra De esta forma los desarrolladores no tendrán que programar toda la funcionalidad de su app, podrán usar las extensiones que proporcionen el resto de apps para añadir las características deseadas.

Por ejemplo, si provees de una extensión que permita compartir algo en una red social, los usuarios podrán usarla en apps externas mientras realizan allí sus tareas, sin tener que salir de la aplicación en ningún momento. Sí, al estilo compartir en Android, pero es diferente y trae más cosas, sigue leyendo. Si tu extensión permite mostrar las condiciones meteorológicas actuales, o resultados deportivos, los usuarios pueden usar esa extensión en el Notification Center para tener los resultados e información del tiempo en la vista de Hoy. Puedes también crear un teclado que reemplace al de iOS, algo impensable en Cupertino hace unos años.

Los diferentes tipos de extensiones

ios8_extensions

Apple ha dotado a sus nuevos sistemas operativos con varios tipos de extensiones claramente diferenciadas. Cada extensión provee de las políticas de uso y APIs necesarias para que los desarrolladores puedan crear un area de extensión en su aplicación. De forma que Apple y los desarrolladores controlan a la perfección cómo, cuándo y por qué se usa la extensión. Las extensiones se aplicarán a iOS y a OS X. Estos son los tipos de extensiones que hay:

  • Hoy (iOS y OS X): widgets para la vista "Hoy" y el centro de notificaciones
  • Compartir (iOS y OS X): envía contenido a servicios web o comparte información con otras apps
  • Edición de foto (iOS): edita una foto o vídeo dentro de la aplicación de Apple Fotos con extensiones de terceros
  • Acciones (iOS y OS X): extensiones de app para ver y/o manipular algo dentro de otra app
  • Finder Sync (OS X): almacenamiento remoto en Finder con soporte de anotaciones
  • Proveedor de almacenamiento (iOS): una interfaz entre los ficheros dentro de una app y las demás de el dispositivo del usuario.
  • Teclados personalizados (iOS): teclados alternativos al que hay por defecto y disponibles en todo el sistema.

Como podéis saber ya, las extensiones no son un simple menú compartir como muchos han proclamado estos meses. La posibilidad de enriquecer la funcionalidad de las apps y personalizar el sistema operativo está acompañado de unas guidelines muy especificas y reglas muy estrictas que los desarrolladores deberán seguir para evitar el desmadre que los malos desarrolladores pueden crear.

Las extensiones siempre estarán embebidas en aplicaciones provenientes de la App Store por motivos de seguridadLas extensiones serán código independiente embebido dentro de las aplicaciones que los usuarios pueden descargar del App Store: las extensiones estarán empaquetadas en las apps, y los desarrolladores no podrán lanzar extensiones sin una app, o lanzar una app que solo contenga extensiones. Apple no quiere crapware en su sistema operativo, quiere apps de calidad con extensiones de calidad. Apple siempre hace énfasis en la seguridad, y quiere tener el control de cómo el usuario interactúa con su SO. Por eso las extensiones vendrán empaquetadas, serán eliminadas cuando la app sea eliminada y sólo se podrán usar en ciertas partes del sistema que Apple tiene en control.

  
Para los powerusers que ahora hacen uso de las url-schemes, lo más importante de las extensiones es la comunicación entre apps. Apple elimina — por fin — la gran fricción que había en iOS a la hora de comunicar unas aplicaciones con otra. Vamos a vivir un incremento de velocidad muy grande en muchas de las tareas cotidianas que realizamos en el móvil.

Apple marca la prioridad. Quieren un sistema más eficiente, pero que el usuario siga teniendo el control de cómo usan sus dispositivos. Qué teclado usar, qué widget tener a la vista... El objetivo de Apple es hacer al usuario más feliz y productivo tras años de peticiones, brindándonos una libertad y capacidad muy necesaria hoy en día. No servía de nada tener un hardware espectacular si para compartir algo tenías que dar cinco pasos más que la competencia. Ahora Apple no sólo estará a la altura de Android, sino que nos brindará mejoras bastante sustanciales en comunicación interna entre apps que Android no tiene ahora mismo.

Ejemplos del uso de las extensiones

En la WWDC, Apple nos mostró varias demos del funcionamiento y posibilidades de sus nuevas extensiones, mostrando a los desarrolladores ejemplos reales de extensiones ya implementadas. Se mostró el objetivo de las mismas y cómo deberían ser implementadas. Fue mi parte favorita del WWDC y uno de los principales motivos por los que adquiriré un iPhone.

Panel Hoy

 

demo-today

En las primeras demos, Craig Federighi nos mostró el funcionamiento de las extensiones en el panel Hoy y sus posibilidades. En resumen; serán widgets en los que los usuarios podrán ver información de determinadas apps, e incluso, interactuar con ellas. El usuario podrá añadir y borrar esos widgets, así como reordenarlos en la forma que desee.

El ejemplo fue una aplicación de resultados deportivos actualizada en directo y un widget de Ebay para controlar la puja pendiente, actualizando la información en tiempo real y permitiendo al usuario incrementar la puja con un solo click sin abrir la aplicación de Ebay. Los desarrolladores podrán programar el widget para que muestre información sólo si hay novedades relevantes por ejemplo, por lo que tener varios no debería ser un problema. Para mí esto podrá ser, salvando las distancias, un Google Now con infinitas posibilidades.

ios-8-nc-widgets
Apple aconseja a los desarrolladores que mantengan simples este tipo de extensiones, que no realicen demasiadas operaciones, o tengan muchos controles como las verdaderas basuras en diseño y utilidad que podemos encontrar en muchos de los iPhone con jailbreak. iOS 8 no permitirá que el widget consuma demasiados recursos, inhabilitando que tengan textinputs o características del estilo.

Estas limitaciones no impedirán que se creen extensiones realmente útiles, solo evitarán que los developers estén tentados en publicar extensiones de baja calidad y que puedan afectar el rendimiento del sistema. Apple abre la puerta, pero — gracias a Dios — manteniendo un estricto control. Los buenos desarrolladores ya han empezado a publicar sus aplicaciones adaptadas a iOS 8 con su interpretación y uso de la extensión del panel Hoy.

En iOS7, Apple ya comenzó a usar este sistema con sus propias aplicaciones, como por ejemplo el Calendario con checkbox interactivos para los recordatorios; esta vez, con iOS 8 los developers podrán realizar extensiones parecidas.

Serán clave en aplicaciones GTD como Omnifocus, aplicaciones tracking de ejercicio físico o incluso información de vuelo o seguimiento de pedidos. Por eso me atreví a decir que podría ser un Google Now killer. Apple está dando la puerta a los millones de desarrolladores que tienen a que dejen volar su imaginación y creen verdaderas utilidades para nuestro día a día al alcance de un simple swipe.

Compartir

 

sharing
Llegamos a la extensión del tipo compartir. La extensión es muy fácil de comprender; es el método que da Apple a los desarrolladores para que su red social aparezca en el menú compartir como lo está el Mail, Facebook, Vimeo y Twitter por ejemplo. Básicamente es proveer al usuario de un menú compartir al estilo Android. La gente ha confundido todas las posibilidades de las extensiones a que eran el menú compartir de Android en iOS. Como veis, más lejos de la realidad no pueden estar.

Apple sabía que sus usuarios tomaban por básico y fundamental a estas alturas de la partida un menú compartir como el de Android y Apple lo ha brindado de una forma segura mediante extensiones. No sólo podrás compartir en Facebook y Twitter, lo podrás hacer en cualquier servicio web o aplicación que tenga una extensión que lo permita. Por fin Apple logra paliar la mayor carencia de iOS.

Edición de fotos

 

foto

La extensión de Compartir trabajará a la perfección en combinación con las extensiones de Edición de foto. Gracias a estas extensiones los desarrolladores podrán embeber pequeñas apps de retoque en la aplicación Fotos de Apple. Estará destinada a ajustes rápidos. Federighi mostró una extensión del tipo VSCO Cam con filtros propios intercalados entre los oficiales de Apple. Apple va a reducir en máximo el tiempo del usuario en abrir y cerrar aplicaciones. Es más, muchas de ellas no las tendrá que abrir.

Los desarrolladores tienen la libertad de crear una pequeña UI para ser mostrada encima de la aplicación de Fotos, aunque Apple hace hincapié en que la extensión no se use para interacciones prolongadas, que sea un quicksetting y no un Photoshop. Libertad, pero con control.

Aunque parezca una nimiedad tener los filtros en la aplicación de fotos, es una manera de centralizar nuestras apps de fotografía, pudiendo revisar las fotos de las vacaciones o del fin de semana en cinco minutos y hacer los ajustes básicos. Además, aplicaciones como Skitch podrían hacer un uso muy interesante de esta extensión. Como siempre los desarrolladores nos acabarán mostrando el verdadero potencial con su trabajo.

Acciones

 

bing-translate
El gran bombazo de la WWDC, el sueño cumplido de Federico Viticci y resto de gurús de la automatización en iOS: las extensiones de Acción.

Las Acciones son extensiones de aplicación que permiten a los usuarios ver y manipular contenido de una app desde otra. Federighi nos mostró un ejemplo en la WWDC mostrando dos tipos de uso: un traductor de texto con la ayuda de Bing, en el que el usuario podía traducir texto dentro de Safari usando la app de traductor de Bing sin entrar a ella o salir de Safari, y un web clipper para Pinterest, donde el usuario podía guardar una web desde Safari en Pinterest con una herramienta personalizada de captura sin lanzar la propia app de Pinterest.

Es, en resumidas cuentas, el sucesor de los Servicios de OS X, pero realizado e implementado de una manera sublime. Desde el punto de vista funcional y de seguridad como veremos más tarde. Es una de las nuevas características que más me gusta de iOS 8. Tal vez la mayoría de los usuarios no entienda las millones de posibilidades que tiene esta extensión, pero va a ser la principal herramienta por la cual iOS 8 va a ser el sistema móvil más productivo.

create-account2
Las Acciones podrán crear workflows hasta ahora imposibles mediante url-schemes. Los ejemplos que vimos en la demo eran mucho más visuales, interactivos y transparentes al usuario que los workflows actuales que tenemos con Drafts y Launcher Center Pro por ejemplo. Son mini-aplicaciones dentro de aplicaciones que permitirán al usuario centrar su atención y su capacidad de trabajo en el trabajo a realizar en sí y no en abrir 10 apps y andar copiando y pegando en cada una. Echábamos de menos el compartir en iOS7; pero ahora tenemos Compartir y Acciones, unas herramientas que harán a muchos usuarios Android cambiar a iOS, ya que era la falta de rapidez lo que a muchos usuarios les hacía quedarse en Android.

Esta extensión liderará una nueva era en workflows de productividad gracias al modelo integrado y seguro que han diseñado los de Cupertino. Imaginad una extensión en Safari que funcione como el Clipper de Evernote que podemos usar en OS X y Android por ejemplo, una extensión para mandar enlaces a Pinboard, otra para enviar enlaces a Instapaper, un traductor, otra que te convierta de dollar a euro directamente en la web... se me ocurren infinitas posibilidades que seguro se implementarán. Va a ser el mayor cambio en iOS de los últimos años, y un requisito indispensable para las personas que crean contenido e intentan ser productivos.

Hasta ahora las grandes limitaciones de iOS, obligaban a los desarrolladores a crear aplicaciones con el objetivo de comunicarse las unas con las otras; gracias a las Acciones, las aplicaciones tendrán la posibilidad de comunicarse entre sí de una forma visual, sencilla, transparente y muy segura, ya que la información se traslada encriptada y pasa de un sandbox a otro.

Finder Sync y Proveedor de almacenamiento

 

Algo parecido ocurre con las siguientes extensiones. El Finder Sync y el Proveedor de almacenamiento solventarán los problemas que hasta hoy tenían los desarrolladores a la hora de gestionar y manipular ficheros en los servicios nube en OS X y iOS. Apple no mostró ejemplos, pero la documentación oficial indica que estas extensiones son el camino por el cual las aplicaciones podrán trabajar al unísono con ficheros almacenados en la memoria no volátil y en la nube.

Los proveedores de almacenamiento ofrecerán estas características en el selector de documentos, y el Funder Synx de OS X permitirá al Finder sincronizar el contenido local con el almacenado en el servicio web, además de proveer la posibilidad de usar iconos personalizados y badgets. Cambios así van a permitir a muchas personas usar el iPad como dispositivo principal de trabajo, ya veréis.

Teclados personalizados

 

La gran sorpresa que Apple tenía preparada. Lo que nunca pensábamos que fuera a ocurrir: teclados personalizados en iOS. Es un tipo de extensión como las demás, sólo que será de ámbito global y funcionará de la misma forma que funcionan los teclados de terceros en Android.

La principal preocupación que tenía Apple con permitir usar teclados de terceros era la seguridad. Pero parece que Apple ha tomado las precauciones necesarias: los teclados no podrán almacenar las teclas que el usuario pulsa sin su previo consentimiento, por lo que teclados como Swiftkey tendrán que ser aprobados por Apple y por el usuario. Además, los teclados personalizados no podrán escribir texto en text-inputs de contraseñas por razones obvias de seguridad, mostrándose el teclado por defecto. Para que los teclados sean aprobados deben incluir una manera de poder cambiar de teclado, similar a la tecla con el globo terráqueo que hay en el de Apple.

swiftkey
Apple está potenciando el uso y posibilidades de los teclados de terceros como una vía de obtener teclados multi idioma o con características especificas, como un teclado con Text Expander integrado, que por fin se hará realidad. Swype y Swiftkey serán de los más esperados, aunque también se están popularizando soluciones como Flesky, los cuales tienen ya una versión para iOS 8. Hay muchos teclados muy buenos ya en Android, pero estoy seguro que con la salida de iOS llegarán muchísimos más y de mucha calidad como los que ya están apareciendo. Para los usuarios a los que nos entusiasma probar aplicaciones van a ser meses muy interesantes en todos los ámbitos que permiten las extensiones.

Un mar nuevo lleno de posibilidades

Acaba de salir la iOS 8 GM, y ya podemos ver cómo la gran mayoría de desarrolladores se está apresurando a lanzar ya sus apps con extensiones incorporadas. Todavía es muy pronto, pero me atrevería a decir que este año va a ser un año clave en cuanto a la calidad y posibilidades de las apps en iOS. Muchas personas podrán trabajar desde su iPad sin echar de menos el Macbook. Creo que Apple ha llegado tarde, pero ha llegado de la mejor forma posible. En lugar de copiar el Abrir con y Compartir de Android, ha creado un sistema de extensibilidad seguro y delimitado en el que los desarrolladores puedan dejar volar su imaginación.

En el próximo artículo explicaré al detalle algo que he mencionado constantemente en el artículo, la seguridad de las extensiones y por qué creo que Apple ha tenido una idea brillante en este apartado. Me ha gustado el nuevo iPhone, pero lo que de verdad me ha encantado es saber que iOS 8 no estará atado de pies y manos como sus antecesores y que los desarrolladores podrán crear cosas alucinantes.

Dínamo

Dínamo es el nuevo podcast de Hipertextual donde hablamos, discutimos, analizamos y nos obsesionamos con Apple.