tus camisetas frikis en camisetafriki.com

Archive

Posts Tagged ‘google’

Realidad aumentada en Google Earth y Bing Maps

May 17th, 2010 2 comments


La realidad aumentada es un concepto que está en auge últimamente, tanto que la cantidad de aplicaciones que están surgiendo a raíz de ésta, crece exponencialmente. Tanto que Google y Microsoft están integrándola en sus propios visores de mapas.

¿En qué consiste la realidad aumentada? Pues como su nombre indica, coger la realidad y ampliar la información que vemos con información que no vemos, para aumentar los datos que percibimos del mundo real. Aunque más bien en este caso deberíamos hablar de realidad virtual aumentada puesto que se basa en meter información real en mundos “virtuales” (entre comillas porque virtuales tampoco sería la palabra) como son Google Earth y Bing Maps.

En los dos vídeos que acompañan esta entrada, puedes ver dos aproximaciones de estas dos compañías para llevar la realidad a sus mundos virtuales, cada uno a su manera pero ambos muy interesantes técnicamente.

En el primer vídeo puedes ver una presentación de Microsoft en el TED en la que se muestra el “Street View” de Bing Maps en el que aparte de poder meterse en un mercado, se puede ver una ventanita con un streaming de vídeo con lo que está ocurriendo en tiempo real grabado a través de una cámara dónde lo que se está enfocando corresponde con las fotos de la calle que existen previamente.

Este otro ejemplo de Google Earth me resulta más impresionante aún, aquí puedes ver como empleando webcams públicas, también podemos ver en tiempo real lo que ocurre en la zona que están enfocando, mapeando la visualización con la superficie del mapa que correspondería de forma que parece que podamos estar observando desde nuestra casa lo que ocurre en el mundo, cómo por ejemplo, ver lo que ocurre en un estadio en el que además, podemos ver una cámara u otra según el ángulo desde el que estemos mirando. Y mejor aún, si hay varias cámaras dispuestas en un tramo, vemos una representación virtual de las personas y vehículos que transitan por delante de la cámara e incluso interpolar las zonas de las que no se dispone imagen, como por ejemplo, en tramos de una autopista.

En definitiva, poco a poco vamos viendo más maravillas tecnológicas y utilidades de las herramientas que ya conocemos como son Google Earth y Bing Maps, y nos damos cuenta de las posibilidades que tienen de cara al futuro y no en vano estamos en la era de la información, puesto que tenemos toda al alcance del ratón.

Google Calendar API + PHP (I)

July 5th, 2009 1 comment

Bueno, llevo un par de días pegándome con una chorrada de aplicación que se me había ocurrido hacer por entretenimiento y al final ha resultado la mar de estresante, aunque eso si, puedo decir que he aprendido algunos entresijos de las APIs de Google, en concreto de la de calendar, aunque en definitiva son todas parecedas, ya que se basan en el envío de XML a través de métodos POST previa autenticación con Google por 3 vías diferentes.

Como hay miles de tutoriales por ahí para empezar, prefiero comentar problemas que haya ido encontrando, además, como todo buen programador masoquista, paso de usar la libreria-para-tontos de PHP basada en Zend Framework que hay creada para usar, aunque al final he tenido que sucumbir, no por voluntad propia, sino por un error 411 Length Required que no hacía más que salirme por mucho que cambiase las cabeceras del POST, así que solución 1, pasarse a la librería Zend, solución 2, ver como porras lo hace la librería para copiarlo xD

Para mas inri, el error me lo estaba dando al crear un nuevo calendario enviando por POST el xml que hace falta para indicar que se desea crearlo, me pasé a la librería Zend pensando que ahí habría algún método mágico tipo createCalendar al igual que hay uno para crear eventos. Craso error amigo mío, cuando veo que ni por asomo hay una función para crear calendarios. Menos mal que rebuscando por ahí, un alma caritativa da una solución que ya se me había ocurrido y no sabía hacer, que es, nuevamente, enviar por POST el xml a pelo (pero esta vez con la libreria Zend) y voilá! funcionó :D

Para crear un calendario nuevo, se debe escribir el XML correspondiente, se puede usar una plantilla como la siguiente:
$xmlEntry = "<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005' xmlns:gCal='http://schemas.google.com/gCal/2005'> <title type='text'>[TITLE]</title> <summary type='text'>[SUMMARY]</summary> <gCal:timezone value='Spain/Madrid'></gCal:timezone> <gCal:hidden value='false'></gCal:hidden> <gCal:color value='[COLOR]'></gCal:color> <gd:where rel='' label='' valueString='Madrid'></gd:where> </entry>";

De ahí solo hay que rellenar 3 cosas, [TITLE] que es el nombre del calendario, [SUMMARY] que es el resumen (y no es importante) y [COLOR] que define el color de la etiqueta del calendario y no puede ser cualquier color sino uno de estos:
'#A32929'
'#B1365F',
'#7A367A',
'#5229A3',
'#29527A',
'#2952A3',
'#1B887A',
'#28754E',
'#0D7813',
'#528800',
'#88880E',
'#AB8B00',
'#BE6D00',
'#B1440E',
'#865A5A',
'#705770',
'#4E5D6C',
'#5A6986',
'#4A716C',
'#6E6E41',
'#8D6F47',

(que no se cual es cual…)

Total, que una vez sustituidos los campos de la plantilla con nuestros datos del calendario, pues hay que autenticarse si no lo estamos ya, y enviar el POST así:

function crearCalendario($nombre, $resumen, $client)
{
	$gdataCal = new Zend_Gdata_Calendar($client);
	$uri = 'http://www.google.com/calendar/feeds/default/owncalendars/full';	
	$xmlEntry = str_replace('[TITLE]', $nombre, $xmlEntry);
	$xmlEntry = str_replace('[SUMMARY]',	$resumen, $xmlEntry);
	$gdataCal->post($xmlEntry, $uri);
}

También se puede guardar el xml en un archivo plantilla, por ejemplo createcal.xml y cargarlo antes de sustituir:
$xml = file_get_contents('createcal.xml');

Después de ejecutar esto vamos a Google Calendar (o listamos de nuevo los calendarios) y vemos que el calendario que le hemos dicho se ha creado correctamente.

Por cierto, para los que usan WAMP como servidor local de prueba, para usar las librerias Zend hay que ir al php.ini pero no el de la carpeta PHP sino al de Apache (C:\wamp\bin\apache\Apache2.2.11\bin\php.ini) y buscar la línea que empieza por ;include_path, quitarle el ; del principio y añadir al final la ruta del disco duro hasta la carpeta library del directorio donde hemos descargado el Zend (línea 528: include_path = “.;c:\php\includes;C:\wamp\apps\ZendGdata-1.8.4\library”)

Googlocausto!

February 25th, 2009 2 comments

Así he decidido definir lo acontecido ayer con GMail, ya que todo el mundo hace referencia a ello como el fin del mundo ¿pues yo no voy a ser menos no?

Parafraseando a Jack Sparrow:

“Todos recordarán este, como el día en que cayó GMail”

Vemos aquí como se tomaron los usuarios los trágicos sucesos
googlocausto1
-¡Que no funciona GMail!
-¿A ti te va GMail?
-Nooooooooooo…..GMaaaaaaaail….!

Googlocausto2
Las multitudes se apilaban en grupo frente a una cuenta de correo de GMail.

googlocausto3
Responsables de Google intentan calmar a las masas. No os preocupéis, el final está cerca, todo volverá a funcionar.

googlocausto4
El responsable de Google que se tropezó con el cable de red.

Y tal como se fue, volvió.

Imágenes de http://econsultancy.com/blog/3354-the-2009-gmail-outage-in-pictures