Atrás

Episodio 9 - Cómo crear una buena aplicación para iOS

el 

En el noveno episodio de nuestra temporada hablamos sobre cómo crear una buena aplicación para iOS, Apple y, para los más valientes,  también explicaremos cómo empezar a desarrollar en esta plataforma.
Lo hablaremos con Joan Romano, desarrollador iOS que actualmente trabaja en la app de running Runtastic y profesor de desarrollo iOS en ironhack. 
Nos explicará desde cómo nace una idea y se implementa, qué guías de estilo seguir, que errores no cometer cuando se pasa de web a mobile  y mucho más.
 
Seguidamente os dejamos la transcripción de la entrevista al completo:

Bienvenidos al noveno capítulo de Push Your App

Sara: "Buenos días a todos y bienvenidos al noveno capítulo de Push Your App by GoodBarber.
 El podcast en el que descubrimos juntos el mundo de las aplicaciones. Hablaremos de novedades, trucos, técnicas y noticias con desarrolladores, expertos en mk, periodistas especializados, diseñadores y mucho más… Yo soy Sara Guiral."
 
Michele: "Y yo soy Michele Pisani. 

Y juntos entrevistaremos en cada capítulo a una persona relacionada con este magnífico e intrigante mundo de las aplicaciones. 
Hoy en el programa nos ponemos un poco técnicos y tenemos a un desarrollador de aplicaciones móviles de iOS en Runtastic y profesor de desarrollo en ironhack. 

Él es Joan Romano y con él hablaremos sobre cómo hacer una buena app para iOS. Y para los más atrevidos… nos dará algunos consejos para empezar a desarrollar desde cero. 

¡Hola Joan! "

Sara: "¡Hola Joan bienvenido! Muchas gracias por aceptar nuestra invitación, estamos encantados de tenerte con nosotros. Bueno cuéntanos un poquito sobre ti: ¿Cuándo empezaste a programar?"


Joan: "Bueno, yo empecé desde pequeño a trastear con este mundillo. Sí que es verdad que cuando trasteaba cuando era pequeño a mi me gustaba mucho toquetear el ordenador, el hardware, las antiguas torres de PC… que si la ram, la cpu, el disco duro, etc… y te montabas tú, tu torre y etc. Y siempre estaba ligado con el mundo de la informática y decidí evidentemente enfocar mi carrera a ingeniería informática y fue un poco allí, en la carrera que empecé a programar más en serio no, porque hasta entonces había programado muy poco, cosas muy simples muy básicas. Y nada, en la universidad si que aprendes distintos lenguajes de programación, diferentes paradigmas, estructuras de datos etc. Y nada, pues enfocándonos al mobile a partir de ahí cuando acabé la carrera, me fui a trabajar a Francia donde también acabé el proyecto de final de carrera y en principio yo me enfoqué más a sistemas de backend. Por entonces, empecé a trabajar en una empresa muy conocida, una internacional centrada en el turismo que se llama Amadeus, pero entonces, que debía ser por el 2010 estaba todo el boom del mobile, en Barcelona, sobre todo, había un boom muy bestia con el tema y nada, a la que me salió una oferta relacionada con el mundo del mobile me vine para Barcelona a trabajar en pequeñas startups dedicadas al mobile. Eso fue como empecé a programar y luego como me dediqué específicamente al mundo mobile. "
Michele: "¿Te acuerdas de lo primero que desarrollaste para iOS?"

Joan: "Ahh! Bueno, lo primero primero que desarrollé, porque sí que es verdad que cuando empecé con mobile no empecé con iOS, empecé con Android con Blackberry también porque era todo relacionado y ya me interesé un poco más tarde por iOS, pero me acuerdo que empecé a desarrollar por mi cuenta y lo primero primero cuando empecé a programar fue una app de un grupo de música. Unos colegas míos tenían un grupo de música y ellos querían hacer un nombre en internet y yo les dije, pues voy a haceros una app y sí que es verdad que la app era una idea terrible, era un desastre como idea, quién se va a descargar una app que es un grupo de música. Pero bueno, estaba chula y ellos tenían una página web en SoundCloud y las app se descargaba las canciones de SoundCloud y las reproducía en el móvil, y estaba muy chula. Evidentemente, no la publicamos en la App Store , no tenía ningún sentido y la app era un desastre, pero nada, esa fue mi primera experiencia."
Sara: "Visto que hace tantos años que estás en el sector del desarrollo y has desarrollado para más plataformas, por ejemplo Blackberry, antes de iOS, hacia dónde crees que están evolucionado las apps móviles? 
" 

Joan: "Ya te digo, lo de Blackberry es mi pasado oscuro, pero sí sí, desde luego los wereables, el siri, todo esto… al principio cuando salieron las apps nada todo el mundo tenía que tener una app, una app para cada cosa, incluso yo pensé que una app para un grupo de música pero bueno, este boom de tener una app para cualquier cosa está bajando y ahora tenemos algo más… dejar de ser una simple app en nuestro teléfono móvil y pasar formar parte de nuestro ecosistema operativo. En este caso iOS en Apple que ofrece, ofrece wereables, 3d touch, notificaciones, widgets, incluso tienes extensiones en el teclado. Ahora mismo con iMessage hay extensiones… Todo forma parte para que tu app sea una extensión del sistema operativo y no sea simplemente una app que me descargo de la App Store, uso y fuera. Sino que tiene que integrarse en el sistema operativo en cualquier estado en el que yo lo use y vamos un poco hacia allá…. Evidentemente el futuro está muy abierto, por que no se sabe muy bien cuando va a parar este boom de extensiones porque ahora mismo hay un montón de extensiones en iOS y Android, pero ese es el futuro que yo veo… Sin duda, aún queda mucho camino por delante."
Push Your App Podcast
Michele: "Ahora una pregunta para el Joan Romano profesor de desarrollo ¿Cómo empieza la creación de una app desde el punto de vista de un desarrollador?"

Joan: "Bueno, depende un poco. Si me preguntas desde un punto de vista dentro de un equipo, con un equipo de diseño, etc. pues cambia un poco. Si me estás preguntando desde el punto de vista que yo mismo tengo una idea y quiero concebir la idea cambios un poco."
 
Sara: "La segunda opción. Que es como se siente la gente que nos escucha."

Joan: "Nada, siendo un desarrollador todo nace con una idea, todo empieza con un brainstorming , en cómo puedo plasmar la idea que tengo al mundo smartphone, porque quizás luego no tiene ningún sentido. Y nada, una vez hemos plasmado esta idea, vemos que tiene sentido, pasamos a la etapa de planificación y diseño, es decir, qué cosas tiene mi idea que tienen sentido dentro de un smartphone , se adaptan a las guidelines de la plataforma en si? A las capacidades. Es una fase muy larga, en la que tienes que encajar tu idea en un diseño que sea concebible en la plataforma y nada, una vez acabada esta fase, empieza el desarrollo en si, que básicamente es modelar todo esto que hemos diseñado y tenido en nuestra cabeza de un mundo físico a un mundo digital, en el lenguaje digital de cada plataforma."

Sara: "¿Cuánto tiempo puede crear desarrollar una app con una jornada laboral de 8 horas?"


Joan: "Esta es la pregunta del millón, ¿cuánto me va a costar hacer esta app? Todo depende, si me estás preguntando por una app super sencilla, con un trabajador a 8 horas en jornada, pues todo depende puede llevar de semanas a un mes. Hay gente que me pregunta, quiero hacer Facebook pero cambiando esto, esto y esto…."

Michele: "No, algo muy básico."

Joan: "Pues trabajando 8 horas al día, el tiempo medio suele ser un mes. Por ejemplo, la app que yo desarrollé para mis colegas y el equipo de música me llevó una semana."

Sara: "Como desarrollador, qué es lo primero que miras cuando te descargas una app?"


Joan: "Bueno, uno como desarrollador se pone muy tiquismiquis cuando descarga una app. Hay quien se descarga una app para hacer su cometido y fuera. Yo, como desarrollador, lo primero que miro evidentemente es si las lineas de estilo estás alineadas, es muy frustrante que tu trabajo siendo el que es, te descargues una app y tengo lineas de Android. Es algo que es feo."

Sara: "¿Qué son las guías de estilo?"

Joan: "Las guías de estilo son unas guías que se imponen tanto en iOS-Apple como Google en Android, son esas guías de estilo para que tu aplicación se adapte a la plataforma. Es decir, todo lo que es la navegación, las vistas , la jerarquía o el diseño en sí, tiene que tener un feeling parecido al de la plataforma. Realmente es el trabajo de un buen diseñador o un buen UX designer de llevar esto a acabo y ya te digo, requiere trabajo por parte del diseñador. O una aplicación no está adaptada al estilo de la plataforma. Lo que también miro es que funcione realmente bien, que tengas funciones a parte de las habituales, por ejemplo que la app funcione offline, que la funcionalidad que me está proporcionando la app también este disponible offline. Que yo por ejemplo quiera twittear pero ahora mismo no tengo conexión a internet, pues ese tweet se guarda y que cuando tenga conexión se publique y que yo como usuario no tenga que preocuparme si tengo conexión o no. Y si por ejemplo estoy en una aplicación cómo Facebook, quiero publicar una foto o en instagram, pues que mientras se publica, yo pueda seguir interaccionando con la app, ir al perfil de una persona… que no me hagan esperar mientras la app está haciendo su trabajo."

Michele: "¿Qué tienen que tener en cuenta los propietarios de una web cuando pasan al mundo móvil? "


Joan: "Bueno, tiene que tener en cuenta que la plataforma a la que van a migrar, lo que van a migrar, es totalmente distinta, desde un punto de vista funcional, incluso de diseño. Lo que suele hacer la gente cuando pasa de web a móvil ¿qué es? pues lo más tentador. Yo paso esta web existente y tal cual la paso a móvil y esto es útil porque es directo, pero realmente es importante no pararse en ese punto. El dispositivo móvil tiene muchas más características que una web.  Por ejemplo, no aprovechas nada características como la ubicación, el almacenamiento online, las pushes… Es decir, está bien hacer la transición de web a mobile pero no tienes que detente hay. Es un dispositivo con más capacidades que hay que aprovecharlas. Ese es un error que se ve bastante es cuando se migra de web a mobile. Y otro error que se ve bastante es migrar la web a la app, y esto es una experiencia para el usuario malísima, yo entiendo que como usuario cuando me bajo la app tengo que poder hacer todo en la app. Entonces, si yo me bajo una app y me redirigue a la web, quiere decir que esta app no está preparada. Para el clientes es una experiencia de usuario bastante mala."
Sara: ¿Qué diseño recomendarías para una buena app iOS ? Algún ejemplo de app que consideres casi perfecta.
 

Joan: Lo que estaba muy de moda antes era el side menú, el Hamburguer menú, que es un menú lateral que se abre y tienes allí todas las opciones. Hubo como un boom muy bestia de este menú pero después la gente se dio cuenta de que no era nada útil, porque tienes mil opciones a las que el usuario nunca va a acceder y ahora lo que sí que se intenta es tener una Tab ar con las 3-4 opciones principales de la app y a partir de ahí ir pasando a cada funcionalidad internamente. Respecto a esto hay una cosa muy interesaste que vi, estuve precisamente en una conferencia la semana pasada y había un chico de Spotify que explicaba como hicieron la transición de Hamburguer Menú a Tab Bar, y explicaba los motivos, más allá de que el diseño era malo desde un punto de vista de experiencia de usuario, también había motivos reales basados en datos, que les decían que cierta funcionalidad no estaba siendo utilizada con un Hamburguer Menú, pero con una Tab Bar sí. Entonces, creo que hoy en día no tiene sentido hacer un diseño nuevo con un menú lateral y, para mi, si me preguntabas ejemplos de apps que consideraba perfectas, de diseño y de funcionalidad, para mi apps como Facebook Messenger son casi perfectas. O apps como Spotify que te están enseñando contenido que tu quieres ver y nada más y que desde el punto funcional son perfectas, pues serían dos buenos ejemplos."
 
 
Sara: "¿En Android e iOS sabes si tiene el mismo efecto la Tab Bar?"

Joan: "Es parecido, la diferencia con Android es que sí que hay apps nativas que utilizan el Hamburguer menu, pero hay un componente parecido a la Tab Bar, pero en vez de estar situado en la zona inferior, está situado en la parte superior."
Michele: "¿Qué diferencias encuentras entre iOS y Android, crees que es bueno tener una app en las dos tiendas?"

Joan: "Siempre que te lo permita tu economía sí, no? Lo que está claro es que lo que suele hacer la mayoría de gente es empezar con iOS y luego si la app es exitosa pasarla a Android, por qué? bueno, suele ser porque iOS te da lo que es monetizar y Android te da los usuarios. Entonces, si tu tienes una idea que quieres plasmar en mobile, lo que sueles hacer para validar esta idea, es lanzar cuanto antes un mvp (producto mínimo viable) en iOS y si este realmente tiene éxito, es una idea válida, luego lanzas en Android que lo que te va a dar un volumen de usuarios." 
 
Sara: "Es la primera vez que escuchamos esto aquí, es interesante no nos lo habían dicho nunca."

Joan: "Sí, sí sí, suele ser así… iOS te da monetizar, Android te da una base de usuarios."
 
Michele: "Ahora pasamos al desarrollo, cambiamos de tema. Para aquellos oyentes que quieran lanzarse con el desarrollo de aplicaciones en iOS, qué necesitan para empezar, está al alcance de alguien que no sabe programar?"

Joan: "Bueno, ¿qué necesitan? Básicamente ganas y paciencia y querer aprender porque sí que es verdad que está al alcance de cualquier persona, yo creo que no hace falta tener ninguna carrera para saber programar, y realmente a lo largo de la carrera esto me lo ha demostrado porque los más brillantes con los que he trabajado son gente que realmente no tienen carrera. Entonces, esto te demuestra que todo el tema de programar es un tema muy autodidacta y que puedes aprender con internet y todos los recursos gratis. Incluso Apple mismo esta haciendo un esfuerzo increíble para que todo su material sea accesible y para que todo su material sea gratuito desde un punto de vista del aprendizaje."
 
Sara: "Podrías decirnos alguno, por si hay algún atrevido?"
Joan: "Yo normalmente donde suelo mirar y aprender es en los hilos oficiales de Apple y si ya quiero ir a algo más específico suelo ir a blogs más al detalle. Por ejemplo, suelo ir a un blog que está muy muy bien que es objc.io y ahí es por ejemplo donde aprendo cosas más específicas. Pero, por ejemplo, para aprender a programar o un lenguaje específico como Objective C o Swift Apple mismo provee de un montón de material y de libros gratuitos disponibles. 
" 
 
Sara:"¿Qué herramientas físicas y etéreas (o sea, hardware y software) hacen falta para programar para iOS?"

Joan: "Nada, nada… digo nada pero sí! Te hace falta un Mac, Xcode para programar que es como la herramienta que se utiliza para programar, y sí que es verdad que sin un mac es posible hacerlo, pero es mucho más complicado. Yo recomiendo un Mac, Xcode y para empezar eso es lo único que falta. Y si quieres ya publicar la app en las tiendas, ya necesitas tener una cuenta de desarrollador que se paga una vez al año que está alrededor de los 100 dólares y eso es lo que te va a permitir desarrollar desde un punto de vista de hardware y software."

Michele: "Hace poco salió iOS 10 qué novedad es la que más te ha sorprendido a nivel de desarrollo."


Joan: "Bueno, iOS 10 a mi en principio la sorpresa fue que por fin podemos integrar Siri en nuestras aplicaciones. Es decir, Siri es este software que ayuda al usuario. Puedes preguntarle a Siri lo que quieras que él te va a intentar guiar por el sistema operativo y ahora lo que puedes hacer es agregar ese componente dentro de la aplicación. Yo tengo una aplicación de música y puedo decirle a Siri que reproduzca esa canción. Esto en principio fue lo más novedoso pero a mi lo que más me sorprendió fue el focus que ha puesto Apple en este último update en iMessage, ahora han hecho un gran update de iMessage e incluso ahora tiene su propia store, se integra con otras apps y puedes compartir todo tipo de contenido, crear apps para imessage, es una pasada. El focus que han puesto en iMesage a mi me dejó muy sorprendido porque no me lo esperaba para nada. Y bueno, luego si lo piensas bien es una respuesta bastante obvia si piensas en Facebook y todo el tema de los boots, del messenger y tener boots que te ayuden cuando tienes preguntas y etc."

Sara: "Y como siempre para acabar, algún truco y consejo para nuestra audiencia."


Joan: "No me se ninguno, es decir, los únicos trucos que suelo dar son que no hay ningún shortcard, ningún camino corto, si realmente quieres aprender a programar tienes que tomártelo en serio y dedicarle tiempo. Si lo único que quieres es publicar una app en la store, porque tienes una idea de una app maravillosa y quieres publicarla pues lo mismo. Si eres tú quien quieres publicara al final tendrás que tener en cuenta un montón de cosas: cómo funciona una app en iOS, cómo funciona una app en la App Store.
Ya te digo, mi truco entre comillas es ese, no ser ansioso y echarle ganas y tiempo y esfuerzo."
 
Sara: "Muchas gracias Joan por estar aquí hoy con nosotros en este podcast. Estamos muy contentos de que hayas compartido tu experiencia con nosotros. ¿Dónde te pueden encontrar nuestros oyentes?"

Joan: "Nada me pueden encontrar en internet, en Google en Twitter donde quieran, mi nombre es Joan Romano y nada si me envían cualquier tweet o lo que sea estaré encantada de responder."
 
Michele: "Muchas gracias Joan

"

Sara"Y muchas gracias a todos por escucharnos, por estar aquí y por vuestras valoraciones en iTunes, vuestros me gusta en iVoox y likes en Soundcloud."

Michele:" Hasta el próximo Miércoles a las 10:10, con una nueva entrevista! 
Buenos días! :)" 
 

Si quieres lanzarte en el mundo de las apps, dale una ojeada a nuestro ebook gratuito ⬇️
Apps for Beginners Ebook