Entradas

Mostrando las entradas con la etiqueta iphone

Cómo hacer una aplicación para iOS en 45 minutos

Imagen
Es verdad, lo reconozco, el título de la nota es un poco tendencioso (1) ... Pero también es verdad lo que dice, que pude hacer una aplicación e instalarla en mi teléfono en 45 minutos, desde la idea hasta tenerla en ejecución. La aplicación es muy simple, obviamente. Necesitaba tener algunas notas para una presentación que iba a ser sin PPTs, para no olvidarme de decir nada. En realidad me hubiera servido cualquier aplicación de notas, pero se me ocurrió que podría ser divertido hacer la aplicación, y con GeneXus es realmente fácil, así que me animé. La aplicación tiene dos entidades con sus respectivos "work with": Presentaciones y Notas. Las Presentaciónes tienen un Título, las Notas tienen un Titulo y una Descripción. Solo eso. La otra pantalla que tiene la aplicación es el "modo presentación", donde se elige la presentación que voy a hacer y se muestran las notas en un Paged Grid , el título más grande y la descripción al pie. Para pasar de una nota ...

Finanzas.app

Imagen
Como comentaba Rodrigo en su blog Neurona Financiera , el registro de nuestros gastos es fundamental si queremos tener controladas nuestras finanzas. Yo también pasé como él por varias etapas: una planilla Excel, un programa Visual Fox Pro hecho con GeneXus 9.0 que después migró a .Net, una aplicación web en Google App Engine. Finanzas.app es la siguiente iteración en este ciclo, está desarrollada en GeneXus Tilo B3 , y es una aplicación que funciona completamente desconectada. El hecho de que sea Offline es el punto fuerte de la aplicación. Seguramente no se compara en funcionalidad con las alternativas (por ejemplo ZetaCuentas por nombrar otra hecha con GeneXus), pero me permite tener los datos locales sin que intervenga un tercero. No me considero extremadamente paranoico, pero cuando hablamos de dinero, prefiero no darle la información a otros... Cómo obtener la aplicación La aplicación la estoy desarrollando para uso personal, por lo que no me interesa distribuirla en fo...

Respaldo de la base de datos Offline en iTunes

Imagen
El escenario principal para las aplicaciones Offline que generamos con GeneXus, se tiene un componente en el servidor donde se centralizan los datos ingresados en cada uno de los dispositivos. En este escenario no es imprescindible hacer un respaldo de la base de datos Offline, ya que la misma siempre se puede volver a construir a partir de los datos del servidor. Sin embargo, el generador Offline permite otro escenario donde sí puede ser importante tener respaldo de los datos: cuando la aplicación es completamente Offline y no tiene componente en el servidor. Si bien acceder al sistema de archivos del iPhone se puede, no hay una forma "nativa" de hacerlo. Hay aplicaciones que exponen dicho sistema de archivos a la Mac o al PC, pero en general tienen algún costo. En particular para la base de datos Offline, como se almacena en la carpeta Documents que es una carpeta especial dentro de la aplicación, es posible copiar el archivo desde iTunes como se explica en este ...

Consultar la base de datos offline en iOS

Imagen
Hace unos días se liberó la versión Beta 1 de GeneXus Tilo , que tiene como una de sus características principales la posibilidad de generar aplicaciones Offline para Smart Devices . Algo que puede resultar útil, sobre todo cuando estamos diagnosticando algún problema, es poder consultar directamente la base de datos. En iOS no es algo evidente como hacer esto, por lo que lo dejo escrito acá por si alguien lo precisa. Esto sirve para el Simulator, no en un dispositivo... Lo primero que debemos hacer es obtener la ruta al archivo SQLite. Para eso, debemos ejecutar la aplicación desde Xcode en el Simualtor. Debemos ejecutarla desde Xcode y no desde GeneXus, para así tener la opción de hacer debug . Ponemos un breakpoint en algún punto por el que sepamos que va a pasar la aplicación (puede ser un procedure o el data provider asociado a un panel), y cuando se detiene, en la consola, escribimos: po [[GXDBManager sharedInstance] databasePath] Ese comando nos va a dar la ruta d...

iOS 7

Imagen
En el día de ayer Apple presentó la nueva versión de iOS, que ya se puede obtener en versión beta y estará disponible más adelante este año. La presentación se puede ver completa en el sitio de Apple , donde tambiéan anunciaron una nueva versión de OS X (con poca cosa nueva...), nuevas MacBook Air y una nueva Mac Pro. Si quieren ver el video de presentación de iOS 7 específicamente (no la presentación), también lo pueden hacer. Si bien se esperaba que el nuevo diseño en iOS 7 fuera más "flat" que en versiones anteriores, creo que con lo que mostraron se pasaron para el otro lado... Todavía no instalé la beta, y dudo que lo vaya a hacer. Eventualmente voy a terminar actualizando, pero el diseño de esta nueva versión me parece mucho más descuidado que en iOS 6. Por ejemplo, la aplicación del WWDC que liberaron hace unos días para el evento de desarrolladores, tiene "tabs" en la barra de navegación que se ven así: En contraste, por ejemplo la aplicació...

Maps With Me: mapas sin conexión para dispositivos móviles

Imagen
Hace poco estuve de viaje, y por lo tanto sin conexión a internet en el celular. Algo que hasta hace poco era la norma, usar mapas en papel, ahora me resulta bastante incómodo: es difícil ubicarse, en general se precisa más de un mapa (ciudad y rutas), es más complicado de manipuar, etc. Es el problema de depender de la tecnología: uno se acustrumbra demasiado fácil :) Por suerte para iOS (y también Android) existe una aplicación que tiene mapas de todos los países que se bajan y quedan locales en el teléfono, sin nececidad de conectarse a internet (solo se precisa conectarse una vez para bajarlos). Además como el GPS funciona aunque no tenga conexión a la red celular, tengo toda la funcionalidad que necesito. La aplicación se llama Maps With Me , y si bien tiene una versión paga (cuesta U$S4.99), la versión grátis es bastante completa y se pueden usar los mapas sin restricciones. La versión paga agrega funcionalidad que puede resultar útil pero no es imprescindible: búsquedas ...

Navegación guiada en Montevideo con Waze

Imagen
Desde hace unos días estoy probando una aplicación para el iPhone, que tiene navegación guiada en Montevideo (o "turn-by-turn navigation" en inglés), y por ahora estoy muy conforme. La aplicación se llama Waze , es gratuita, y está disponible tanto para iOS como para Android. Por las pruebas que he hecho, la ruta que encuentra es en general una buena opción, aunque no siempre elige la que yo seguiría :). Acá va una foto de la aplicación en ejecución: En el sitio web, definen a la aplicación como: a fun, community-based GPS traffic and navigation app. y justamente es la parte de  community-based  que le da su mayor potencia. Es que la aplicación se alimenta de los datos de quienes la están usando para saber los lugares donde hay algún accidente, donde el tránsito está muy pesado, o donde hay algún desvío. Además de esta información, uno puede reportar errores en la ruta. Por ejemplo, hubo un caso en que me recomendaba doblar a la izquierda en un semá...

La importancia de respetar los estándares

Imagen
Una discusión que tenemos de forma bastante recurrente en el equipo de iOS en Artech, es hasta donde es conveniente salirse de los estándares de la plataforma. En ese sentido iOS es bastante particular, porque las guías de desarrollo llevan a que las aplicaciones sean bastante uniformes, lo que hace que los usuarios se acostumbren a que las cosas se hagan de determinada forma. Por ejemplo, ¿es razonable en una aplicación sacar la barra de navegación? ¿Conviene usar un ícono no estándar para una acción estándar? ¿Vale la pena hacer una implementación "custom" de algún control que está disponible de forma nativa? En general, la respuesta a todas estas preguntas es que NO, que lo mejor es ajustarse a lo nativo. Por supuesto existen excepciones y casos en los que sí me quiero salir de lo estándar, pero hay que hacerlo a conciencia y con mucho cuidado. ¿A qué viene todo esto? Que hace unos días actualicé una aplicación que uso todos los días, e hicieron un cambio que me co...

Equipos: applicación iPhone y Android

Imagen
En el equipo de desarrollo estuvimos haciendo un poco de dogfooding , para probar el nuevo generador para Smart Devices de la Evolution 2 . Surgieron varias aplicaciones interesantes que podrán encontrar ahí, pero que no voy a poner los links porque hay una competencia a ver quien consigue más descargas :) En particular, la que hice yo se llama Equipos, y es un juego. Sí, un juego con GeneXus. Puede parecer raro, pero no soy el primero ; ni siquiera soy el único que hizo un juego para Smart Devices en esta competencia de desarrollo. En realidad la aplicación tiene dos juegos: en el primero se debe adivinar cual es el escudo que corresponde, entre varios, a un equipo de fútbol dado su nombre en el segundo se debe ingresar el nombre de un equipo viendo su escudo (para esto usé lo de la comparación de strings que comentaba en otra nota). La aplicación está disponible para iPhone y para teléfonos Android . Los invito a que la bajen. Con respecto a la dificultad para hacerl...

iPhone 4s vs. iPhone 3Gs

Imagen
Hace unos días, ya que pude desbloquear el 3Gs  para venderlo, me compré el iPhone 4s... Acá va una comparación de ambos La pantalla La pantalla "retina display" del 4s es espectacular. Mirando uno al lado del otro se nota claramente la diferencia. Estas son fotos de pantalla, una de cada uno de los teléfonos (click para agrandar) La cámara La diferencia en las fotos que se pueden sacar, también salta a la vista. La cámara del 4s es mucho mejor que la del 3Gs, y no solo por el tamaño de las fotos, sino también por la nitidez y la calidad de los colores que se obtienen. Ni hablar de que el 4s además de la cámara tiene flash. También tiene más funciones, como por ejemplo HDR (high dynamic range), que mejora por software (y mediante la captura de varias fotos en una sola exposición) las fotos que tienen una variación muy grande de luz. Acá pueden ver tres fotos comparativas: la primera con el 3Gs, la segunda con el 4s y la tercera usando HDR. T...

Desbloqueo oficial de iPhone

Imagen
Hasta hace poco, pensaba que el desbloquear un iPhone era un proceso no aprobado por Apple, casi que ilegal digamos. Pero resulta que no, que hay una forma de desbloquear un iPhone de forma totalmente legal, aunque no hay mucha información al respecto. Para eso, el operador tiene que ofrecer el desbloqueo ( ver lista de operadores ), que en el caso de Uruguay está disponible tanto en Movistar como en Claro. Les cuento como fue el proceso, por si alguien más necesita hacerlo... Mi experiencia con Movistar En mi caso, tengo un iPhone 3Gs de Movistar, que se venció el contrato original a fines de 2011. Cuando me enteré que se podía desbloquear, pregunté en Movistar como tenía que hacer, y me dijeron que tenía que ir simplemente al local que está en Soca y Rivera, que ahí lo hacen. Después alguien que comentó que en el Palacio Salvo también se puede, pero no tuve la oportunidad de confirmarlo. Fui un día al local de Movistar indicado, y me dijeron que sí lo podían desbloque...

iPhone 4 vs. iPhone 4S

Imagen
En el día de ayer, Apple en un evento especial, anunció el lanzamiento del nuevo iPhone, llamado iPhone 4S. La información relativa al iPhone 4S ya está disponible en el sitio de Apple , donde cuentan las características y hay algún video explicativo. No tenía intención de escribir sobre esto, pero Mauricio me preguntó por Twitter que me parecía, y no me dio para contestarle en 140 caracteres... Las diferencias entre el iPhone 4 y el iPhone 4S Como era de esperarse, hay varias cosas que cambiaron en esta nueva versión del teléfono de Apple. Usa un procesador A5, en lugar del A4, que según dicen duplica la velocidad del dispositivo. También aumenta varias veces la velocidad de la tarjeta gráfica, fundamental para los que lo usan como una consola de juegos. La cámara de fotos salta de 5MP a 8Mp, pero además tiene otras mejoras como la cantidad de luz que captura, la velocidad, etc. (no se mucho de fotografía, pero sí que la cantidad de pixeles no es lo único que importa)....

Layout Enabled y nuevos controles

Imagen
En el Night Build del 20 de junio de GeneXus X Evolution 2, aparece una nueva propiedad en el IDE, para los objetos de tipo Work With Smart Devices: Layout Enabled. Esta propiedad está a nivel del Detail del pattern, e indica como dice su nombre, si se toma en cuenta el layout definido en el objeto (poniéndola en true ), o si se dibuja un campo debajo de otro como se hacía hasta el momento (dejándola en false que por ahora es el valor por defecto). Además de respetar el layout definido en el objeto, permite usar controles que antes no estaban disponibles. Estos son algunas de las cosas en las que estuve trabajando y ahora quedan visibles. Tab control El Tab control permite agregar componentes en distintos tabs. En la imagen se ven solo los tabs sin datos, porque fue como me quedó el ejemplo, también se pueden poner datos... No se si en el último Night Build ya está en el IDE el control tab, pero si no está sale en el próximo... Wheel control Permite elegir valo...

Blocks en Objective-C (iOS 4)

Imagen
Me acabo de enterar, que a partir de iOS 4, el lenguaje Objective-C soporta blocks . ¡Espectacular! Les recomiendo que lean: The Pragmatic Studio: Using Blocks in iOS 4: The Basics The Pragmatic Studio: Using Blocks in iOS 4: Designing with Blocks  (ver también al final del artículo que tiene otros links interesantes) Programming with C Blocks (On Apple Devices) iOS Reference Library: A Short Practical Guide to Blocks La sintaxis para declarar un block , es un tanto extraña... Por ejemplo, si queremos declarar un block que recibe un número entero y devuelve otro número entero, por ejemplo multiplicando el parámetro por 3, se declara así: ^ (int num) {     return num * 3; } Este block se puede asignar a una variable, por ejemplo con (int)(^por3)(int) = ^ (int num) {return num * 3;}; y luego invocarlo con: int result = por3(7);  // result = 21 o se puede pasar como parámetro a algún método que reciba un block con el tipo dado: [some...

Alkeo Blog App

Imagen
BlogReader es una aplicación en la que estuve trabajando para Alkeo (ahora conocida oficialmente como Alkeo Blog App ), que permite transformar un blog en una aplicación nativa para iPhone/iPad, Android y próximamente Windows Phone 7 (*). Desde hace un tiempo, está disponible la aplicación Blog Shane , y desde hoy hay dos nuevos blogs que están disponibles en la App Store: Shunrize y Thibault Piron . Advertencia: todo el contenido está en francés... Les dejo un video de BlogShane para que conozcan la aplicación: (*) Aclaro que yo solamente desarrolle la aplicación para iOS...

Mi primer aplicación iOS con GeneXus

Imagen
Hace unos días se liberó la posibilidad de generar aplicaciones para dispositivos iOS usando GeneXus X Evolution 2 (beta) , así que me puse a hacer alguna prueba... Lo primero que me encontré fue la falta de documentación específica para esta plataforma. La página correspondiente en el Wiki explica que se debe bajar una aplicación desde el App Store, pero no dice nada de como configurar el modelo. La documentación correspondiente a Android es mucho más completa, y ahí sí explica la configuración necesaria (para Android, pero sirve de ejemplo...), con lo que pude configurar el modelo. Siguiendo este instructivo hay algunas cosas a tener en cuenta: El generador para iOS no requiere ningún tipo de emulador, por lo que la configuración es mucho más sencilla que para Android. En las preferencias correspondientes al generador para Smart Devices, se debe configurar iOS como Main Platform, porque por defecto es Android. Esa fue toda la configuración necesaria para poder correr la ...

Actualizaciones de XCode

Imagen
Esta nota es para quejarme... a ver si Apple me hace caso. ¿Por qué cada vez que hay una versión nueva de XCode o del iOS SDK tengo que bajar todo de nuevo? El instalador son casi 3GB... ¿no sería mejor bajar solo una actualización? Para instalar el SDK 4.0, 3GB. Para el 4.0.1, 3GB. Para el 4.0.2, 3GB. Ahora para el 4.1, 3GB... ¿O acaso no saben en Apple que acá tenemos velocidades de conexión lentas? Además por si fuera poco, el ADSL se corta a las 12 horas, y hay que bajarlo todo de nuevo, aunque ya haya bajado 2.8GB LRPMQLP... Me cuesta creer que no puedan empaquetar solo lo que cambió y hacer un upgrade. Y yo que me quejaba de GeneXus que hace lo mismo, pero con un tamaño de 180MB...

Animar la interfaz de usuario en iOS

Imagen
Una de las cosas que tienen mucho las aplicaciones para el iPhone, son animaciones en la interfaz de usuario, por ejemplo en las transiciones entre pantallas. Esta animación, la que se da al pasar de una pantalla a otra, es bien simple. Lo único que se precisa es pasar un parámetro a la función que muestra la siguiente vista. Algo así: [navigationController pushViewController:newViewController animated:YES ]; Pero además, también es muy sencillo crear animaciones más complejas, de forma totalmente trivial. Alcanza con encerrar el código que modifica la interfaz de usuario en un bloque de animación. [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:duration]; //código del cambio que queremos hacer en la UI [UIView commitAnimations]; La duración de la animación está expresada en segundos. Por ejemplo, supongamos que tenemos una toolbar en la parte inferior de la pantalla, y queremos que desaparezca deslizándose hacia abajo cuando presionamos un botón. El ...

Open day: Innovation & Technology

Imagen
El proximo martes 6 de julio, la empresa Globant organiza  en el Radisson una serie de conferencias (hackathons...) que prometen ser interesantes. Más información En particular, yo pienso ir a la de iOS... Visto en el blog de Pablo Brenner y Sergio Fogel .

iPad, iPhone y la próxima revolución tecnológica

Imagen
El miércoles pasado Apple hizo el lanzamiento de su nuevo producto, el iPad : un "tablet" de 10 pulgadas que ejecuta el mismo sistema operativo que el iPhone. Como todo producto nuevo de Apple, a generado todo tipo de reacciones. Están los que ya quieren uno y lo van a encargar tan pronto como se pueda, y están los que no ven demasiado en qué les puede cambiar la vida (entre los que me incluyo). Mis impresiones sobre el iPad Mi primerimpresión es que no veo mucho la utilidad de un dispositivo de este tipo. No solo del iPad, me refiero a cualquier "tablet". Es demásido grande para llevarlo en el bolsillo, y creo que es poco práctico de usar, al menos comparado con un netbook. Tampoco es cuestión de criticar a Apple, que en los últimos productos que ha lanzado al mercado ha tenido mucho éxito. En todo caso, aunque no sea un dispositivo que revolucione el segmento de mercado que ocupa (como lo hicieron el iPod y el iPhone), igual para Apple va a ser un buen ne...