Charla sobre «El estado de la nación móvil»

Hablando del estado de la nación móvil

Este pasado Miércoles 12, estuve en Sevilla impartiendo una charla sobre cómo está ahora mismo el mundo móvil, de la mano de Avante. Fueron cuatro horas (con un pequeño descanso) en el que apenas tuve tiempo de hablar de iOS y Android, y algunas cuestiones generales. Me lo pasé muy bien, relatando mis batallitas. Supongo que los asistentes (que me tenían que aguantar), no tanto.

Es increíble lo mucho que cambia esta parte del sector informático en meses. En Julio estuve en Zafra realizando este taller, pero con más profundidad, para ayudar a una empresa a elegir su estrategia móvil para desarrollo. Como eran programas in house y ya sabían Java finalmente vimos que lo mejor era la ruta Android. Pero desde entonces Samsung ha sido condenada por copiona, ha salido el Kindle Fire HD, el Nexus 7, se han anunciado los nuevos Lumias… Esto va a velocidad de vértigo y son tantas las plataformas y hay tanto ruido que es normal que el que no esté al tanto quiera alguna indicación.

Al fondo, inasequible al desaliento
La pena es que no pudimos hacer casi ni un hola mundo con Xcode. Quería hacer algo también con Android, pero fue imposible. O haber enseñado alguna aplicación webOS, o Windows Phone. Pero cuatro horas se van volando, cuando hablas de algo que te apasiona 😀

P.D.: Avante ha convocado un máster de desarrollo iOS, Android y Windows Phone. Tienes la oportunidad de aguantarme enseñando a programar en  iOS y Android si te apuntas 😉

P.P.D.: ya a finales de 2010 estuve hablando en un encuentro e-Tic de Avante sobre iOS. Hay vídeo para recordarlo.

j j j

La NSConf11 de Vilanova i La Geltrú

Este pasado fin de semana tuve el placer de asistir a la primera Conferencia que ha organizado a nivel nacional la Asociación NSCoders España. Asociación a la que pertenezco y, la verdad, y no es por ser nosotros los organizadores, pero nos ha salido casi redondo. Y encima no sólo iba a escuchar. Cometieron el error de dejarme hablar. Y claro, me dediqué a desvariar un rato y, entre chiste y chiste, contaba cómo hacer un cliente RSS para iPhone.

Aún no se si realmente alguien aprendió algo de mi charla. Yo me lo pasé muy bien, aunque no las tenía todas conmigo. El Viernes anterior había estado toda la mañana programando con JavaScript y el framework Enyo para la HP TouchPad. Y por la tarde había estado viendo detalles intrincados de Java en un curso de preparación para el OCP Java SE 6 que estoy impartiendo. Y Cocoa ya no me cabía en mis maltrechas neuronas. Al final parece que Cocoa fluyó (con ayuda de muchos cafés) y me pude escapar sin demasiados tomatazos. Y aquí es donde empezó realmente lo bueno.

Este año he ido a otra conferencia, el iOSDevUK en Gales, que me encantó. Pero comparando ambas, en la NSConf11 he escrito código. No sólo he escuchado, aprendido y charlado de código. He trabajado el código. Como en el increíble taller de TDD que impartió Pedro Santos, tras su charla sobre Behaviour Driven Development. Aquí tuve el privilegio de picar código mientras hacíamos pair programming aplicando el proceso paso a paso de TDD. O la charla sobre Chipmunk de Óscar Cardona, que nos dejó a todos atontados y pensando «esto no puede ser así de simple, o hay más código o este tío explica muy bien esto». O el taller de Core Plot, donde vimos cómo hacer gráficas complejas con esta librería, gracias a la demo de Víctor Jalencas. Y tantas y tantas ponencias interesantes. La única pena: las que me perdí mientras yo hablaba, y las que tuve que elegir, perdiendo la que se presentaba en paralelo.

Lo mejor, la gente que he conocido. Gente con muchas ganas de aprender, compartir y enseñar. Gente encantadora y que, como los miembros de la NSCoder_bcn que han organizado el evento, se han matado para que todo estuviera perfecto, como al final ha sido. Creo que nadie pensaba que en una primera conferencia íbamos a tener tanto público. Esto puede llegar a ser una WWDC hispana. Trabajaremos por ello. Gracias a José Juan, nuestro presidente, o a Guillem o Leandro, o Xabi, o… por la paliza enorme que se han dado.

He podido conocer en persona (yo no «desvirtualizo» a las personas: las conozco) a José Lobato, ídolo de masas Geeks y gran bebedor de cerveza :-D. El tío en persona es para comérselo, y gran parte de la «culpa» de que todo esto se originara es la semilla plantada desde 85% Cocoa con las NSCoder Nights. Otro que me ha impresionado y he podido escuchar con respeto reverencial es Iván Leider. Él es un Maestro Jedi del desarrollo. Yo, ni Padawan…

Y demostrando que el mundo geek también es un pañuelo, conocí a Daniel García, el programador de la App de Minube para la TouchPad. Creo que allí estábamos los dos únicos programadores Enyo de toda España :-). Bueno, alguno más habrá, pero no creo que más de 10…

Y claro, me he hinchado a comer, he visto algo de Vilanova i La Geltrú (principalmente de noche) y no he parado de hablar. La experiencia no merece la pena: es imprescindible si desarrollas en Cocoa. Yo el año que viene, repito. Espero que alguien recapacite y no me dejen hablar.

Os dejo con un Vídeo de Vilanova Digital en la que «el presi» de la Asociación explica (en Catalán, pero se entiende perfectamente) qué es la NSConf11

Y el que quiera el código del RSS Reader que utilicé de ejemplo, lo tiene en: https://github.com/dfreniche/SimpleRSSReader

j j j

Primera conferencia de la Asociación NSCoders España

El movimiento de las NSCoder Nights que está recorriendo España es simplemente espectacular. Luchando contra todos los prejuicios que habitualmente tenemos los informáticos para hacer comunidad, hemos creado grupos en muchas capitales de provincia que se reúnen de forma regular. Si no has ido a ninguna NSCoder, y tienes alguna cerca, seguramente te encantará. Es el sitio al que puedes ir a hacer terapia, un poco como alcohólicos anónimos, donde encuentras gente que le interesa de verdad lo que le cuentas y quiere aprender y enseñar. Porque ya te habrás dado cuenta que cuando tu mujer te dice «sí cariño» tras explicarle lo que te gustan las categorías de Objective C, realmente no te está escuchando, ¿no?
El paso natural era encauzar estos esfuerzos individuales para hacer algo más grande, por y para los programadores Cocoa de España. Para ello, hemos constituído una asociación, la Asociación NSCoder_es, cuya web es nscoders.org donde puedes encontrar toda la información. Objetivo: compartir, aprender e impulsar Cocoa en España. No, por desgracia su objetivo no es hacerme rico. Lo propuse, pero lo rechazaron. También me rechazaron el jamón gratis de regalo.
Así que ya tenemos la reuniones locales, pero ¿por qué no hacer una conferencia, de programadores para programadores, y que encima sea gratis? Si fueran mujeres, sería perfecta!
Por eso estoy entusiasmado de poder asistir (y si me dejan, incluso de hablar) a la primera conferencia que organiza la asociación NSCoder España en Vilanova i la Geltrú. Tendrá lugar los próximos días 29 y 30 de Octubre, sábado y domingo, y antes del puente del 1 de Noviembre
¡Déjate de excusas, que si no tienes tiempo, que si necesitas planificarte con más antelación…! ¡Tú y yo sabemos que lo que te gusta, tu vicio confesable, es programar! ¿Nunca has hecho alguna locura de forma impulsiva? Ahora es el momento!
Te esperamos en la primera conferencia NSCoder ES en Vilanova i la Geltrú. Recuerda: 29 y 30 de Octubre. ¡Que es gratis!. Toda la información estará en la web de la asociación NSCoders España. ¡Ah, y no hay que estar asociado para asistir! Sólo querer hablar de Cocoa.
j j j

Café y Cocoa

Cafe y cocoa

Cafe y cocoa

Así, sin más fanfarrias ni historias, le doy el pistoletazo de salida a algo que hace mucho tiempo tenía ganas de hacer: un videocast. Concretamente este se llama Café y Cocoa, y no es un curso, ni un tutorial. Es un «voy a hablar hoy de lo que me apetezca», así que, aunque parezca que va a tener un orden lógico, estad preparados para lo peor 🙂

Quedan muchas cosas por hacer. Me gustaría publicarlo en iTunes. Y traducir el tema al Español. Y mejorar muchas cosas. Pero como ando escaso de tiempo, y al final lo fundamental es que al que le guste, que se vea los vídeos, voy a hacer un «release early» pero ya. Así que consideradlo en Beta, como todos los servicios de Google 🙂

He procurado hacer vídeos cortos, y esa va a ser la tónica, para no aburrir a las ovejas. Se agradece feedback, aquí, en Café y Cocoa, por correo, en Twitter o por señales de humo. Ánimos e insultos son bienvenidos, como siempre.

¡Mamá, ya soy videocaster! ¡Y cumplo la Ley Emilcar!

j j j

Mi primera aplicación para iPad

He terminado y entregado mi primera App para iPad. Ha sido un encargo, muy especial, para crear un cartel interactivo dentro de un museo. Así que no la busques en la App Store, porque no va a aparecer. La App está dedicada a narrar los sucesos que llevaron hasta la primera Constitución democrática de España, «La Pepa», proclamada en 1812. Es visualmente muy sencilla (debía ser «minimalista») y muy fácil de usar: se desplazan los sucesos con un «swipe» o bien se avanza por un «cover flow» en la parte inferior.

Mi App para iPad en funcionamiento

Mi App para iPad en funcionamiento

Con esta App he aprendido muchas cosas:

  • cómo desarrollar pensando en la resolución del iPad
  • cómo hacer pruebas con el iPad de mi mujer cuando ella no lo está usando
  • cómo usar a fondo UIScrollView
  • cómo encontrar trozos de código en Internet que me resuelvan problemas 🙂
  • cómo distribuir una App de forma sencilla para que el cliente la pruebe sin tener que ir yo a instalarla en sus dispositivos (gracias @xelecto por enseñarme BetaBuilder)
  • a hacer un MVC del que me sienta contento
  • a comenzar un proyecto pensando en cómo voy a reutilizar el código
  • que el iPad no tiene motor de vibración 😛
  • que desarrollar para un estudio de diseñadores te abre los ojos sobre muchos aspectos de diseño, pero también a ratos te hace odiar a la raza humana.
Cambiando de evento

Cambiando de evento

Increíblemente he cumplido «casi» perfectamente en tiempo, pese a estar con mil cosas a la vez. Y me he vendido muy barato, debo decirlo, porque el proyecto me atraía mucho.

Tengo ahora una buena base para plantearme una App que cuente cuentos, o explique cosas (al estilo de aquellos estupendos libros de «Cómo funcionan las cosas»).

Así que ya sabes: si tienes una App interesante para desarrollar, dinero en el bolsillo y las ideas claras, siempre puedes contactar conmigo para contratarme como desarrollador Freelance. O directamente puedes donarme el dinero y ya yo voy haciendo algo «magical» 😀

Batalla de Trafalgar

Batalla de Trafalgar

j j j

Episodio 19 de 85% Cocoa

85% Cocoa Podcast. Pulsa para ir al podcast. Imagen usada sin consentimiento de nadie. Espero que no me denuncien

85% Cocoa Podcast. Pulsa para ir al podcast. Imagen usada sin consentimiento de nadie. Espero que no me denuncien

Que escucho 85% Cocoa habitualmente es algo que cualquiera que se lea mi timeline de Twitter verá en un rato. Es un podcast que te anima a seguir aprendiendo cosas en el mundo del desarrollo Mac con Cocoa, y que trata también temas extrapolables al desarrollo con cualquier lenguaje. ¡Jose Antonio Lobato hasta habla de cómo correr en su podcast!. Te lo recomiendo si programas en cualquier lenguaje. Bueno, si lo haces en Haskell o BrainFuck estás más allá de toda ayuda o tratamiento…

En el episodio 19 Jose tuvo a bien invitarme a hablar, junto con su socio en Binary Tricks, Jesús Fidalgo (@jfid), sobre los sistemas de gestión de bugs, tareas, tickets o asuntos (issues) que usamos. En mi caso, hablé de FogBugz, que es el que actualmente uso. Me he dado cuenta de que en esta entrada prometía hablar de FogBugz en el blog. Bueno, considero mi cuenta saldada conmigo mismo 🙂

La charla me resultó muy, muy agradable. Me la pasé rebién, que dicen los argentinos. La hora que estuvimos hablando se fue en un momento, y tratamos muchos temas. Quiero dejar aquí el enlace al artículo en el que Joel Spolsky explica su «Evidence Based Scheduling», es decir, su sistema de «predicción» estadística de la probabilidad real que tienes de lanzar tu producto en las fechas que tú propones. Es lectura obligada.

Curiosamente ha levantado cierto revuelo la frase «el terrible complejo de sentirse inútil», que es lo que cada informático siente todos los días de su vida cuando se levanta de la cama. Con el ritmo de cambio habitual, siempre tienes la sensación de no saber nada. Pero eso no es real. Voy a dedicar algún post a este tema, ya que creo que necesitamos mucha terapia de grupo.

Y nada más. Que espero que lo disfrutéis y que, si no conocíais el podcast os apuntéis a el. Y, por cierto, es harto desagradable la experiencia de escucharte a ti mismo durante una hora. Nadie debería tener una voz que suene distinta fuera de su cabeza.

j j j

Usando XCode 3.2.5 con dispositivos iOS 4.2.1

Hace unos días salió la 4.2.1 de iOS para iPhone y iPod Touch. Sin pensarlo demasiado, actualicé mi iPhone 3Gs, que es la máquina que uso en el día a día, pero también la uso como máquina de desarrollo y pruebas. Pero no caí en el posible problema: tener en mi dispositivo instalado una versión de iOS no soportada por XCode.

Pero salió la 3.2.5 de XCode y me la bajé e instalé. Bueno, problema solucionado ¿no?. Veamos, esta versión soporta… ¿iOS 4.2? ¿Y qué pasa con iOS 4.2.1? Un sudor frío me recorrió la espalda. Y se confirmaron mis miedos con este tweet de @jdortiz:

Lógicamente, estoy en fase de pruebas para lanzar la v1.1 de MyEvents. Esto sólo te pasa cuando estás probando. Murphy es cruel.

Esta mañana, me remangué y me senté frente a XCode. Al abrir el proyecto, un solitario error:

Mi XCode no entiende qué es eso de iOS 4.2.1 🙁

Abrí el Organizer (para ver mis dispositivos), y nada más abrirlo me apareció la siguiente ventana:

Vamos, que XCode me estaba diciendo: «esto de iOS 4.2.1 no tengo ni idea de qué es, pero si quieres me leo unos cuantos ficheros del iOS de este iPhone y trato de ver si soy capaz de manejarlo». Evidentemente, pulsé en Collect. Una barra de progreso me indicaba que se importaban los ficheros de iOS de mi iPhone. En segundo plano, XCode «desimbolicaba», es decir, desensamblaba el código de iOS 4.2.1 y lo preparaba para poder depurar con él. Al finalizar, supe que había triunfado porque el Organizer me mostraba la versión correcta en mi dispositivo:

Ahora ya sólo me quedaba actualizar la información del proyecto (para que se compilase usando el SDK correcto) y del target (el ejecutable que genera XCode) para se enlazase con las bibliotecas de la versión correcta. Pulsamos sobre el proyecto, ? + I (obtener información) y en la pestaña Build, cambiamos Base SDK. En mi caso ponía 4.1 (missing) y le he puesto la última. Luego repetimos, pero en el Target, ? + I, build y ponemos el Base SDK a 4.2.

¡Listo! Graba (? + S) y cambia entre dispositivo y simulador un par de veces. Parece que XCode no refresca bien el cambio. Ahora, ya puedes probar con la 4.2.1 en el Simulador y en tus dispositivos.

P.D.: Jorge me avisó en este Tweet de que alguien ya había escrito algo sobre este problema, pero 1) está en Inglés y 2) no está tan mascadito. ¡Espero que os sirva!

j j j

Mi primera App ya está en el App Store: MyEvents

Al fin, tras casi un año desde que me planteé en serio dedicarme a esto de las Apps para iOS, mi primera App ha sido publicada en la App Store de iTunes. Antes de nada, el momento SPAM:

MyEvents, aplicación para no olvidar tus momentos importantes

  • Puedes verla y comprarla en iTunes a través de este enlace. ¡Vamos, que sólo son 0.79 € y así ayudas a un programador a pagar sus letras del yate y la mansión!
  • Si no tienes / quieres entrar en iTunes ahora mismo, la web de Femtocoders te explica de qué va MyEvents.
  • He abierto una sección en el blog con información sobre las Apps que vaya subiendo al App Store. Porque ahora van a empezar a subir como churros 🙂

Es bonito el ver algo que has «hecho con tus manos» subido en la misma tienda donde compras tus aplicaciones. Es más bonito aún ver que buenos amigos la compran y me mandan correos con sugerencias de mejora. Pero lo mejor es ver que gente a la que no conozco, en el otro lado del mundo, compra tu App porque le gusta. Ver en las estadísticas compras de Bélgica, Francia, Alemania, Australia, EEUU, … aunque sólo sean una unidad, y aunque no genere ingresos de vértigo, es algo que te motiva mucho: esto que estoy haciendo le gusta a alguien.

Porque el camino es duro, no te engañes. En este año, he leído toda clase de libros, de Cocoa y de otras cosas, he preparado mi entorno de trabajo, me he esforzado programando, pero sobre todo he tenido que luchar con dos grandes enemigos:

  • el miedo a fracasar, a que se rían de tu trabajo
  • el volver a ser un simple programador, después de años de ocupar puestos de mando intermedio (o mando total cuando tenía mi empresa)

Volver a pensar como un programador, tener ganas de abrir XCode, volver a sentir ese «vicio por programar» me ha llevado meses. Casi ocho, hasta que he conseguido volver a despertar esa parte dormida de mi cerebro. No ha sido fácil.

Pero probablemente lo peor ha sido el superar las propias autolimitaciones que nos ponemos. Esa voz, dentro de tu mente, que te dice constantemente: «no, no lo hagas, no lo intentes, vas a fallar, aquí se está más cómodo, mucha gente no lo consigue, no pasa nada…». Al final, tras lanzar el primer producto, otra voz ha aparecido echando a la primera y diciendo «a tomar por culo con los miedos, con las dudas, yo soy más duro y cabezón y al final, prevalezco».

Tened cuidado con las limitaciones que os ponéis a vosotros mismos. Cuando se vencen, se ve que no eran para tanto.

Y, por supuesto, comprad la App 🙂

j j j

Vídeo de mi intervención en eTic

Pues aquí está el vídeo de mi intervención en el encuentro eTic 2010: Mobile Development y que se titula: «Crea ¡ya! tu equipo de trabajo para Apple iOS»

En la intervención hablo de todo lo necesario para crear o reconvertir un equipo de programadores y que escriban apps para iOS. Está grabado con mi cámara y la calidad no es profesional (gracias, Walter!), pero al menos así está a la altura del contenido 🙂

Crea ¡ya! tu equipo de desarrollo en iOS from Diego Freniche on Vimeo.

La presentación que utilicé está en Google Docs

La cobertura de los medios del evento:

En el vídeo podéis verme con la camiseta que me preparé de Fanboy gracias a los Macniacos

j j j