29 de octubre de 2009

Tiendas de aplicaciones: "¡Es la economía, imbécil!" (dos de tres)

En el post anterior decía que debía ser muy ventajoso para los programadores de iPhone disponer de algo como el App Store que les alivie la carga de la distribución y el cobro de sus programas. Aunque registrarse como desarrollador de iPhone cuesta 99$ por año -que no es poco-, el darlo todo hecho ha facilitado que hordas de desarrolladores se hayan animado a unirse a la tienda. Si esos mismos programadores tuvieran que molestarse en mantener por ellos mismos todo lo que la App Store les da hecho quizás no programarían nada. Muy pocas personas se molestarían en dar su número de tarjeta de crédito en una web perdida para comprar una mísera aplicación de, pongamos, 3.99$. Pero en el iPhone es mucho más fácil conseguir compradores, y eso anima a muchos programadores -que, recordemos, también pueden ser empresas- a probar suerte.

La sociedad siempre acude en masa al mercado en el que se puede ofrecer y demandar cosas tranquilamente; nada puede evitar que los compradores hagan ofertas por las cosas que desean poseer, y siempre habrá productores que intentarán satisfacerlos para enriquecerse. En Internet sin embargo hay una serie de barreras que impiden que los consumidores puedan ofrecer cómodamente su dinero, y pedirlo los productores. Existe el cobro contra reembolso, existe el cobro a una tarjeta de crédito, existe el pago previo a una cuenta bancaria, pero excepto en casos particulares y cosas como Paypal, ninguna ha calado como verdadera alternativa virtual de intercambio de bienes y servicios por dinero.

Se oye con frecuencia que en Internet las cosas son gratis, y que así es como seguirá siendo, porque es lo que pide la gente, y a cada idea útil de pago le saldrá siempre una alternativa gratuita que la echará abajo. Que las cosas han de financiarse como mucho con anuncios. Se trata de afirmaciones cuya falsedad será demostrada -en mi opinión, y para bien o para mal- con el tiempo. Internet no es menos propicio para los negocios que la tienda de la esquina, más bien se trata de que aun no disponemos de un sistema cómodo para hacer transacciones comerciales, y recurrimos a los anuncios como alternativa-para-todo.

Mucha gente aun se sorprende de que los usuarios de iTunes/iPod paguen por la...¡música!, que a pesar del aumento de la velocidad de las líneas de conexión y disminución proporcional del tiempo necesario para bajarse un álbum (la discografía de Joan Manuel Serrat completa, que son una cantidad horripilante de discos, ocupa 2.54 GB, la mitad que un DVD), de las mejoras alucinantes en tecnología P2P y de la expansión de los sitios de descarga directa, las ventas de esa tienda no hayan sino aumentado. No se debe más que a la creación de un mercado, a que Apple ha facilitado, en la medida de lo posible, el pago por Internet. Una vez introducida la información de la cuenta bancaria, el usuario pasa a tener una interfaz donde se le ofrecen varias cosas, se informa de su precio y se permite comprarla a golpe de clic.

Los usuarios de iTunes -o de otras tiendas- que compran música no lo hacen porque Steve Jobs les haya lavado la cabeza o porque sean unos ricachones, lo hacen porque pueden, porque se les hace una oferta y se les ha facilitado poder responder a ella. Y si gran parte del resto de Internet no paga ni un céntimo por su música -o por las noticias de su periódico- no es porque deseen que "todo sea gratis" -¡obviamente, todos querríamos que todo en este mundo fuera gratis!-, sino porque nadie les ha dado oportunidad de hacer una pequeña oferta por conseguirlo a cambio de algo. Quieren disfrutar de las ventajas de bajarse música por Internet, pero se les ha dificultado enormemente pagar por ello, se les incita a recurrir al intercambio P2P (que por otra parte no tiene nada de malo, en mi opinión).

En el caso de App Store, no solo se facilita al usuario la compra, sino que se le facilita al programador la venta. El App Store es un gran centro comercial, y no metafóricamente sino en el sentido literal, en el que la oferta y la demanda reinan con casi absoluta libertad. Los programadores colocan sus aplicaciones en los estantes, suben o bajan los precios durante un par de semanas para observar si las variaciones en la demanda mejoran las ganancias, algunos de quienes no sean capaces de obtener más del 99$ por año que cuesta la suscripción probablemente acaben retirándose de su estante, los consumidores gastan el dinero a su antojo. Un verdadero centro comercial, de comercio de aplicaciones por las que la gente está dispuesta a pagar determinados precios.

Gran parte de la explosión de actividad en la App Store se origina por estos motivos (no toda obviamente: hay muchísimas aplicaciones gratuitas). Al mismo tiempo, esto convierte a Apple en el poseedor de una de las bases de datos más codiciables de Internet. No existe ninguna otra empresa que posea una lista de clientes y sus cuentas de banco más extensa, ni un centro comercial mejor acondicionado que iTunes. Lejos de la imagen de vendedor de hardware, Apple posee uno de los grandes valores de Internet. A día de hoy venden música, películas, y ofrecen estantes a los programadores de aplicaciones para iPhone, pero eventualmente puede ser extendido a la compraventa de cualquier producto digital. ¿Por qué no iba a ser el próximo paso la compraventa de aplicaciones para toda la gama Mac? Creo firmemente que eventualmente Apple lo hará. "Yo también sé jugarme la boca".

El próximo y último artículo sobre tiendas de aplicaciones se titulará: "Tiendas de Aplicaciones: El panorama linuxero".

26 de octubre de 2009

Tiendas de aplicaciones: próximamente en sus escritorios (uno de tres)

La App Store del iPhone es todo un fenómeno que cada vez me llama más la atención. Todos la están imitando, y esas cosas no ocurren sin que haya una poderosa razón para ello. Amenaza incluso con extenderse a todos los escritorios y convertirse en algo imprescindible y en la manera de distribuir software. Y para que vean que a este blog le queda mucha cuerda, he acumulado verborrea suficiente como para hacer tres post sobre el tema.

A primera vista la razón de su éxito está en lo cómoda que es para los usuarios, pero como me han señalado aquí alguna vez (Google dice que Javi Santana, que por lo visto conoce el campo), una gran parte está en lo fácil que se lo pone al desarrollador para crear aplicaciones. Sin esa facilidad, no habría tantas aplicaciones, sería como entrar en un supermercado y ver casi todas las estanterías vacías. Y la App Store tiene las estanterías repletas (a pesar de su puritanismo, que ha retirado más de una aplicación de los estantes).

Tambien debe ser un factor muy importante lo fácil que lo tiene el programador para distribuirlas. No hay que tener una página web para que los usuarios descarguen nada (aunque es muchos lo hacen incluyendo un enlace a la página de la aplicación en itunes), con el ahorro del tedioso trabajo que esas cosas siempre implican. Y no olvidemos la enorme facilidad para cobrar. No tienes que pedir un número de tarjeta de cŕedito a nadie, ni enredar con paypal, ni con divisas (las tiendas online no aceptan cualquier tipo de moneda), ni nada parecido, el desarrollador da su número de cuenta a Apple y ellos se encargan de cobrar al cliente y meterte el dinero en el bolsillo. Estas dos cosas, que parecen caprichosas, son más importantes de lo que parecen.

Resumiendo, Apple pretende que los programadores se ocupen de programar -que no es poco- y el resto tratan de resolvertelo ellos.

La App Store parece acertar tan bien a conjugar necesidades de usuarios y desarrolladores, que se me hace imposible concebir que Apple no esté considerando extenderla al escritorio. ¿Por qué no? ¿Por qué no distribuir aplicaciones de escritorio a través de una App Store, incluso las gordas y de pago, como Photoshop? Por supuesto, se trata de un planteamiento distinto al iPhone, los Mac de sobremesa no están -afortunadamente- bloqueados para prohibir la instalación de cualquier tipo de aplicaciones. El crackeo de software de pago sería inevitable, pero ¿es que acaso no lo es tambien ahora? Quien quiere crackear un programa de pago lo va a hacer igualmente; una App Store al menos incentiva la compra.

Creo que las "tiendas de aplicaciones", tanto en su lado atractivo para el usuario como en su comodidad para los desarrolladores, son algo destinado a imponerse poco a poco en todos los ámbitos, se tratan de "un paso más" en la oferta de las plataformas de la que a largo plazo nadie querrá carecer.

¿Que hará Microsoft? Al igual que resto de SOs móviles, tienen su tienda "Skymarket" crecida a la sombra de App Store. Lo curioso es que Microsoft tiene tambien ¡una tienda online para escritorios! Pero es solo para productos propios. Venden cosas como...Windows (lo que todo usuario de Windows quiere, comprar otra copia de Windows). Nada que ver con lo que andamos hablando. Es muy curioso: Microsoft debe gran parte de su fortuna a lo fácil que ha puesto siempre el desarrollo de aplicaciones a partners y los famosos "3rd party". Lo de "Developers, developers, developers" es algo más que un chiste, es una religión en esa empresa. Win9x debe mucho de su éxito a haber sido una gran plataforma sobre la que crear aplicaciones que funcionaban -siguen funcionando- en millones de ordenadores. Lo lógico sería que siendo uno de sus distintivos, vieramos en Microsoft más ímpetu por adelantarse, por ser los primeros en ofrecer, como siempre han ofrecido, la mejor alternativa para los programadores.

Pero no, la obsesión por atender a los programadores parece cosa del pasado, de la antigua Microsoft. La nueva Microsoft, encabezada por Ballmer, está demasiado ocupada añadiendo búsquedas en Twitter a Bing, o anunciando la enésima soplapollez basada en .NET, de esas que son inútiles para el 99% de desarrolladores y aplicaciones existentes. Demasiado ocupados intentando ser las reinas del Web 2.0, están descuidando su (innegable) corona actual como mejor plataforma para desarrollar. Mientras tanto, Apple ha descubierto que una App Store puede desafiar a la aparentemente inevitable tendencia Web 2.0 y conseguir reactivar el desarrollo de aplicaciones en código nativo, justo cuando nadie daba un duro por ellas. Pero de eso más en el siguiente post, que si las musas no cambian de opinión se titulará: "Tiendas de aplicaciones: ¡Es la economía, imbécil!"

14 de octubre de 2009

¿Reusar o reescribir?

La lectura del informe trimestral sobre el estado de FreeBSD me ha dejado unas dudas. Para empezar ahí se describen tareas absurdas para ese proyecto, como dedicarse a reescribir con licencia BSD utilidades Unix típicas de GNU. Me dirán que en Linux se ha hecho lo opuesto varias veces, y tendría que darles la razón. Pero se supone que los Linuxeros y los GNUeros somos los zealots, mientras que el sentido práctico siempre fue más característico de los BSDeros.

Luego tenemos la tarea de utilizar Clang en lugar de GCC. Clang es un frontend equivalente a GCC pero basado en LLVM, que está licenciado con licencia BSD. El mundo BSD lleva tiempo librarse de uno de los iconos del mundo Linux, gracias a LLVM su sueño está a punto de hacerse realidad. Aunque se muevan por el mismo deseo de librarse de la GPL, en este caso puede decirse que no se trata de una decisión del todo estúpida, puesto que tienen ciertas ventajas.

En última instancia, encontramos el port de ZFS. Aunque ha sido aceptado sin problemas, me consta que entre los más radicales BSDeros hay varios a los que no les gusta demasiado. No porque no les guste ZFS, sino porque no tiene licencia BSD, y si el tema de la licencia causa sarpullidos cuando se trata de herramientas de espacio de usuario, imaginen en algo que forma parte del kernel. Y aun peor, porque no se trata de un drivercillo ni una herramienta de depuración y análisis como Dtrace, sino un sistema de archivos, que es una pieza clave de todo sistema operativo y en especial de Unix.

A los problemas de licencia hay que añadir otro, más grave en mi opinión. He visto a BSDeros glorificarse ante los usuarios de Linux el disponer de ZFS y Dtrace. Técnicamente su orgullo está plenamente justificado, pero creo que a quien realmente glorifican, sin darse cuenta, es a OpenSolaris. ¿Qué es FreeBSD? ¿Que lo distingue del resto de SOs? Fundamentalmente, un kernel y unas herramientas y documentación y APIs de bajo nivel, bien empaquetados como un solo SO, el resto de software -apache, mysql, python, gnome, x.org- no es distinto de lo que uno puede encontrar en Linux o incluso en Windows en muchos casos. Si apartamos ponemos ZFS a FreeBSD tenemos algo que objetivamente es mucho mejor, pero ya no tenemos FreeBSD, sino OpenSolaris.

Y este es el gran problema de FreeBSD: la debilitación y progresiva pérdida de las señales de identidad que le distinguen en el mundo. Usando ZFS en vez de UFS, usando Dtrace, al final lo que estamos usando es a apache, mysql, python, gnome, x.org, sobre algo que forma parte de OpenSolaris, asi que lo más lógico es que la gente acabe usando el OpenSolaris original en lugar de un SO que se ha convertido en un mero clon suyo.

En mi humilde opinión, FreeBSD como proyecto debería centrarse en tratar de mejorar -"reescribir"- las facetas que lo hacen único, y no perder tiempo en el resto -"reusar"-. Ahora está haciendo lo contrario: reusar en su core el código de otros, y reescribir herramientas básicas que no le distinguen de nadie. Lo mejor es que no necesitan empezar de cero: pueden partir de Hammer, el sistema de archivos de DragonflyBSD (que por sus lazos no puede considerarse un SO totalmente distinto de el, y por tanto considero que no puede hablarse de "reutilización"). Quizás no esté tan preparado para sustituir a UFS (en realidad Hammer es un sistema de archivos orientado estríctamente a servidores), pero al menos lo distinguen del resto. De no hacerlo, corren, a largo plazo, serio riesgo de desnaturalización, si los biólogos me permiten el mal uso del término utilizado para designar el proceso de pérdida de estructura de las proteinas.

1 de octubre de 2009

Nokia se encadena a QT

Lo que se preveía y se rumoreaba ha acabado siendo cierto: Tras dormir un buen rato sobre la fria losa de la realidad Nokia ha decidido escuchar a los desarrolladores, que están diciendo que "developing for Nokia platforms sucks". Y en ese artículo enlazado se esclarece la solución que Nokia propone a sus desarrolladores: usar Qt. Si, la misma Qt que usa KDE.

Esto implica que, a largo plazo, Symbian está tan vivo como la carrera política de Francisco Camps (nula, para los que viven al otro lado del Atlántico y no saben quien es ese personaje). Nokia liga así su plataforma de software a Qt y se desliga de la batalla perdida de los sistemas operativos. Puesto que Qt permite desarrollar aplicaciones multiplataforma con facilidad, los desarrolladores deberían (en teoría, ya saben como son estas cosas en la práctica) poder diseñar aplicaciones que puedan funcionar tanto en Maemo como en Windows CE o incluso iPhone. O, al menos, debería ser posible hacerlas funcionar optimamente en cada plataforma con relativamente poco trabajo.

Queda por ver si Nokia es capaz de crear una plataforma de desarrollo y de distribución y compra de aplicaciones tan bien montada e integrada como la de Apple, pero de momento para empezar ya tienen un buen toolkit (que visto por encima sin duda es mas "limpio" que lo de Android y Palm, y visto por debajo dudo mucho que Android y Palm puedan acercarse ni tan siquiera remotamente a la amplitud de funciones de QT)

Las consecuencias para el software libre pueden ser más que considerables. En primer lugar, queda clarísimo cual es el futuro de Qt, que había quedado en entredicho tras la adquisición de Trolltech. Se dudaba de si iban a continuar invirtiendo en mejorar el toolkit. Con esta noticia se puede asegurar que no solo van a continuar invirtiendo, sino que van a invertir muchísimo más que antes, al pasar a ser Qt un elemento clave en el negocio de Nokia, que es una multinacional con mucho interés en recuperar su puesto dominante en el sector.

Los beneficios para KDE y Linux son obvios: Hay muy buena relación entre QT y KDE, de hecho bastantes programadores de QT han sido captados por su trabajo en KDE, aun siguen manteniendo partes del proyecto, en algunos casos son importantes mantenedores. No es sorpresa que ciertas mejoras en QT se hagan a veces pensando en KDE. Y en Nokia no ignoran las posibilidades que este escritorio ofrece, un buen ejemplo es este visor de documentos para maemo, basado en Koffice 2. Vaticino una edad de oro para los fieles de la K. Pero no solo para los KDEeros; recordemos que QT se puede usar tambien para aplicaciones de consola, aunque no haya tantas como podría haber, debido a la restricción de licencias que aplicaba Trolltech y que, recordemos, Nokia ya ha eliminado, relicenciando el toolkit entero bajo la LGPL, la misma licencia que usa GTK.

No se a ustedes, pero a mi una de las cosas que más me disgusta de Linux como plataforma de desarrollo es que para juntar una aplicación haya que recurrir a veces a varias librerías distintas, cada una con diferentes estilos de programación, diferentes lenguajes, bindings, diferente documentacion, diferentes fechas de estabilización, diferentes maneras de gestionar el proyecto, los bugs reportados, herramientas de desarrollo, etc. Ni falta hace decir que a cualquier programador venido de Windows o Apple, el desarrollo para Linux suele parecerle un caos. Siempre admiré a OS X por tener en Cocoa una solución unificada "para casi todo", ni tan siquiera Windows está tan unificado ahora que Microsoft ha dividido (estúpidamente) su imperio en dos con .NET. Nokia querrá hacer de Qt su propio Cocoa, y conseguirá al mismo tiempo que Linux tenga un buen competidor de Cocoa, de ese modo Qt podría convertirse en una gran plataforma para desarrollar aplicaciones Linux, la plataforma de desarrollo que siempre se ha dicho que nos faltaba para atraer la atención de otros programadores.

(Ya se que este post apesta a excesivo optimismo, pero seguramente ustedes no sean tan malvados como para reprocharme el ser optimista, ¿verdad?)