Archivo

Archive for the ‘Opinión’ Category

Deuda técnica–qué es y cómo se detecta?

Cuántos de vosotros habéis oído de productos que, a pesar de arrancar brillantemente, vieron su desarrollo retrasado o totalmente detenido por problemas que no hacían más que aumentar con el tiempo a cada nueva versión?

debt
Hace unos días me hicieron llegar un excelente artículo de Enrique Dans acerca de la deuda técnica y cómo dicha deuda provocó la caída de los sistemas de British Airways que muchos miles de pasajeros padecieron. Y aunque estoy de acuerdo con el artículo, me pareció que el autor cargaba excesivamente las tintas contra la parte final del proceso: el mantenimiento del sistema una vez puesto en marcha, prácticamente igualando la deuda técnica al tiempo que transcurre desde que un sistema arranca y no es mantenido apropiadamente en producción.

La deuda técnica se define como los recursos (tiempo y coste económico) necesarios para resolver problemas en sistemas tanto en su fase de desarrollo como una vez puestos en producción. Con el tiempo, si dichos defectos de diseño o mantenimiento no se solucionan, no hacen más que incrementar los recursos – de ahí el término “deuda” que, como los tipos de interés, no hace más que aumentar con el tiempo – necesarios para resolver el problema.

El artículo de Enrique Dans analiza la generación de deuda técnica incrementada por un negligente mantenimiento de un sistema que, por otro lado, no aparentaba problemas de diseño. En lugar de emplear recursos de la empresa de forma constante para mantener los sistemas, se empleó personal externo para ello. Dicho personal externo, a medida que es reemplazado por otro personal externo sin el entrenamiento pertinente, no hacía más que empeorar los procesos – hasta que alguien tumbó el sistema. Es lo que yo considero “deuda técnica de IT”. Pero el sistema podría haber sido perfectamente funcional.

Pero mi concepto de deuda técnica viene de mucho más atrás. La deuda técnica empieza el día que se empieza el desarrollo del sistema.

La historia va así: alguien tiene una idea, posiblemente una excelente idea para un nuevo producto, un proyecto que podría ser incluso revolucionario. Manos a la obra, empieza el desarrollo, inicialmente con unas expectativas concretas, un punto concreto al que llegar para el lanzamiento. Aparentemente todo va según lo planeado, el desarrollo avanza según lo previsto: salimos en fechas.

Poco a poco, el desarrollo se va ralentizando, pierde ese empuje inicial, empiezan a aparecer problemas a cada paso que bloquean todo el desarrollo hasta que se resuelven. Al principio las paradas son relativamente esporádicas y se resuelven rápidamente, pero según avanzan las semanas cada problema se vuelve más “raro”, más complejo, requiere de más recursos, y cuando se soluciona uno, aparece otro por otro sitio. Es el síntoma obvio de un problema de deuda técnica: cada nuevo problema es más caro de resolver que el anterior, porque los problemas iniciales de diseño no se resolvieron en su momento.

Si cuando apareció el tercer problema, se hubiese realizado un análisis de los tres como un conjunto (y no simplemente parchear cada uno de ellos individualmente que es, tristemente, lo que los estándares de la industria dictan hoy en día) y solucionar el defecto de diseño inicial que los provocó, no habrían aparecido los subsiguientes problemas (y el desarrollo sería más rápido desde ese momento, sin innumerables paradas). Sí, arreglar el error de diseño al aparecer el primer problema hubiese requerido una parada de desarrollo (y las subsecuentes modificaciones de los módulos afectados), pero en las fases iniciales el número de módulos suele ser reducido y el impacto, limitado.

Pero si el desarrollo prosigue y se sigue tratando cada problema como una entidad individual, y se siguen desarrollando módulos sobre una base defectuosa (la deuda aumenta), cuando alguien determine que el problema no es puntual sino congénito, el coste de repararlo será masivo: implicará tanto aplicar la solución al problema de diseño más el refactoring de ahora una inmensa cantidad de módulos hechos a medida de ese defecto de diseño.

Imaginemos un problema del diseño base que se puede resolver (incluyendo testing) en cuatro días. Para completar los datos, asumamos que nuestros programadores ganan 60 euros diarios. Subsanar el defecto de diseño inicial costaría unos irrisorios 240 euros (60 euros multiplicado por 4 días).  Imaginemos que durante la fase inicial (el “tercer” fallo del que hablábamos antes) nos ponemos en el peor de los casos y el cambio en la base implica “breaking changes” que lo hacen incompatible con las implementaciones de los módulos implicados (hasta ahora, tres). Adaptar o reescribir esos tres módulos (y sus dependencias) implica7 días por módulo:

(4 días x 1 módulo x 60€) +
(7 días x 3 módulos x 60€)
= 1500€

Obviamente, puede que no se pueda hacer ningún trabajo en los módulos afectados mientras se realiza la corrección de la base, así que el costo de un número de programadores potencialmente “esperando” también aumentaría el costo, pero ya tenemos una cifra, en euros, que es lo que nos interesa. De los 240 euros iniciales ya nos hemos puesto en 1500.

Supongamos que nuestro director opina que esos 1500 euros, más un número potencial de programadores parados no es justificable y exige continuar con el diseño actual (al famoso grito de “eso ya lo arreglamos en dos patás más adelante”). El defecto de diseño persiste, se siguen escribiendo módulos dependientes, los problemas y errores ya están ralentizando el desarrollo (seguid multiplicando euros por horas). Ya está costando dinero (30? 40? 50 mil euros?), y eso que ni siquiera estamos arreglando el problema de base, porque los módulos dependientes llevan cerca de un 30% de código necesario para soportar el defecto de diseño inicial: estamos pagando dinero por escribir código “tirita” o “parche” y ni siquiera estamos en producción. La cifra ya es monumental.

Cuando llega el problema número quince, con docenas de módulos y dependencias afectados y el proyecto costando un dineral (por horas perdidas en ir “parcheando” defectos), llega el momento de la verdad y alguien, más arriba del director, decide que es momento de parar y solucionar el problema… Veamos ahora a cuanto asciende… Supongamos ahora quince módulos directamente dependientes, también con 7 días de refactoring, pero ahora con cada módulo soportando a su vez otros cinco elementos (35 en total), con un promedio de 5 días de media: algunos módulos se pueden aprovechar, otros toca reescribirlos o requieren una reescritura considerable:

(4 días x 1 módulo x 60€) +
(7 días x 15 módulos x 60€) +
(5 días x 35 módulos x 60€)
= 17040€

De los 240 euros iniciales nos hemos puesto en 17000 sólo para resolver el problema y sin contar el precio del desarrollo ya realizado sobre la base defectuosa (esos 30, 40, 50 mil euros). Y a este nivel del problema, lo más probable es que los programadores sí estén parados durante la reestructuración. Cuánto hemos gastado por no solucionar el problema al principio? Reparar el problema congénito sigue constando 240 euros, pero su deuda técnica ha sido masiva, potencialmente letal para el proyecto o incluso la empresa.

Ahora, ese alguien por encima del director, tendrá que decidir, no ya si invertir 17000 euros en reparar algo que no debía existir en primer lugar, sino en admitir el gasto de los 30, 40 o 50 mil euros empleados sobre una base defectuosa y que, más que posiblemente, también requieran más inversión. Es cuando empiezan a rodar cabezas.

De repente, los 240, o incluso los 1500 euros, parecen un precio de risa…

Windows 10 en ARM–a la segunda va la vencida?

Para los que no hayáis oído la noticia, el año próximo tendremos Windows 10 corriendo nativamente en procesadores Qualcomm Snapdragon con arquitectura ARM. Parece toda una novedad, solo que ya había ocurrido antes.

Solo que en la ocasión anterior no salió todo lo bien que se podría esperar. El producto se llamaba “Surface” (sin “Pro”) y corría en procesadores ARM pero, entonces, fabricados por nVidia y el sistema operativo era Windows 8. Primero veamos los puntos en común.

Tanto  Windows 8 como el “nuevo” Windows 10 no hacen ningún tipo de magia: ambos están compilados nativamente para procesadores ARM siendo la única diferencia que la versión que corría el Surface original era de 32 bits frente a la compilación de 64 para la nueva versión que veremos el año que viene. Nos enseñaron Office corriendo en Windows 10 sobre ARM, pero eso ya ocurría con el Surface original: era exactamente el mismo Office que usamos en nuestros portátiles y PCs de escritorio, solo que (nuevamente) compilado para los procesadores móviles.

Todo, desde la shell de Windows 8, el explorador tradicional de Windows, y todas las aplicaciones embebidas en el SO estaban compiladas para procesadores ARM, y corrían “nativamente”. Y ese fue el principal problema del Surface original: que la gente no entiende de arquitecturas y simplemente ve “una tableta corriendo Windows”. En ningún sitio se podría deducir que ese “portátil raro” no podría ejecutar todo el software que usamos cada día: todo era idéntico a un Windows 8 corriendo en un portátil “normal y corriente”. Y eso sólo genera frustración por parte de los usuarios.

Un mensaje mal transmitido, una plataforma demasiado “igual” a la que usamos todos los días pero que no puede ejecutar los programas que usamos todos los días. El fracaso del Surface fue notable y costó una importante cantidad de dinero a Microsoft. Lo intentaron de nuevo con el Surface 3, que sí incluía procesadores x86 (Atom) en lugar de ARM, pero el daño ya estaba hecho. Y mientras la familia Pro de Surface crecía tanto en usuarios como en la satisfacción de los mismos, dando incluso lugar a la creación de una nueva categoría de mercado copiada hoy por infinidad de fabricantes, el concepto de “Surface en procesadores móviles” se desvaneció completamente.

Y cual es la diferencia ahora?

Hay dos principales diferencias entre el Surface original y lo que hemos visto en el WinHEC. La principal (y más llamativa, desde luego) fue ver un procesador ARM ejecutando Adobe Photoshop. Si, el mismo Photoshop que usamos cada día en nuestros PCs. La magia se debe a una nueva capa de emulación que convierte al vuelo el código x86 (sí, sólo la variante de 32 bits) en código ARM. Gracias a esa capa, un procesador ARM es capaz de ejecutar todos (bueno, todos los que ofrezcan versiones de 32 bits) los programas a los que estamos acostumbrados. Y seamos claros: no va a correr igual de deprisa que si estuviesen compilados en nativo, pero sí se ejecutan. Sólo eso convierte Windows sobre ARM en una plataforma viable.

La otra gran diferencia es que, por fin (o por lo menos, eso espero), Microsoft incluirá los compiladores ARM “sin restricciones” en los entornos de desarrollo. Hasta ahora, la compilación ARM estaba limitada a componentes UWP (necesario para hacer aplicaciones nativas para PCs y móviles), pero no se podía activar para “todo lo demás”, como por ejemplo, una simple aplicación nativa (C++) de consola.

Primero veremos nuestras aplicaciones tradicionales corriendo bajo la emulación x86/ARM. Si la plataforma coge tracción, los fabricantes pueden optar por ofrecer las aplicaciones compiladas nativamente para ARM.

Un giro para la industria en general?

Microsoft  tiene una enorme experiencia desarrollando sistemas operativos y aplicaciones multiplataforma desde hace décadas: Windows NT estaba disponible para procesadores Intel (en dos variantes: x86 e Itanium), Alpha, MIPS, PowerPC. Era exactamente el mismo sistema operativo, compilado para diferentes arquitecturas. Hoy por hoy, Microsoft sigue usando esas tecnologías para reutilizar el código de Windows en PCs con procesadores x86/x64 y procesadores ARM en la variante móvil (Windows Phone) – sólo cambia la “shell” de interface de usuario, lo que hay debajo es exactamente lo mismo.

Y al igual que Microsoft no quiere limitarse a apuntar a una sola arquitectura, Apple tampoco quiere: sus sistemas operativos son virtualmente iguales por dentro compartiendo una enorme cantidad de código fuente. Se han producido infinidad de rumores acerca de Apple reemplazando los procesadores Intel de sus portátiles por procesadores ARM. Quizá esta tecnología de transcompilación pueda ser igual de efectiva para la manzana.

Ya, y la potencia?

Si, ya lo sabemos: los procesadores Intel son mucho más hambrientos en recursos que los procesadores ARM, debido a la cantidad de potencia “bruta” que contienen. Los procesadores ARM, a pesar de correr a velocidades de reloj similares, no ofrecen la misma potencia bruta. Pero es que los procesadores ARM son tan compactos y consumen tan poco, que nada impide emplear 8, 16, 32 núcleos en un encapsulado igual (o mejor) de eficiente que un procesador Intel actual, ofreciendo una capacidad de cálculo equivalente. La industria orientará esta posible expansión de la arquitectura ARM hasta el actual feudo de Intel, los PCs de sobremesa, portátiles y, sobre todo, servidores.

Porque recordemos: Windows Server también es multiplataforma… nada impide compilar (y seguro que ya lo hacen) el software de servidor para ARM y emplear nuevos procesadores con infinidad de núcleos para una nueva familia de productos de servidor de bajo consumo y enorme densidad.

Veremos un cambio en la industria en general en los próximos años? Ya lo veremos. Por lo pronto, disfrutemos del viaje.

Categorías:Opinión Etiquetas: , , ,

Carta abierta a Panos Panay: Hay salvación para Windows Phone?

Con una caída en ventas de un (atención) 73% año a año, la situación sólo puede etiquetarse como de catastrófica.

(Actualización 3 de Mayo – Intel ha cancelado – por lo que parece – la gama Atom de procesadores. Ver más al final del artículo).

Acaban de publicarse los resultados financieros de Microsoft para el último trimestre del año, y mientras todas las secciones muestran una salud envidiable – para los tiempos que corren – hay un apartado con una tremenda mancha en rojo: la división de móviles. En cambio, la salud de Office parece inquebrantable (con más de 22 millones de usuarios), Azure está (valga la redundancia) por las nubes y hasta los resultados en publicidad se incrementaron en un 18% considerando la competencia en el segmento.

En cambio, en los últimos tres meses sólo se han vendido poco más de 2 millones de unidades (2,3 para se más exactos) de móviles Lumia. Dos millones. En comparación, Samsung vendió 81 millones de teléfonos en el primer cuarto del 2016.

Recuerdo hace cuatro años cuando vi la primera presentación de la gama Surface: en la mayoría de los casos denostado por la prensa y usado para hacer burlas a Microsoft, nadie entendió el concepto. El problema original de la gama Surface es que era, sistemáticamente, comparado con o bien las tabletas de por entonces (léase: el iPad) o con portátiles – y no era ni una cosa ni la otra.

Presentación de Surface

Recuerdo a Panos Panay en aquella presentación junto a Steven Sinofski y debo decir que no me caíste en gracia, quizá porque no entendía que estabas hablando de un proyecto que sentías como personal y no como yo, que lo veía como un “producto más” de la casa. Y es que esa ha sido la sensación que, desde entonces, he tenido con cada presentación de Panos durante todos estos años, una maravillosa sensación de que no hablas de un “producto” (por mucho que insistas en llamarlo así en cada presentación) sino en un hito personal. Me gusta eso.

Hoy, cuatro años más tarde, la gama Surface (y Surface Pro y Surface Book) no solo se han convertido en un departamento que da beneficios a Microsoft sino que ha creado una nueva gama de producto, un nuevo segmento en el mercado que hasta ahora no existía: los “convertibles” o “2 en 1”. De ser ignorado, denostado, usado para hacer burlas, ha pasado a ser copiado por los mayores fabricantes. El “summum” ha sido el iPad Pro.

Yo nunca creí que Surface estuviese orientado a convertirse en un segmento de negocio pensado para dar un beneficio económico directo a Microsoft, sino más bien como un revulsivo para el resto de la industria – los OEMs – que llevaban años, décadas, haciendo sistemáticamente lo mismo: portátiles aburridos, negros, todos iguales, de plástico, con mínimas diferencias entre unos y otros, porque se consideraban como “consumibles”, simples herramientas como si de un martillo se tratase: lo compras, lo usas, lo guardas en la caja, y cuando se rompe o se oxida te compras otro y ya está. En cambio la competencia (Apple) construye máquinas que, no solo hacen impecablemente su trabajo – sea el que sea, desde consumir medios en el iPad a crearlos en los Macbooks o Macbook Pro – sino que además hacen a sus propietarios disfrutar de una calidad de manufactura inmejorable y poseedores de un accesorio de diseño, digno de lucir, como si de un bolso de Prada o un reloj Omega se tratase. Un ordenador portátil jamás fue visto como algo digno de lucirse. Era el momento de cambiar eso y pensé que la gama Surface era ese recordatorio para Toshiba, Samsung, Acer: “dejad de hacer lo mismo, la gente espera más”. Apple lo entendió el primer día. Gracias Steve. Ahora te doy las gracias a ti, Panos.

Pero volvamos a nuestro asunto: mientras Surface se convierte en un segmento por sí mismo, la división de telefonía de Microsoft hace agua hasta el cuello. La gama Lumia se compone, precisamente, de los mismos elementos que han sido los portátiles hasta ahora: aparatos aburridos, negros, sin personalidad, cajas negras de plástico sin el menor rasgo distintivo. Son, de todo, menos dignos de admiración. Y para colmo, por dentro, donde podría estar el rasgo diferenciador, tampoco hay nada digno de mención.

Para colmo de males, Microsoft parece no creer tampoco en que puedan diseñar un teléfono digno de convertirse en algo especial. Posiblemente las nuevas directrices de la compañía (apertura a todas las plataformas) han conseguido que utilizar Windows Phone no sea mejor en ningún aspecto: Office se encuentra disponible tanto para iOS como para Android, Cortana es multiplataforma, el concepto “Metro” ha sido totalmente abandonado en favor del ubicuo “menú hamburguesa” y otro largo etcétera de características ya no son coto cerrado o distintivas de Windows en su variante móvil. Volcados en “un sólo Windows”, parece que Windows Phone es el hijo bastardo, el que no se acopla en ninguna categoría, el que no tiene cabida en la familia. Una única característica los mantiene con vida, Continuum, o la posibilidad de utilizar un teléfono como si de un ordenador personal se tratase. Aunque teniendo en cuenta que sólo la gama más alta (el nuevo 650 no soporta Continuum) puede aprovecharlo, es como si no existiese – para la mayoría.

El verano pasado te pusieron al frente de la división de teléfonos de Microsoft. Entiendo que no has tenido tiempo de mucho, particularmente en plena fase final del desarrollo del Surface Book (y del Surface Pro 4). Y se notó en la presentación que diste de la gama 950 y 950XL de los hoy casi difuntos Lumia: no sentí esa pasión personal en el producto, aunque creo que hiciste un buen trabajo dándolos a conocer a la prensa. No son hijos tuyos, ya estaban hechos y te tocó la parte final del proceso: presentarlos.

Hoy por hoy no hay planes públicos para una nueva gama de dispositivos. Hoy por hoy sigo usando mi anciano Lumia 920 cada día con la última versión de Windows 10 que recibirá – porque también habéis abandonado el desarrollo del sistema operativo para los que, en su día, fueron los “buques insignia” de la gama. Sigo usando Windows Phone porque es realmente la plataforma que se adapta a mí, y no al revés. No soy usuario de “miles de apps”, porque siempre me ha gustado la capacidad de integración de la información de Windows, los “live tiles”. Programo en todas las plataformas, las conozco por dentro y por fuera, veo cómo avanzan con nuevas posibilidades excepto, precisamente, la que más me gusta. Mientras, el resto de la industria está haciendo suyos conceptos originales de Surface y Windows 8 (los “2 en 1”, aplicaciones lado a lado en iOS o, rizando el rizo, el concepto de “ventanas” en Android N).

Lo más probable es que haya directrices para “matar” la gama Lumia. Algún que otro OEM puede fabricar móviles con Windows 10 (HP tiene un teléfono – el Elite X3 – con todas las papeletas para convertirse en todo un referente), pero los fans de la plataforma queremos algo más, algo distintivo, algo digno de lucirse. Queremos un sistema operativo digno de usarse, digno de ser soportado y no de un hijo bastardo que hay que tener porque algo hay que tener.

Las filtraciones indican que no veremos nada hasta el año que viene – cuando puede (sólo puede) que ya sea tarde. Seguro que tienes una agenda preparada, más que probablemente estés jugando con prototipos locos de lo que podría ser un “Surface Phone”. Quizá escojas un procesador Intel en lugar de ARM y quizá, sólo quizá, oigamos algo como “el teléfono que puede reemplazar tu portátil”. El Surface Phone. Mientras tanto, le daré cariño a mi 920 y lo seguiré usando hasta que probablemente diga “basta”. Entonces tendré que decidir que, quizá, Windows Phone ya no existe y simplemente tenga que usar otra herramienta.

Actualización: Las noticias de este fin de semana parecen anunciar el final de la gama Atom de Intel, por lo menos en el segmento más móvil – las gamas Atom de procesadores. Es probable que Intel permanezca, pero por el momento centrándose en gamas medias-bajas de convertibles 2-en-1 con Pentium y Celeron. Fuente: PC-World

Categorías:Opinión Etiquetas: , , ,

Padeces “NuGet-itis”?

Cuando tú, programador, haces click en “Nuevo Projecto” en Visual Studio y el asistente termina, qué es lo siguiente que abres? Si la respuesta es agregar incluso más componentes de NuGet (o similares) puede que padezcas NuGet-itis.

Lo siento, es que hoy me he mosqueado. Estaba haciendo unas pruebas, necesitaba implementar un par de APIs básicos para hacer experimentos. Así que nada, abrí VisualStudio y creé un nuevo “proyecto Web/Web API”. Hasta ahí todo bien hasta que di a “Ok” y apareció ésta monstruosidad en mi entorno de desarrollo:

SimpleWebAPI-1

Lo triste no eran sólo las dependencias… lo espectacular era lo que había como “contenido” de mi nuevo servicio web:

SimpleWebAPI-2

Y eso que era un “Web API en blanco”, para añadir un par de cositas y probar unos servicios que tengo para probar. Es simplemente ridículo.

La idea de OWIN (para empezar) es un runtime “minúsculo” (ejem!) para el desarrollo de aplicaciones web con la mínima carga en el servidor. Obviamente, el que hizo la “plantilla” de Web API no leyó las especificaciones. Bootstrap? JQuery? Para un Web API? Pero qué locura es ésta? Y caí en cuenta… “Es que ahora, TODO va así”.

Recordé de repente a un compañero, con la tarea de utilizar una serie de archivos que contenían argumentarios para centros de llamadas, con contenidos codificados en BASE64. Se pasó tres días (literalmente) en buscar una implementación de BASE64 para Java, ignorando la que yo le escribí en media hora que hacía sobradamente el trabajo. O programadores que según empiezan un proyecto abren la consola de componentes para añadir “lo que necesitan”, aunque ello implique arrastrar (en la mayoría de los casos) enormes cantidades de código que ni siquiera necesitan (como el caso de mi proyecto “Web API”).

El problema de depender de NuGet (o similares) para realizar hasta el más simple de los proyectos es que en muchos casos las dependencias que arrastra determinan en qué forma hay que realizar el resto del proyecto. Me pongo en el ejemplo de varios tutoriales que muestran cómo añadir autentificación a una aplicación web: sólo funcionan si estás haciendo una aplicación web “desde cero”. Pero, qué pasa cuando ya tienes esa aplicación web hecha y simplemente quieres añadir la autentificación? Simplemente no puedes (os recomiendo fervorosamente que intentéis hacerlo siguiendo las instrucciones del tutorial). O eso, o te toca reescribir prácticamente la totalidad de tu aplicación – cosa que en muchos casos es incluso más caro que hacerte la autentificación a mano desde cero.

Entity Framework, OWIN, MVC, MVVM, todos son frameworks para conseguir hacer cosas que en muchos casos te “obligan” a desarrollar en cierta forma. Si tenías una base hecha, simplemente no puede ser portada directamente al nuevo entorno. O el mero hecho de añadir Entity Framework, que puede suponer un verdadero quebradero de cabeza de integrar con tu infraestructura de datos actual – o el error de asumir que tienes que usarlo absolutamente para todo, y es cuando acabas retorciendo el framework para que “tambien sirva” para lo que tenías antes, sin pensar que, simplemente, no te hace falta.

El problema finalmente reside en que muchos programadores modernos sólo saben usar este tipo de frameworks – y tristemente porque muchos leyeron el tutorial equivocado.. Les quitas Entity Framework o cualquier “sabor” de MVC o MVVM y simplemente están perdidos. Si, Entity Framework es absolutamente increíble, pero en su contexto – no sirve para todo. Al igual que muchos otros. Y el problema se agrava cuando hay múltiples opciones para un framework: no se sabe cual escoger, porque “todos hacen lo mismo” y todos son “maravillosos”.

Otro ejemplo, un “curso” de la MVA (Microsoft Virtual Academy) acerca de programación multiplataforma con Xamarin. Lo siento, pero eso no es un curso, eso es un tutorial de cómo pegar trozos de componentes – siendo generoso. Hace falta realmente Prism para hacer un “Hello World” en Android? No. Ni de lejos. El problema es que hacer el 90% del tutorial dejó de consistir en programación universal de aplicaciones para Android, iOS y Windows Phone para convertirse en cómo configurar una aplicación MVVM  – de una sola pantalla. Una sola! Queréis un excelente libro al respecto? No dudéis en descargar el ebook gratuito Creating Mobile Apps with Xamarin.Forms, Preview Edition. Ni MVC, ni NuGet ni nada – simplemente cómo se programa – porque el autor del libro asume que lo que haga la aplicación es cosa tuya. Y que sabes hacerlo.

Parece que hoy, todo lo que no se pueda escribir en doce (o mejor cinco?) líneas de código es “arcaico” o está mal hecho o “pues anda que no te has complicado la vida”. Ni mucho menos. Los componentes ayudan, pero cuando se limitan a una función concreta dentro de nuestro proyecto y, sobre todo, se adaptan a nuestra forma de trabajar. Si un framework, una librería, un componente define un cambio estructural en un proyecto, se debe buscar otra alternativa.

Programamos máquinas. Cuanto más liviano sea el proyecto, el ejecutable, el servicio web, mejor será el rendimiento de nuestra solución. No todo viene envasado en un componente de NuGet. A veces (la mayoría) toca mancharse las manos y hacer las cosas por uno mismo. Y lo mejor del caso, es que muchas veces esa es la forma correcta de hacerlo.

Categorías:Desarrollo, Opinión

Windows 10 en una palabra: Convergencia

Microsoft presentó las nuevas versiones de Windows 10 al público hace unos días y de todo lo visto en las más de dos horas que duró el evento hay una idea principal sobre todas las demás: convergencia total en la plataforma. Vi el evento con sumo interés y esto es lo que vi – junto con un par de guindas de aportación propia.

Sinceramente, esperaba un evento de esos de “una hora” con una demo de las nuevas “builds” de Windows 10, y esperaba con particular interés verlo funcionando en teléfonos. Con lo que no contaba era con las acrobacias de presentar concepts tecnológicos – Microsoft normalmente no hace – corrijo: no hacía – esas cosas. Los resultados han sido bastante espectaculares y no me refiero a los usuarios de Windows en general sino a algo que no había visto hasta ahora: a la prensa “le mola” Microsoft. Raro.

Pero vayamos por partes. El principal interés del evento era el camino que está tomando Windows. Tras la mediocre acogida de Windows 8 y el nuevo paradigma de interface de usuario (los “Live Tiles”) la cosa no pintaba muy bien para Microsoft en un segmento para ellos fundamental: la empresa. Yo, como usuario y desarrollador, no he tenido el menor problema para adaptarme al nuevo interface de usuario y usarlo en diversos entornos (PC de sobremesa, tablet y móvil) no ha significado un gran esfuerzo de adaptación. Pero al resto del mundo no le ha ido tan bien.

Con Windows 10 Microsoft ha intentado recuperar a las empresas. Lo más interesante es que no ha sido (como yo me temía) la total bajada de pantalones que la prensa más recalcitrante estaba demandando (volver al interface de usuario de Windows 7). Sigue habiendo “Live Tiles”, pero ahora contenidas en lo que antaño era nuestro clásico menú de inicio. Encuentro la solución apropiada para la mayoría de los usuarios (aunque obviamente eso es opinión mía) y no han arruinado la (para mi gusto) excelente experiencia en dispositivos táctiles.

“So, it’s official?”

La llegada de Cortana a los PCs era un secreto a voces – Joe Belfiore hizo el anuncio dando a entender que todo el mundo lo esperaba y fue más una confirmación oficial que otra cosa.

Cortana on PC

Joe dio a entender en un par de ocasiones que lo que estábamos viendo eran versiones muy (muy!) preliminares del software y que esperásemos algún que otro “glitch” durante la presentación. Supongo que Joe “confirmando” cada respuesta de Cortana con un sonoro “Yes! Exactly!” era una forma de desactivar el reconocimiento de voz para evitar disgustos…

Y mientras que yo no me veo charlando con mi ordenador animadamente, sí veo un lugar donde Cortana en un PC puede funcionar a la mil maravillas: en los hogares con niños, en esos bonitos PC “todo en uno”. Los adultos (y no digo que no podamos cambiar) estamos hechos a interactuar con máquinas de ciertas formas (teclados, ratones)… no esperamos que una máquina pueda interactuar con nosotros. Pero al igual que a los adultos ahora nos cuesta usar aparatos que no tengan la pantalla táctil (se nos va el dedo a los iconos de la pantalla) o los niños no conciben mantener una conversación con Facetime o Skype sin activar el vídeo, dentro de poco tampoco concibirán usar un teclado para usar un ordenador.

De “Windows Phone” a “Windows on Phones”…

… y el matiz es importante. Pero vayamos por partes.

Por fin pudimos ver lo que todos llamábamos “Windows Phone 10”. Debo decir que no se me hizo particularmente espectacular: no había nuevos detalles gráficos espectaculares, ni un nuevo concepto de interactuar con el usuario, ni cambios brutales en los actuales mosaicos a los que estamos acostumbrados. Si, mejoras sueltas (como que ahora las aplicaciones recién instaladas aparecen arriba del todo en la lista para encontrarlas fácilmente) o un centro de notificaciones mejorado y sincronizado con todos los dispositivos.

Pero sí vimos un Office completamente nuevo, Outlook en el teléfono y el insistente recordatorio de que son aplicaciones universales, que es “exactamente el mismo código” compartido entre PC y teléfono. Y nos lo recordaron una vez, dos veces, tres veces… Si, he escrito aplicaciones universales (para PC, tablets y móvil) y me consta que el código fuente es “casi” el mismo. Y la palabra clave es el “casi”. No se puede “usar exactamente” el mismo código fuente en las dos plataformas, simplemente porque la forma de interactuar con las mismas es distinta. Pero tanta insistencia en el hecho me hizo pensar si usar “exatamente el mismo código fuente” era posible. Y que ya no se llame “Windows Phone”, sino “Windows ON Phones”.

Y partiendo de la base de que lo que voy a decir a continuación es totalmente de mi cosecha, voy a apuntar dos detalles de dos eventos totalmente diferentes que se juntaron en mi cabeza tras la presentación. Lo primero fue fijarme en un pequeño detalle apenas visible y del que no se hizo absolutamente ninguna referencia durante la presentación pero que, obviamente, no ha pasado desapercibido (y no, no soy el primero en fijarme ni mucho menos): un pequeño elemento en el teclado en pantalla de los teléfonos que nos recuerda, sospechosamente, a los “thumbtracks” que usaban los portátiles de antaño para el control del ratón antes de la llegada de los mousepads:

Nuevo thumbtrack en Windows Phone

Lo visteis? Si? Esa cosita entre las teclas “z” y “x”? Si, parece lo mismito que tenían antes los portátiles para manipular el ratón:

Hardware and virtual thumbtrack

Y para qué quiero yo un “ratón” en un “móvil” con aplicaciones hechas para pantallas táctiles? Eso me recordó algo que había visto presentado en el pasado CES (Consumer Expo Show) de Las Vegas en enero, un nuevo teléfono de Asus con unas características hardware un tanto… excesivas? El nuevo Asus Zenfone 2:

Asus Zenfone 2

A ver… un móvil Android con un procesador Intel Atom de cuatro núcleos, 4 gigabytes de memoria RAM y cinco pulgadas y media de pantalla? En serio?

¿Y si ese teléfono jamás se hubiese diseñado para correr Android? ¿Y si ese teléfono se hubiese diseñado para correr Windows? ¿Y si los próximos “móviles con Windows” fuesen simplemente tabletas algo más pequeñas que las actuales “siete pulgadas” y radio celular integrada?

Ese teléfono podría ejecutar Windows (incluso XP!) con más soltura que muchos PCs de escritorio actuales. Ese móvil puede ejecutar (tal cual!!) Photoshop! O la suite completa de Office! O… cualquier cosa que corra en un PC de escritorio actual.

Es un PC Intel completo con una pantalla de cinco pulgadas (y media).

Alguien ha unido ya los puntos? Un control thumbtrack en el interface de usuario de Windows Phone y un teléfono que podría ejecutar aplicaciones Win32 de toda la vida. Y creo que por eso ya no lo llaman “Windows Phone”… lo llaman “Windows ON Phones”.

Una sutil diferencia. Pero menuda diferencia. E insisto: todo eso es cosecha propia… seguro que hay otra explicación, pero a que ésta es muy divertida?

Y hubo más, mucho mas…

Tras Windows On Phones presentaron las nuevas funcionalidades de Xbox – y todas ellas convergían en lo mismo, en la unificación de la experiencia con Windows. Al igual que el teléfono, la Xbox se convierte en una extremidad más del ecosistema alrededor del usuario, se unen PC y consola. Podremos jugar en nuestra tableta sin usar el televisor, igual que ahora podemos ver la televisión con Smartglass. Y (por fin!!) podremos jugar juntos usuarios de PC y consola. Hasta los videojuegos se convertirán en aplicaciones universales? Eso parece viendo como Fable viene al PC.

Surface Hub fue otra demostración inesperada, a pesar de las consistentes filtraciones de que iba a presentarse un nuevo formato de hardware – aunque todo el mundo esperaba una posible versión nueva de las tabletas Surface Pro. Más que un nuevo formato hardware lo que yo vi fue un excelente ejercicio de integración de productos y funcionalidades ya existentes – en un envoltorio precioso, enorme (84 pulgadas!) demostrando nuevamente que Microsoft no solo piensa en elementos sueltos sino en su total integración con el resto de productos: Skype, RDP avanzado (si, era básicamente el protocolo de escritorio remoto ya conocido de Windows llevado a una nueva extensión) funcionando todo junto en un interface de usuario especializado.

Y la guinda del pastel, un proyecto que Microsoft ha conseguido mantener en secreto hasta el día de la presentación: HoloLens. Más un ejercicio acrobático que una presentación de un producto, Microsoft fue más allá de lo que normalmente estamos acostumbrados con este tipo de presentaciones. Tras ver el vídeo de introducción mis pensamientos fueron “ah, mira, bonito, un concept interesante”… tras lo cual se destaparon una demo “en vivo” que absolutamente nadie podría haber esperado.

Al igual que Cortana no veo HoloLens como una herramienta de uso generalizado hoy por hoy, sino más bien un desarrollo por aumentar las formas de interactuar los usuarios con las máquinas. Seamos realistas: no espero que HoloLens tenga la menor utilidad en el momento de lanzarlo comercialmente – a finales de este año. Pero si veo fascinante el esfuerzo que ha puesto Microsoft en el diseño del producto, en atreverse a encontrar infinidad de nuevos problemas y a solucionarlos.

Los asistentes a la presentación pudieron probar HoloLens. Y a pesar de que lo que probaron fue algo que nada tenía que ver con el producto que pudimos ver expuesto en el escenario (probaron los prototipos) y que la mayoría concluyeron en que en su estado actual es algo básicamente inutilizable (por lo incómodo), sí parece que hay consenso en que la tecnología funciona. Y parece ser que muy, muy bien.

Y tengamos presente que hablamos de la primera versión de un producto. Qué podríamos esperar con los avances tecnológicos para “HoloLens 3”? Nos toca esperar ver los SDKs y, especialmente, ver las ideas que los desarrolladores se atreven a llevar a cabo con él. “Minecraft holográfico en el salón de tu casa” puede estar muy bien, pero sólo para un rato. Pero la plataforma existe y lo más importante: funciona. Ahora nos toca a los desarrolladores crear las experiencias.

Ha ocurrido algo muy curioso: Microsoft mola.

Categorías:Opinión Etiquetas: , , ,

KB3004394: Vaya día…

Soy extremadamente celoso de la seguridad y, cuando un buen día, empiezan a pasar cosas muy, muy raras con varios equipos del trabajo, no pude por menos que intentar averiguar lo que estaba pasando. Esto es lo que aprendí y como, lo que me parecía más improbable, era la razón de todo.

La primera señal de alarma llegó a primera hora de la mañana: en uno de los ordenadores de la oficina se desactivó (por las buenas?) Windows Defender. Si, ya lo sé, hay cosas mejores pero qué le vamos a hacer – es lo que hay. Eso, y las malas costumbres (ejem) de los usuarios (ejem, ejem) me hicieron temer lo peor.

Mi primer instinto cuando encuentro un antivirus que no se activa o, simplemente, no aparece, es ir directo al teclado: Windows+R, “regedit”. Lo que normalmente espero es la tranquilizadora imagen del consentimiento de seguridad de Windows:

UAC

Lo que me encontré (y espero que comprendáis que no haya foto – no estaba la cosa para eso) es el editor de registro abriéndose directamente, sin ningún tipo de confirmación. Un antivirus desactivado y UAC desactivado al mismo tiempo (obviamente el usuario jura y perjura que no lo ha desactivado manualmente) me ponen en modo paranoico: tenemos un gamusino.

Lo primero fue restablecer UAC (con su correspondiente reinicio) y verificar que, una vez vuelto a arrancar, el ajuste era efectivo y no volvía a desactivarse. Eureka! Pero espera… hay algo raro…

Al volver a intentar ejecutar RegEdit y tal y como esperaba, apareció el mensaje de confirmación de UAC, pero con otro elemento mosqueante: en lugar de indicar “Microsoft Windows” como Editor Comprobado aparece como “desconocido”. Sigo mosqueado. Más aún cuando incluso al intentar abrir el visor de eventos (EventVwr) también me pide autorización – raro si tenemos en cuenta que el visor de eventos no lo requiere en condiciones normales. Intentar reactivar Windows Defender terminaba también en un error.

Intentar instalar Security Essentials daba otro error durante el proceso: 0x8004FF91. Adelante, buscad ese error (bueno, hoy no creo que tengáis mucho problema para encontrar referencias) y veréis que, ni es nuevo, ni hay documentación al respecto. Vamos bien…

Tras un análisis en profundidad del ordenador y no encontrar absolutamente ningún indicio de un comportamiento extraño, intenté tranquilizar mi espíritu pensando que podría haber sido un intento de infección de algún tipo de virus o troyano que se paró y dejó el ordenador en ese estado: nada escondido, ningún ejecutable extraño, ninguna traza en registry u otros puntos de inicio… nada.

Continué el día – o mejor dicho, intenté continuar el día mientras pensaba si era buena idea hacer un “rollback” a un punto de restauración anterior, seguir mirando cosas o directamente “pegar un leñazo” (término técnico para “reinstalar desde cero”). No había pasado ni media hora cuando otro ordenador empezó a hacer también cosas raras… y luego otro…

No voy a aburriros con una descripción detallada de nuestra arquitectura de red e interconexiones con otros centros – solo os diré que empecé a mirar cosas realmente esotéricas por todas partes (incluyendo si alguien había instalado WireShark en el cortafuegos y se había dejado el driver de captura activado – no os digo más). Pero me recuerdo a mí mismo en mitad de la sala de producción, buscando “algo” mientras decía en voz alta [sic] “o tenemos un gamusino o una tremenda cagada de Microsoft con un parche…”.

Mi sensación era como si los ejecutables de Windows hubiesen sido reemplazados por versiones alteradas, sin la firma digital de Microsoft. Y a nada que lo penséis sabréis que es muy mal indicio. Recordé que mi PC Windows 8 tiene un Windows 7 instalado en una partición que no uso desde hace más de dos años (desde que monté 8, vamos). Busqué RegEdit.exe y lo comparé con la versión extraída desde uno de los PCs con comportamiento raro. Para mi “sorpresa” eran idénticos (no lo esperaba… imaginé que alguna actualización en dos años habría tocado regedit, pero no… ninguna). La parte mala (o buena?) es que, siendo idénticos, significa que ambos portaban la firma digital apropiada de Microsoft – no había ejecutables reemplazados (“yupi?”)

Parecía que el problema se originaba en los certificados para verificar los ejecutables pero, cómo era eso posible?

La solución llegó en forma de un boletín en la web de soporte de Microsoft: la actualización KB3004394 está rota.

La idea de la actualización KB3004394 es sencilla: los certificados digitales que usa Windows para garantizar que las conexiones seguras son, eso, seguras se actualiza hasta ahora una vez a la semana. El problema (y esto es de mi cosecha) es que desde que se supo la brecha de seguridad en Sony y que se habían conseguido robar sus certificados digitales, era perfectamente posible “fabricar” tanto ejecutables como certificados para servidores perfectamente válidos y que podrían usarse para fines maliciosos. Así que Microsoft pensó que no sería mala idea no solo revocar ciertos certificados sino que los ordenadores lo hagan ellos solitos solo que más a menudo: una vez al día.

La idea no es mala – salvo el posible ancho de banda que pueda conllevar el proceso, pero el problema es que el parche que (asumo) revoca los certificados sospechosos y cambia el comportamiento de Windows para actualizarlos “rompe” PCs con Windows 7 (y Windows Server 2008) instalado. Eso y que al destruirse la cadena de validación de certificados, muchos programas de terceros (como Security Essentials) fallan al instalarse con el (ahora conocido) error 0x8004FF91 que podríamos catalogar como “error al verificar la firma digital de uno de los componentes del programa”.

El siguiente paso es montar el parche KB3024777 y ver qué pasa. Revierte el comportamiento de Windows 7 si, pero: reconstruye las cadenas de certificados?

Y lo que más me preocupa: si el ordenador no puede verificar la cadena de certificados AHORA, con las cadenas de certificados rotas… ha hecho Microsoft un parche que, efectivamente, toca las cadenas de certificados sin ir “apropiadamente” firmada digitalmente? Porque imagino que sabéis lo que eso significa, verdad?

Ups…

Windows Phone 8: vuelta a empezar

De todas las novedades que esperaba descubrir de la presentación del nuevo sistema operativo para móviles de Microsoft, había una que, a pesar de (personalmente) tener casi segura, esperaba no escuchar: los móviles actuales no se podrán actualizar.

La respuesta por parte de los usuarios, tras la presentación de la nueva plataforma por Joe Belfiore en el pasado Windows Phone Summit ni se hizo esperar, ni fue en absoluto amable: he oído de todo, con unos cabreos monumentales de gente que, habiendo comprado un flamante Lumia hace diez días, se entera que no se podrá actualizar a la nueva versión a finales de año. Les comprendo. Mi HTC Titan tampoco.

Joe Belfiore presentando WP8 durante el Windows Phone Summit

Había otra opción?

Seguramente si, pero a un precio desorbitado. Desorbitado no solamente por cuestiones económicas, sino por algo que tiene mucho más valor en el mundo de la tecnología que el dinero: el tiempo. Desarrollar simplemente una plataforma para actualizar el parque actual de Windows Phone 7 a 8 llevaría muchísimos meses de trabajo. No hablamos de “actualizar” un sistema operativo, hablamos de “reemplazarlo”: a nivel interno, el cambio del kernel CE al kernel NT es aproximadamente (y es sólo un símil) como tener un PC con Windows, desmontarlo entero, guardar toda la información, instalar Ubuntu y que todos los documentos y programas sigan funcionando… La posibilidad de problemas es simplemente disparada. Mejor dicho: lo raro sería que no hubiese problemas.

Lo cual no quita para que me digan que mi actual móvil con Windows Phone 7 no puede ejecutar Windows Phone 8. A otro con ese cuento…

512 MB. Tan simple como eso.

Sólo se me ocurre un motivo (sí, sólo uno) para que un móvil actual no pueda ejecutar Windows Phone 8 con más o menos elegancia: la cantidad de memoria.

En ningún momento de la presentación se ha hablado de cuánta memoria van a tener los nuevos teléfonos Windows Phone 8, pero algo me dice que de 1 gigabyte no bajan… y posiblemente serán 2. Hablamos del kernel de Windows 8, y para todas las maravillas que nos habéis adelantado hay que incluir infinidad de componentes del sistema operativo de escritorio: por citar alguno, se me ocurren IPv6, VPN, stack bluetooth mucho más completo, contadores de consumo para redes de pago, NFC de “calibre escritorio”, sistema de archivos NTFS “completo”, con todo lo que ello implica, y encriptación con BitLocker y un largo etcétera.

Todos esos componentes requieren espacio, tanto de almacenamiento como de RAM para su ejecución. El almacenamiento es lo de menos (de los 8GB que llevan los móviles actuales que nos quiten 1 para el sistema operativo no me parece mala opción), pero el problema son esos 512 MB de memoria RAM donde tienen que convivir todos ellos… y las aplicaciones.

Apostaría partes vitales de mi anatomía a que Microsoft ha desarrollado durante un largo tiempo (antes de que Nokia fabricase los prototipos que nos mostraron en el Windows Phone Summit) Windows Phone 8 sobre móviles actuales. Apostaría a que hay “builds” de Windows Phone 8 que corren alegremente en un HTC Titan o en un Nokia Lumia 900. Por qué? Porque simplemente “están a huevo”, son baratos, estables y funcionan de maravilla… Pero donde no cabe todo.

“Pero podrían quitarle cosas…”

Y ahí es dónde tuvieron que tomar una decisión. Si los usuarios hoy predicen que esta acción por parte de Microsoft va a provocar la fragmentación de la plataforma (al igual que ocurre con Android), imaginaos lo que sería si no hubiese dos, sino tres plataformas: la que no podrían ejecutar Windows Phone 8 ni locos (los dispositivos de 256MB como el Lumia 610), la que llevarían una versión reducida (los móviles actuales) y los nuevos móviles con “WP8” nativo. Y prefirieron que fueran dos.

Para colmo, tampoco hay consenso a la hora de elegir qué características dejar fuera de ese supuesto WP8 para móviles actuales. Obviamente el candidato número 1 es la conectividad NFC, pero claro… es que los móviles actuales no tienen radio NFC… así yo también. Porque claro, todos queremos IE10, todos queremos la funcionalidad de empresa, o el poder usar las tarjetas de memoria como almacenamiento masivo… Vamos, que lo queremos todo.

Lo malo es a ver cómo justifican todo ésto cuando salga la primera ROM con WP8 para un móvil actual en XDA Developers… Y saldrá.

Fragmentación?

Es el grito unánime de los usuarios: WP8 va a fragmentar la familia. Pero creo que no por donde parece.

Cual es el principal problema en la adopción de Android 4 (en sabores Ice Cream Sandwich y Jelly Bean)? Las operadoras? Los fabricantes? Realmente no: el problema es el resto de los móviles en uso. Hoy por hoy, Android 2.X sigue siendo el líder indiscutible (aunque afortunadamente empieza a ceder terreno). Si soy desarrollador y quiero vender (o ganar dinero) con mi producto, tengo que apuntar al conjunto de usuarios más amplio posible, así que cual creéis que será la plataforma final a la que apuntar? ICS? No. No me queda más remedio (como ya estoy haciendo) que apuntar a 2.X. Afortunadamente, ya pude dejar de soportar Android 1.X!!

Con iOS pasa algo parecido: LTM Mobile debe seguir funcionando en iOS 4. No porque no quiera utilizar las nuevas funcionalidades, ni porque haya usuarios que no actualicen sus móviles, sino porque no pueden (llamativo el número de iPhone 3G – si, si, 3G, no “3GS”!) que siguen pululando por ahí. Y si subo un poco el escalón, el iPad original tampoco recibirá iOS 6.

Siendo realistas, poco hay de iOS 6 que pueda obligar a descartar a un conjunto de usuarios. Con ICS es un poco más delicado, porque (para mí por lo menos) Android 4 es el primer “Android decente” y por fin dispongo herramientas como la aceleración hardware de gráficos imprescindible para una presentación “del siglo XXI”. Pero no puedo: demasiados 2.X por ahí…

Con WP8 pasará algo parecido. Obviando las aplicaciones que requieran de las nuevas características hardware de los nuevos modelos (NFC, por ejemplo), los desarrolladores tendrán que escoger entre desarrollar para WP7 (que podrá ejecutarse en WP8) o desarrollar sólo para WP8. Teniendo en cuenta el parque de móviles WP8 que habrá allá por los inicios de 2013 (aproximadamente: cero), parece bastante seguro que las nuevas aplicaciones que vayan saliendo seguirán funcionando en nuestros WP7 “clásicos”. Luego llegará la dolorosa (y pesadísima) fase de mantener dos versiones hasta que, por fin, cuando pasen los dichosos 24 meses de permanencia y la gente haya cambiado de móvil, podamos dejar de soportar WP7.

Eso no es “fragmentación”… eso es “ralentización” de una plataforma.

Y Nokia?

Nokia lo está pasando francamente mal. Su cotización en bolsa apenas roza los 2 dólares (en 2007 rascaba los 40) y el anuncio de Microsoft no ha hecho otra cosa que empeorar (si aún cabe) más la situación. Ya es difícil salir adelante con la que está cayendo en la economía mundial, pero hacerlo con un producto que ha nacido “obsoleto” es poco más que un presagio de lo inevitable. Y lo triste del caso es que un teléfono Lumia es de todo menos “obsoleto”: su construcción es excelente, sus funcionalidades más que buenas para un público muy general… pero eso no es lo que manda hoy en día. Hoy, o tienes “lo último de lo último” o no tienes nada. O peor aún: tienes “basura tecnológica”. Obviamente no es el caso, pero la percepción generalizada no es esa.

Nada más anunciarse WP8 y que no habrá actualización para el parque actual, AT&T (principal fuente de distribución del Lumia 900 en Estados Unidos) rebajó su precio de 149 dólares (con 24 meses de permanencia) a 49 dólares. Si eso no se llama “liquidación”, que baje alguien y me lo aclare… Si se produce la ralentización en la adopción de la plataforma (entre el desencanto generalizado y que no haya aplicaciones específicas), Nokia puede encontrarse con que no vende los nuevos WP8 y tampoco los WP7… El panorama no es alentador.

Y ahora, en serio Sr. Belfiore: de verdad que no había otra forma?

Dónde estamos?-edición de primavera 2012

Creo sinceramente que la tecnología móvil actual es la de mayor evolución. Si nos fijamos, nuestros ordenadores de escritorio poco han cambiado desde los últimos diez años, salvo por la cantidad de memoria y la velocidad del procesador – básicamente, siguen siendo iguales. En cambio, nuestros móviles han cambiado en forma, manejo y sus capacidades se han incrementado de forma exponencial.

Hace cinco o seis años, un móvil “normal” era eso: un “teléfono”. Nos conformábamos con un teclado numérico con el que aprendimos a hacer virguerías para escribir un mensaje. Pero si hoy mismo os ofrecen un teléfono “flip-phone” tipo Motorola Razr, posiblemente miraríais a vuestro interlocutor con una expresión un tanto “rara”. Y estamos hablando de hace apenas cinco años! En cambio: cuantos de vosotros no tenéis en casa, o en el trabajo, algún ordenador de esa edad?

El Razr, o el fantástico Nokia N95 eran el epítome del diseño hace muy, muy pocos años. Era el teléfono que todos deseábamos. Hoy por hoy, acostumbrados a las pantallas táctiles, nos costaría hacer con ellos las más básicas de las funciones.

Sólo hay un fabricante que puede comparar lado a lado sus ofertas de hoy y de hace unos años: Blackberry. La verdad es que, salvo por la velocidad del procesador y cantidad de memoria, poco han evolucionado. Y eso les está pasando factura.

Hubo una época en que instalar la infraestructura necesaria a nivel empresarial para permitir el acceso a la información desde un dispositivo móvil era simplemente prohibitivo para la mayoría. Cuando apareció RIM y ofreció todo eso de forma fácil y simple, apareció un nuevo mercado totalmente inexplorado hasta entonces. RIM (con sus Blackberry) se convirtieron en el sinónimo de comunicaciones empresariales. Nadie pudo disputarles el trono. Hasta ahora.

El “invento” se llama Exchange ActiveSync y es el protocolo de sincronización inalámbrica que se está convirtiendo en el estándar de facto de la industria. Todos los fabricantes de plataformas móviles lo soportan de forma nativa, menos uno: RIM. Obviamente quieren mantener cautivos a sus usuarios con sus BES (“Blackberry Enterprise Server”) lo cual es de lo más lógico. Sólo hay un problema: que los usuarios ya se han dado cuenta de que pueden hacer lo mismo con otras plataformas. Y se están marchando.

La otra característica “única” a Blackberry, y que ha vendido muchos millones de unidades, no es un producto RIM. Se llama Whatsapp. Por primera vez estamos viendo Blackberrys (o Blackberries) en las manos de usuarios que nada tienen que ver con el “target” propio de RIM, que es el usuario corporativo. No, los chavales han descubierto una nueva forma de comunicarse y la están usando a manta. De hecho, es el nuevo estándar en comunicaciones modernas. Ya no se lleva “te mando un mensaje”, o te “escribo un mail”: ahora te dirán “te mando un güasap”.

Whatsapp nació en Blackberry como un cliente de mensajería instantánea. Se convirtió en “la forma natural de comunicarse” entre usuarios de Blackberry – y el resto del mundo lo quería. Whatsapp ha dado un par de años de vida a una exhausta RIM, que ve como el lanzamiento de su nuevo sistema operativo (Blackberry OS 10) se retrasa mes a mes. Mientras tanto, chavales de 13 años querían una Blackberry!! RIM no estaba preparada para ese cambio en su clientela.

Ahora Whatsapp está disponible en todas las plataformas, y sus usuarios de Blackberry están viendo como cualquier móvil Android es “más mono” y “hace más cosas” que la que hasta ahora consideraban la única forma de comunicarse. Se están marchando en estampida, y RIM no sabe cómo sujetarles. De nada sirve recordarles que “también tienen correo electrónico”: los chavales tienen sus cuentas de Live (“aka” Hotmail) y GMail, perfectamente accesibles desde cualquier dispositivo móvil o desde cualquier PC conectado a Internet. RIM ya no tiene nada que les interese.

Mientras tanto, Android vive dulces momentos. Casi diría que nadie se podría haber esperado un éxito como el que disfruta el sistema operativo de Google. La versión 4.0 de Android (“Ice Cream Sandwich” o “ICS” para abreviar) es una realidad y ya hay noticias de una próxima versión 5.0 “Jelly bean” (“gominola”). Y debo decir que, tras montar un ICS “alien” en mi querido Galaxy S (si, si… un “S” normalito) debo decir que es el primer Android que realmente me gusta. La fluidez del interface gráfico (y ojo que estoy hablando de un móvil con un sólo núcleo y 384MB de memoria) es simplemente de lo mejorcito del mercado. Y el “lenguaje visual” que se ha diseñado para esta versión (“Roboto”) y que creo que ha intentado beber de la fuentes de “Metro” es todo un acierto para crear una experiencia de usuario totalmente consistente.

El problema entonces cual es? Bueno, pues el problema es que aunque Android ICS sea una realidad desde hace seis meses, nadie lo sabe. O por lo menos, nadie puede poner sus manos sobre él. Lo cual, a mi modo de ver, debería ser casi delito – ICS es escandalosamente mejor que cualquier versión de Android hasta la fecha.

Visitad simplemente la página “Platform Versions” del portal de desarrolladores de Google. En esta página Google da un resumen de la actual distribución de versiones de su sistema operativo, para ayudar a los desarrolladores escoger el “API set” adecuado para sus nuevas creaciones. Seréis recibidos con el siguiente gráfico (obtenido a fecha de abril de 2012):

android-chart-apr-12El mundo sigue usando Gingerbread

Por mucho que Google nos cuente una cosa, el mundo dice otra: sigue funcionando con Gingerbread con casi el 64% de la unidades en funcionamiento usándolo, mientras que otro 23% sigue atado a Froyo. Eso es un impresionante 87% de usuarios viviendo en Android 2.x. Mientras tanto, la “cuota de mercado” de ICS, sumando todas sus versiones (4.0.0 – 4.0.3) no llega al 3%. Entonces, amigo desarrollador: para qué versión de Android escribirías tus programas? Exacto.

ICS tiene nuevos APIs que permiten desarrollar (por ejemplo) interfaces de usuario totalmente acelerados por hardware, de una calidad desconocida hasta ahora en la plataforma. El problema es que si quiero vender mis aplicaciones a alguien no puedo usarlos, y debo escribir software para Android 2.2-2.3. Y si nadie escribe software para ICS, nadie tiene la necesidad de cambiar a ICS.

Otro factor que está ralentizando la adopción de ICS es el coste de su implementación. Hasta ahora para obtener un dispositivo Android te ibas al branch de tu elección, lo bajabas, lo customizabas un poquito, lo compilabas y se lo “enchufabas” de mala manera al hierro que te apeteciese. Con ICS ya no es así: al estar basado el interface de usuario (y gran parte de los subsistemas) en estricta aceleración hardware completa, ya no basta con “compilar y correr”. Hay que hacer un tremendo desarrollo por parte del OEM para “acelerar” todas las características del producto y que Android las aproveche. Simplemente recompilar un “driver de referencia por software” ya no basta, y en la mayoría de los casos será la receta perfecta para un trasto inutilizable. De repente, fabricar dispositivos con Android ya no es tan “fácil y económico”.

Y si recordáis mi post de hace bastante tiempo acerca de lo penoso que es desarrollar software para versiones “modernas” de Android gracias a su penoso emulador, imaginad ahora, con un UI infinitamente más sofisticado y con infinitamente más requerimientos de la plataforma.

Esto empieza a recordarme la agonía de Windows Mobile, cuando Microsoft no hacía más que pedir a los OEMs y desarrolladores “olvidad GAPI, pasaos a DirectX”, para ver como ninguno (excepto HTC en algún caso concreto) se permitió gastar ni un euro en los carísimos drivers que hacían falta para la transición de interfaces de usuario modernos. Más vale que Google empiece a desarrollar y distribuir los drivers “ya optimizados” de fábrica. Si no, ICS tendrá un duro camino por delante. Microsoft tuvo que hacerlo con su WIndows Phone, y es por eso que su gama de procesadores es tan “escueta”.

Y ya que estamos con Windows Phone, parece que todo el mundo habla bien de la plataforma, pero no la usa ni el tato… ¿Qué podemos esperar del futuro inmediato de esta plataforma? Microsoft pone a disposición de todo el mundo que quiera probarlo su nuevo y flamante Windows 8, pero no ha dicho ni una sola palabra acerca de su versión para dispositivos móviles “Apollo” o WIndows Phone 8. Quizá aprendieron de sus errores al anunciar con tanta antelación nuevas características de Windows Phone 7.5 (Mango) y que fueron adoptadas por casi todos los fabricantes antes del lanzamiento – cuando llegaron al mercado, ya no eran “novedad”. Ahora quieren sorprender, pero eso puede significar que cuando por fin aparezca Windows Phone 8 no haya software específico para él – la única salvedad es que ya han anunciado que correrá todo el software existente para la versión 7. Algo es algo.

Microsoft se está jugando mucho (o quizá “todo”) en un nuevo concepto, llevado al extremo: Metro. Sólo el tiempo podrá decir si han acertado o no. Lo único con lo que cuentan es con la masiva base instalada de sus sistemas operativos de escritorio, pero si cuando llegue Windows 8 con su nuevo interface de usuario orientado a las pantallas táctiles no cuaja, podemos encontrarnos con otro fiasco como fue en su día Windows Vista. Eso sí, toda esta nueva tecnología está dando un tremendo empujón al desarrollo hardware y los nuevos “ultrabooks” que están apareciendo, a cual más ligero, más “plano” y más “bonito”. Y lo más probable es que el año que viene cualquier nuevo portátil que se lance al mercado incluirá una pantalla táctil.

Si esto no funciona, si la gente no acepta el cambio de nuestro clásico menú de inicio a las nuevas “tiles” diseñadas para ser “tocadas”, puede que Microsoft acabe con otro “Vista” entre manos. En mi experiencia con WIndows 8 debo decir que sólo tiene sentido realmente cuando lo acompañas de una pantalla táctil.

Mientras tanto, más y más gente da el salto a la “otra plataforma unificada”: MacOS e iOS. Creo que la palabra que mejor lo define es “experiencia sin complicaciones”: simplemente lo enciendes y lo usas. Cada vez veo más gente que me recuerda lo “mejor que es” su Mac frente a mi PC, que “cómo no he cambiado a Mac”, que “Mac es infinitamente mejor”. Es curioso que me digan eso, cuando la mitad de mi trabajo la realizo sobre un iMac de 27 pulgadas (y su gloriosa pantalla IPS), un iPhone y varios iPads, y que desarrollo aplicaciones para iOS… Admito que cuando me dicen esas cosas es divertido… a ratos.

Desde que Steve se nos fue, tengo la sensación que la innovación en Cupertino se ha ralentizado. El lanzamiento del iPhone 4s para mí fue “tengo que sacar algo” y ya está, siendo Siri el único elemento verdaderamente significativo. Ahora el Nuevo iPad (o iPad 3) es más de lo mismo, simplemente con una nueva pantalla Retina (que aún no he tenido la posibilidad de ver en directo, debo admitir). Porque el otro gran cambio, la inclusión de una radio LTE, sólo es de utilidad si estás en Estados Unidos… y vives en una gran zona metropolitana con cobertura LTE. Nosotros en Europa “sólo” disponemos de 3G HSPA… pero por lo menos, en casi todas partes!

Mientras tanto, el procesador sigue siendo más o menos el mismo doble núcleo ya conocido del iPad 2, pero han montado una GPU de cuádruple núcleo para mover la masiva cantidad de píxeles que incluye la nueva pantalla. También han incrementado la memoria del sistema, aunque algo me dice que toda esa RAM extra hace falta para mantener los masivos gráficos necesarios para las nuevas aplicaciones.

Pero ahí termina la innovación a mi modo de ver. Apple incluye una nueva y fantástica pantalla, y el resto de las noticias son las nuevas versiones de software que la aprovechan. Ya está? Eso es todo? Ojo, que no estoy diciendo que el nuevo iPad sea “malo” – al contrario. Solo digo que está por debajo de los estándares de Apple. O de los estándares a los que Steve nos tenía acostumbrados. No es “nuevo y escandaloso”, sólo es un “más y mejor”. Este año sí toca iPhone 5 y traca.

Donde sí veo más evolución es a nivel del desarrollo de MacOS. Apple está apostando por la “iPadización” de su sistema operativo de escritorio, pero sin el énfasis en el interface de usuario táctil de Microsoft. En ese aspecto, ambas compañías comparten una visión similar, aunque con profundas diferencias en la implementación. No creo que gane una o la otra. Creo simplemente que marcarán dos nuevas formas de trabajo, y los usuarios escogeremos la que más nos guste y con la que más cómodos nos sintamos. De momento, tiene todas las de ganar Apple: tiene una fiel base instalada, y cada día más usuarios de iPhone están dando el salto de Windows a Mac. Microsoft en cambio no goza de esa fidelidad, así que tiene que volcarse “más”. En unos meses sabremos cómo va la cosa.

Dónde estamos?–edición de otoño 2011

Allá por marzo me animé a escribir un post (“Dónde estamos?”) que fue inspirado posiblemente por el efecto que causó en mí el lanzamiento del iPad 2. No fue simplemente un avance tecnológico, sino que llegó directamente a convertirse en un evento social. Al releerlo a ver cuántas tonterías había escrito (y encontrar un par de ellas) hoy me animo a escribir una segunda parte, y estoy pensando en convertirlo en una costumbre periódica.

Crossroads_SignAsí que aquí estamos. Han pasado unos meses – no muchos – y un montón de cosas han sucedido en la esfera de la tecnología y, más particularmente, en el entorno de la tecnología móvil. Jobs ya no está entre nosotros mientras que iOS 5 e iPhone 4S ya son una realidad; Google nos obsequia con un nuevo postre (“Ice Cream Sandwich”), RIM intenta encontrar el camino perdido justo cuando una caída de sus servidores en el peor momento les da otra bofetada. Mientras tanto, Windows 8 con su paradigma Metro de interface de usuario (ámalo u ódialo, no hay término medio) busca su lugar entre los usuarios y Windows Phone 7 se convierte en “7.5” con Mango pero sigue arrastrando el estigma de Windows Mobile entre los usuarios; y Nokia… bueno, lo de Nokia es un tema aparte: algo me dice que el ambiente en los pasillos de la multinacional finlandesa dista mucho de ser, precisamente, “distendido”.

“Hi, Steve…”

AppleJobsQuisiera empezar con un sincero mensaje a Steve Jobs: hace un mes que te fuiste, pero creo que tu mano ya no gobernaba Apple desde hace un tiempo. Lo notaba. He notado (y créeme que no sé cómo expresarlo) un cierto descontrol en el mundo MacOS e iOS. Desorden. Falta de ideas o quizá no tener un rumbo establecido, el rumbo que siempre había notado en la evolución de tus productos. Mientras que Apple siempre marcaba una concreta dirección a seguir, he visto como los esfuerzos se diluían en infinidad de senderos, sin abarcar un rumbo concreto. Si bien creo que iOS 5 pone a los productos móviles de Apple en una posición privilegiada para seguir arrasando en el mercado con infinidad de funcionalidades de última generación (y por cierto, no hablo de Siri), MacOS Lion lo veo más bien como un descontrol de ideas. Parece que no toma un partido concreto por “algo”, sino que parece más bien un conglomerado de ideas, forzando simplemente la migración haciendo que las nuevas versiones de software exijan la nueva plataforma, sin aportar nada realmente novedoso.

Te echo de menos, en serio. Aunque no compartiese contigo (ni lo comparto) el concepto de “avance” o “novedoso”, siempre he respetado y admirado cómo definías el camino, dabas un puñetazo en la mesa y el mercado iba detrás: tenías (y tienes) ese inmenso poder. La demostración (y homenaje) más simple es un vídeo que pululó por internet poco antes de la presentación del que resultaría ser el iPhone 4S (en lugar del ansiado “5”): es un “concept” de lo que podría ser ese iPhone 5 que no se materializó. Nada más que eso. Solamente la brillante imaginación desbordada de un grupo de estudiantes de diseño. Si ese vídeo hubiese sido “Galaxy S IV concept”, todo el mundo lo hubiese tomado como eso: un ejercicio de estilo, un estudio de diseño futurista. Pero tu sabes cuánta gente estaba convencida de que, si era Apple, simplemente era real? Eso es lo que conseguiste, Steve: cuando se hablaba de tus productos no existía el límite, cuando se hablaba de tecnología absolutamente futurista era inmediata e inequívocamente asociada a Apple. “Si no se puede hacer, Apple lo hace”. Creo que es el mayor halago que cualquiera que viva en este mundo tecnológico puede recibir.

Seguro que cuando te fuiste dejaste muy claro el camino para tu compañía y escogiste buenas manos para continuar tu legado. Cuento con ello, porque Apple va a tener que sobrevivirte y no va a ser nada fácil: pusiste el listón muy alto.

Android 4: seguimos sin código fuente o cómo no repetir lo errores de Microsoft

Android4Si, sé que se hace raro leer eso, pero creo que es lo que Google está haciendo precisamente: evitar caer en la trampa en la que cayó Microsoft hace años y que acabó con su sistema operativo para móviles, Windows Mobile. El mayor clamor reciente de los desarrolladores de Android es que el código fuente, tanto para las versiones 3 como 4 (Honeycomb y IceCream Sandwich) no ha sido publicado. A pesar de las justificaciones de Google, creo que la causa es más bien otra: han visto como Android está cayendo en la misma trampa que acabó con Windows Mobile: que cada fabricante podía hacer con el operativo lo que le saliese de las narices, pero agravado aún mas porque, para hacerlo con Android, ni siquiera había que ser un “OEM”.

Ya comenté en un post anterior el concepto “Halfdroid”, o cuando un fabricante quiere sacar al mercado un dispositivo “de usar y tirar” y, como le sale “gratis”, simplemente toman el último fuente de Android, se lo tiran dentro de cualquier manera y a correr que son dos días. Creo sinceramente que eso podría llegar a menoscabar de forma realmente seria la imagen de Android, porque la gente ya no sabría si están comprando un “Android completo” o un “medio Android”.

Creo que Google vió las orejas al lobo: mientras intenta mantener una lucha frontal contra el iPad para colocar sus tablets en el mercado, aparecen “HalfDroids” a precios ridículos y experiencia de usuario nefasta. Por qué gastarme más de quinientos euros en un Motorola Xoom, un Acer Iconia Tab o un Samsung Galaxy Tab cuando me puedo comprar “una tableta Android genérica” por menos de doscientos? La gente sólo ve “Android”. Y si, ya sabemos que por licencia no se pueden anunciar como tal (no han pasado la certificación de calidad de Google), pero da lo mismo porque le ponen la pegatina de cualquier manera. El usuario, el comprador no puede decidir.

Ahora por lo menos, cuando adquieres una tableta con Android 3 o 4, sabrás que llevas a casa un sistema operativo de calidad, con (esperemos!) actualizaciones (eso depende del fabricante), bien terminado, con acceso al Market de aplicaciones y todos los bonus que un Android “certificado” conlleva.

Hoy por hoy, la inmensa mayoría de los dispositivos Android que se venden siguen siendo Androd 2.x. Honeycomb se diseñó exclusivamente para tabletas, y en ese mercado quien manda es Apple. Google lo ha visto y avanzó hacia Android 4, integrando ambas plataformas (móvil y tableta), porque no les queda otra que llevar Android 4 a ser la plataforma dominante (frente a un 80% largo que actualmente son 2.x). Entonces, y solo entonces, podrán permitirse abrir su código fuente. O quizá no…

Android 4 exige de los fabricantes un compromiso que va mucho mas allá de tomar una implementación de referencia y “simplemente usarla”: hay que realizar una inmensa inversión en optimización de la plataforma antes de obtener un producto de calidad. La aceleración hardware de los interfaces de usuario ya no es un “gizmo”, es lo que la gente espera, es un “básico” en la usabilidad. Es imprescindible que los fabricantes la implementen, y lo hagan bien. Y Google no va a permitir implementaciones pobres.

Creo que Google ha hecho lo correcto: dar acceso a Honeycomb y IceCream Sandwich sólo a los fabricantes que puedan garantizar un producto de calidad. Imagino que los defensores a ultranza del Open Source querrán tirarme cosas a la cabeza, pero es la mejor manera de proteger un producto: evitar que algunos lo estropeen.

RIM: Cuánto falta para una BlackBerry con Android?

Y si, va en serio. Llevamos meses leyendo noticias acerca de la aproximación de RIM al mundo Android. La primera fue que su tableta basada en sistema operativo QNX sería capaz de ejecutar aplicaciones Android. Luego que ese mismo sistema operativo sería la nueva fundación para las Blackberries de 2012.

Mientras tanto, se han filtrado infinidad de imágenes de BlackBerry Messenger (o “BBM” para los amigos) corriendo en Android (podéis ver las fotos en TechnoBuffalo), pero el hecho de que el teléfono en el que las están probando aparente ser un prototipo no hace más que alentar la idea de que el próximo salto de RIM sea precisamente ese: dar el salto al sistema operativo de Google.

Todos hemos oído hablar del “apagón Blackberry”: problemas en unos servidores en Reino Unido hicieron caer la red de RIM y convirtieron casi todas los smartphones de la marca de Europa, Africa y alguna que otra zona en Estados Unidos en “dumbphones”, con la misma funcionalidad que un, digamos, Nokia 5110: llamar y enviar SMSs. Y eso durante casi cuatro días!

Hoy por hoy Blackberry se basa en dos pilares: el primero, que la gente sigue asociando “Blackberry” con “correo electrónico”. Curioso, teniendo en cuenta que TODAS las demás plataformas lo soportan también, y sin depender del fabricante. Con cualquier smartphone, para ver mi correo, mi calendario, mis tareas me basta con una conexión a Internet y establecer una conversación con mi proveedor de email, sea cual sea. Si no tengo cobertura, me busco un punto de acceso WiFi o viceversa. Y si me quedo sin batería, siempre puedo llegar a buscar un cibercafé y conectarme simplemente como cliente web. Pero incluso si mi servidor de correo corporativo se cae, todavía puedo abrir un navegador y “surfear” por Internet. Con una Blackberry no se puede. Por qué? Hace años, cuando la potencia de los móviles no era suficiente para digerir los contenidos web, era comprensible la existencia de un servidor intermedio que pudiese hacer la vida más fácil a los pequeños procesadores que daban vida a nuestros móviles y RIM ha vivido de ello hasta hoy. Hoy en día no tiene sentido, pero RIM insiste en ello. Toca dar un paso adelante.

El segundo pilar, por mucho que les duela, se llama Whatsapp y es posiblemente el uso más difundido para Blackberry. Y RIM también deber estar viendo como su hasta ahora “app insignia” ya está disponible en todos los demás teléfonos. Cuánta “inercia” le queda antes de que la gente se dé cuenta de que pueden hacer exactamente lo mismo en otra plataforma?

RIM debe cambiar su mentalidad, deben darse cuenta de que los tiempos han cambiado, que no pueden seguir viviendo de su actual modelo de negocio. O eso, o seguirá viendo como su base de usuario sigue disipándose a marchas forzadas. Android puede ser la solución.

Nokia o cómo sobrevivir al cambio

N9vs800A nada que se vean un poco las noticias acerca de Nokia se ven cosas muy curiosas: mientras en Nokia World se lanza a bombo y platillo el nuevo camino de la multinacional finlandesa, liderada con la familia Lumia con Windows Phone 7.5, lo que llega a los blogs técnicos es precisamente un producto del cual ni siquiera se hizo mención durante el evento: el Nokia N9 con sistema operativo Meego. Externamente idénticos (salvo pequeños detalles) el efecto es curiosísimo: ha dinamitado al nuevo producto basado en el sistema operativo de Microsoft.

Debe haber dos facciones en Nokia: frente a la “nueva dirección empresarial” se encuentra el “núcleo duro clásico” (por así decirlo) y el ambiente debe ser de lo más caldeadito. Y creo que el núcleo clásico va ganando: mientras la dirección de la empresa recibe dinero a espuertas por parte de Microsoft para realizar una nueva gama de productos (los Lumia) el núcleo clásico aprovecha ese dinero para hacer, posiblemente, el mejor teléfono jamás realizado por Nokia, el N9, y que para colmo excede en características al primero. Mientras la nueva dirección gasta dinero a manos llenas para publicitar un nuevo producto, la facción clásica envía dos semanas antes del lanzamiento del Lumia unidades del N9 a los principales blogs tecnológicos, donde son premiados con críticas que difícilmente se podrían comprar con dinero. Y finalmente y como traca, el Lumia 800 no llegará a Estados Unidos, siendo reemplazado por la versión “económica” del Lumia 800, el Lumia 710. La guerra está servida.

Ahora queda ver quien sobrevive (si es que sobrevive alguien) a esta guerra interna. Diluir los esfuerzos en dos rumbos diametralmente opuestos no es una buena solución cuando buscas un futuro. Microsoft tampoco creo que esté particularmente contenta con esta decisión, que convierten a lo que debería haber sido el nuevo escaparate de su sistema operativo en un móvil precioso con capacidades de segunda. Siempre me gustó Nokia, pero cuando Symbian se convirtió en una camisa de fuerza en lugar de una plataforma que alentase el desarrollo tuve que buscarme caminos más actuales. Y mi intención era volver a Nokia, pero creo que ya no va a ser el caso. Quizá un “Lumia 810” para el primer trimestre del año que viene?

Finalmente, y a modo de resumen, estas navidades van a ser más aburridas de lo que realmente esperaba. La única novedad de mercado que empezará a llegar durante las próximas semanas son los nuevos “ultrabooks”, preciosos portátiles con diseños con la inconfundible firma de… Apple. Pero eso es otra historia.

Categorías:Opinión Etiquetas: , , , , ,

Descanse en paz Windows CE

Durante años Microsoft ha mantenido, además de sus sistemas operativos de escritorio, uno desarrollado para entornos embebidos, industriales y portables: Windows CE. Diseñado desde cero para consumir recursos mínimos, hace mucho que no tiene sentido excepto para las plataformas más reducidas.

Y que conste que me encanta Windows CE: su modularidad, lo extremadamente compacto que es, que se programa “casi, casi” igual que su hermano mayor de escritorio… Salvo que en un mundo como en el que vivimos, todos esperamos que las plataformas se estandaricen, ya no vale “usar ese sistema operativo exótico tan cool” y cosas por el estilo.

AISPonder de LocalizaTodo

Creo que conozco Windows CE al dedillo: desde la versión 5.0 hasta la 6.0 R3 que ya incorporaba soporte para Silverlight y todo eso, solo que nunca me hizo falta – basta con ver la imagen de nuestros dispositivos para entenderlo. Sí, me tuve que hacer un par de OALs desde cero, montones de drivers y algún que otro bootloader a medida de una plataforma. Y compensa, vaya que si compensa. Y creo que es precisamente para este tipo de aparatos donde CE todavía tiene futuro. Para la pléyade de tabletas, teléfonos y dispositivos similares que vienen, simplemente no sirve.

Continuando con lo que escribí en un post anterior, puede (solo puede) que dentro de una hora Microsoft anuncie la beta pública de Windows 8, y que será capaz de funcionar tanto en procesadores x86 como ARM. En ese momento, ninguna aplicación con interacción con el usuario tendrá la más mínima justificación en Windows CE.

Obviamente, lo que no tiene sentido en (por ejemplo) un teléfono móvil es emplear el interface de usuario de un Windows de escritorio. Para los que no conozcan los sistemas operativos “Embedded” de Microsoft (“XP Embedded”, “Windows Embedded Standard 7”), son “el mismo” sistema operativo de escritorio pero distribuido de forma totalmente modular: puedo diseñar un sistema operativo (hasta ahora solo sobre procesadores x86) con los componentes justos para soportar la aplicación final que se desea. Y, por supuesto, la “shell” de Windows es uno de esos componentes, al igual que lo es en Windows CE. Solo que las versiones “Embedded” tambien ejecutan (si la plataforma incorpora los elementos necesarios) las mismas aplicaciones que cualquier ordenador de escritorio.

Pensemos que una tableta o móvil moderno incorpora procesadores a 1 GHz (como mínimo) y la mayoría llevan 512 MB o 1 GB de RAM. Y recordemos que no hace mucho, nuestros PCs de escritorio, que ejecutaban con mayor o menor alegría, no tenían ni de lejos tanta potencia de cálculo (mi máquina de desarrollo durante mucho tiempo fue un Pentium III a 800MHz y 384 MB de RAM). La configuración “estándar” para un netbook moderno es un procesador Atom con 1 gigabyte de RAM y corren Windows 7. Salvo por el procesador (ARM en el caso de las tabletas), prácticamente cualquier dispositivo móvil moderno tiene potencia suficiente para ejecutar un sistema operativo equivalente a Windows XP.

Si, un kernel de escritorio requiere muchos más recursos que uno diseñado desde el principio para un entorno “embebido” o “industrial”. Solo que los dispositivos portátiles modernos no tienen nada que ver con uno de esos aparatos. El kernel en sí mismo es una pequeña fracción de un sistema operativo, siendo el principal componente el de interacción con el usuario. Hoy en día se podrían emplear kernels de “escritorio” sin demasiados problemas.

Vamos a ver en los próximos días (o quizá incluso horas) tres tipos de implementación del kernel de Windows: el que lleva la familiar “shell” con la que muchos trabajamos todos los días, con sus familiares ventanas de archivos, menú de inicio y escritorio. Vamos a ver otra shell más “compacta” y con el tan traído estilo visual “Metro”, orientada a entornos táctiles y finalmente llegará (no sé cuando, pero llegará) una shell específicamente diseñada para móviles. Pero el núcleo del sistema operativo en todas las plataformas será exactamente el mismo. Habrá incluso aplicaciones capaces de funcionar en los tres entornos.

Presentación original de Windows 8

Puede que a partir del año que viene veamos más y más fabricantes llevar sus sistemas operativos tradicionalmente “de escritorio” al nuevo entorno de tableta o ultrabook. Entornos fáciles de usar, pero que permiten, si el usuario lo desea, emplear las mismas herramientas que en nuestros ordenadores de sobremesa. Si, sé que no será igual ejecutar Outlook en un Intel Core i7 que en un ARM de doble núcleo, pero si puedo esperar un rendimiento similar al de cualquier netbook actual del mercado. Y por qué vamos a querer eso? Pues porque quizá hace cinco años era inviable, y por eso nos conformamos con versiones “light” de nuestras suites de escritorio favoritas. Hoy en día es posible.

Referencias: Microsoft BUILD Windows, Web de Windows Embedded 7,

Categorías:Opinión Etiquetas: , , ,