La muerte del Kindle: el tablet de Apple podría estar integrado con Barnes&Noble

De los muchos rumores que hay sobre el inminente tablet de Apple, es su capacidad con lector de eBooks. Es muy possible que termine dándole mil vueltas al Kindle de Amazon, que además es un dispositivo mucho más limitado.

Después de apropiarse, delante de las narices de la "industria discográfica" (¿de qué discos hablarán?), del mercado de música legal, la siguiente jugada maestra de Apple sería hacer lo mismo con la editorial. Ya sea añadiendo una nueva sección de libros y revistas a iTunes, o creando un nuevo programa para ese mercado, e integrándolo con alguno de los competidores de Amazon que estaban ya a punto de tirar la toalla, como Barnes&Noble.

Las recientes iniciativas de Amazon de abrir el Kindle a terceros, podrían ser una señal de que temen algún acuerdo entre Apple y Barnes&Noble para atacar su situación de dominio en el mercado editorial.

También es posible que Apple permita a Amazon crear una aplicación para su tablet, de la misma manera que permite que publique un Kindle for iPhone. Apple podría "conformarse" con vender sólo el tablet, pero no creo que ocurra.

De todas formas, para quien realmente el iTablet puede ser el último tren, es para Barnes&Noble, que ya ha perdido la batalla de la venta online de libros y tiene una última oportunidad con los eBooks si se asocia con alguien que disponga de un dispositivo con gancho.

Manipular ficheros en Amazon S3 con Python y Boto

Automatizar la subida (o descarga) de ficheros a Amazon S3 con Python

Desde que empecé a usar Amazon S3 para alojar los instaladores de EasyJob Resume Builder, CurrículumFácil y CV-Express, me surgió un problema: tenía que actualizar los ficheros después de cada compilación, de forma manual.

Para evitar errores y despistes y siguiendo el principio de que "coñazo es todo aquello que no automatizas", me puse a buscar módulos Python para manipular ficheros en Amazon S3

Boto: una interfase integrada a los servicios presentes y futuros de Amazon Web Services (AWS) en Python

Para mi agradable sorpresa, me encontré con Boto, una serie de módulos python que te permiten acceder de forma programática a practicamente todos los servicos ofrecidos por Amazon Web Services. Algunos de ellos son:

  • Simple Storage Service (S3)
  • Simple Queue Service (SQS)
  • Elastic Compute Cloud (EC2)
    • Elastic Load Balancer (ELB)
    • CloudWatch
    • AutoScale
  • Mechanical Turk
  • SimpleDB (SDB)
  • CloudFront
  • Virtual Private Cloud (VPC)
Sólo he mirado lo referente a S3, y en general parece una API bastante clara y bastante estable (es a fecha de hoy un versión 1.8).

Algunos ejemplos de código con Boto y Python para acceder a "buckets" y ficheros en Amazon S3:

from boto.s3.connection import S3Connectionfrom boto.s3.key import KeyS3_ACCESS_ID = "xxxxxxxxxxxxxxxxxxxxx"S3_SECRET_ACCESS_KEY = "yyyyyyyyyyyyyyyyyyyyyyyyyy"def view_buckets():    """    Recupera una lista de los "buckets" en S3    """    #Nos conectamos a S3    c = S3Connection(aws_secret_access_key = S3_SECRET_ACCESS_KEY, aws_access_key_id=S3_ACCESS_ID)    # recuperamso los buckets    buckets= c.get_all_buckets()    c.close()    return bucketsdef get_keys_in_bucket(bucket_name):    """    Obtiene la lista de claves en un bucket    """    c = S3Connection(aws_secret_access_key = S3_SECRET_ACCESS_KEY, aws_access_key_id=S3_ACCESS_ID)    b = c.get_bucket(bucket_name)    keys = b.list()    return keysdef upload_file_to_bucket(bucket_name, file_name, s3_key):    """    Sube un fichero a un bucket    """    # Nos conectamos a s3    c = S3Connection(aws_secret_access_key = S3_SECRET_ACCESS_KEY, aws_access_key_id=S3_ACCESS_ID)    # Obtenemos el bucket    b = c.get_bucket(bucket_name)    # Subimos el fichero    k = Key(b)    k.key  = s3_key    k.set_contents_from_filename(file_name)

Instrucciones para almacenar y compartir ficheros con Amazon S3

Almacenar datos en Amazon Simple Storage Service (S3)
Outlook
 
 

Desde hace algún tiempo, el ancho de banda consumido por las descargas de EasyJob, CurrículumFácil y CV-Express está disparado y hubo que buscar alguna alternativa para almacenar las demos de los tres programas.

 

En un principio, pensé en contratar un servicio de hosting sin límites de ancho de banda, como los que ofrece JVDS . El precio era razonable (algo así como USD 60 / mes) y había visto muy buenos comentarios sobre ellos, creo que en Hacker News.

 

No obstante, al poco tiempo me enteré de la existencia de S3, un servicio de almacenamiento de datos distribuido("in the cloud" que se dice ahora) de Amazon. Basicamente es un"content delivery network", pero sin cerebro: no selecciona el servidor más próximo al cliente.

 

Los preciso parecían baratos,las tasas de transferencia muy buenas y solo se paga por lo que se usa, así que me decidí por Amazon S3.

 

Amazon S3 en pocas palabras

 

Amazon Simple Storage Service, mas conocido como Amazon S3 es un servicio de almacenamiento de datos online. Es barato, fácil de incorporar a tu servidor y  relativamente facil de administrar.  Es la misma infraestructura que utiliza Amazon para almacenar sus propios datos, así que es de esperar que los tuyos se vean tratados con el mismo mimo que probablemente dispensen a los suyos propios.

 

¿Quien necesita Amazon S3?

 

Cualquier webmaster que tenga algunos de estos problemas se vería beneficiado por Amazon S3:

 

Cualquiera que se esté quedando sin ancho de banda o pueda quedarse sin él. Si tienes tu servidor en un "hosting" compartido, y apareces en Digg o Menéame, puedes consumir todo tu ancho de banda en un periquete. Es muy posible que tu empresa de "hosting" te cierre el grifo y te dejen tirado.
  • Escasa escalabilidad: Al separar la descarga de ficheros estáticos del proceso normal de tu servidor, la respuesta de éste debería de mejorar y escalar mejor. Esto es particularmente importante cuando se está usando alguna tecnología que consume mucha memoria en el espacio de Apache, como pueda ser Django o Rails.
  • Necesidad de hacer backups online: Jungle Disk es un servicio de backup que utiliza Amazon S3 como infraestructura. No recuerdo  la cantidad de veces que me ha salvado el pellejo en los últimos meses...

     

     

     
    ¿Cómo darse de alta en Amazon S3?
     
    Lo primero es tener una cuenta en Amazon. La que usas para comprar libros sirve, no hace falta una nueva. Si  no tienes una (¿en qué planeta vives?) crea una.
     
    0outlook
     
    Los sigueintes pasos para empezar a usar Amazon S3 son:
     
     
    Crear una cuenta en AWS (Amazon Web Services)
     
    Ve a aws.amazon.com y crea una cuenta en Amazon Web Services.
     
    1outlook
     
     
    Busca Amazon Simple Storage Service (S3)
     
    Después de crear tu cuenta, te saldrá una página indicando que tu cuenta ha sido creada y que te han enviado cierta información por email.  También saldrá una lista con todos los servicios de AWS que puedes utilizar. Busca Amazon Simple Storage Service (S3).
     
    2outlook
     
    Date de Alta en Amazon Simple Storage (S3)
     
    Una vez más tienes que darte de alta (y van 3 con ésta), pero con un agravante: aquí tienes que dar los datos de tu tarjeta de crédito. Tranquilo, que aun no tienes que aflojar nada, solo pagarás cuando hagas uso del servicio. ;-)
     

    Busca el enlace que dice Sign up For This Web Service

     

    3outlook
     
     
    Access Key Id y Secrete Access Key
     
    Una vez que te hayas dado de alta, Amazon te dará lo que llama tus AWS Access identifiers. Son una especie de usuario y clave llamados, respectivamente Access Key Id y Secret Access Key. Guarda eso en algur lugar seguro.
     
    4outlook
     
    Pues con esto ya estás listo para empezar a usar Amazon S3, así que vamos a subir algunos ficheros.
     
     
    Como subir ficheros a Amazon S3
     
    Cunado empiezas, tu cuenta en Amazon S3 está vacía. En ella puedes crear "buckets" (cubos en cristiano). Un "bucket" es el Amazonés para carpeta. Puedess crear varios "buckets" y dentro de ellos es donde guardas tus ficheros.
     
    Hay una pega: los nombres de los "buckets" deben de ser únicos en todo el sisema S3 y no sólo en tu cuenta. Además sólopueden contener letras, números, puntos y guiones (-). Tienen que empezar con una letra o número, y su longitud tiene que estar entre 3 y 255 caracteres. Por si fuera poco, tampoco pueden tener pinta de direcciones IP, como 192.168.2.1
     
    En realidad, hayotra pega, el acceso a los ficheros es un poco engorroso, y tienes que usar un herramienta de algún tercero (Amazon sólo te da un API).
     
    Algunas de las mejores herramientas para subir y administrar ficheros y buckets en Amazon S3 son:
     
    S3Fox
     
    Es una extensión de Firefox que funciona como una administrador de ficheros y buckets. Es gratis y bastante bueno. Desgraciadamente, en estos momentos (Enero de 2010) no hay una versión para Firefox 3.6
     
    S3FM
     
    Esta es una herramienta online escrita en flash. Tal vez sea la ideal para empezar.
     
    CloudBerry S3 Explorer
     
    Los que hemos vendido nuestras almas inmortales al demonio de Redmond tambien tenemos esta otra opción que es gratis. Creoq ue también existe una version para Solaris, pero no estoy seguro.
     
    ¿Cómo bajar los ficheros que están en Amazon S3?
     
    Esto es algo que suele despistar al primera vez. Amazon S3 te tiene que generar una url para cada fichero. Para obtener esa url, , por ejemplo usando S3Fox, basta con hacer click con el botón derecho en el fichero y seleccionar "CopyURL to Clipboard".
     
    Las urls tendrán una pinta similar a ésta:
    http://nombre_del_bucket.s3.amazonaws.com/carpeta/nombre_del_fichero
     
    Recursos sobre Amazon S3
     
    Foro de Amazon S3: Mucha información útil, pero en Inglés.
  • Recomendaciones de administradores de archivos: http://superuser.com/questions/28510/best-amazon-s3-file-manager-utility
  • Boto: Módulo python que permite manipular casi todos los servicios de Amazon Web Services, incluido Amazon S3.

  • Amazon liberará el Kindle a otros desarrolladores

    Amazon distribuirá un "developer kit" para Kindle
     
    Hace ya tiempo que le tengo echado el ojo al Kindle de Amazon, y tengo pensado comprarme uno encuanto suba el "Tourmalet" de enero.
     
    Cada vez tengo más libros que ocupan más y más espacio en mi casa. Por si fuera poco, los libros de informática cada vez son más mamotréticos y pesados. Al parecer en la industria editorial informática, si pesas menos de dos kilos, no eres nadie...
     
    Si a eso añadimos que ni recuerdo cual fué la última vez que pisé una librería "normal" y que solo me abastezo en  Amazon, sólo por el ahorro en coste de transporte ya compensa dar el salto al Kindle, más aun que ahora (Enero de 2010) ya está disponible fuera de EEUU.
     
    Lo que faltaba para hacer más atractivo el Kindle es precisamente lo que acaba de hacer Amazon: permitir que terceros escriban aplicaciones para él. No se si será por miedo al inminente "tablet" de Apple, pero parece ser que Amazon ha decidido no seguir "monopolizando" el Kindle.
     
    Hay que tener en cuenta que aunque el Kindle utiliza Linux, y por lo tanto Amazon tiene que publicar el código fuente, por lo demás es un dispositivo bastante cerrado y de uso único. Tal vez de ahí, y su elevado precio, venga el relativamente escaso éxito que ha tenido de momento. Al permitir que terceros creen aplicaciones para él, podría transformarse en una interesante alternativa a los tablets o netbooks.
     
    Por lo visto, Amazon ya ha contactado con varios desarrolladores seleccionados, entre ellos ElectronicArts, y un programa más abierto empezará el mes que viene. No estoy muy seguro de que el Kindle sea una buena plataforma para juegos, pero sin duda que el tener todos tus libros accesibles a una aplicación parece prometedor y con potencial.
     
    De momento, poco se sabe sobre el kit de desarrollo,  y se rumorea que estaría basado en Java (¡horror!). Menos mal que nos quedan Jython, Clojure y Scala...