23 de febrero de 2012

A Microsoft no le gusta su propia medicina

¡No mates el vídeo en la web! Ese es el título de esta entrada de Dave Heiner, Microsoiftí que nos cuenta cómo la malvada Google está exigiendo regalías (royalties) elevadas por el uso de patentes relacionadas con H.264: 22.50$ por un portátil de 1000€, el doble en uno de 2000€. Y está exigiendo el pago de esas cantidades a Microsoft por todos sus productos; es decir, está pidiendo que Microsoft pase esa cuantía a los consumidores en forma de aumento del precio de las licencias.

Lo que Microsoft intenta es ocultar el verdadero origen de este nuevo capítulo de guerra de patentes. Pero la hipocresía de los de Redmond llega a tales alturas que se hace necesario apuntarles con el dedo y gritar a los cuatro vientos la escandalosa verdad de este ejercicio de marketing.

Acusar a Google de querer matar el vídeo en la web resulta, cuanto menos, paradójico para quien sepa algo de Internet: Además de ser dueños de Youtube, la página de vídeos en la web por excelencia (¿quiere Google matarse a si mismo?), Google es el desarrollador de WebM, un códec de vídeo que está completamente libre de regalías, a diferencia de H.264. Si Microsoft se queja de que pagar regalías elevadas por un formato de vídeo es perjudicial para el vídeo web y para la industria, ¿no sería consecuente estar en contra de todo tipo de regalías, y fomentar y adoptar el uso de formatos sin ningún tipo de regalías, como ha hecho Google? Las acusaciones de Microsoft son un poquito ridículas teniendo en cuenta esto.

Pero no es más que un detalle, el verdadero origen del "ataque" de precios de Motorola/Google está en las regalías que Microsoft exige a todo fabricante de teléfonos que utilice Android. Más del 70% de móviles Android vendidos en EEUU paga ya regalías, se calcula que está ingresando alrededor de 444$ millones en 2011 (se calcula que podrían pasar a ser miles de millones en los próximos años si continúan aumentando el número de fabricantes y de dispositivos vendidos). Las patentes esgrimidas son completamente demenciales, como suele ser el caso de cualquier patente de software, pero eso no importa a nadie.

Google tampoco es que sea una empresa bondadosa, al fin y al cabo sólo busca lo mismo que todas las empresas. Pero la manera de ganar dinero de cada una marca muchas diferencias. Google vive de poner anuncios, Microsoft de vender licencias. Un Android gratuito daña considerablemente el negocio de vender licencias de Windows Phone, mientras que a Google le viene bien que haya más terminales donde poner su publicidad. Exigir el pago de regalías por patentes es una manera de conseguir que usar Android no sea gratis (recuerden, estas regalías las pagan ustedes como usuarios, aunque el teléfono lo regale la operadora).

Como consecuencia de las exigencias monetarias de Motorola/Google, Microsoft va a recurrir a la Comisión Europea a quejarse de que Motorola/Google no juega limpio. La realidad es que, cuando hablamos de patentes, nadie juega limpio. Las licencias de patentes no pueden ser "razonables", porque las patentes de software no lo son, son juego sucio en si mismas.

Lo bueno de todas estas guerras de patentes es que hasta los jueces y políticos más desinformados van a sospechar que algo huele mal. Es casi imposible pensar que vayan a mandar las patentes de software al carajo (por desgracia), pero las ramificaciones de estos casos seguramente vayan a cambiar muchas cosas. Si la Comisión Europea da la razón a Microsoft, habrá que aceptar que la defensa de los derechos de las patentes tiene límites (¿regulación de la cuantía de las regalías?). Si se la da a Google, la organización de estándares ISO debería replantearse si un estándar como H.264 puede seguir siéndolo con regalías estratosféricas. Las patentes de software cada vez huelen peor, y mucha gente debería empezar a darse cuenta de ello.

18 de febrero de 2012

OS X 10.8: cambia despacio, que tengo prisa

Apple por fin ha publicado algo de información concreta sobre Mac OS X 10.8, que saldrá a la venta dentro de unos meses. Dado que Apple es la compañía a la que mejor se le da pulir, abrillantar y poner el lacito a su sistema operativo (sobre todo poner el lacito, dirán algunos), merece la pena comentarlo.

Lo que quizás sorprenda de 10.8 es que, en realidad, no hay mucho que comentar en cuanto a novedades tecnológicas, algo que ya de por si dejan entrever en el nombre escogido: "Mountain Lion", reutilizando el nombre de la versión anterior, al igual que hicieron con 10.5-Leopard -> 10.6-Snow Leopard (aunque en este último caso había novedades internas). Todo lo publicado por Apple confirma que se trata de una refinación de 10.7 Lion. Ni tan siquiera las páginas de propaganda de Apple, aficionadas a vender tonterías como "features", tienen nada especial que contar. Las únicas grandes novedades son ports de cosas de iOS.

Esto último dudo que vaya a cambiar, Apple sólo tiene ojos para el iPhone/iPad. Sin duda, Steve Jobs se aseguró de que su idea de la era post-PC comenzase dentro de Apple, así que no es sorprendente que las grandes novedades aparezcan primero en iOS y luego se adapten sin prisas a OS X.

Sin embargo, el hecho de que se trate de una refinación no quiere decir que no sea interesante. Apple es una compañía cuya especialidad no es inventar grandes tecnologías, sino saber refinar, pulir e integrar todo como Dios manda. Una tarea que nunca se valora lo suficiente (cuando no se desprecia directamente). En ese sentido, esta versión de OS X no sólo es importante, sino que quizás sea una de las más importantes.


iCloud

Concretando más, me refiero a iCloud (aunque, insisto, no hay nada que no se conociera ya en iOS 5). Si el futuro de la informática es que todo o casi todo converja hacia esa cosa llamada nube, y no encuentro razones para pensar que no sea así, necesariamente OS X 10.8 es una versión muy importante. 10.7.2 ya incluyó soporte de iCloud, pero es en 10.8 cuando la convergencia hacia la nube es notoria y definitiva: login en el equipo con cuenta de iCloud y replica de documentos y datos de aplicaciones en la nube, disponibles a partir de ese momento en cualquier otro dispositivo Apple que utilice ese mismo Apple ID. La mejor prueba de que han decidido incrustar iCloud en la médula del sistema operativo son las modificaciones en los diálogos de abrir/guardar archivos de ciertas aplicaciones, que incluyen un botón para acceder al espacio de almacenamiento de iCloud. Teniendo en cuenta que en Apple discuten por cada pixel modificado, que añadan algo así es muy notorio.

No sé si esto parecerá interesante, pero puesto en contexto tiene su aquel. ¿Se acuerdan de Chrome OS, esa distro de Google que consistía en poner al navegador Chrome a pantalla completa, y que pretendía traernos la utopía de la nube combinando las mejoras de HTML5 con una web store para Chrome? Bien, pues OS X 10.8 lo ridiculiza enormemente. Mientras que Google depende de la evolución de los navegadores para conseguir que todo sea una página web, Apple ha decidido utilizar su capacidad de controlar cualquier aspecto de sus productos para combinar aplicaciones nativas y nube. El resultado es que Apple esta logrando materializar la utopía de la nube con infinita más limpieza y racionalidad que quienes aspiran a hacerlo exclusivamente a través de los navegadores. ¿Independencia de plataforma? Eso es algo que sólo necesitan los que no tienen plataforma.

Y si, esto de la nube no es tan nuevo, existen otros servicios de sincronización con nube. Dropbox, Windows Live Mesh -que será parte de Windows 8, incluyendo login con Live ID- o, sin ir más lejos, Ubuntu One. La diferencia es que, de cara a los desarrolladores de aplicaciones de terceros que desean añadir "soporte de nube" (si, es una expresión horrible, pero está aquí para quedarse así que acostúmbrense), iCloud está bien integrado con el resto de APIs de Cocoa, y es una parte esencial del sistema. Puede que en otros campos iCloud sea peor o inexistente a las alternativas (no permiten crear aplicaciones de servidor como App Engine o Amazon), pero el caso particular del usuario, sus datos, y los datos de sus aplicaciones está cubierto.

Tecnológicamente nada de esto es nuevo, sólo lo es el hecho de haberlo integrarlo bien a través de todas las capas del sistema operativo.


Gatekeeper

Gatekeeper es algo que a todo usuario de Apple le debería causar una mezcla tranquilidad y de terror, y no sólo por el parecido de su icono con el de Security Essentials. Consiste en incorporar de iOS la capacidad de restringir el uso de aplicaciones a las instaladas mediante la App Store, es decir, de restringir la libertad de instalar lo que uno quiera y dejarse en manos de la censura de Apple. En realidad se trata de una versión descafeinada, ya que en las preferencias de seguridad se puede desactivar. Sin embargo, viendo la actitud de la empresa respecto a este asunto en iOS, no me cabe ninguna duda que a ellos les encantaría eliminar esa opción, y no descarto que si pueden, lo intentarán.

Por otra parte, uno tiene que ser realista y reconocer que este sistema de control tiene algún sentido. Dejando aparte los fallos de seguridad, a grandes rasgos hay dos maneras de prevenir la ejecución de software maligno: Listas blancas, y listas negras. El mundo Windows y sus antivirus son, esencialmente, una historia de como intentar librarse del software maligno mediante listas negras (en parte explícitas, en parte determinadas por heurística). El control de instalación de Apple es por contra una lista blanca. Es innegable que esto tiene ciertas ventajas de seguridad y desde luego es más deseable que un antivirus, ese software odioso que quema CPU y disco inútilmente (no les quepa duda de que los fabricantes de antivirus odian a Apple).

Pero ha de quedar claro que no existe absolutamente ninguna excusa para impedir desactivar este sistema temporalmente para instalar lo que a uno le apetezca - el sistema de OS X 10.8 es, de hecho, maravillosamente ideal (incluso hay un modo intermedio en el que además de la App Store admiten soporte de programas firmados con una ID de desarrollador Apple), y espero que no lo cambien jamás.

Por cierto, si se han fijado en los iconos antes mencionados, uno tiene verjas, el otro ventanas.


Air Mirroring

La otra gran novedad digna de mención es el AirPlay Mirroring, algo muy ingenioso: consiste en exportar el escritorio en tiempo real a la televisión en vídeo HD vía Apple TV. Un invento que tiene la sospechosa capacidad, muy comentada ya en iOS 5, de permitir a Apple entrar a competir como plataforma de videojuegos, pero que de todos modos es muy útil para presentaciones y cosas así.

Por cierto, a ver si Shuttleworth se anima e implementa este tipo de integración entre su Ubuntu TV y escritorio. Que parece mentira, pero es que poder hacer este tipo de cosas es la salsa de la vida.

15 de febrero de 2012

Grasa web

Vía reddit/r/programming, me encuentro con la noticia de los nuevos foros de la web del lenguaje "D", que han sido reescritos en ese mismo lenguaje. Por curiosidad entro y navego un poco en el nuevo foro (notable que parece que también soportan acceso vía "news" NTTP). Y caramba, da gusto ver un foro tan ligero y veloz como este. Y no es que esté inactivo, según el admin.

En los comentarios del hilo de reddit lo resaltan, seguramente acostumbrados -como lo estamos todos- a que Internet esté plagado de foros y páginas notoriamente más lentos. Pero más allá de la respuesta del servidor, que no parece ser nada del otro mundo, y de alguna optimización, parece que el secreto en realidad consiste en ser simple: Las páginas del foro de D son, esencialmente, el HTML estrictamente necesario con algo de CSS y muy poquito de JS. El peso de un listado cualquiera de un subforo pesa 37 KB, de los cuales 10 KB son imágenes. Y nada de ello tiene torturas para el navegador.

La mayoría de páginas modernas cada vez son más complejas y pesan cada vez más: la página de un artículo aleatorio de engadget.com, buen ejemplo de página recargada: son 3.5 MB en total, y las imágenes sólo son 1.3 MB, y tienen 1.2 MB en scripts JS y 650 KB en CSS. Vale, es cierto que es una comparación injusta: un foro como el de D no tiene, en realidad, mucho que mostrar, y engadget en cambio está lleno de contenido y tiene cacharritos de botones +1, comentarios, anuncios, y etcéteras que usan montones de librerías JS. Y desde luego no es la página más ejemplar de internet.

Aun así, las páginas ligeras de internet, no mucho más lentas que el foro de D, y nada lentas ni pesadas (pongamos, meneame) ya llegan a los cientos de KB. Claro, basta enlazar a jquery para que se note, y que conste que no lo critico. Una página moderna de Google, como mi vista principal de G+ roza los 2MB.

En fin, que en un tiempo donde el "engorde" de las páginas web es algo inevitable (el número y complejidad de librerías javascript no va a disminuir, desde luego, ni tampoco la necesidad de usarlas) aunque no necesariamente sinónimo de lentitud, gusta encontrar algo como el foro de D. Que, por cierto, utiliza como base de datos sqlite y un servidor web propio.

Por cierto, por si no lo sabían habrá soporte de D en GCC, aunque no será en GCC 4.7 como se esperaba y habrá que esperar a GCC 4.8.

5 de febrero de 2012

El limbo de Windows Phone

Parece que Windows Phone 8 mandará a paseo Windows CE y utilizará el núcleo NT de Windows 8. Con lo cual se cierra el círculo, y se completa la transición en los teléfonos móviles de los sistemas operativos embebidos a sistemas operativos de propósito general. O sea, a sistemas operativos de verdad. Portados a ARM, claro.

Bueno, queda Blackberry, pero no durarán mucho.

La tardanza de la transición de Windows Phone a núcleo NT (y no sólo el núcleo, sino a Windows 8 entero) dice muchas cosas de Microsoft y ninguna buena. La primera, que Steve Ballmer merece ser ganador del premio a la que tal vez merezca ser considerada la pifia mental de la década: Partiendo de un monopolio absoluto, avasallador e incontestable en su plataforma de PCs, y de un saludabilísimo ecosistema de software y cuota de mercado en smartphones con Windows CE, arrégleselas para, teniendo que afrontar un nuevo formato de hardware, diseñar un SO que no permita la reutilización de gran parte de código (no-.NET) escrito para ambas plataformas. Al olvidarse de Windows CE y pasarse a Windows 8, lo más probable es que permitan la ejecución de código nativo (WinRT), pero han perdido unos años preciosos en los que han permitido que montones de programadores huyan a las tiendas de aplicaciones de los rivales.

Otra cosa que confirma este cambio es la lentitud glacial de desarrollo presente ya en todos los productos de Microsoft. Vale, no tenían un sistema NT portado a ARM. Vale, no tenían buen soporte para pantallas táctiles, ni una interfaz de usuario optimizada para ello. Vale, la revolución táctil les pilló desprevenidos. Tenían, sin embargo, talento a patadas para solucionar sus problemas: compilador y toolchain ARM funcionales, port ARM del núcleo Windows CE del que reusar código, ideas y drivers para NT. En cuanto a lo táctil, llevaban años dando la lata con que las tabletas eran el formato de hardware del futuro, habían gastado millones y millones en R&D de este tema, e incluso tenían un sistema táctil -Surface- funcional y en venta desde 2007. Con estos precedentes e inmensurables recursos monetarios y humanos, no debería haberles costado mucho incorporarse a la carrera.

¿Qué demonios han estado haciendo todo ese tiempo? Por dios, con excepción del soporte de ARM del kernel/toolchain y de Webkit, en ese mismo tiempo Android prácticamente ha sido escrito de cero, se ha convertido en líder de cuota de mercado por delante de Apple, y le sobra tiempo para tomarse un cafe. En cambio Windows Phone 7 ya tiene dos años desde que se presentó al público por primera vez, y ya entonces iban retrasados.

No es sorpresa que las ventas del Lumia no hayan sido precisamente revolucionarias: alrededor de 1 millón, considerado como buen comienzo por muchos analistas pero, además de dudosas, son una sombra comparado con iOS/Android. ¡Año y medio después de empezar a venderse teléfonos con Windows Phone 7, Microsoft sigue vendiendo cada trimestre más teléfonos con Windows Mobile 6 que con la plataforma destinada a sustituirlo! Un ex-ejecutivo de Nokia -proMaemo y resentido con Elop, todo sea dicho- que conoce bien los entresijos de la compañía incluso piensa que se han vendido más N9 que Lumia.

Incluso con las desventajas actuales, la unificación del entorno de desarrollo de Windows 8, Windows Phone 8 y Xbox será un gran punto a favor de Microsoft. Pero apuesto a que seguirán ingresando más dinero con las licencias de patentes a vendedores de teléfonos de Android que de Windows Phone.