Presentador Virtual e24Presenter
Encuentra usuarios de Twitter en tu ciudad con LocaFollow

votarTwitter no se rinde con la geolocalización

Autor: aartiles | Archivado en: Social Media el día 2/Mar/2010

Si bien la introducción de la opción de geotagging de Twitter parecía que iba a ser una revolución, al final ha quedado en solo un buen intento. Estudios recientes han demostrado que apenas un 0,23% de los usuarios activan la opción de geolocalización de sus tweets. La razón es evidente, no todos queremos que la gente conozca exactamente dónde estamos a cada momento, de hecho ya hay aplicaciones que se aprovechan de toda esta información con muy malas intensiones.

Pero Twitter no tira la toalla, prueba de ello es la adquisición de Mixer Labs y hoy me llega un notición en el grupo de desarrolladores de la API, que se avecinan cambios muy importantes respecto a la geolocalización de los Tweets.

Muchos usuarios no se sienten cómodos al compartir su ubicación exacta, pero si lo estarían compartiendo solo el nombre de la ciudad, provincia o país actual. Y de esto se trata la modificación, ahora los tweets vendrán acompañados con una información más genérica sobre la geolocalización y a la vez más legible para el humano.

Lo que antes era solo un dato de latitud y longitud, ahora sería una partícula de GeoJSON:

?View Code JAVASCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
  "id":9505317221,
  ...
  "coordinates": {
    "type":"Point",
    "coordinates": [-122.40060, 37.78215]
  },
  "place": {
    "country":"United States",
    "country_code":"US",
    "full_name":"SoMa, San Francisco",
    "name":"SoMa",
    "place_type":"neighborhood",
    "bounding_box": {
      "type":"Polygon",
      "coordinates": [ 
        [ 
          [ -122.42284884, 37.76893497 ], 
          [ -122.3964, 37.76893497 ], 
          [ -122.3964, 37.78752897 ], 
          [ -122.42284884, 37.78752897 ] 
        ] 
      ]
    },
    "id":"7695dd2ec2f86f2b",
    "url":"/1/geo/id/7695dd2ec2f86f2b.json"
  },
  ... 
  "text":"Wherever you go, there you are."
}

Se han añadido dos nuevos métodos a la API:

  • geo/reverse_geocode: Con este método dada una localización exacta con longitud y latitud nos devolvería un grupo de lugares para adjuntar al tweet.
  • geo/id/:id: Amplía detalles sobre el lugar obtenido con el método geo/reverse_geocode

Si habéis utilizado GeoAPI antes, basta echar un vistazo a la documentación de estos dos nuevos métodos y veréis que de esto se trataba la adquisición de Mixer Labs.

Con estos cambios Twitter tendrá que cuadruplicar la capacidad de almacenamiento de sus servidores, pues ahora un tweet contiene mucha más información. Este es el salto que muchos estábamos esperando, yo entre ellos, espero que la comunidad tuitera los acepte mejor que la variante anterior y los que desarrollamos aplicaciones geodependientes podamos ofrecer soluciones más exactas.

Alfredo ArtilesSoy Alfredo Artiles, Co-Fundador de equipo24 y e24Presenter. Mi pasión es el AJAX, SEO, SEM y emprender todo lo que se me ponga por delante. Si me necesitas estoy 24x7 en Twitter @aartiles24.

Tags: , , , | 1 Comentario »
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Meneame
  • MySpace
  • Technorati
  • TwitThis

votarCómo hacer un concurso en Twitter

Autor: aartiles | Archivado en: Concurso, Social Media el día 17/Feb/2010

Sin duda las redes sociales constituyen un ecosistema idóneo para realizar concursos promocionales a muy bajo coste. En particular Twitter por su atomicidad y su carácter de tiempo real, nos permite difundir una idea o mensaje con una viralidad inigualable. Sin ir muy atrás el caso Moonfruit, cuyo concurso consiguió en pocos días con el sortero de 10 Macbook Pro que su cuenta @moontweet pasara de 400 a 47mil seguidores.

Aunque de este tema hay para escribir un libro, intentaré enumerar los pasos para planificar un concurso en Twitter e iré dando consejos basados en mi experiencia personal.

1.- Definiendo los objetivos del concurso

Lo primero es definir el objetivo de nuestro concurso para en función de ello elaborar las reglas. Algunos de los objetivos que podemos cubrir con un concurso en Twitter:

  • Conseguir seguidores para una cuenta de Twitter
  • Difundir un mensaje
  • Promocionar una marca o producto
  • Generar Tráfico hacia alguna web
  • Conseguir inscripciones
  • Realizar una encuesta

Recuerda que Twitter sigue siendo una de las redes de moda, por lo que cualquier idea original que pongas en marcha podría tener como efecto secundario un alta repercusión en los medios.

2.- Los premios

Ahora toca definir el premio del concurso, evidentemente a mayor valor del premio mayor repercusión tendrá el concurso. Aunque no solo el valor monetario es importante, también lo es que el premio sea de interés para el público al que dirigimos el concurso. Por ejemplo para promover una cuenta de un equipo de futbol, puede que para sus fans una entrada a un partido importante tenga más valor que un iPad.

Los premios pueden ser físicos como por ejemplo:

  • Merchandise (Camisetas, Gorras, pendrives, etc.)
  • Eventos (Entradas a conciertos, congresos, teatro, etc; vuelos, noches de hotel, cenas)
  • Gadgets (ipods, móviles, etc.)
  • Objetos de más valor, desde un ordenador hasta un coche

O un premio digital:

  • Libros digitales
  • Música
  • Servicios online (alojamiento web, dominios, etc.)
  • Subscripciones a servicios online
  • Cheques regalo, descuentos, promociones especiales para tiendas online

3.- Definir las Reglas del Concurso

Leer el resto de la entrada »

Alfredo ArtilesSoy Alfredo Artiles, Co-Fundador de equipo24 y e24Presenter. Mi pasión es el AJAX, SEO, SEM y emprender todo lo que se me ponga por delante. Si me necesitas estoy 24x7 en Twitter @aartiles24.

Tags: , , , , | 11 Comentarios »
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Meneame
  • MySpace
  • Technorati
  • TwitThis

votarCómo activar Google Buzz en tu cuenta de Gmail

Autor: JB | Archivado en: General, Social Media el día 10/Feb/2010

Para activar Google Buzz en tu cuenta de gmail con firefox descarga la siguiente extensión:

https://addons.mozilla.org/en-US/firefox/addon/59

Una vez instalada elige en Herramientas -> Default User Agent -> Iphone 3.0 como muestra en la imagen:

Default User Agent

Default User Agent

Una vez seleccionado entrar en http://www.google.com/buzz y ya podéis escribir vuestro primer buzz.

Google Buzz

Google Buzz

No sirve para mucho por ahora, pero espero que no tengáis problemas en conseguirlo :D


Tags: , , , , | 5 Comentarios »
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Meneame
  • MySpace
  • Technorati
  • TwitThis

votarSi no apareces en la web en tiempo real NO EXISTES

Autor: aartiles | Archivado en: Buscadores, Social Media el día 8/Feb/2010

“Si tu web no aparece en los buscadores no existe”, una de las frases más utilizadas por los SEOs y personal relacionado con la presencia en Internet para vender sus servicios en los últimos tiempos, y nada más cierto. La entrada en escena de la web en tiempo real, y los acuerdos de Google y Bing con Twitter para introducir resultados en tiempo real en sus SERPs nos obliga a darle un retoque a la frase para dar título a este post:

Si no apareces en la web en tiempo real no existes

No es suficiente con tener una cuenta en Twitter, es necesario saber usarla para sacarle partido. No solo tuiteamos para nuestros seguidores, si tenemos un perfil público nuestros tweets también aparecerán en los principales buscadores de Twitter como:

Aparecerán también en las más de 55mil aplicaciones de Twitter que agregan y consultan nuestros tweets para sacar conclusiones y estadísticas. Pero lo más importante, aparecerán en los resultados en tiempo real mostrados por Google y Bing.

Es bastante conocido que algunas acciones en Twitter pueden provocar que nuestra cuenta sea suspendida, lo notarás fácilmente porque se limitarán tus posibilidades en Twitter y verás un cuadro rojo alertándote cuando entras a tu perfil vía web. Aquí tienes algunos motivos por los que tu cuenta puede ser suspendida:

  • Por el contenido: Suplantación de personalidad, violación de privacidad, violencia, amanezas, violación de derechos de autor, promoción de actividades ilegales, pornografía en los avatares o fondos.
  • Abusos: creación de cuentas en serie, reservar nombres, envío de mensajes masivos, venta de nombres de usuarios, malware, phishing.
  • Spam:
    • Seguir a muchos usuarios en un período de tiempo corto
    • Si el usuario sigue y deja de seguir a muchos usuarios en poco tiempo.
    • Si el usuario tiene un número mayor a quien sigue en comparación con la cantidad de gente de la que el usuario es seguidor.
    • Si las actualizaciones son principalmente enlaces y no actualizaciones personales.
    • Si un gran número de gente ha bloqueado al usuario;
    • El número de quejas por spam que se han recibido en contra del usuario.
    • Si el usuario publica contenido duplicado en múltiples cuentas o múltiples actualizaciones duplicadas en una cuenta
    • Abuso de hashtags
    • Si el usuario envía un gran número de @replies duplicados
    • Si el usuario envía un gran número de @respuestas no solicitadas en un intento de mandar spam a un servicio o enlace
    • Si el usuario utiliza el contenido de otro usuario sin atribuírselo.
    • Si el usuario ha intentado “vender” seguidores.

Para más información consulta las reglas de Twitter.

Pero como decía, si nos suspenden la cuenta lo notaremos enseguida y podremos actuar en consecuencia para conseguir su restablecimiento. Sin embargo hay algunas acciones que no implican la suspensión sino que hace que nuestros tweets no aparezcan en los resultados de búsquedas y si no lo notamos estamos perdiendo todo el potencial de Twitter.

Para saber si tus tweets no aparecen en los resultados de búsquedas de twitter puedes ir a search.twitter.com y escribir la siguiente consulta sustituyendo @aartiles24 por tu nombre de usuario en Twitter.

1
from:aartiles24

Si no aparece ninguno entonces el problema es bien serio y tu cuenta podría estar penalizada, también puedes notar si alguno de tus tweets no aparece y esto es señal de que puedes estar cerca de ser penalizado.

Como todo buscador, Twitter intenta mostrar resultados de calidad, según su documentación:

Twitter filtra los resultados de búsqueda según su calidad. Nuestros resultados de búsqueda no incluyen cuentas, suspendidas o cuentas que pueden comprometer la calidad de la búsqueda Cualquier material que degrade la relevancia de la búsqueda o cause una mala experiencia en la búsqueda de la gente que utiliza Twitter pueden ser permanentemente eliminados.

Algunos comportamientos que pueden penalizar tus tweets:

  • Publicar contenido duplicado repetidas veces o contenido duplicado casi por completo (enlaces o tweets).
  • Abuso de trending topics o de hashtags (palabras con ‘#’).
  • Enviar tweets o respuestas de manera automatizada.
  • Utilizar robots o aplicaciones para enviar mensajes iguales basados en palabras clave.
  • Publicar mensajes iguales a varias cuentas.
  • Seguir y dejar de seguir a usuarios de manera agresiva Volver a publicar contenido público sin atribuirlo al autor.

Debes tener especial cuidado con las aplicaciones de terceros que publican la misma información desde las cuentas de sus usuarios. En mis aplicaciones (followfriday.es y locafollow.com) siempre damos la posibilidad de editar cualquier mensaje automático antes de enviarse y los mensajes son personalizados en función del usuario para evitar estos problemas.

Mucho OJO también con los concursos en Twitter que nos incitan a tuitear el mismo mensaje repetidas veces:

Recuerda que eres responsable de las actualizaciones que publiques en tu cuenta. Si publicas repetidamente o realizas actualizaciones duplicadas casi por completo o enlaces duplicados para entrar en los concursos, puedes ser filtrado y sacado de la búsqueda. Tus seguidores seguirán pudiendo ver tus actualizaciones.

Y si estás implicado en la organización de un concurso en Twitter ten en cuenta todo lo anterior e intenta que las reglas de tu concurso desmotiven las malas prácticas.

Para más información consulta la ayuda de Twitter: No puedo encontrarme en la búsqueda de Twitter

Imagen vía emailmarketingpoint.com

Alfredo ArtilesSoy Alfredo Artiles, Co-Fundador de equipo24 y e24Presenter. Mi pasión es el AJAX, SEO, SEM y emprender todo lo que se me ponga por delante. Si me necesitas estoy 24x7 en Twitter @aartiles24.

Tags: , , , , | 7 Comentarios »
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Meneame
  • MySpace
  • Technorati
  • TwitThis

votarGoogle App Engine bloquea acceso desde Cuba

Autor: aartiles | Archivado en: General el día 3/Feb/2010

Google App Engine (GAE) se ha convertido en un pilar importante en las herramientas que desarrollamos en equipo24. Algunos nos preguntan que por qué no contratamos servidores, como si Google App Engine fuera gratuito, bueno lo es, pero hasta ciertos límites, límites que todas nuestras apps superan y que sí tenemos que pagar y no es que sea especialmente barato.

Pero estamos pagando por una plataforma que nos proporciona una gran estabilidad y escalabilidad comprobada y que nos permite que nuestros gastos de hosting crezcan en la misma medida que el éxito de nuestras apps, si fracasan no pagamos nada, si tenemos tráfico entonces las cosas andan bien y pagamos a gusto.

Tengo muchas ganas de escribir sobre desarrollo para Google App Engine pero no será hoy. Hoy quiero dedicar mi tiempo a quejarme a los señores de Google, esos nuevos amos de Internet que se ganaron el papel de buenos de la peli ante los malos de Microsoft y Apple, esos que dicen oponerse a la censura en China, que apoyan cientos de proyectos benéficos, que defienden el software libre; Pero los mismos que bloquean el acceso a Google App Engine a Cuba, Iran, Libia, Korea del Norte, Sudan y Syria.

Y no me refiero a permitir crear aplicaciones, que podría entender que no lo permitieran para evitar poner sus recursos a disposición de “supuestos terroristas”, pero es que ni siquiera permiten acceder a las aplicaciones creadas, o sea que aplicaciones como followfriday.es o locafollow.com no pueden ser accedidas desde Cuba y en su lugar ven un mensaje como este:

Google App Engine bloquea acceso desde Cuba

Google App Engine bloquea acceso desde Cuba

Your client does not have permission to get URL / from this server (Client IP address: xxx.xxx.xxx.xxx) You are accessing this page from a forbidden country

Sin embargo otros servicios como el propio buscador de Google, Adwords, Adsense, Reader, etc, sí funcionan perfectamente (al menos desde Cuba). Así que no logro entenderlo, con este bloqueo cualquiera que decida desarrollar un proyecto con proyección internacional sobre GAE debe saber que de inicio no podrá contar con las comunidades de estos países bloqueados.

La limitación se escuda en la Oficina de Control de Bienes Extranjeros de EE.UU. (Office of Foreign Assets Control) , sin embargo en los términos de uso de Google App Engine no lo especifica, donde único pude encontrar referencia a este bloqueo fue en los términos de uso de Google Code en la sección Export Control.

Users residing in countries on the United States Office of Foreign Assets Control sanction list, including Cuba, Iran, Libya, North Korea, Sudan and Syria, may not post or access Content available through the Google Code website.

Espero que Google recapacite, y al menos permita el acceso a las aplicaciones creadas, nada me hace más ilusión que mis hermanos de cubanos puedan disfrutar de mis desarrollos.

Si compartes mi opinión te pediría que lo compartas/menees/votes pues no he encontrado ningún post que haga referencia a este asunto, como si a nadie le importase.

Alfredo ArtilesSoy Alfredo Artiles, Co-Fundador de equipo24 y e24Presenter. Mi pasión es el AJAX, SEO, SEM y emprender todo lo que se me ponga por delante. Si me necesitas estoy 24x7 en Twitter @aartiles24.

Tags: , , , , , | 4 Comentarios »
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Meneame
  • MySpace
  • Technorati
  • TwitThis

votarCuál es el momento ideal para tuitear tu post?

Autor: aartiles | Archivado en: Social Media el día 2/Feb/2010

Perdonad por traeros hasta aquí con este título tan pretencioso, pero bueno ya que estáis os quedáis hasta el final que igual algo se aprende.

Solo un blogger sabe cuánto cuesta escribir un post, buscar una idea original, oportuna, polémica, novedosa y luego desarrollarla, darle formato, añadirle fotos, hacerle algo de SEO, etc. Pero todo esto queda en nada si nadie nos lee, lo comenta y luego lo comparte, es el premio que esperamos conseguir a cambio de nuestra entrega.

Con la entrada en escena de las redes sociales, especialmente Twitter, podemos decidir en qué momento llegar a nuestro público, y hacerlo en un momento poco oportuno puede significar gastar una bala, que de reintentarlo puede llegar a molestar a los que ya lo han visto.

Muchos bloggers tuitean su post varias veces el mismo día, Guy Kawasaky recomienda 4 y yo los suelo tuitear dos veces. La idea no es hacer spam, sino llegar a tuiteros que se conectan en diferentes franjas horarias, por ejemplo los usuarios de América y los de Europa.

Pero aun así, es importante encontrar el momento ideal para lanzar el post. He investigado consultándolo con mis amigos en Twitter y algunos estudios sobre todo en inglés que dan algunos horarios ideales, pero hay muchas diferencias entre los resultados, unos dicen que a las 9am, otros a las 12m o a las 4pm, que en fin, creo que depende de tantos factores que no se puede sacar una regla general.

Reloj Tai por Juan García Gálvez

Reloj Tai por Juan García Gálvez


No hace mucho comenté lo útil que es bit.ly como herramienta de monitorización de clicks en Twitter en tiempo real. Bit.ly se ha convertido en mi termómetro de Twitter, con el que puedo encontrar el momento ideal para tuitear la información que necesito que tenga mayor audiencia.

Lo que hago es ir tuiteando enlaces y monitorizando los clicks que reciben mediante bit.ly, es como decir hola y esperar a ver cuántos me responden el saludo y eso me dará una idea de mi audiencia real en ese momento. Por supuesto las cosas que voy compartiendo son recursos que considero útiles para mis seguidores.

Espero que os sirva la experiencia, a mi me da buenos resultados y me reconforta saber que hay alguien del otro lado que le interesa y lee lo que escribo.

Alfredo ArtilesSoy Alfredo Artiles, Co-Fundador de equipo24 y e24Presenter. Mi pasión es el AJAX, SEO, SEM y emprender todo lo que se me ponga por delante. Si me necesitas estoy 24x7 en Twitter @aartiles24.

Tags: , , , | 9 Comentarios »
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Meneame
  • MySpace
  • Technorati
  • TwitThis

votarInterpretando las ubicaciones en Twitter con formato iPhone:Lat,Lon

Autor: aartiles | Archivado en: PHP, Recursos, Social Media el día 30/Ene/2010

Seguramente habréis visto algunos perfiles de Twitter que en el campo ubicación en vez de poner la ciudad, provincia o país, lo que pone es una coordenada con el formato iPhone: XX.XXXXXX,YY.YYYYYY, o sea latitud y longitud.

Según me cuentan algunos de mis amigos en Twitter, se trata de algunos clientes de Twitter para el iPhone que automáticamente ponen esta etiqueta en la ubicación a no ser que le digamos lo contrario.

No he descubierto si alguna aplicación se aprovecha de esto, pero evidentemente para el usuario humano esta información es irrelevante. De hecho con la nueva opción de geotagging de Twitter ya esto queda obsoleto. Yo creo que rellenar el campo ubicación correctamente en las cuentas personales es indispensable si queremos que nos encuentren y para tus futuros seguidores es una información muy relevante. Por ejemplo para LocaFollow nuestro buscador de Twitter, si no rellenas el campo ubicación correctamente serás invisible.

Hace algún tiempo publiqué sobre cómo desarrollar un bookmarklet, hoy he creado uno bien sencillo que permite decodificar estas coordenadas y geolocalizarlas en un mapa. Específicamente toma el texto seleccionado y lo envía como parámetro a Google Maps.

Para utilizarlo tienes que arrastrar el siguiente enlace y soltarlo en la barra de favoritos de tu navegador:

Para Firefox:
Geolocalizar

Para Safari/Chrome:
Geolocalizar

Para Internet Explorer:
Geolocalizar

Luego, cuando veamos una coordenada, o una dirección, la seleccionamos y presionamos el bookmark que acabamos de añadir y este nos llevará a Google Maps mostrándonos la posición exacta en el mapa.

Es cierto que esto lo podemos hacer manualmente pero no me diréis que no se ahorra tiempo. Se podría hacer un bookmarklet más complejo que sustituyera la coordenada por la dirección o que mostrara el mapa en la misma página, pero ya eso os lo dejo de tarea ;-).

Alfredo ArtilesSoy Alfredo Artiles, Co-Fundador de equipo24 y e24Presenter. Mi pasión es el AJAX, SEO, SEM y emprender todo lo que se me ponga por delante. Si me necesitas estoy 24x7 en Twitter @aartiles24.

Tags: , , , | 4 Comentarios »
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Meneame
  • MySpace
  • Technorati
  • TwitThis

votar1º Conferencia de Desarrolladores de Twitter, cómo averiguar la contraseña

Autor: aartiles | Archivado en: Social Media el día 26/Ene/2010

Hace unas horas Twitter abrió las inscripciones para su primera conferencia oficial de desarrolladores. Será el 14 y 15 de abril próximo y se celebrará en el Palace of Fine Arts Theatre en San Francisco, California. Contará con la presencia de los fundadores de Twitter: Biz Stone and Evan Williams, así como Dick Costolo y Ryan Sarrver.

El primer día en la conferencia se tocarán temas como OAuth, estrategias de negocio, integración en platafomas móviles, y se lanzarán nuevas funcionalidades de las API Streaming y de Geolocalización después de la adquisición de Mixer Labs.

El segundo día bajo el nombre de 24 Hours Hack Day, será un maratón de desarrollo Twitter, donde los desarrolladores podrán compartir ideas y obtener consejos de los expertos del sector. También se realizarán talleres sobre cómo usar efectivamente la API de Streaming y la API de búsquedas y sobre la escalabilidad de Twitter. Como es de esperar la conferencia estará colmada de inversores y bloggers en busca de aplicaciones interesantes sobre las que invertir o publicar.

La inscripción cuesta 469USD, y habrá cupo para solo 800 participantes, inicialmente se liberarán solo 100 cupos.

Además puedes comprar un scholarship ticket, es algo como una beca con la que podrás dar la oportunidad de participar a emprendedores que no se pueden permitir ese gasto. Un pequeño número de entradas se destinará a estas becas. Cada scholarship ticket será adquirido de forma anónima y se destinará a apadrinar desarrolladores. Unas pocas semanas antes del evento se realizará un proceso para que los desarrolladores puedan solicitar una beca. Twitter seleccionará a los desarrolladores que se lo merezca y les ofrecerá la inscrición gratuita. Según Twitter esta es una forma de devolver a la comunidad de desarrolladores de twitterapps que en su mayoría son gratuitas y sin un modelo de negocio claro.

Curiosamente no puedes registrarte directamente, exigen un pequeño reto que cualquiera que haya mirado la API de Twitter lo podría superar, pero no deja de ser una idea original. Se trata de averiguar el nombre de usuario cuyo id en la base de datos de Twitter es 6253282.

Para ello no es necesario programar, es suficiente con pegar la siguiente llamada de la API en nuestro navegador:

1
http://twitter.com/users/show.xml?user_id=6253282

Con lo que obtendremos el siguiente XML:

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
<user>
  <id>6253282</id>
  <name>Twitter API</name>
  <screen_name>twitterapi</screen_name>
  <location>San Francisco, CA</location>
  <description>The Real Twitter API. I tweet about API changes, service issues and happily answer questions about Twitter and our API. Don't get an answer? It's on my website.</description>
 
  <profile_image_url>http://s.twimg.com/a/1264119427/images/default_profile_0_normal.png</profile_image_url>
  <url>http://apiwiki.twitter.com</url>
  <protected>false</protected>
   ...

En este XML que devuelve encontraremos que el screen_name es twitterapi y esta será la contraseña que necesitaremos para entrar en chirp.eventbrite.com y ver los detalles del evento para inscribirnos o cotillear y ver quienes ya se han inscrito, al final del post os dejo el listado:

La verdad que desde España sale bien cara la asistencia, $469 de inscripción, más unos 1500€ de billetes, más los gastos de la estancia, se monta en un buen dinero que no muchos desarrolladores y emprendedores se podrán permitir. Pero sin dudas es una oportunidad única para todo desarrollador de aplicaciones basadas en Twitter.

Leer el resto de la entrada »

Alfredo ArtilesSoy Alfredo Artiles, Co-Fundador de equipo24 y e24Presenter. Mi pasión es el AJAX, SEO, SEM y emprender todo lo que se me ponga por delante. Si me necesitas estoy 24x7 en Twitter @aartiles24.

Tags: , , , , | 1 Comentario »
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Meneame
  • MySpace
  • Technorati
  • TwitThis

votarMonitorizando el posicionamiento en Google con Analytics

Autor: aartiles | Archivado en: SEO el día 25/Ene/2010

Ya he comentado en otras ocasiones que soy adicto a la analítica web, sin embargo no tanto de monitorizar la posición de las palabras en las páginas de resultados de los buscadores (SERPs), prefiero ir directo a los objetivos y analizar la cantidad y calidad de tráfico que reciben mis páginas y desde qué fuentes. Con las búsquedas personalizadas y la geolocalización de los buscadores, va perdiendo sentido monitorizar posiciones pues ya cada uno ve una posición diferente. Si intentas demostrar a un cliente (o a ti mismo) la efectividad de tu metodología y acciones SEO mediante las posiciones en las SERPs te verás en serios problemas.

No obstante el ranking en las SERPs no deja de ser un indicador muy valioso, y un medio para el fin que es conseguir un tráfico cualificado y generar conversiones. Por ello hoy quiero comentar una forma de conocer en qué posición en las SERPs estaba la palabra cuando hicieron click hacia nuestra página.

Con esto no solo conoceremos la posición aproximada de la palabra, sino que podremos descubrir palabras que aunque están mal posicionadas nos envían mucho tráfico y que merece la pena dedicarles un esfuerzo adicional. También contrastaremos que no siempre una buena posición implica más conversiones, encontraremos palabras que estando bien estrás en los resultados sus visitas generan más tiempo en página y hasta más conversiones, y esto es producto de que los usuarios que llegan más lejos en las páginas de búsqueda suelen estar más interesados y tener una mayor intención de compra. Pero sobre todo contrastaremos que la inmensa mayoría de las visitas se reciben de las palabras que aparecen en el top 10, por lo que si no nos posicionamos en portada somos prácticamente invisibles.

Usaremos Google Analytics y sus potentes filtros. Los filtros como indica su nombre nos permiten filtrar las estadísticas por diferentes criterios, ya sea para evitar contabilizar algunas fuentes de tráfico (ej. nuestras IPs) o para obtener nuevos indicadores. Los filtros que aplicaremos afectan los datos que normalmente Analytics analiza por lo que tendremos que crear un nuevo perfil.

Los perfiles de Google Analytics te permiten monitorizar las estadísticas del sitio desde otras perspectivas diferentes de los estándares de Analytics y esto es lo que haremos hoy. Filtraremos para que solo se analice el tráfico orgánico (visitas producto del posicionamiento natural en buscadores) y filtraremos que vengan específicamente de Google. Aunque la técnica se puede extender también a Yahoo y Bing me centraré solo en Google y os dejo como tarea ver cómo se generaliza consultando las fuentes que dejo al final del artículo. Luego parsearemos mediante una expresión regular la URL de Google desde la que nos visitan y construiremos un Valor Definido por el usuario al que podremos acceder desde los informes.

Las URLs de Google suelen tener la siguiente forma:
Página 1:
http://www.google.es/search?hl=es&rlz=1B3GGGL_esES267ES268&q=bitacora+de+webmaster&btnG=Buscar&meta=&aq=f&oq=

En la primera página la URL no contiene información sobre la página actual.

Página2:
http://www.google.es/search?hl=es&rlz=1B3GGGL_esES267ES268&q=bitacora+de+webmaster&start=10&sa=N

Pero a partir de la segunda página encontramos el parámetro start, con valores múltiplos de 10 (a no ser que el usuario configure lo contrario, cosa poco habitual). Este es el parámetro que parsearemos junto al parámetro q que nos da el término consultado.

Como ves, no podremos conocer la posición exacta de la palabra sino el número la página, por lo que si el valor del parámetro start es 50 sabremos que la palabra estaba entre las posiciones 50 y 60, o sea en la página 6.

Sin más dilaciones vamos a configurar los filtros de Google Analytics paso por paso.

Leer el resto de la entrada »

Alfredo ArtilesSoy Alfredo Artiles, Co-Fundador de equipo24 y e24Presenter. Mi pasión es el AJAX, SEO, SEM y emprender todo lo que se me ponga por delante. Si me necesitas estoy 24x7 en Twitter @aartiles24.

Tags: , , , , , | 6 Comentarios »
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Meneame
  • MySpace
  • Technorati
  • TwitThis

votarFechas en formato tiempo transcurrido(time ago) con PHP

Autor: aartiles | Archivado en: PHP el día 19/Ene/2010

La verdad que no sé quién fue el primero en usar las fechas en formato de tiempo transcurrido hasta el momento actual, estilo hace 4 minutos atrás o hace cerca de 1 minuto… yo lo vi por primera vez, o mejor dicho me llamó la atención por primera vez en Gmail, esa interfaz que nos cambió la forma de pensar a muchos.

Con el auge de la web en tiempo real, las fechas en formato tradicional nos dicen ya bien poco,… una fecha en formato time ago o formato tiempo transcurrido nos permite tener una rápida percepción de la antigüedad de un mensaje. Por ejemplo me parece un sacrilegio que un cliente de Twitter como TweetDeck use el formato de fechas tradicionales.

Aquí os dejo una función PHP para calcular las fechas en formato de tiempo transcurrido:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
 public function timeAgoDate($datefrom, $dateto = -1)
 {
    // Defaults and assume if 0 is passed in that
    // its an error rather than the epoch
 
    if ($datefrom <= 0) { 
      return "A long time ago"; 
    }
 
    if($dateto==-1) { 
      $dateto = time(); 
    }
 
    // Calculate the difference in seconds betweeen
    // the two timestamps
 
    $difference = $dateto - $datefrom;
 
    // If difference is less than 60 seconds,
    // seconds is a good interval of choice
 
    if($difference < 60) {
      $interval = "s";
    }
 
    // If difference is between 60 seconds and
    // 60 minutes, minutes is a good interval
    elseif($difference >= 60 && $difference < 60*60) {
      $interval = "n";
    }
 
    // If difference is between 1 hour and 24 hours
    // hours is a good interval
    elseif($difference >= 60*60 && $difference < 60*60*24) {
      $interval = "h";
    }
 
    // If difference is between 1 day and 7 days
    // days is a good interval
    elseif($difference >= 60*60*24 && $difference < 60*60*24*7) {
      $interval = "d";
    }
 
    // If difference is between 1 week and 30 days
    // weeks is a good interval
    elseif($difference >= 60*60*24*7 && $difference < 60*60*24*30) {
      $interval = "ww";
    }
 
    // If difference is between 30 days and 365 days
    // months is a good interval, again, the same thing
    // applies, if the 29th February happens to exist
    // between your 2 dates, the function will return
    // the 'incorrect' value for a day
    elseif($difference >= 60*60*24*30 && $difference < 60*60*24*365) {
      $interval = "m";
    }
 
    // If difference is greater than or equal to 365
    // days, return year. This will be incorrect if
    // for example, you call the function on the 28th April
    // 2008 passing in 29th April 2007. It will return
    // 1 year ago when in actual fact (yawn!) not quite
    // a year has gone by
    elseif($difference >= 60*60*24*365) {
      $interval = "y";
    }
 
    // Based on the interval, determine the
    // number of units between the two dates
    // From this point on, you would be hard
    // pushed telling the difference between
    // this function and DateDiff. If the $datediff
    // returned is 1, be sure to return the singular
    // of the unit, e.g. 'day' rather 'days'
 
    switch($interval) {
      case "m":
        $months_difference = floor($difference / 60 / 60 / 24 / 29);
        while (mktime(date("H", $datefrom), date("i", $datefrom),
          date("s", $datefrom), date("n", $datefrom) + ($months_difference),
          date("j", $dateto), date("Y", $datefrom)) < $dateto) {
 
          $months_difference++;
        }
        $datediff = $months_difference;
 
        // We need this in here because it is possible
        // to have an 'm' interval and a months
        // difference of 12 because we are using 29 days
        // in a month
 
        if($datediff == 12) {
          $datediff--;
        }
 
        $res = ($datediff==1) ? "$datediff month ago" : "$datediff months ago";
      break;
 
      case "y":
        $datediff = floor($difference / 60 / 60 / 24 / 365);
        $res = ($datediff==1) ? "$datediff year ago" : "$datediff years ago";
      break;
 
      case "d":
        $datediff = floor($difference / 60 / 60 / 24);
        $res = ($datediff==1) ? "$datediff day ago" : "$datediff days ago";
      break;
 
      case "ww":
        $datediff = floor($difference / 60 / 60 / 24 / 7);
        $res = ($datediff==1) ? "$datediff week ago" : "$datediff weeks ago";
      break;
 
      case "h":
        $datediff = floor($difference / 60 / 60);
        $res = ($datediff==1) ? "$datediff hour ago" : "$datediff hours ago";
      break;
 
      case "n":
        $datediff = floor($difference / 60);
        $res = ($datediff==1) ? "$datediff minute ago" : "$datediff minutes ago";
      break;
 
      case "s":
        $datediff = $difference;
        $res = ($datediff==1) ? "$datediff second ago" : "$datediff seconds ago";
      break;
    }
    return $res;
}

El principal problema de este formato de fecha es que al ser relativas a la hora actual, si se trata de una página pensada para que el usuario permanezca mucho tiempo en ella, como por ejemplo redes sociales, o clientes de correo como Gmail entonces al pasar algunos minutos la fecha pierde valor. Para ello necesitaríamos actualizarla cada 1 minuto con javascript o simplemente actualizar la página.

Fuente: PHP Time Ago Calculation

Alfredo ArtilesSoy Alfredo Artiles, Co-Fundador de equipo24 y e24Presenter. Mi pasión es el AJAX, SEO, SEM y emprender todo lo que se me ponga por delante. Si me necesitas estoy 24x7 en Twitter @aartiles24.

Tags: , , , | 6 Comentarios »
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Meneame
  • MySpace
  • Technorati
  • TwitThis