Archivo de la categoría: Programas & Herramientas

Programas & Herramientas de interés

Sobre la creación de un ambiente para el desarrollo de aplicaciones en Android y el Nexus One

En los últimos días estuve estudiando y analizando cómo crear un ambiente optimo para desarrollar aplicaciones para móviles con la plataforma Android y en especial para el Nexus One.

Cómo es conocido Android (sobre Android en Wikipedia) es un sistema operativo para dispositivos móviles que se basa en un núcleo de Linux.

Inicialmente este sistema operativo fue desarrollado por Android Inc. y luego comprado por Google, creando una Open Handset Alliance con varios manufacturadores de móviles como Motorola y Samsung.

En el transcurso de los años, esta plataforma se ha ido desarrollando rápidamente y con la presentación de la versión 2.1 en el Nexus One de Google, se ha demostrado que Android puede ser la respuesta al iPhone ya que hasta ahora todas las compañías tradicionales de móviles como Nokia o Motorola no lograron alcanzar la funcionalidad del iPhone con sus sistemas operativos convencionales.

1. Motivación
Desde hace varios años atrás, muchos pronosticaban la revolución de los dispositivos móviles e Internet, pero esta revolución se dejaba esperar. En mi opinión, recién ahora con la aparición de este tipo de sistemas operativos, será posible crear dispositivos con una intefaz usable y cómoda para la mayoría de los usuarios. El uso de pantallas multi-táctiles (multitouch) o el uso de pequeños teclados incorporados a los dispositivos móviles ayudará a popularizar estos dispositivos.

Por eso creo que en los próximos años el mercado de las aplicaciones móviles será unos de los motores más importantes para la industria y comercialización de software. Solo basta pensar en esas pequeñas aplicaciones para el iPhone que costando solamente un dólar ya han creado muchos   nuevos millonarios.

Con Android y su plataforma abierta de Open Source, publicado bajo la licencia de software Apache, se abren para los desarrolladores un sinnúmero de posibilidades de crear nuevas e interesantes aplicaciones. Las siguientes imágenes muestran por ejemplo varias herramientas muy útiles que corren en Android 2.1 pero también algunos juegos

Herramientas Android en Android 2.1

Juegos en Android 2.1

Pero Android no solo es interesante como plataforma de software para dispositivos móviles, sino también para nuevos formas de interacción entre usuarios y maquinas, como se puede ver en este ejemplo de una lavadora con un interaz táctil en Android

Lavadora con Interfaz en Android

en un caso-estudio presentado por Touch Revolution.

Por todo esto, creo que apostar al desarrollo de aplicaciones en Android  usando  un modelo SaaS (Software as Service) para que el usuario mantenga y procese sus datos en un servido web o en la llamada «nube» y  los pueda syncronizar y usar en su dispositivo móvil es un modelo de negocio muy interesante y con un gran futuro.

2. Buscando la mejor plataforma de desarrollo para aplicaciones móviles
Debido a que el entrono de Apple siempre ha sido cerrado, y solamente su uso es posible con su hardware propietario, hace que esta plataforma para desarrollar aplicaciones móviles sea descartada.

En cambio Android, que se basa en el núcleo de Linux, que tiene el código fuente abierto y una buena documentación  se adecua mucho mejor para desarrollar aplicaciones móviles de calidad y en forma eficiente.

El siguiente diagrama muestra la arquitectura de Android en detalle

Arquitectura de Android

Y aquí algunas características importantes sobre la plataforma de desarrollo de Android:

  • Kit de desarrollo, el Android Development Kit (SDK) esta en Java y ha sido completamente incorporado al IDE más conocido de Java, Eclipse mediante el Android Development Tools (ADT) plugin. Con este IDE se pueden desarrollar rápidamente y en forma muy confortable apliaciones en Android.
  • La plataforma de desarrollo funciona tanto  Windows, Linux y también Mac lo que posibilita a los desarrolladores usar el sistema operativo de su preferencia.
  • Pero además de Java, también se pueden desarrollar parte de las aplicaciones usando C  y/o C++ y así reusar código ya existente mediante  el Android Native Development Kit (NDK).
  • Buenas herramientas para debbuging o la depuración de los programas (el ADB), así como también emuladores que pueden ser configurados para los diferentes tipos de dispositivos, como se puede observar en la siguiente imagen

Emulador de dispositivos móviles

  • Cómo base de datos nativa, Android usa SQLite que también es muy conocida y usada por los desarrolladores.
  • Una gran cantidad de documentación sobre Android en la red, grandes comunidades de desarrolladores y también ejemplos de código para usarlos como base para nuevas aplicaciones.

Todo estos aspectos posibilitan a los desarrolladores con experiencia en Java y Eclipse crear nuevas aplicaciones para Android con mucha facilidad. Esto  ha permitido la gran aceptación de Android en el mundo de los programadores y contribuirá a su expansión.

Con todos estos antecedentes, ahora solo queda escoger el sistema más apropiado para instalar el Android SDK y todas sus herramientas: Debido a que Java, y Eclipse corren de» forma natural» en Linux, he optado por instalar mi ambiente de desarrollo en Ubuntu.

Los primeras experiencias con el SDK de Android han sido positivas, aunque la instalación del SDK  se puede convertir en un procedimiento más o menos complejo si no se tiene experiencia previa en Java y con Eclipse, ya que existen muchas versiones y variedades de Eclipse.

Una guía completa de cómo instalar Android SDK se puede encontrar  aquí en la página oficial de Android Developers, todo en ingles. Lamentablemente todavía no he encontrado fuentes interesantes en español que traten el tema del desarrollo de aplicaciones en Android.

Ahora Google Reader permite monitorear cualquier página web

Cómo es conocido el RSS (Really Simple Syndication) es el método usado para sindicar nuevos contenidos generados en un sitio web.

Los subscriptores se inscriben mediante los agregadores y estos revisan en forma periodica si existen cambios en el archivo RSS del sitio web y descargan o nuestran en el agregador este nuevo contenido.

El RSS es muy usado en los blogs y permite leer sus contenidos sin tener que visitarlos. Google Reader es uno de los agregadores de feeds más usados, y ahora informan que pueden seguir los cambios de cualquier página web. (ver nota en el blog oficial de Google Reader).

Para realizar la suscripción de una nueva página solamente se debe colocar la URL de la página y en el campo «Adicionar Suscripción» y así Google Reader monitorea cualquier cambio en la página.

Mediante esta nueva  funcionalidad de Google Reader, se puede por ejemplo monitorear cambios en las condiciones de servicio de una web, cambios de precios de productos, etc.

Cabe mencionar que no todas las páginas pueden ser monitoreadas. Por ahora Google Reader puede monitorear páginas en HTML y en ingles. Tampoco puede monitorear contenido que este en iframes o páginas que requieren un registro previo para ser visualizadas.

Si un webmaster desea que su página no sea monitoreda por Google Reader debe colocar en el código de la página

< meta name=»googlebot» content=»noarchive» >

para que la misma no sea gabada en el cache de Google, o restringir el acceso al Googlebot usando el archivo Robots.txt

Open Site Explorer – Una interesante Herramienta para analizar enlaces entrantes y su popularidad

Open Site Explorer

Sin duda alguna, uno de los factores más importantes del posicionamiento de páginas web en el buscador de Google son los enlaces entrantes, es decir todos los links que apuntan a una página web y demuestran a los algoritmos de los buscadores de que la mencionada página es popular, confiable y de interés para sus visitantes.

También el algoritmo original del PageRank se basa en el numero de enlaces que apuntan hacia un página. Hoy en día este algoritmo se ha desarrollado mucho, y no solo la cantidad de los enlaces, sino también la calidad y la popularidad de las páginas que enlazan es muy importante para valorar el PageRank.

Por este motivo es muy importante analizar y monitorear los enlaces entrantes de una web cuando se trabaja en su posicionamiento en los buscadores.

Ya es conocido de que Google, con su función link: solo muestra algunos enlaces y no toda la verdad. En Google Webmaster Tools también existe una lista de los enlaces que apunta a un web, pero lamentablemente no muestran mucha más información. Si se desea analizar estos datos, es necesario descargarlos procesarlos con  herramientas adicionales.

Por eso, una de las únicas fuentes más o menos fiables que se tienen en la red para monitorear y analizar los enlaces entrantes o backlinks es el Site Explore de Yahoo, pero su futuro ahora también es incierto ya que posiblemente Yahoo adoptara la terminología del buscador Bing de Microsoft.

Justamente aprovechando este panorama, SEOmoz acaba de lanzar una herramienta muy interesante, el Open Site Explorer .

Open Site Explorer

Además de mostrar el número de enlaces entrantes, Open Site Explorer también presenta otras métricas interesantes como la autoridad de la página, la autoridad del dominio, el numero de enlaces desde dominios únicos.

Adicionalmente muestra los dominios que enlazan, la distribución del anchor text y un resumen de las métricas de la página y del dominio, como se muestra en las siguientes imágenes

Open Site Explorer

open-site-explorer-04

En la versión como visitante se pueden realizar hasta 3 reportes diarios. En la versión gratuita, previo registro, pueden obtener un numero de reportes ilimitados pero solamente con 1000 enlaces por reporte. En la versión paga, se pueden obtener reportes hasa 10.000 enlaces.

Realmente se trata de una herramienta muy interesante y que puede ser de mucha utilidad para webmasters y SEOs.

Herramienta para analizar el long tail de las búsquedas en Google

Long Tail Keword Tool
Hace ya algún tiempo atrás Google decidió incorporar en las cajas de búsqueda tanto en la página principal como en la de los resultados sugestiones (Google suggest) que ayudan a los usuarios que están tecleando una búsqueda ver lo que otros usuarios también han buscado.

De esta manera, el usuario puede por ejemplo mejorar la ortografía de sus búsquedas así como también ir directamente hacia lo que quiere ver.

Google Suggest ya se esparcido por todos los data centers y en casi todos los idiomas de modo que ya se puede observar que el comportamiento de los usuarios de Google está cambiando.

Ahora ya no solo es importante aparecer en las primeras posiciones del índice para búsquedas competitivas, sino también es necesario aparecer en los resultados de Google Suggest para palabras claves especificas.

Por eso es muy importante analizar todas las combinaciones que puede mostrar Google suggest para una búsqueda y así también posicionarse bien para el long tail.

En el contexto de este análisis, acabo de encontrar una herramienta interesante: Long Tail Keyword-Tool que justamente permite analizar las diferentes combinaciones que aparecen en Google Suggest para una búsqueda determinada.

La siguiente imagen muestra los resultados para la búsqueda games online a 3 niveles de Google Suggest

long-tail-keword-tool-results

Cómo se puede observar la herramienta muestra las combinaciones de las frases más buscadas por los usuarios con relación a games online.

De esta manera se puede analizar hasta una profundidad de 10 a 12 niveles las combinaciones de palabras que son más buscadas. Así pues, con la ayuda de esta herramienta se pude posicionar una página con bastante facilidad para el long tail que genera Google Suggest.

Long Tail Keyword-Tool permite descargar los resultados en un archivo en formato CSV, pero actualmente solamente soporta ingles y alemán.

Según Oracle, MySQL se mantendrá como Open Source

Cómo ya es conocido, Oracle piensa comprar SUN, quién a su vez es dueña de MySQL, la base de datos que se usa en un sinfín de aplicaciones web, como por ejemplo WordPress.

Por este motivo mucha gente y también el creador de MySQL  Michael Monty ha expresado el temor de que Oracle convierta a MySQL en un modelo pago para así posicionar mejor su propia base de datos. Monty ha iniciado una campaña para salvar a MySQL

Pero hoy díá Oracle ha anunciado una promesa a todos los clientes, desarrolladores y usuarios de MySQL que mantendrá la popular base de datos como Open Source y que también actualizará el software así como también la documentación.

A pesar de este anuncio, muchos todavía están escépticos de que Oracle mantenga a MysSQL como Open Source ya que MySQL es la competencia del producto más importante de Oracle y se piensa que lo hará morir poco a poco. Por eso, quieren que MySQL se separe de la empresa y se cree una organización independiente.

Bueno, por ahora parece que el futuro cercano de MySQL  todavía está asegurado, pero nadie se aventura a decir de lo que será en unos 5 años.

Go – Otro experimento más de Google

Un gran numero de los exitosos productos de Google han nacido debido al ingenio y de las necesidades de los ingenieros de Google. Entre estos procutos se cuentan Gmail, Orkut, Reader, etc. o Lively que lamentablemente fue abandonado debido a los ahorros que se hicieron para apalear la crisis.

Ahora, Google presenta un nuevo experimento que se llama GO y es un nuevo lenguaje de programación muy similar a C y Pascal.

Go permite paquetes similares a clases con variables privadas y métodos. pero no permite herencias ni tipos jerarquizados que son constructores comunes en los lenguajes orientados a objetos.

Go conoce por otra parte interfaces lo que permite el uso de funcione polimorfas como las que por ejemplo se usa para sortear listas de objetos de cualquier tipo.

Según la página de Go, sus principales características son:

  • Sencillo
  • Rápido
  • Seguro
  • Concurrente
  • Divertido
  • Open Source

Su sintax se similar a C, por ejemplo el ejemplo clásico en Go

package main
import «fmt» // Paquete de I/O y formateo
func main()
{
fmt.Printf(«Hello World\n»)
}

Go conoce diferente tipos de bytes como por ejemplo unit8, int32, float64 etc así como también los conocidos tipos en C int float unit.

Go también contiene un garbage collector que limpia dinámicamente la memoria que ya no se usa más. Y en vez de los thread, Go usa el método de Communicating Sequential Processes, es decir la comunicación entre procesos secuenciales.

Actualmente Go esta disponible para Linux, OS X. El programa se distribuye solo en fuente y debe ser compilado mediante gcc y bisson.

Goolge lo ha anunciado como un experimento, y solo la comunidad de programadores será la que juzgue si Go es una herramienta potente para crear aplicaciones con valor agregado.

El portal de la Casa Blanca usa Drupal

Ayer se inauguro el nuevo portal de la Casa Blanca, con una apariencia similar, pero con el gestor de contenidos Drupal.

El cambio de plataforma propietaria hacia una de código abierto puede considerarse con un gran impulso a los proyectos de código libre.

Uno de los argumentos que se mencionan para la migración hacia Drupal es la mayor seguridad. Pero a mi parecer va a ser todo lo contrario: Los ataques a sistemas de gestión de contenidos con código propietario son mucho menos frecuentes que los ataques a sistemas de código libre. Solo basta mencionar todos los ataques que recibe WordPress y los parches que se tienen que publicar cada vez para cerrar todo tipo de vulnerabilidades.

Es lógico que existan ejercitos de hackers que buscan vulnerabilidades en los CMSs más conocidos: La cosecha siempre es buena ya que pueden atacar miles de webs. Mientras que casi nadie se interesa por CMSs propietarios.

Ahora, solo falta esperar la primera noticia sobre algún hackeo en el portal de la Casa Blanca…

Herramientas en Labs de Google Webmaster

Google Webmaster Tools esta presentando una nueva sección, llamada Labs (en el menu izquierdo de cada dominio) donde presentarán interesantes herramientas desarrolladas por sugerencia de los usuarios.

Actualmente ya están disponibles 2 herramientas: Detalles de Malware y Explora como el Googleboot.

Mediante Detalles de Malware se puede revisar o monitorear si el dominio en cuestión contiene código malware, es decir código HTML inyectado que puede infectar la computadora del cliente con algún virus o solamente contieniendo enlaces ocultos a páginas pornográficas u otro SPAM.

La herramienta Explora como el Googlebot,  muestra exactamente lo  que el servidor web envia al robot de Google. Acabo de probarlo, y a mi parecer sería más interesante mostrar solamente el texto que ve Googlebot. Es decir, observar como quita todas las etiquetas HTML y qué queda finalmente. De está manera se podría ver la prioridad de los textos y enlaces, así como el valor de los meta tags.

Más detalles en el blog de Google Webmaster Tools.

Google te ayuda a mejorar tu web: La clinica de sitios

También a Google le interesa que tu web sea indexable y que esté saludable ya que indirectamente ellos así pueden pueden presentar resultados relevantes y adecuados a las busquedas de sus usuarios.

Así todos terminan felices: Los webmasters y Google!

Por este motivo, Google esta ofreciendo un nuevos servicio a los webmasters y SEOs: La clinica de sitios.

Solamente debes estar inscrito en Google Webmaster Tools y debes llenar este formulario.

Y aquí el artículo original en el Blog de Google Webmaster: Analizando vuestras webs.