viernes, octubre 23, 2009

GPS en iPhone con mapas de Uruguay y Argentina

Lo prometido es deuda. Llevó un poco más de tiempo de lo que esperabamos por un tema de disponibilidad de los mapas.

Tenés tu iPhone pronto? tenés una red wifi? tenés un rato libre? bueno, acá hay un tutorial de cómo instalar el TomTom con navegación por voz y con los mapas de Uruguay y Argentina.

Lo primero y fundamental es que tengas tu iPhone "jailbroken".
En caso que no lo tengas o no sepas qué es esto, podés leer este post que te va a explicar qué es y te va a ayudar a hacerlo.

En caso que lo tengas, ya mismo podés empezar con el tutorial.

1) Primero necesitamos 2 aplicaciones en el iPhone. Para esto vamos a agregar una source a Cydia (abri Cydia, en la parte de manage, sources, add: cydia.hackulo.us )

2) Una vez agregada la source, vamos a buscar e instalar estas dos aplicaciones: openSSH e Installous

3) En el PC necesitamos un programa para poder transferir archivos via ssh al iPhone. Uno muy bueno es el winSCP, es gratis y lo pueden descargar desde aca: winSCP

4) Descargá el archivo de la aplicación TomTom que ya incluye los mapas desde acá: TomTom

5) Descomprimí el archivo de la aplicación TomTom (tiparur.zip) en algún lado (va a quedar un archivo tiparur.ipa)

Hasta acá ya tenemos todo lo necesario para empezar a instalar la aplicación.

6) Conectá el iPhone a una red wifi y verificá el IP que se le asignó. Esto lo podés ver en las propiedades de la red a la cual se conectó.

7) Ejecutá el winSCP en el PC y creá una conexión al IP asignado al iPhone. (es muy similar a un cliente FTP). Conectate usando el usuario: root
La password por default es: alpine

Quizás te pregunte algo sobre claves RSA, decile que se conecte igual y guarde la clave.

8) Una vez conectado, navegá en el panel de la derecha (directorios del iPhone) hasta la carpeta: /private/var/mobile/Library/Downloads
(si la carpeta Downloads no existe, crearla con permisos 0775. Esta es la carpeta donde Installous guarda los archivos descargados, y como recién lo instalaste y no bajaste nada, aun no existe)

9) Copiá el archivo tiparur.ipa a esa nueva carpeta (arrastrandolo en el winSCP)

10) Una vez que termine la transferencia, andá al iPhone y ejecutá el Installous. Movete al tab "Downloads" y ahí vas a ver la aplicación "tiparur", cliqueá sobre la misma y dale Install.

(no te preocupes si parece que el iPhone se "congeló" mientras descomprime el archivo, dale tiempo porque demora)

Una vez que finalice la instalación, verificá que te creó el icono en la pantalla principal.
Si es asi, ya tenés el navegador instalado!!

Este tutorial es la primer versión del mismo, ya que lo escribí de memoria luego de instalar la aplicación en mi iPhone... si alguien se encuentra con algún problema o ve que falta algún paso por favor avisenme y lo corrijo!

Si te sirvió el tutorial, regalanos una cerveza!!






domingo, octubre 11, 2009

Ancel encuentra

Ancel Encuentra es un servicio nuevo de Ancel para localizar a tus contactos que asi lo permitan. Es una especie de Google Latitude pero que no necesita una conexión a internet y puede ser utilizado desde la web o via mensajes de texto (sms).


La agenda de contactos no es la de tu celular, sino que es una agenda que te vas armando en la web (o via sms) con el numero de celular que queres localizar y un nickname asociado.
Una vez que agregás un número a esa agenda, se envia un sms pidiendo permiso a tu contacto para que tu lo localices. Esta localización es configurable... en la web podés activar o no la localización e incluso definir un "schedule" con dias y horarios en los cuales te pueden localizar.

Casi toda acción que realices tiene un costo asociado, salvo agregar un contacto a la agenda... después si queres modificarlo sale 1 peso, si queres encontrarlo 3 pesos , etc etc. Se puede ver la lista de precios aca: Precios Ancel Encuentra.

Es posible realizar un seguimiento de tu contacto, lo cual te envía su ubicación cada n segundos y hasta 720 veces.

Yo realicé una pruebita y anduvo bastante bien localizandome a 4 cuadras de donde yo realmente estaba (este test lo hice via web)



Luego hice el test utilzando el servicio via sms, enviando un sms "ENCUENTRA 099xxxxxx" al 36633 y el resultado me localizó tambien a 4 cuadras de donde yo estaba, pero hacia el otro lado de 21 de setiembre.... yo esperaba que me enviara la misma ubicación que en la web, ya que la hice practicamente al mismo tiempo. Este es el resultado via sms:


La verdad que me gustó el servicio, muy útil para padres nerviosos. Piratas abstenerse y buscar excusas para no participar!!.
Está muy bueno sobre todo para quienes no cuentan con un teléfono con conexión a internet o con gps y no tienen acceso a google maps o latitude.

Muy bien Ancel esta vez.

Esta es la página web para comenzar a utilizar el serivicio: Ancel Encuentra

viernes, octubre 02, 2009

Google Traductor

Hoy me topé con este sitio de Google casi sin querer y no me aguanté de hacer una pruebita!

Agarré una página de un sistema hecho con GxX que está en español y le apliqué la API para traducirlo a otro idioma automáticamente... la traducción al inglés queda muy bien, muy fiel al texto original, luego probamos con la traducción al sueco y aprovechamos la sabiduría de Martin (el "sueco") y su fluidez para hablar esa lengua nórdica y parece que la traducción no es tan buena como la del inglés...

Esta es una captura de una de las páginas del sitio traducida al árabe... si alguno se anima a decirme si está bien lo que dice, arriba!


jueves, septiembre 24, 2009

GeneXus y iPhone III


Luego de haber desarrollado la aplicación web, haber embebido la misma dentro de una WebView para transformarla en una aplicación nativa iPhone y haber testeado con éxito la misma en el simulador de iPhone que viene con el SDK, es momento de transferir esta aplicación a un teléfono de verdad, ya que el comportamiento en el mismo es diferente al que se aprecia en el simulador debido básicamente a que el hardware del teléfono no es tan potente como el que utiliza el simulador.

Estaba pensando como armar un tutorial, cuando me di cuenta que tendría que pasarme por lo menos una hora pegando screenshots y escribiendo los pasos a seguir, por lo que me pareció más beneficioso (al menos para mi) compartir el link a este sitio donde encontré el mejor y más claro tutorial de la web.


Cuando yo decidí pasar mi aplicación al teléfono, obviamente lo intenté hacer sin leer nada y a lo guapo... primero intenté con el iTunes, luego con un software que permite explorar los archivos en el iPhone (iPhone Explorer) y luego mediante SSH usando un terminal que bajás de Cydia... pero no logré nada, el teléfono no reconocia la aplicación como tal, por lo que empecé a buscar en internet como hacerlo.

Primero fui directo al sitio de Apple donde la documentación es excelente, pero como todo uruguayo desconfiado, no "acredité" cuando llegué a la parte donde decía "para poder transferir una aplicación a un teléfono, tenes que ser miembro del Programa de Desarrollo iPhone (IDP), y tenes que pagar U$S 99 para obtener un certificado para firmar el código y un provisioning profile para que el teléfono pueda ejecutar tu aplicación" ..... cric cric....

"Pero... entonces para poder testear mi aplicación en mi teléfono, tengo que pagar U$S 99 ???"
Yes sir... hay que pagar.

Esto, para alguien que realmente piensa desarrollar aplicaciones para iPhone, no suena tan caro... pero desalienta a quien quiere testear su primer y probablemente única aplicación !!

Después de leer y releer la documentación e intentar inscribirme al IDP sin pagar y no lograr avances, desistí de hacerlo por la derecha y pasé a leer la "otra" documentación... la que no va tan por la derecha (cosa que no apoyamos para nada!!! es más ... la repudiamos!!) y que en general te saca del apuro, al menos para el uso personal... yo solo quería ver mi aplicación en el teléfono!! no pensaba comercializarla ni subirla al Apple Store ( claro... si pagás los U$S99 obviamente el paso siguiente es postearla al Apple Store y esperar la aprobación ).

La cosa es que encontré algo de información respecto al tema... muchos workarounds para probar, pero ninguno que realmente funcionara. Hay un método que explica como crear un certificado y hacerle pensar al teléfono que tiene un provisioning profile y lograr que ejecute código no firmado, pero parece que dejó de funcionar luego de la version 2.1 del S.O. del iPhone. (lo digo con propiedad ya que tuve que reinstalar el SDK luego de tocar muchos archivos al parecer importantes para el funcionamiento del mismo :P ).
Si alguien lo quiere probar, este es el link How to deploy an iPhone application without an IDP membership

O sea... en resumen, (increiblemente) no aconsejo perder tiempo intentando hackear el proceso oficial. Si querés transferir la aplicación al teléfono, lo mejor es tomarse el tiempo y tener la paciencia de llenar formularios y seguir el tutorial del link que les pasé más arriba.
Una vez que hacés esto y tenés bien configurado todo, el camino de ahi en más es bastante más sencillo, incluso para la publicación en el Apple Store.

Existe una alternativa al Apple Store llamada Cydia que vendría a ser un repositorio de aplicaciones de código no firmado. Aun no lei mucho de como realizar un deploy en Cydia, simplemente vi muy por arriba que también es un proceso complicado ya que hay que armar un paquete de determinada forma... espero poder hacer un post con este otro proceso cuando tenga un tiempo para investigar.


Si te sirvió el tutorial, regalanos una cerveza!!