texto:   A-   A+
eliax

Google
El nuevo AJAX Libraries API de Google
eliax id: 4813 josé elías en may 28, 2008 a las 09:18 PM ( 21:18 horas)
Google acaba de lanzar un servicio de muchísimo interés para diseñadores de aplicaciones web, en donde Google aloja las mas populares librerías de funciones para aplicaciones web tipo AJAX.

Inicialmente Google alojaría las librerías de jQuery, prototype, script.aculo.us, MooTools y dojo, las cuales son actualmente entre las librerías mas populares para aplicaciones tipo AJAX en Internet.

A los que no están al tanto, AJAX no es una tecnología en sí, ni una herramienta, ni un entorno de desarrollo, ni una aplicación, sino que mas bien un conjunto de convenciones y estándares que todos se han puesto de acuerdo de manera "por defecto" (contrario a "por comité"), para crear aplicaciones que se ejecutan en un nevegador de Internet, pero que se sienten como si fueran aplicaciones "de escritorio" como las aplicaciones tradicionales de Windows, Linux o OS X.

AJAX es lo que permite que por ejemplo GMail o Hotmail pueda actualizar la página de emails automáticamente sin necesidad de que tu recargues la página o presiones un botón de refrescar. Es lo que además permite que cuando estás escribiendo la dirección de un destinatario que el programa de email te muestre (mientras escribes) los contactos que van combinando con las letras que vas escribiendo en tiempo real. En otras palabras, AJAX ofrece la capacidad de que la página web se comunique "detrás de escena" con servidores de Internet, sin tu tener que refrescar la página web.

Las siglas AJAX significan "Asynchronous JavaScript And XML", sin embargo el nombre no es muy apropiado, ya que XML no es necesario (y en muchos casos es reemplazado por cosas mas sencillas como JSON), y además le falta mencionar que depende mucho de DHTML y de buen manejo del DOM de una página web.

Mini-análisis: Aquí hay mucho mas de lo que se ve a simple vista. Por un lado, muchos se preguntarán, ¿qué gano yo con que Google aloje estas librerías, si yo las puedo alojar en el mismo servidor desde donde ejecuta mi aplicación web? y la respuesta es muchísima velocidad.

Noten que los navegadores modernos cachean (mantienen una copia) de javascript utilizado anteriormente, por lo que si muchas páginas web empiezan a utilizar a Google como el alojador de tales librerías, sería muy posible que para cuando un usuario llegue a utilizar una aplicación en tu servidor que este no necesite descargar la librería de (por ejemplo) jQuery otra vez, ya que la ha descargado previamente desde Google desde otra página web.

Otra cosa interesante es que de llegar esto a una masa crítica, esto haría de estas librerías un estándar por defecto para aplicaciones AJAX, ya que todo desarrollador preferiría utilizar estas librerías para así mejorar considerablemente el tiempo de "arranque" de sus aplicaciones web con tecnologías AJAX.

Pero mas interesante de todo, es que esta es una movida extremadamente inteligente por parte de Google (quien no para de sorprenderme), pues con esto Google no solo logra un estándar por defecto, sino que lo hace por poco esfuerzo, a diferencia de las librerías AJAX de Yahoo que dependen de que Yahoo las mantenga. Y no solo eso, sino que estas librerías ya han sido probadas por su eficacia en millones de páginas web, por lo que hablamos de código de alta calidad.

En otras palabras, como dicho aquí previamente, Google está poco a poco haciendo del Internet una plataforma de programación tan válida como lo es el mismo Windows, Linux o OS X, pero sin las complejidades constantes de programar páginas web "a lo rudo", y con APIs estándares.

Todo esto nos trae de paso algo un poco preocupante: Esto le da un inmenso poder a Google de inspeccionar "lo que pasa en Internet", pues en el momento que cualquier usuario acceda a una página que utilice estas librerías alojadas en Google, este tendrá instantáneamente acceso a saber información detallada del usuario (o mas bien del navegador) que pide tales librerías, como puede ser su dirección IP, el navegador que utiliza, la hora en que hizo la llamada de las librerías, el idioma, etc, información que si Google combina con sus ubicuos anuncios en Internet, puede muy bien seguir un rastro de uso de cientos (o miles) de millones de usuarios en Internet, y de patrón de acceso a tales páginas mismas.

Es muy posible que Google solo piense utilizar esta información para ponernos anuncios que nos gusten mas, y por tanto incitarnos a hacer clic sobre ellos, y de paso seguir aumentando su inmensa fortuna, pero hay que admitir que todo que tenga tanto poder nos debe preocupar un poco. Por ahora confío en Google, pero nunca está de mas ser cauteloso.

Enlace al AJAX Libraris API de Google

A continuación un video en Inglés que te enseña como empezar a utilizar estas librerías en esta modalidad (enlace YouTube)...


autor: josé elías


Google a lanzar Google Friend Connect esta noche
eliax id: 4760 josé elías en may 12, 2008 a las 08:06 PM ( 20:06 horas)
En algún momento esta noche, Google lanzará oficialmente una versión preliminar para un grupo selecto de entidades que probarán la tecnología, que sin duda marcará el inicio del fin de la manera en que los "portales sociales" tradicionales como MySpace, Facebook, Hi5 y otros operan.

Se trata de una tecnología llamada Google Friend Connect, que permitirá que practicamente cualquier persona que administre cualquier página web la convierta en un portal social en sí misma con solo agregar un par de lineas de código en HTML.

Lo que Friend Connect efectivamente hace es permitir que cualquiera cree mini-comunidades sociales en torno al contenido que ofrecen en particular. Por ejemplo, si eliax adoptara a Friend Connect (y es muy posible que así sea), podríamos tener dentro de eliax mismo una comunidad similar a Facebook o MySpace, siendo Google el que mantiene toda la infraestructura tras bastidores.

Lo mejor de todo es que Friend Connect está diseñado no para crear mini-portales sociales aislados, sino que todo lo contrario, la idea es crear un estándar de tal manera que cualquier usuario de Friend Connect pueda visitar cualquiera página web que tenga su propia comunidad, sin necesidad de crear una cuenta nueva como hay que hacerlo para cada nuevo portal social que surge cada día.

Mas interesante aun, es que esto toma ventaja de la tecnología Google OpenSocial de la cual les hablé hace un tiempo atrás, y la cual está siendo adoptada por los grandes en este espacio como el mismo Facebook, Hi5, etc, por lo que si ya tienes una cuenta en cualquiera de esos portales que soporte OpenSocial, vas a poder utilizar ese mismo usuario y clave que ya tienes para acceder a cualquier portal en cualquier página web que contenga el componente de Google Friend Connect, lo que es totalmente genial.

Entre las otras tecnologías que son utilizadas por Friend Connect están OpenID (para identificarte independientemente de donde provengas), oAuth (para saber a cuáles lugares y funcionalidades tienes acceso o no), y OpenSocial (para permitir la creación de componentes visuales que funcionen en cualquier portal social).

Algo interesante a notar es que esta iniciativa de Google envía el mensaje de que ya está pasando el tiempo de uno tener que abrir decenas de cuentas diferentes en varios portales, o de uno ser un esclavo de nuestros propios datos personales en cada portal. Ahora, uno es el que tiene el control de decidir a donde ir con nuestros datos.

Esto obviamente le dará un poder tremendo a Google, pues de proliferar Friend Connect eso significaría que Google sería el que almacenaría nuestros datos en gran medida, si tan solo por ser el primer proveedor de la plataforma Friend Connect, lo que significa que no importa a donde uno vaya, siempre habrán anuncios de Google en donde hacer clic para aumentar mas el tamaño de las cuentas bancarias de esa empresa.

Algo mas a notar es el hecho de un patrón que poco a poco hemos venido viendo, en particular de Google, y es el hecho de que cada vez mas nuestras páginas web contienen menos y menos contenido nativo, y mas y mas contenido de terceros. Por ejemplo, en millones de páginas no son los mismos dueños de tales páginas los que colocan publicidad en ella, sino que estos le proveen un espacio a Google (con un poco de código HTML) que le permite a Google personalizar de manera automatizzda la colocación de anuncios en ese espacio, compartiendo sus beneficios con el propietario de la página.

De manera similar, han surgido miles de "widgets¨(componentes visuales que ofrecen una funcionalidad específica, como proveer el estado del tiempo, proveer una calculadora, o un bloque de notas, o un juego, etc), los cuales aun aparecen en tu página en realidad provienen de otro sitio.

Cuando combinamos todo esto es fácil notar la estrategia maestra de Google: Google planea no solo permitirnos buscar toda la información que deseemos en Internet, sino que además alojar esa información.

Si pensamos un poco mas podemos ver claramente que con agregar el Google App Engine a todo esto, es posible crear no solo websites completos alojados en Google, sino que además websites que entre todos ellos forman una nueva red social a alto nivel por encima de la "web tradicional" compuesta por las páginas web tradicionales, todas controladas por Google.

Ahora, aunque es un poco inquietante imaginarnos que una empresa tenga tanto poder sobre el Internet, el punto que a la vez nos tranquiliza es saber que Google se está asegurando de hacer todo esto con tecnologías lo mas abiertas posibles, lo que nos da a nosotros la oportunidad de migrar desde Google hacia otra plataforma en caso de que Google se torno al lado oscuro de la fuerza, como dirían en la Guerra de las Galaxias...

Nota de prensa oficial de Google

Página web oficial de Google Friend Connect

Actualización 1: En este enlace pueden ver algunas páginas web de ejemplo que incluyen esta tecnología

Actualización 2: En este otro enlace pueden ver mas detalles oficiales sobre Friend Connect

Video de introducción a continuación (enlace YouTube, en Inglés)...


autor: josé elías


Google Earth 4.3 asombra
eliax id: 4706 josé elías en abr 20, 2008 a las 11:19 PM ( 23:19 horas)
Si utilizas a Google Earth, es posible que quieras actualizarte a la nueva versión, la 4.3, la cual aun en "beta" (es decir, aun no es la versión final) ofrece beneficios bien tagibles sobre versiones anteriores.

Lo nuevo es que ahora (dependiendo de la potencia de tu máquina) Google Earth renderiza las imágenes con asombrosa calidad, a veces pareciendo fotografías.

En muchas ciudades hasta se han tomado el trabajo de re-crear conjuntos completos de edificios en muchísimo detalle tridimensional, y como si fuera poco, ahora es posible ver el efecto del sol en la tierra, inclusive poder programar ver un amanecer o atardecer desde cualquier punto del planeta, lo que es particularmente interesante a ingenieros, arquitectos y planeadores urbanos (para ver esta funcionalidad, hacer clic sobre el nuevo icono del Sol que aparece en la barra de herramientas en la aplicación).

Página oficial de Google Earth

Fuente de la noticia

A continuación, un video de la nueva versión (enlace YouTube)...


autor: josé elías


Ganancias de Google aumentan un 30% en Q1 2008
eliax id: 4704 josé elías en abr 20, 2008 a las 07:28 AM ( 07:28 horas)
Google, la estrella actual (junto con Apple) del mundo tecnológico, anunció recientemente que sus ganancias en el primer cuarto de este año (Q1 2008) incrementaron un 30% por sobre el mismo período el año anterior.

Así mismo, sus ingresos para estos primeros tres meses fueron de $5,190 millones de dólares, lo que representa un incremento en un 42% por sobre los $3,660 millones del mismo período del año anterior.

En mi opinión, esta tendencia seguirá, en particular si Yahoo llega a cerrar un acuerdo con Google para que Google sea quien le maneje todo el negocio de publicidad por Internet. Aparte de eso sin embargo, hay muchas razones para que el valor de Google continúe aumentando, tan solo dos de ellas siendo Android y el Google App Engine, ambos proyectos que despegarán para fin de este año.

Fuente de la noticia

autor: josé elías


¿Cuánto gana un empleado en Google?
eliax id: 4687 josé elías en abr 15, 2008 a las 07:25 AM ( 07:25 horas)
Muchas personas se preguntarán, ¿cuánto gana un empleado en Google?, en particular debido a que esa es una de las empresas en donde es mas difícil ingresar, debido a las numerosas pruebas "cerebrales" que le proporcionan a los candidatos para evaluar su forma de pensar.

Google es además una de las empresas mas agresivas en lo que se refiere a contratar pro-activamente (es decir, en vez de tu aplicar, ellos te buscan a ti si conocen de tus talentos), muchos estimando que esa empresa por sí sola en tan solo el último año ha sido responsable en un incremento de un 50% en el salario promedio de un ingeniero en computación en los EEUU.

¿Entonces, cuánto gana un programador en Google? Dependiendo en cuáles oficinas trabaje (ya que el costo de la vida local varía), el salario promedio sería lo siguiente (en dólares estadounidenses):

- En la ciudad de Phoenix - US$174,000 al año
- En la ciudad de California - US$197,000 al año
- En la ciudad de Chicago - US$222,000 al año
- En la ciudad de New York - US$242,000 al año

¡Como pueden observar, los empleados tienen un muy buen incentivo para trabajar duro!

Aparte de eso, Google le ofrece a los empleados:

- US$8,000 anuales para que mejores tu educación, con la única condición de que tu promedio de calificaciones debe ser una "B".

- US$2,000 por cada empleado que refieras a la empresa y que se quede por 60 días.

- US$5,000 para cubrir los costos legales y de adopción para adoptar un niño.

- Y dependiendo de cuanto tiempo tengas trabajando en Google, tus vacaciones pueden sumar hasta 25 días laborables (es decir, alrededor de un mes).

Y como si eso fuera poco...

- Hay mas de 1,000 empleados en Google cuyas acciones de la empresa valen mas de US$5 millones.

- Hay mas de otros 1,000 mas cuyas acciones valen mas de US$1 millón, y eso incluye inclusive a una mujer que da masajes en Google (ya que en Google todos tienen derecho a masajes gratuitos).

- Y aunque no lo mencionan en la fuente, Google también es conocida por ofrecer el entorno de trabajo mas informal de la industria, en donde hasta las mascotas de uno pueden ir al trabajo. Inclusive la comida de la cafetería es gratuita, lo que anima a muchos a quedarse tarde trabajando. Google además exige que no dediques todo tu tiempo a tu trabajo, sino que dediques el 15% de tu tiempo a crear tus propios proyectos, lo cuales son evaluados, y si llegan a construirse y son exitosos, Google te da un super bono y hasta un porcentaje del proyecto. Y además (sí, se pone aun mejor), a las personas que han contribuido al desarrollo de la empresa en una manera brillante (como la mujer que inventó el AdSense en Google), se les otorga un bono especial, que se rumora redondea en los 25 millones de dólares.

Ahora ya saben por qué todo el mundo quiere trabajar en esa empresa, y por qué ha disparado la demanda de ingenieros con talento, incrementando de esa manera el salario promedio en todo el mundo.

Fuente parcial de la noticia

autor: josé elías


Google lanza revolucionario "Google App Engine"
eliax id: 4670 josé elías en abr 8, 2008 a las 09:20 PM ( 21:20 horas)
Google acaba de lanzar una nueva herramienta a la que llama "Google App Engine" ("Motor de Aplicaciones Google") que permite que cualquier persona construya y lance su aplicación en la mismísima infraestructura que Googgle utiliza para crear y lanzar sus propias aplicaciones, es decir, aplicaciones que ejecutan en conjunto con las mismas aplicaciones de Google en sus cientos de miles de servidores distribuidos por el mundo.

Los que tienen tiempo en eliax recordarán que esto es algo que predije algún día Google haría, ya que es la manera de escalar aplicaciones en el futuro. En otras palabras, así como el iPhone y Android están circunnavegando a Windows en el campo de interfaces de usuario y tecnologías móviles, de la misma manera el Google App Engine circunnavegará a Windows en la construcción del motor de aplicaciones tipo servidor.

Con el Google App Engine, será posible crear aplicaciones que escalan de manera totalmente automatizada desde uno hasta cientos de millones de usuarios simultáneos, de la misma manera que lo hace el motor de búsqueda de Google, o Google Apps, GMail, o las decenas de otras aplicaciones de Google.

Para lograr esto, no solo tendrás acceso a los cientos de miles de servidores de Google, sino que además a las tecnologías que toma ventaja de ellos de manera eficiente, como es GFS (el Google FileSystem), que es un sistema de fichero de archivos totalmente distribuido, o Bigtable, que es un sistema totalmente distribuido para almacenar y buscar datos de manera rápida. Además, tendrás acceso a los APIs de programación de Google para hacer cosas como autenticar usuarios o enviar emails.

Todas estas herramientas están disponibles con un SDK (Kit de Desarrollo de Software) que puedes descargar gratuitamente, que te permite no solo desarrollar aplicaciones localmente, sino que probarlas en tu misma máquina antes de subirla a los servidores de Google. El SDK funciona con Windows, OS X o Linux, y es solo 2.4MB.

Inicialmente, Google le dará acceso a ejecutar aplicaciones a las 10,000 personas que apliquen primero (es gratuito), ofreciendo solo 500MB de almacenamiento, 10GB de ancho de banda por día, y 200 millones de megaciclos de CPU por día (estos límites se eliminarán en la versión final), lo que según Google es suficiente para probar con aplicaciones que ofrezcan unas 5 millones de páginas web por mes, por usuario (¡como si fuera poco!).

Noten que esta es una versión "de muestra", pues el Google App Engine aun está en desarrollo para su consumo masivo en entornos de producción público. Google lo que desea por el momento es retroalimentación de los primeros usuarios para ayudar a definir y refinarlos APIs y funcionalidades del Google App Engine.

En un futuro artículo les dejaré saber mis impresiones y análisis sobre el Google App Engine. Por ahora les digo que esta es una de las tecnologías mas revolucionarias en tiempos recientes, y si las herramientas resultan ser lo suficientemente amistosas, es posible que esto califique como una plataforma que pueda establecer un estándar por defecto para el desarrollo de aplicaciones distribuidas por Internet.

Página oficial del Google App Engine

Anuncio oficial sobre el Google App Engine y breve introducción (en blog oficial)

Introducción técnica al Google App Engine

Enlace al SDK del Google App Engine

Guía para escribir tu primera aplicación para el Google App Engine

Documentación técnica del Google App Engine

Foro de Discusión para usuarios del Google App Engine SDK

Agrégate a la lista de espera después de los primeros 10,000 en este enlace (sí, ya los primeros 10,000 lugares están ocupados)

Ejemplos de aplicaciones creadas con el Google App Engine

A continuación, un video de cuando esto fue presentado al mundo por primera vez (en Inglés, enlace YouTube):


autor: josé elías


Google Docs adopta a Google Gears - Se puede utilizar sin Internet
eliax id: 4642 josé elías en abr 1, 2008 a las 11:49 AM ( 11:49 horas)
Google Docs (el conjunto de aplicaciones sencillas estilo Office de Google, que te permite crear documentos estilo Word, Excel y Powerpoint desde casi cualquier navegador de Internet), acaba de adoptar a Google Gears (el plugin para tu navegador que permite que aplicaciones se ejecuten sin conexión a Internet), poniendo ahora a Google Docs en competencia mas directa con Microsoft Office.

Con esta combinación, ahora será posible acceder a Google Docs desde un navegador, aun no haya conectividad a Internet. Incluso podrás acceder a tus documentos, los cuales estarán almacenados tanto localmente dentro de la base de datos de Google Gears, como en Internet, sincronizándose ellos mismos sin intervención humana.

Esto significa que no solo puedes trabajar de manera "local" en documentos tipo Word, Excel o Powerpoint, al igual que Office, pero también que lo puedes hacer desde una máquina totalmente diferente que esté conectado en otro punto en Internet.

Inicialmente Google lanzará la nueva versión con soporte inicial para documentos tipo Word, y eventualmente para el resto de los otros tipos. Los primeros usuarios podrán empezar a utilizar Googlw Docs en esta modalidad en las próximas semanas.

Noten que Google Docs no ofrece toda la funcionalidad que Office, ya que al menos por ahora está orientado mas a documentos relativamente sencillos, pero que da la casualidad es lo que el 80% de las personas hacen con Office de todas maneras. Así mismo creo que hay que pulirlo un poco mas, pero no hay duda que aun en su versión actual es útil para aquellas empresas y personas, que deseen estandarizarse en una plataforma a un bajo costo y que no tengan la necesidad de todas las funcionalidades avanzadas.

Ahora esperemos que Google Gears llegue también a GMail...

Finalmente, noten que si tienen una cuenta con GMail, que ya tienen acceso a Google Docs sin tener que abrir una cuenta.

Fuente de la noticia

Página oficial de Google Docs

Anteriormente en eliax:

Google Gears - aplicaciones web sin conexión a Internet

El nuevo Google Docs & Spreadsheets

Video de la integración de Google Docs con Google Gears en acción (enlace YouTube)...


autor: josé elías


Google "pierde" (y gana) subasta de los 700MHz
eliax id: 4616 josé elías en mar 22, 2008 a las 08:56 AM ( 08:56 horas)
Si se acuerdan, hace unos 8 meses les informé en eliax sobre como Google planeaba revolucionar las comunicaciones celulares, aprovechando una subasta que se avecinaba en las bandas de 700MHz que se abrían en los EEUU debido a la cancelación de la TV analógica el próximo Enero del 2009.

Pues resulta que los resultados de la subasta se han hecho a conocer, y Google no fue el ganador de la subasta, sino que los dos grandes ganadores fueron AT&T y Verizon.

Sin embargo, como verán, Google en realidad no perdió como la gente se imaginan.

Sucede que Google había hecho una propuesta a la FCC (la Comisión Federal de Comunicaciones de los EEUU), y de la cual también les informamos en su momento en eliax, en donde le proponía que entraría a la subasta con una oferta inicial de US$4,600 Millones de dólares, siempre y cuando la FCC exigiera que el ganador de la subasta abriera las frecuencias a terceros con ciertos parámetros pedidos por Google.

¿Pues adivinen qué? La FCC tuvo la subasta mas exitosa de su historia, obteniendo $19,120 Millones de dólares, muchos de esos millones ofertados por las empresas telefónicas tradicionales que tenían miedo de que Google obtuviera las frecuencias para efectivamente abrir el mundo de la telefonía celular, a diferencia de los monopolios que son hoy día.

Pero al sobrepasar el límite que Google había sugerido, y que la FCC había acordado, estas empresas ahora han quedado amarradas en un contrato en donde están obligadas a ofrecer 2 de las 4 cosas que Google pidió, las cuales son:

1. Aplicaciones abiertas: Los consumidores deber poder descargar y utilizar cualquiera aplicación de software, contenido o servicios que les de la gana.

2. Dispositivos abiertos: Los consumidores deben poder utilizar un dispositivo de comunicaciones de mano en cualquier red inalámbrica que ellos prefieran.

Lo que es algo sensacional para los consumidores, y para Google también que tiene en mente una gran estrategia para la telefonía celular con Android.

¿Qué significa esto? Que si estas empresas siguen las reglas, y no sacan una excusa para implementar las frecuencias (como por ejemplo, dejarlas inutilizadas o hacer que dispositivos funcionen mal en ellas), que entonces uno podrá instalar cualquier aplicación que le plazca a cualquier dispositivo móvil capaz de ejecutarla, así como podrán comprar un equipo de cualquier fabricante y hacerlo funcionar con cualquier proveedor de servicios celulares.

Esto, aunque solo aplica para los EEUU, todos sabemos la influencia que ejerce la tecnología en ese país al resto del mundo, por lo que solo algo bueno puede salir de todo esto.

Así que quitémosnos el sombrero simbólico por unos segundos, y demos las gracias a Google, por este gran paso que nos acerca un poco mas a liberarnos del yugo de las empresas de telefonía tradicionales.

Nota relacionada: La semana próxima Google planea exponer una propuesta a la FCC en donde explicará que es posible utilizar el llamado "espacio en blanco" que existe entre las frecuencias asignadas a la TV, sin causar interferencia a las señales de TV. La idea es que la FCC ofrezca esas frecuencias a empresas como Google y otras para ofrecer servicios de comunicación móvil totalmente libre de cualquier restricción. Es decir, un verdadero Internet inalámbrico.

Noticia actualizada sobre quienes ganaron la subasta de los 700MHz

Noticia sobre la propuesta de Google de utilizar el "espacio blanco" de la TV



autor: josé elías


Editorial eliax: iPhone vs Android, la batalla se avecina...
eliax id: 4563 josé elías en mar 16, 2008 a las 10:20 AM ( 10:20 horas)
eliaxPrácticamente de la noche a la mañana, todo el desastre que era el desarrollar para plataformas móviles, no solo aparenta haberse ordenado, sino que además polarizado en dos plataformas: La plataforma iPhone de Apple, y la plataforma Android de la OHA (Open Handset Alliance) liderado por Google.

Hasta este momento, yo he sido uno de los que se ha mostrado renuente a desarrollar aplicaciones para plataformas móviles, pues las opciones que tenía eran estas:

- WAP: Una tecnología de páginas web para dispositivos móviles, pero ultra-limitado. Es como desarrollar en HTML para cavernícolas. Aun me sorprendo de la gente que evangeliza esta tecnología que obviamente será dejada en el olvido muy pronto. La ventaja de WAP es que el código en el servidor puede ser escrito en cualquier lenguaje y en cualquier plataforma, pero la experiencia del interfaz del usuario es simplemente abismal y arcaica.

- Windows Mobile: Hay que admitir que es este es uno de los frameworks mas completos y potentes en el mercado, pero en mi opinión es una simple extensión del paradigma de Windows a la palma de la mano, lo cual creo es el camino incorrecto a seguir. No es que Windows Mobile sea malo o no, sino que su paradigma de cientos de menús y ventanas simplemente no es eficiente en un entorno portátil, y el hecho de que el iPhone haya sido tan exitoso con primeros usuarios es testamento de que hay mejores paradigmas para hacer las cosas.

- RIM, Nokia, Palm, SonyEricsson, Symbian. Todos estos ofrecen tecnología propietarias, y sin un rumbo fijo en el mercado. Desarrollar para estas plataformas es un peligro a largo plazo.

- J2ME (Java 2 Micro Edition): Esta plataforma hasta el momento ha sido la mejor opción para desarrolladores, pues es la que menos aísla a los programadores de los miles de distintos celulares y sus peculiaridades. Es esta la razón por la cual hasta el momento ha sido la plataforma dominante en cuanto a desarrollo de aplicaciones, en particular juegos sencillos. Sin embargo, la capacidad de programar de manera genérica evita por lo general que tengas acceso a tecnologías avanzadas en celulares de última generación que aun no son soportadas en la máquina virtual de Java.

El los últimos meses sin embargo, se ha tornado claro que la gran batalla va a ser librada entre dos nuevos contendientes: El iPhone y Android.

Por un lado tenemos al iPhone, el cual uno podría debatir que se ha convertido en el celular inteligente mas popular del mundo, así como el de mayor crecimiento. Su elegante interfaz le ha abierto los ojos no solo al público, sino que a la comunidad de ingenieros de software, quienes ya han creado centenares de aplicaciones nativas y miles de aplicaciones web.

Por el otro lado tenemos al nuevo chico del vecindario, Android, una plataforma que planea ofrecer no solo lo mejor de las tecnologías propietarias, sino que hacerlo de una manera totalmente abierta.

Analicemos ahora los componentes básicos de ambas plataformas y veamos que es lo que tenemos...

Proveedor de la Tecnología
El iPhone es 100% Apple, quien lo fabrica y vende. Esto hace que sea bien fácil crear aplicaciones para el iPhone ya que puedes estar seguro que tus programas funcionarán con cualquier modelo del iPhone, ya que son todos virtualmente idénticos.

Android, por otro lado, es un conjunto de especificaciones y código de referencia y no un producto en sí, por lo que cualquiera puede desarrollar un celular inteligente con tecnología Android, lo que significa el riesgo en un futuro de que una aplicación no funcione exactamente igual entre un celular y otro. Sin embargo, aparenta que la OHA y Google han pensado bien esto y nos aseguran que ese no debería ser el caso, aunque esto solo lo sabremos en la práctica cuando tengamos celulares con los cuales comparar.

Sistema Operativo
Apple utiliza el mismísimo corazón del sistema operativo OS X que utiliza en sus Macs de escritorio y portátiles, lo que lo hace no solo bien estable, sino que bastante potente. En el iPhone el sistema operativo es totalmente cerrado y controlado solo por Apple.

Android utiliza a Linux como su sistema operativo base, y a Java como su punto de acceso con APIs, lo que es una excelente combinación, ya que provee la estabilidad y flexibilidad de Linux, con la elegancia y facilidad de programación de Java.

Lenguaje de Programación
iPhone es programado con Objective C, un lenguaje tipo C, orientado a objetos, cuya elegancia es comparable a la de Java. El nuevo SDK permite acceso a los APIs del sistema operativo, pero no a modificar el sistema operativo mismo.

Android es programado en Java, pero dependiendo del proveedor, es posible programar directamente en C o hasta en Assembly, pero no es recomendado. El proveedor (es decir, el que fabrique un celular Android) tiene acceso completo al sistema operativo y puede no solo crear drivers compatibles con el API de Android, sino que hasta nueva funcionalidad si lo desea.

Interfaz de Usuario
Hasta el momento, el interfaz nativo del iPhone aparenta ser el mas elegante e intuitivo. Este se programa con una versión multi-toque de Cocoa (el módulo de interfaz gráfico de OS X) llamado Cocoa Touch con Objective C. En cuanto a aplicaciones tipo web, se utiliza HTML con técnicas estándares de AJAX.

En cuanto a Android, para aplicaciones nativas se utilizan componentes nativos que exponen sus APIs a Java, y el grado de complejidad es similar al del iPhone. En cuanto a aplicaciones web, aparte de soportar HTML y AJAX, pueden estar seguros que debido a su arquitectura abierta que pronto podremos también contar con Google Gears, lo que significa aplicaciones web que se pueden utilizar de manera desconectada del Internet, lo que es una gran ventaja.

Navegador de Internet
El iPhone utiliza una versión especial del mismo Safari que se utiliza en el OS X de las Mac, y es bien asombroso en su funcionamiento y renderizador visual. Sin ni siquiera la menor duda es el mejor navegador de Internet en una plataforma móvil en estos momentos.

En cuanto a Android, sucede que utiliza el WebKit, que aunque pocos lo sepan, es el motor interno de renderización en el cual está basado Safari en el iPhone, por lo que pueden esperar una experiencia similar en el despliegue de páginas web. En android, sin embargo, será posible tener acceso en un futuro a páginas con objetos Flash y Java, debido a la arquitectura abierta de Android, así como a navegadores alternativos como Firefox u Opera.

Librerias de APIs
Ambas plataformas ofrecen un juego de librerías de APIs bastante completo, sin embargo en Android es posible tener acceso mas bajo al sistema operativo, así como a dispositivos externos conectados por puertos de expansión de todo tipo.

Restricciones
En el iPhone todas las aplicaciones se descargarán por el App Store de Apple, y ya que Apple controlará esta tienda por Internet, hay muchas restricciones que tendrá. Por ejemplo, no se permitirán aplicaciones de VoIP (telefonía por Internet) sobre redes celulares, sino que solo sobre redes WiFi, lo que significa adiós a la utilidad de Skype. Tampoco se permitirá aplicaciones que interpreten código (es decir, adiós a navegadores que compitan con Safari, y a programas que utilicen Javascript o que descarguen objetos ejecutables en demanda, entre otras cosas).

En Android, ninguna de estas restricciones aplican, y al contrario, toda la plataforma fue diseñada con amarres que permite que uno defina un módulo por otro (como puede ser, declarar un navegador de Internet alternativo como el preferido sobre el que viene instalado).

Facilidad de Uso
El iPhone ofrece una experiencia de fácil uso sin paralelo en el mercado, pues ya que Apple controla todo, hay para todo lo que quieras hacer una sola manera de hacer cualquier cosa. Eso significa que es muy fácil sincronizar tu iPhone a tu PC, o comprar canciones, videos y aplicaciones por Internet.

Android, por otro lado, no especifica cómo se deban hacer cosas básicas como sincronizar datos o obtener otros módulos o media por Internet, por lo que dependerá del proveedor ofrecer una experiencia placentera, y como ya sabemos, pocos hacen un trabajo cercano al que hace Apple. Sin embargo, esperen que eventualmente surjan maneras de hacer tales cosas que se conviertan en estándar por defecto (como lo hizo Installer.app en el iPhones desbloqueados), pero para eso falta un tiempo y no hay garantías.

Rapidez y ventajas de desarrollo
El iPhone ofrece un SDK que es asombroso, que incluye un simulador, un debugueador y diagnosticador remoto, y un creador de interfaces gráficos. Su gran limitante: Requiere una Mac con OS X para desarrollar. Sin embargo, es mas fácil utilizar estas herramientas que en el caso de Android.

Android por otro lado, ofrece un SDK que es mayoritariamente dependiente de un IDE externo como Eclipse. Sin embargo, ofrece un excelente simulador y tiene interfaces para debugear remotamente. Además funciona en varias plataformas. Por ahora su limitante es que no ofrece una manera gráfica de crear interfaces de usuario, aunque se espera que terceros ofrezcan tales herramientas.

Costos de desarrollo
En el iPhone el SDK es gratuito, pero si quieres publicar aplicaciones para el iPhone en el AppStore, el costo es US$100 dólares anuales. Así mismo, si no tienes una Mac, tienes que considerar el costo de una Mac para desarrollar.

El SDK de Android es totalmente gratuito y sin restricciones en cualquier plataforma.

Soporte para desarrolladores
Apple será quien dará el soporte primario tanto al iPhone como a las herramientas de desarrollo y la documentación, aunque se espera que surjan portales de terceros que formen comunidades de programadores.

En cuanto a Android, Google, el OHA y la misma comunidad serán los que provean todos estos servicios de soporte, y sin duda surgirán empresas que ofrecerán sus servicios comerciales equivalentes a los de Apple, así como comunidades de programadores en portales públicos por Internet.

Disponibilidad de Software de terceros
El iPhone disfruta de una buena selección de software por la comunidad de hackers que han desbloqueado al iPhone, y pueden estar seguros que muchas de esas aplicaciones saldrán en el oficial App Store en Junio junto con el firmware 2.0, por lo que el iPhone tiene un buen futuro como una plataforma sólida con una saludable selección de programas. Además, Apple se ha esforzado en invitar a muchas empresas comerciales para que creen programas para el iPhone, y muchas han respondido favorablemente, como son EA (Electronic Arts), SEGA, SalesForce, etc. Según Apple, en los primeros 4 días de poner el SDK en Internet, la descargaron unas 100,000 veces.

Android, por su parte, también aparenta que tendrá una buena selección de software cuando salga al mercado, en particular debido a lo sencillo que ha resultado programar para la plataforma con el SDK beta de Android. Sin embargo, aun no sabemos de los planes secretos de empresas comerciales para esta plataforma, aunque pueden estar seguros que muchos tienen a Android en sus miras, y es posible que veamos anuncios al respecto cuando empiecen a surgir los primeros modelos de celulares inteligentes con Android a fin de año. Además, es muy posible que la comunidad del Software Libre apoye mas a Android que al iPhone, debido a su naturaleza abierta. Según Google, a la fecha el SDK de Android se ha descargado mas de 750,000 veces desde que se anunció oficialmente hace un par de meses.

Futuro y garantía de inversión a largo plazo
Con el iPhone el futuro está bien asegurado, pues Apple planea tener al iPhone soportado por un buen tiempo, y el hecho de que ha sido un éxito de ventas y aceptación tan sensacional significa que estamos en una sociedad a largo plazo con el iPhone.

En cuanto a Android, aun no podremos comprar celulares Android hasta finales de este año o inicios del próximo, por lo que habría que esperar a ver su aceptación por el público. Sin embargo, el hecho de que Google esté respaldando a Android con todo lo que tiene, y que varias de las empresas fabricantes de celulares del mundo planea soportar la plataforma, aparenta significar que Android tiene un buen futuro por delante, pero no podemos cegarnos y hay que aceptar que el iPhone le lleva una muy buena delantera.

Potenciales Clientes de Aplicaciones
Ya existen mas de 4 millones de usuarios del iPhone, y para cuando salgan los primeros dispositivos de Android al mercado es muy posible que ya existan 10 millones de iPhones en el mundo, por lo que al menos al corto plazo es mucho mas rentable ofrecer software para la plataforma iPhone.

Sin embargo, debido a que Android será ofertado por muchísimos mas proveedores que el iPhone, y en mas mercados, es posible que Android alcance al iPhone en ventas en un par de años, y después hasta lo sobrepase.

Aplicaciones Especializadas
Si deseas crear aplicaciones que no son tradicionales, el iPhone es limitado a solo las capacidades que Apple te ofrece en sus APIs, pues no tienes acceso (al menos por el momento) ni siquiera al puerto de expansión del iPhone (aunque con ingenuidad nos podemos imaginar integrar equipos externos via WiFi o quizás Bluetooth).

Si lo que deseas es crear aplicaciones especializadas, como puede ser integrar lectores de código de barra y RFID, la mejor opción es claramente Android, ya que permite integrarse con todo, de una manera totalmente abierta. Si no existe algo, lo creas tu mismo y lo integras. Es posible que debido a esto Android sea mas adoptado que el iPhone en aplicaciones industriales.

Facilidades nativas
Todo iPhone, como muchos saben, viene con ciertas particularidades asombrosas, como son un acelerómetro, gráficos en 3D, un sensor de proximidad, un sensor de luz ambiental, una pantalla fenomenal, y un sistema multi-toque para interactuar.

Por el otro lado, Android tiene soporte para todas estas tecnología popularizadas por el iPhone, pero no son obligatorias a ser implementadas en todos los celulares Android. Esto significa que los programadores no deben contar con que todo dispositivo tenga estas facilidades, aunque sí tienen manera de saber cuando no están presentes, y de aceptar maneras alternativas de interacción. Esto, aunque puede ser una restricción, también significa que a largo plazo Android podría soportar mas tecnologías que el iPhone, como puede ser soporte nativo para GPS.

¿Qué significa todo esto?
Por si no lo han notado aun al leer todo lo anterior, no es fácil elegir una plataforma sobre otra en estos momentos, pues es muy posible que ambas triunfen a largo plazo. A corto plazo si deseas hacer dinero vendiendo aplicaciones, la opción es clara con el iPhone, el cual ya tiene millones de potenciales clientes a los cuales le puedes vender tus creaciones.

Si por otro lado tienes una idea revolucionaria que está limitada por la restricciones de Apple con el iPhone, entonces Android es tu mejor opción.

Para cualquier otro uso, por ahora es mejor considerar ambas plataformas. Una opción interesante para soportar a ambas plataformas se hará evidente muy pronto (en Junio posiblemente) cuando Sun termine de implementar a Java para el iPhone. Sin embargo aun hay dudas si las restricciones legales que Apple ha impuesto en el iPhone permitan que Java se implemente en ese dispositivo, pero de ser posible, eso significaría que con un poco de organización sería posible crear programas que funcionen en ambas plataformas, siempre y cuando aísles el código nativo de cada plataforma en librerías de funciones que se compilen para cada plataforma en particular.

Esto también se haría mas fácil de lo imaginado ya que según Sun, la implementación de Java para el iPhone tomará buena ventaja de sus particularidades nativas (como podría ser el acelerómetro, gráficos 3D, etc). Pero como toda nueva tecnología, hay que esperar y ver para probar lo práctico de todo esto.

Ahora unas últimas palabras de reflexión...

Mucho dirán que no deberíamos soportar a Apple y su iPhone debido a que lo único que busca es mantener control absoluto de la plataforma, manteniéndola cerrada y siguiendo sus reglas. Sin embargo, hay que entender que a diferencia de muchas otras empresas que crean tecnologías cerradas, Apple lo hace con una elegancia y utilidad tal, que para una gran parte de los usuarios simplemente no les importa que la plataforma sea cerrada o no.

Es como si uno viviera en una cárcel, en donde siempre y cuando uno siga las reglas, a uno lo traten como a un rey, ofreciéndole a uno lo mejor de lo mejor, televisores de gran tamaño, lujosos automóviles, casas hermosas y elegantes, y la mejor educación posible. La única restricción es que no puedes salir de la cárcel, pero si estás feliz con todas las comodidades que te ofrecen, es muy posible que muchos decidan quedarse, y eso es precisamente lo que ocurre con el iPhone.

Por el otro lado, Android te ofrece toda la garantía de libertad del mundo, pero a cambio de que trabajes para poder tomar ventaja de esa libertad. Es muy parecido a la opción de la píldora roja o azul que Morfeo le hizo a Neo en la película The Matrix, y no crean que filosóficamente una opción sea mejor que otra, pues influye mucho el punto de vista.

Yo particularmente prefiero la libertad de Android, pero tampoco puedo negar la elegancia, facilidad y utilidad que Apple me ofrece en el iPhone, pero creo que Apple debe tener mucho cuidado con tratar de mantener el iPhone muy controlado, pues de ser así se arriesga a que la industria deje atrás al iPhone, de la misma manera que hace un par de décadas dejó atrás a la Mac en favor de la libertad que ofrecía Windows en ese entonces (y los resultados se hicieron evidentes).

Y noten que al final ni Apple ni Google serán los que ganarán mas con esta guerra que se avecina, sino que nosotros, los consumidores, que seremos beneficiados por los avances que ambas plataformas tratarán de implementar en cada nueva generación de dispositivos para ganarse nuestras mentes, corazones y billeteras...

autor: josé elías


Google queda anonadado por búsquedas desde el iPhone
eliax id: 4447 josé elías en feb 15, 2008 a las 10:27 AM ( 10:27 horas)
Google acaba de anunciar que se ha quedado con la boca abierta al hacer un análisis de los patrones de búsqueda por dispositivos móviles, y descubrir que el iPhone se utiliza 50 veces mas que cualquier otro dispositivo móvil en el mercado, para hacer búsquedas en Google.

Dice Google que tuvieron que enviar a sus ingenieros a verificar los datos otra vez para ver si estaban correctos, pues no creían los resultados inicialmente.

Afirman que debido a esto, es muy posible que en los próximos años, acorde la competencia (incluyendo Google Android) desarrolle navegadores de Internet con la capacidad de Safari en el iPhone, que las búsquedas desde dispositivos móviles sobrepasen las búsquedas desde computadoras personales y laptops.

Yo al menos soy un contribuyente a esos datos, pues es cierto que el iPhone hace sumamente sencillo buscar en Google, pero mas importante aun, poder ver las páginas que son ofrecidas como resultado.

También es importante notar algo importantísimo en esta noticia: Noten que el iPhone es un dispositivo reciente, y que en el mundo actualmente existen decenas de millones de dispositivos móviles con capacidad para navegar el Internet (desde dispositivos con Windows Mobile hasta dispositivos de Sony Ericcsson, Nokia y Palm), por lo que el hecho que aun así el iPhone se utilice 50 veces mas para hacer búsquedas por Internet que otros dispositivos, nos dice claramente que la gran mayoría de las personas no utilizan esos otros dispositivos para su navegación a diario del Internet, y que el iPhone es sin lugar a dudas la primera plataforma que verdaderamente a puesto el Internet en nuestras manos.

Fuente de la noticia

autor: josé elías


Tráfico a Google desde el iPhone en 2007 fue asombroso
eliax id: 4322 josé elías en ene 15, 2008 a las 11:17 AM ( 11:17 horas)
Según datos suministrados por Google a el New York Times, el iPhone eclipsó a todos los otros dispositivos móviles de Internet durante el 2007.

Lo asombroso del caso es que aunque dispositivos con el sistema operativo móvil Symbian representa casi el 63% de los dispositivos móviles vendidos hasta el momento en el mundo, el iPhone, con tan solo el 2% del mercado, eclipsó no solo a Symbian en las navidades del 2007, sino que a todos los otros dispositivos combinados.

Esto se debe sin duda a Safari en el iPhone, el cual es sin duda el primer navegador de Internet "real" en la palma de la mano (lo único que le falta para ser perfecto es soporte para Flash).

Noten que según el artículo, muchos otras páginas web populares reportan lo mismo, y eliax es uno de ellos, pues para que tengan una idea, el iPhone ya es la quinta plataforma de acceso a eliax mas popular (los primeros cuatro son Internet Explorer, Firefox, Mozilla y Opera).

Fuente de la noticia

autor: josé elías


Chatea con un robot de Google que te traduce lo que escribes
eliax id: 4218 josé elías en dic 20, 2007 a las 09:31 AM ( 09:31 horas)
Alguien ha descubierto un interesante truco on GTalk/GMail que te permite agregar un usuario especial que en realidad no es una persona, sino que un robot en software que lo único que hace es respondente lo que escribes pero traducido a otro idioma.

Para accederlo, simplemente agrega estos usuarios en GTalk:

en2es@bot.talk.google.com -> Para traducir del inglés al español.

es2en@bot.talk.google.com -> Para traducir del español al inglés.

Nota que puedes traducir entre varios otros idiomas, simplemente tienes que notar el patrón del nombre del usuario (por ejemplo, en2es significa "ENglish a ESpañol". En la página a donde te enviamos verás las otras posibles combinaciones.

¡Gracias a Emmanuel Bretón por el enlace!

Fuente de la noticia

autor: josé elías


Las 10 cosas mas buscadas en Google en el 2007
eliax id: 4165 josé elías en dic 6, 2007 a las 08:37 PM ( 20:37 horas)
Google recientemente anunció que entre las miles de millones de cosas por entre las cuales las personas buscan en Internet, ha sacado los 10 términos de búsqueda de más rápido crecimiento en el 2007, y los resultados son (como verán, hay algunas sorpresas):

1. iPhone
2. Webkinz
3. TMZ
4. Transformers
5. YouTube
6. Club Penguin
7. MySpace
8. Heroes
9. Facebook
10. Anna Nicole Smith

Una de las varias fuentes de esta noticia

Otra fuente (Reuters)

autor: josé elías


Plataforma Google Android - Introducción de alto nivel
eliax id: 4094 josé elías en nov 13, 2007 a las 09:24 AM ( 09:24 horas)
Desde que salieron los documentos técnicos ayer sobre Android, he estado bien ocupado leyendo documentación técnica, viendo videos, entendiendo, descifrando, y creo que ya puedo escribir algo con mas sustancia al respecto, que creo le será útil a los interesados en esta plataforma.

Antes de empezar quiero decir que he quedado sorprendido con la arquitectura, su elegancia y su extensibilidad. Los ingenieros de Google definitivamente hicieron su tarea antes de lanzar esto al público.

A continuación les presento entonces una introducción de alto nivel que servirá como punto de despegue para los interesados, pues lo cierto es que navegar toda la información que salió ayer y digerirla y entenderla no es cosa fácil, en particular si eres un desarrollador joven con poca experiencia. Nota que trataré de escribir lo mas claro posible con el propósito de alcanzar la mas amplia audiencia. En un futuro si me animo (y tengo tiempo), tal vez escriba una guía técnica a Android mucho mas profunda.

Primero, ya sabemos que Android es una plataforma para aplicaciones móviles, totalmente abierta tanto para los fabricantes de dispositivos móviles como para los desarrolladores de aplicaciones que funcionan en tales dispositivos.

El núcleo de Android es Linux, mas específicamente el kernel 2.6. A este nivel están implementado todos los drivers de los dispositivos primarios, como son cámara, puertos USB, teclado, etc. El fabricante de un dispositivo puede agregar sus propios drivers, como puede ser un driver para una pantalla sensible al tacto multi-toque al estilo iPhone.

Sobre este núcleo están las Librerías Nativas, que ofrecen funcionalidad básica al subsistema, como son SQLite (una base de datos integrada con soporte para SQL), OpenGL ES (gráficos avanzados en 3D), SSL (cifrado de datos), CODECs de medios (audio, video), etc.

Compartiendo toda esta infraestructura vemos la Máquina Virtual Dalvik, que es en donde ejecutan las aplicaciones que tu escribes. Esta máquina virtual toma archivos en formato .apk, que no es mas que un zip con todos los recursos de tu aplicación (ejecutables, archivos xml, imágenes, sonidos, etc).

Algo curioso es que los ejecutables no son clases de Java, sino que las clases de Java son post-procesadas a un formato llamado .dex (Dalvik Executable, asumo), que no es nada mas que una versión optimizada de los .class que estás impuesto a ver en el mundo Java.

Esta Máquina Virtual tiene acceso tanto a las Core Libraries (que son básicamente las librerías de funciones estándar de la plataforma Java, como son objetos Object, String, etc). En otras palabras, el equivalente a un JDK en Java.

Por otro lado, la Máquina Virtual tiene acceso a lo que llaman Application Framework (o un Marco de Trabajo para Aplicaciones), que contienen mucho módulos (escritos en Java) para el consumo de tu aplicación, como son un Telephony Manager (para hacer y gestionar llamadas telefónicas), un Content Manager (para compartir datos entre aplicaciones, como pueden ser la Agenda de Contactos), y APIs de Mensajería, entre otros).

El nivel superior a todos estos niveles, son tus aplicaciones que ejecutan sobre toda esta infraestructura. Nota que tus aplicaciones son 100% en el lenguaje Java, pero que Android te da acceso a todo el contenido de bajo nivel a través de APIs (que a propósito, son muy flexibles por lo que he visto hasta ahora).

Enfocándonos en las aplicaciones, estas por lo general se construyen en base a 4 "bloques de construcción" básicos (y no tienes que utilizar los 4, sino lo que aplique a tu aplicación). Estos son:

- Activity
- Intent Receiver
- Service
- Content Provider


Activity es básicamente la parte visual de una aplicación. Si escribes una calculadora para Android es posible que solo utilice este bloque, ya que no necesita hacer nada mas.

Intent Receiver es un modelo muy poderoso en Android. Un "Intent" (o una "Intención") es como un evento de la aplicación bien genérico que dice "quiero hacer tal cosa". Una Intención que puede ser generada por tu aplicación, por ejemplo, puede ser "quiero enviar un email". Cuando tu aplicación genera esa Intención (muchas de las cuales están pre-definidas, como lo es esta), Android trata de encontrar la aplicación registrada mas apta para manejar esa intención, en cuyo caso sería la aplicación de Emails por defecto.

Service no es nada mas que el equivalente a un Servicio (en Windows) o un Daemon (en UNIX/Linux), que ejecuta "tras bastidores" sin interfaz gráfico, y posiblemente por largos períodos de tiempo, durante el cual puede generar eventos específicos a tu aplicación.

En cuanto a un Content Provider, no es nada mas que un servicio que le ofrece la capacidad a tus aplicaciones de comunicarse con otras de manera interna a Android. Para los técnicos, esto es parecido a inter-process communication, pero mas sofisticado, mas simple y mucho mas elegante.

Sobre el tema de la seguridad, hay muchísimos niveles. Primero está al bajo nivel, manejado por las facilidades estándar de Linux, que requiere permisos de acceso para archivos, usuarios, servicios, etc. Al alto nivel, está manejado en Java, que se encarga de la integridad del código, del sistema de acceso, y de aislar una aplicación de otra.

En niveles intermedios Android maneja también (con una combinación de los bajos y altos niveles) temas como Memoria Protegida, una aplicación por proceso, gestión de procesos (para que por ejemplo un proceso intensivo al CPU no capture todo el tiempo del dispositivo), así como un sistema basado en XML (que empacas con tu aplicación) que pide permisos explícitos para los servicios que deseas acceder en el dispositivo, y que el usuario debe ceder en el momento de instalar la aplicación por primera vez (esto no lo he visto funcionando ya que no tengo un dispositivo a mano, y en el emulador del cual hablaremos en un momento no noté esa funcionalidad).

En otras palabras, el tema de la seguridad aparenta estar extensamente cubierto, aunque cuan efectivo esto es solo lo veremos en la práctica.

Otra cosa a notar de Android es lo flexible que son los APIs, como un ejemplo está el Location Manager, un módulo que accedes desde Java en tus aplicaciones y que ofrece todo tipo de servicios basados en localización geográfica. Además incluye facilidades para generar eventos los cuales tu aplicación puede recibir para actuar, como puede ser que un dispositivo Android te alerte cuando estés cerca de una estación de combustible basado en el hecho de que estás manejando lejos fuera de casa.

Algo genial del Location Manager (y que demuestra su flexibilidad), es que te ofrece datos de localización de la mejor manera posible que se pueda. Primero trata de darte coordenadas GPS, pero si el dispositivo no soporta GPS (o simplemente no hay señal por alguna razón) este trata de aproximar utilizando antenas celulares por medio de triangulización. Y si eso tampoco está disponible entonces trata de ver si estás conectado a un red WiFi que provea su localización por medio de GPS.

Otra cosa que alentará a muchos es el hecho de que la plataforma es totalmente agnóstica a la tecnología de transmisión de datos (como debe ser), funcionando con dispositivos y redes 2G, 2.5G, EDGE/GPRS, 3G, etc. El fabricante puede elegir lo que desea soportar, y el usuario puede elegir el fabricante a quien comprarle dependiendo de lo que desee.

Una de las grandes sorpresas que me dí con Android es algo que hubiera deseado Apple implementara con el iPhone, y es que hay un servicio que se llama XMPP integrado en todos los dispositivos Android que permite que tu aplicación ejecutando en cualquier dispositivo Android se comunique con otras aplicaciones en cualquier otro dispositivo Android del mundo, formando de esta manera una red p2p (peer-to-peer, o el equivalente a un red "directa entre un usuario y otro") sin necesidad de depender de servidores centralizados que funcionarían de intermediarios.

Obviamente el usuario tiene que aprobar (y querer hacer) esta comunicación, pues de lo contrario sería un caos (como ocurre en Windows con los BotNets). A bajo nivel este mecanismo de comunicación es extremadamente sencillo (lo que lo hace bien poderoso), pues todo lo que se envía con pares de nombre y valor (es decir, algo como "[nombre del blog][eliax.com]"), lo cual es útil bajo cualquier contexto, lo que permite de manera extremadamente fácil escribir programas de chateo, transferencia de archivos, juegos distribuidos, envío de coordenadas geográficas, etc.

Otro servicio bien útil es el Notification Manager, el cual no es nada mas que darle acceso programático a tus aplicaciones de los mensajes que surgen en cualquier momento en la pantalla, como lo hacen los programas de chateo cuando te avisan en tu PC que alguien nuevo acaba de entrar, o como lo hacen algunos programas de email que te alertan cuando llega un nuevo mensaje. Con este servicio tu aplicación puede generar mensajes de la misma manera que los generan las otras aplicaciones nativas en Android.

Este servicio es útil en combinación con otros, ya que por ejemplo, sin importar lo que estés haciendo en tu dispositivo (sea una llamada telefónica, navegando el Internet, etc), donde sea que estés puedes recibir una notificación de que una subasta tuya en eBay esté a punto de cerrar. Así mismo puedes ser notificado de que algún amigo tuyo que posee un Android está en la vecindad de donde te encuentras geográficamente, dándote la opción de llamar en el instante.

Otro servicio útil es el llamado Views (o "vistas"), que no es nada mas que muchas pantallas, elementos gráficos (como Widgets, Gadgets, etc), controles (como cajitas de texto, deslizadores, botones etc) que son útiles para la confección de interfaces visuales.

Noten que para empezar tienes opción a pantallas completas visuales, como son una pantalla especializada pata mostrar lista de cosas de las cuales puedes elegir (como puede ser una lista de contactos, lista de canciones, lista de compras, lista de medicamentos, etc), o puedes crear la tuya propia y poblarla de componentes mas pequeños y detallados.

Algo interesante es que estos componentes son definidos en XML, por lo que es relativamente fácil construir interfaces, y de seguro que surgirán todo tipo de herramientas visuales con el tiempo para crear tales archivos XML de manera totalmente visual.

Una cosa genial es que estos Views fueron creados de tal manera que funcionan con todo tipo de tamaños y formatos de pantalla (sea por ejemplo una pantalla cuadrada o una rectangular como la del iPhone), y que así mismo funcionan con todo tipo de dispositivos de entrada de datos, como son teclados, lápices digitales, palancas de juego, o toque del tacto. Eso significa que cuando una lista de cosas se despliega en la pantalla, dependiendo del dispositivo que tengas, puedes interactuar con esa lista por medio del teclado, o deslizándolas con un dedo, y en ambos casos funciona igual.

Tan genial como eso es el hecho de que por defecto Android te ofrece unos cuantos componentes avanzados que puedes insertar directamente dentro de tus Views. Uno de esos es el Map View, que es básicamente Google Maps pero totalmente bajo tu control y sumamente sencillo de utilizar. Otro es el Web View, que no es nada mas que el renderizador de páginas web que puedes insertar en tus aplicaciones, lo que significa que por ejemplo puedes poner un botón, que cuando el usuario presiona abre un cuadrito dentro de la pantalla que se conecta a Internet y muestra la ayuda de tu aplicación en formato HTML.

Hablando de HTML, el renderizador de páginas web no es nada mas ni nada menos que WebKit, que es exactamente el mismo que utiliza el navegador Safari en OS X tanto en Macs como el iPhone, lo que es una excelente noticia! No sabemos nada de soporte para Flash, pero por medio de un Intent Receiver me imagino que sería fácil que el fabricante de un dispositivo lo provea como una prestación diferenciadora de su producto. Así mismo a Adobe le convendría ofrecer un plugin para este Intent Receiver que todos puedan utilizar para tener acceso por medio de Flash a los millones de dispositivos Android que sin duda se venderán.

Noten ahora algo importante, cuando descargas el Kit de Desarrollo de Android, una cosa que viene con el paquete es un Emulador de Android, que es básicamente un celular virtual dentro de tu PC, en el cual puedes probar tus aplicaciones, hacer llamadas (simuladas obviamente), instalar, debugear, etc. Es tan completo el emulador que puedes utilizar su navegador de Internet para navegar de verdad el Internet, lo que te sirve como una manera desde ya para optimizar páginas web para dispositivos Android, lo que es algo bien genial!

Finalmente, muchos todavía se preguntarán, ¿y qué del iPhone? ¿Puede esto proveer la misma experiencia de usabilidad del iPhone? Y la respuesta es un resonante "si". Aunque los primeros prototipos de Android aparentan celulares del tipo Palm Treo, lo cierto es que tanto en su exterior como en su interfaz gráfico no hay nada que impida que una empresa fabrique algo 100% idéntico o mejor que el iPhone.

Desde ya piensen del iPhone como algo que hace parte de lo que hace Android (o como los llamaremos algunos, el gPhone). Obviamente eso dependerá totalmente de los fabricantes, pero con empresas como Samsung a bordo de la Open Handset Alliance (OHA) no duden que eventualmente veremos dispositivos increíbles basados en Android.

Ahora, espero que este artículo le haya sido útil a unos cuantos, y además espero que algunos se animen a probar a Android, pues voy a predecir desde ahora que si todo lo que promete se cumple, será un éxito sensacional y habrá mucha demanda de ingenieros que sepan programar la plataforma.

Artículo relacionado: Análisis: Google Android y el Open Handset Alliance

autor: josé elías


Google gPhone Android revelado!!!
eliax id: 4072 josé elías en nov 5, 2007 a las 10:29 AM ( 10:29 horas)
Actualización 22: Esto es todo por hoy. Esperen mañana un artículo en donde analizo en mas detalle el OHA (Open Handset Alliance), la tecnología Android de Google, y su impacto en el mercado, en particular lo que significa para los consumidores y el resto de la industria de telecomunicaciones.

Actualización 21: Otro enlace (que lleva al mismo lugar) es android.com

Actualización 20: Información sobre Android en este enlace.

Actualización 19: La página oficial del Open Handset Alliance está en vivo en este enlace.

Actualización 18: Al menos en etapa de desarrollo, se podrán instalar y probar aplicaciones por medio de conexiones USB, en tarjetas de memoria tipo Flash, o por-el-aire (es decir, por el servicio de datos de las empresas celulares).

Actualización 17: Google dice que el interfaz gráfico que interactúa con el usuario será sorprendente, y que estará disponible próximamente como una "vista preliminar" a cualquier desarrollador interesado en aprender desde ahora. Así mismo vendrá con un API (interfaz de programación) bien comprensible.

Actualización 16: Eric reafirma: A diferencia de otras plataformas móviles existentes, esta será 100% abierta, pudiendo cualquier desarrollador de aplicaciones crear aplicaciones para la plataforma, así como cualquier fabricante poder fabricar dispositivos que implementen la especificación. Esto parece un sueño si es cierto...

Actualización 15: Requerimientos mínimos de Android son un procesador ARM9 a 200Mhz (algo típico). Soportará todo tipo de pantallas y formas de interactuar con el usuario (con o sin teclado).

Actualización 14: Confirmado: Android es basado en Linux. Mas detalles dentro de una semana cuando se revele toda la tecnología (asumimos que para entonces se habrá habilitado un Website dedicado a la alianza y la tecnología).

Actualización 13: Dice Eric Schmidt, el Gerente General de Google: "Este no es el gPhone, pero es LA plataforma ideal/perfecta para crear un gPhone".

Actualización 12: Como parte de la plataforma Android, vendrá un navegador de Internet completo, y contrario a lo especulado por algunas fuentes, los usuarios no será sometidos a ver anuncios de Google para utilizarlo (algo que muchos dudamos sería el caso).

Actualización 11: Oficial: La tecnología estará disponible a todos dentro de una semana. Los primeros dispositivos a mediados del 2008.

Actualización 10: Confirmado: La tecnología Android a ser distribuida gratuitamente a todo el que la desee. Licencia Apache open source. ¡¡¡Excelente!!!

Actualización 9: El Gerente General de Qualcomm menciona que han desarrollado tecnología para Android en forma de chips para procesar video, localización (asumimos GPS), y todo tipo de funcionalidades avanzadas que uno espera de estos dispositivos de última generación.

Actualización 8: HTC anunciará su primer celular con tecnología de Google Android a mediados del 2008.

Actualización 7: T-Mobile dice que anunciará su primer gPhone basado en la tecnología Android en el 2008 para los mercados de Europa y los EEUU.

Actualización 6: Confirmado: El "gPhone" en sí no existe (como predije hace un año), sino que mas bien Google espera que todo tipo de empresas cree sus propios gPhones basados en esta nueva plataforma.

Actualización 5: Hasta donde tenemos entendido, la licencia será totalmente abierta al estilo Software Libre.

Actualización 4: También está el gigante de Japón, NTT DoCoMo.

Actualización 3: Mas empresas que anuncian apoyo al Open Handset Alliance son Intel, Samsung, T-Mobile, eBay/Skype, Texas Intruments, Sprint Nextel y LG.

Actualización 2: Se espera que Google anuncie 34 miembros socios del proyecto (ellos siendo uno de esos 34), entre ellos Motorola, Qualcomm y HTC.

Actualización 1: Lo que revelará Google es una plataforma llamada "Android" que por ahora aparenta ser un juego de especificaciones que componen un nuevo sistema operativo móvil, middleware (software intermedio), un nuevo tipo de interfáz gráfico, y un conjunto de aplicaciones.

El gPhone está siendo revelado en estos instantes al mundo. Covertura en vivo a continuación...

autor: josé elías


Google OpenSocial, un revolucionario nuevo paradigma
eliax id: 4062 josé elías en nov 2, 2007 a las 01:07 PM ( 13:07 horas)
Google no deja de sorprendernos. Su última creación revelada esta semana (y sobre la cual me he tomado un par de días para entender, analizar y reportarle a ustedes) se llama OpenSocial, y he llegado a la conclusión que es una de las plataformas que mas van a revolucionar el Internet, dejando su marca para todo el futuro de las aplicaciones que ejecuten sobre este.

OpenSocial (aludiendo a "Sociedad Abierta") es una plataforma de especificaciones técnicas que permiten que portales del tipo "social" (como MySpace, Hi5, Facebook, etc) puedan ofrecer un estándar de programación abierto para los desarrolladores de mini-aplicaciones que ejecutan dentro de ellas.

Esta idea de ofrecer una plataforma de programación para portales sociales no es nada nueva, pues ese concepto fue lo que en los últimos meses ha hecho despegar fenomenalmente en popularidad al portal Facebook (ahora valuado en US$15,000 Millones de dólares), gracias a un entorno de programación propietario que permite que se desarrollen este tipo de aplicaciones.

Lo que OpenSocial quiere hacer, entonces, es copiar el mismo modelo de Facebook, pero en vez de utilizar lenguajes de programación y herramientas propietarias, OpenSocial es totalmente abierto, libre, gratuito, y solo depende de Javascript y HTML.

Una aplicación OpenSocial consiste básicamente de dos elementos primordiales, un "Contenedor" y una "Aplicación". El contenedor es proveído por los portales sociales (como MySpace, o por un portal construido por ti mismo), y las aplicaciones son proveídas por cualquier desarrollador que desee publicar un servicio de interés a los usuarios de estos portales.

Lo interesante es que el contenedor ofrece un API (un interfaz de programación) estándar y bien definido, lo que significa que cualquier aplicación que desarrolles que utilice el API de OpenSocial podrá ejecutar sin ningún problema y de manera nativa en cualquier portal social del mundo.

Esto es algo sumamente potente, pues significa que puedes crear una aplicación con una base de usuarios cerca de los 200 millones de usuarios (lo que se estima utilizan este tipo de servicios) de la noche a la mañana, sin tener que estar programando para 100 diferentes tipos de portales o aprendiendo nuevos lenguajes y herramientas de programación.

¿Qué tipo de aplicaciones se pueden crear? Prácticamente cualquier cosa que te puedas imaginar, en especial aplicaciones orientas a portales sociales. Por ejemplo, puedes crear una mini-aplicación en donde el usuario elige su película favorita y le da su recomendación a los otros usuarios que ha declarado como sus amigos en el portal social (existen APIs para descubrir tus amigos). O puede ser algo tan sencillo como el estado del tiempo en tu ciudad o pueblo (que por lo general no es cubierto en los grandes portales que solo cubren las ciudades importantes del mundo). O quizás un bloque de notas (existen APIs para guardar y acceder a datos de tipos arbitrarios), o tal vez un simple juego de Sudoku.

Por ahora muchos de los grandes portales, incluyendo MySpace ya se han comprometido a soportar al 100% a OpenSocial. El único que por ahora no dice nada es Facebook, que con su tecnología propietaria es posible que se vea amenazado por esta novedad de Google, pero veremos en unos meses como evoluciona todo esto.

Finalmente noten que la versión 1.0 de la especificación no está finalizada, pero ya es posible crear aplicaciones para tenerlas listas cuando el soporte final se presente en los próximos meses en todos los grandes portales sociales. Por ahora OpenSocial va a ser soportado por Engage.com, Friendster, hi5, Hyves, imeem, LinkedIn, MySpace, Ning, Oracle, orkut, Plaxo, Salesforce.com, Six Apart, Tianji, Viadeo, y XING.

Página oficial de el API de Google OpenSocial

Documentación oficial de OpenSocial

autor: josé elías

"Cerrar tu pagina empobrecería la red y me dejaría un hueco en mi diario aprender.

Elías tu espacio es lo más cercano a chatear que he hecho en la vida y lo más cercano a socializar vía red, realmente lo disfruto y me enriquece como persona.
"

por "Cronos" en oct 6, 2013


en camino a la singularidad...

©2005-2025 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax