FAQ: Crear una aplicacion iPhone

¿Querés hacer tu app de iPhone y no sos programador? Tenés una idea pero no sabés como hacer para desarrollarla? En este artículo vamos a repasar las preguntas frecuentes que tienen los usuarios que quieren crear una aplicación para iPhone, iPad o en general cualquier dispositivo móvil, sea Android o WindowsPhone. Está basado en preguntas reales que recibimos.

diseñando tu aplicacion móvil

¿Cuál es el precio de una aplicación iPhone?

Casi siempre valorar una aplicación resulta difícil. Para no caer en parámetros subjetivos, se intenta seguir una métrica de horas de trabajo y en un precio por hora. El valor total serán la cantidad de horas trabajadas por ese valor. Dependiendo de la complejidad del proyecto, la cantidad de personas involucradas y el alcance del proyecto se calcula un precio final. El costo por hora puede rondar los 40 – 70USD. En el caso de un precio por hora de 40USD y un desarrollo de 2 meses tendría un precio final de 12.800 dólares. La revista Emprendedores.es habla de 10mil Euros para una app de 2 meses y de 100mil para apps de más de 6 meses (ver artículo aquí) Si querés pedir un presupuesto para tu proyecto, visita el formulario en mi web www.na8.com.ar/presupuesto

.

¿En que varían los precios?

Los precios pueden variar en muchas cosas; por ejemplo en si la app se realiza para iPhone solamente o también una versión para iPad, en si incluye un Administrador de Contenidos (CMS), si se lanzará en conjunto una Web, si tiene interacción con redes sociales, Base de Datos local y/o en servidor, si incluye o no el diseño gráfico… y varias opciones más que dependerán de la app a desarrollar.

¿Cuánto tiempo se tarda en hacer una app?

Preguntas Frecuentas sobre desarrollo para iPhone

También dependerá de la aplicación que se quiera realizar. Desarrollar un  juego pueden tomar desde 6 meses a 2 años. Una aplicación “normal” de pantallas navegables y sin mucha complejidad se puede realizar en un par de meses. En promedio las apliaciones normales llevan unos 3 meses de desarrollo y un mes adicional en el que se cierran detalles se realizan tests y correcciones para que se publican en los Markets.

.

¿Qué es un Administrador de Contenidos (CMS) y para qué lo necesito?

Crea tu propia appUn Administrador de Contenidos, “Sistema de Gestión de Contenidos” (CMS por sus siglas en inglés Content Management System) es un panel privado para que un administrador de una web pueda crear, editar o borrar contenidos. El ejemplo más conocido es un blog; en un blog los autores acceden con su usuario y clave a un panel especial en el que pueden crear artículos, subir fotos y videos y configurar la apariencia del blog. ¿Y el CMS qué tiene que ver con una aplicación de iPhone? La mayoría de las aplicaciones de iPhone interactúan con un server para proveer de contenidos a sus usuarios. Lo ideal es que en conjunto con el desarrollo de la aplicación móvil se desarrolle un CMS específico para la aplicación. Si por ejemplo tu aplicación le provee direcciones de restaurantes cercanos a tus usuarios, vas a necesitar un CMS que te permita cargar los restaurantes que querés que aparezcan, con su nombre, dirección, fotos, etc. Toda esa información la irás guardando en una base de datos en el servidor. Para que te quede claro: es como si cada restaurante que cargaras fuera un “post de tu blog”. Crear un CMS específico para tu aplicación es todo un desarrollo que puede resultar costoso, pero que te da la flexibilidad de actualizar los contenidos de tu app de forma independiente a tener que actualizar toda la aplicación si fuera estática (sin CMS).

¿Voy a necesitar contratar un servidor (hosting) y un .com ?

Lo más probable es que en conjunto con tu app lances una página web para promocionarla, para comentar quién sos, agregar una sección de ayuda al usuario, permitir a los usuarios contactarte y brindar soporte técnico. Para tener tu web necesitás contratar un servicio de hosting que cuestan aproximadamente 100USD al año (el típico “servidor compartido Linux”) y registrar un dominio .com cuesta unos 20USD. Si no tenés pensado crear una web de promoción, tendrás que ver si tu app necesita o no un CMS ya que si lo necesita vas a tener que contratar el hosting, aunque podrías ahorrarte registrar el dominio “.com”.

¿Para qué necesito una base de datos en mi app? Porqué hay una base de datos local y otra en el server? ¿Y qué es la memoria caché?

Bases de Datos para tu DispositivoSi tu aplicación móvil consulta datos en el servidor (probablemente de tu CMS), como textos o fotos, vas a estar haciendo que el usuario conecte a internet ya sea por wifi o 3G. Si para ver una foto descarga 1 Mega, eso tiene un tiempo de espera, no queremos que si la vuelve a marcar se haga la descarga de ese Mega y tenga que esperar y “consumir internet”. Entonces se crea lo que se llama “memoria caché” que -en este caso- guarda la foto de 1Mb en el dispositivo y si el usuario la vuelve a seleccionar la cargará desde esta memoria en vez de solicitarla al servidor. Así ahorramos “tiempo y dinero” del usuario y mejoramos su experiencia. Cuando contamos con un sistema un poco más complejo de interacción del usuario y el server, como por ejemplo tener relacionadas fotos con textos, audio, o información cargada por el usuario,  preferencias e información personal; para poder tenerla correctamente organizada y consultarla de forma veloz conviene crear una “base de datos local” (en el smartphone). Otra ventaja de la combinación de utilizar una caché y una base de datos local es que permitimos la “navegación offline” de la aplicación, para cuando el usuario este en zonas sin conectividad. Es decir que por más que no tenga conexión a internet -ej: en un avión- podrá seguir viendo la información (fotos, texto, etc) que descargó previamente.
La base de datos remota  (o del server) recolectará información de tu CMS y que también puede llegar a tener información cargada por tus usuarios, a modo de copia de respaldo, para consultas o estadísticas.

Entonces: ¿puedo agregar contenidos después? o Cada vez que quiera un cambio tengo que volver a programar la aplicación y gastar dinero? ¿Siempre voy a necesitar un programador?

Si contás con un CMS, es probable que tu app se mantenga igual y sólo tengas que hacer modificaciones de los contenidos, lo cual no tendría costos adicionales. Vos mismo te ocuparías de ir actualizando la aplicación.
Si en cambio querés agregar nuevas pantallas o funcionalidades a tu app, necesitarás que un programador modifique el código y volver a enviar la app a una revisión para subirla al market como una actualización. Por lo tanto tendrás que solicitar un presupuesto para valuar el precio de esos cambios.

¿Cómo sé que no me van a robar la idea?

Es muy común que nos hagan esta pregunta; muchas personas creen tener “LA idea” y tienen miedo a que les roben su GRAN idea. Yo mismo pasé por esa etapa 😛 . Pero la verdad es que muy pocos tienen una idea tan genial y revolucionaria que podría cambiar el mundo; no quiero desanimarlos, pero es que esto no lo digo yo; lo dicen los grandes inversores, especialistas y emprendedores. Casi todos están de acuerdo en que las ideas no valen nada (así como lo lees!). Lo que realmente vale es la ejecución del proyecto; el equipo y el desarrollo de ese emprendimiento. Además todos concuerdan que actualmente no se “inventa” nada nuevo, sino que por lo general se copia algo existente y se lo mejora, o se combinan funcionalidades en un mismo producto o se simplifica algo complejo para que sea accesible a un nuevo público. Pensá en Google; cuando apareció en 1997 ya existían muchos buscadores: Yahoo, Altavista, Terra y sin embargo revolucionó el sector por su diseño minimalista y una manera diferente de indexar y rankear Dejo un link que tal vez puedan ser útil para registrar marcas/ideas: http://www.lecantolas40.com.ar/como-registrar-marcas-e-ideas-emprendedoras/

¿Qué implica diseñar una app iPhone/Móvil? iPad/Tablet o una Web ?sitios web.

Partes de una aplicacion iPhoneRecordá todas las posibilidades que te brindan los dispositivos móviles: Hoy los smartphones tienen procesadores y memoria ram como una PC de escritorio. Además para interactuar con el entorno tienen acelerómetro, GPS, cámara de fotos, sensores, micrófono y altavoces, el propio “teléfono” y SMS. Y obviamente acceso a internet y con ello a contactos, calendario, correo electrónico y redes sociales y conectividad por Bluetooth. Todo eso con una pantalla táctil pequeña. Las tablets no cuentan con el teléfono, pero tienen pantalla más grande y mayor poder de procesamiento y memoria.
Al diseñar una aplicación para móviles, debemos tener en cuenta el tamaño de la pantalla para el diseño y usabilidad que tendrá para el usuario. Por ejemplo Apple recomienda botones con un tamaño MíNIMO de 40×40 pixeles para que el dedo de una mano humana pueda tocarlo.
Si al mismo tiempo vas a lanzar una app para móvil, tablet y web, es conveniente mantener un mismo estilo para que la aplicación sea consistente y fácilmente reconocible para el usuario.

¿Conviene integrar mi app en Redes Sociales?

El poder de comunicación de las redes sociales hoy en día es innegable. Son importantísimas y tienen el poder de hacer que las redes de contactos puedan viralizar contenidos en cuestión de horas. Siempre que puedas y que no sea de manera intrusiva es conveniente tener opciones de interacción con redes sociales desde tu app. Le dará un valor añadido a tu producto y le simplifica la vida al usuario, además te sirve como publicidad gratuita para que otros se animen a descargar tu app.

¿Si mi app no va a ser gratis, como me pagan? ¿cómo vendo mi app?

Una vez realizado el desarrollo de tu app, viene la fase de publicación en los markets. Si es de Apple en el App Store y si es para Android en el Play Store. Cuando publicas decides un precio, puede ser gratuita o de pago. El precio por lo general es de 1 dólar. Ten en cuenta que tanto Apple como Google se quedan con el 30% de tus ganancias. Es decir que si tienes 100 decargas a 1 USD en realidad vas a cobrar 70 USD.

¿Cómo hacen download (descargas) de mi app los usuarios?

Una vez publicada tu aplicación en el Market correspondiente los usuarios la pueden descargar desde allí. Los usuarios no descargan la app desde tu web ni desde un servidor de hosting ni de tu computadora. La única forma para que descarguen (y paguen) es a través de los mercador oficiales tanto de Apple como de Google.

.

.

¿Puedo vender mi app sin pasar por Apple / Google?

No. Para vender tu aplicación (al menos legalmente!) es necesario publicar en los mercados oficiales de Apple y Google. Si no tendrías que cambiar tu modelo de negocio y ofrecer otras alternativas.

¿Porqué Apple tiene que aceptar mi aplicación? ¿Por que motivos no la aceptaría? ¿El mercado de Android es igual? ¿cuánto tardan en revisarla?

Apple tiene una política de control y revisión de las aplicaciones antes de publicarlas. Entre otras cosas revisa que la aplicación no contenga desnudez, que no sea ofensiva ni discriminatoria, que no viole derechos de copyright y tecnicamente que no exceda las limitaciones de memoria del dispositivo, que no contenga bugs y que no robe información privada del teléfono. El proceso demora 1 semana.
Google no controla las apps previamente, y contiene algunas políticas diferentes y a veces aparecen apps que son potencialmente peligrosas o que se comportan como virus o spamm. El mismo público se encarga de denunciar a esas aplicaciones y luego Google actua y las da de baja.

¿Ustedes hacen aplicaciones? ¿En donde están? ¿Como puedo contactarlos?

Crea tu propia aplicacion a partir de una idea

Actualmente estamos desarrollando aplicaciones para móviles iPhone / Android y Tablets / iPad. Además creamos sitios web  (HTML5 + CSS3) y aplicaciones web (como ser adaptaciones de apps de smartPhones) para soporte de teléfonos Nokia, BlackBerry o WindowsPhone. Realizamos CMS a medida, webs de lanzamiento e integracion en redes sociales. Nuestra modalidad de trabajo es freelance.
Contamos con presencia en Argentina y España e hicimos desarrollos para diversos lugares del mundo (México, USA, Argentina, España, Uruguay).
Cualquier consulta o solicitud de presupuesto ponte en contacto con nosotros, o dejanos un comentario en este Post. Te invito a que me sigas en twitter @jbagnato y que visites mi web personal www.na8.com.ar

Espero tus comentarios para desarrollar para iOs / Android

Resumiendo…

Espero que estas preguntas frecuentes (FAQ) y sus respuestas para el desarrollo de aplicaciones iPhone/móviles les sirvan para aclarar algunas de sus dudas y puedan avanzar y seguir creando nuevas apps. Mi intención es seguir agregando temas, preguntas que hagan (y sus respuestas) y consultas con el tiempo para ir mejorando este post.

Por supuesto los invito a que me hagan comentarios, consultas o solicitudes de presupuestos!

.

Diseñando una aplicación para iPhone

Voy a tratar de sintetizar todo el trabajo que me llevó el desarrolar la aplicación Mussage para iPhone en una semana. Si todavía no sabés qué es Mussage, podés leer este post!.

Los pasos que fui realizando y las herramientas (en su mayoría gratuitas) que fui utilizando.

Diagrama de Casos de Uso

Primero que nada y basandome en la idea, hice un diagrama de casos de uso con yuml.me

MockUp

Luego armo un esquema de navegación de pantallas con el Balsamiq MockUp:

DER

Ya es hora de hacer un diseño de las tablas que va a tener la base de datos! Para eso usamos el diseñador de MySqlWorkBench

Xcode

Ya es tiempo de programar en Objective C…

Además utilicé los siguientes Frameworks, librerías y herramientas para iOs:

  • FMDB para SQLite
  • JSONKit para parseo y recepción de Json con el Server
  • MD5 para envio de Hash con el server y autenticar el login
  • Internacionalización de Strings y de Xib en Inglés y Español.
  • QuartzCore para animación de Vistas
  • MediaPlayer para reproducción de canciones del iPod
  • MessageUI para envío de mails dentro de la app

Lado Server ( PHP )

Desarrollé con la IDE Aptana Studio 3 la API para proveer de servicios a la app e interactuar con la Base de Datos.

Diseño Gráfico

Realmente no hice demasiado diseño gráfico, utilicé los controles standard de iOs y agregué algúnos iconitos, eso si…

Web para la Aplicación con HTML5

Para acompañar el lanzamiento de la app, una web basada en un Template y tuneada con PHP.

Publicar en el AppStore

Finalmente, a publicar la app!. Es un poco rebuscado el tema de los certificados y la preparación de una versión para Distribución, pero siguiendo las instrucciones en la web de apple se puede ir haciendo.
Hay que tener preparados los screnshots y el icono en distintos tamaños para iPhone 3G (y menor) y para iPhone 4 con Retina Display.

Listo!

Una vez que Apple aprueba nuestra app (tarda una semana) a empezar a promocionar nuestra app ! Bajarla y usarla!
Te invito a Probarla:
Exitos para todos!
Cualquier consulta dejame tu(s) comentarios acá, o buscame por twitter @jbagnato. Si querés podés solicitar un presupuesto para desarrollar tu app!.
.
.!.

Mussage para iPhone, Mensajes Musicales

Qué es Mussage?

Les dejo un video que explica qué es y su funcionamiento

link a YouTube

La idea

Una idea simple con elementos que ya existen pero combinandos de una nueva forma; voy a explicarme a través de unos conceptos clave:

  • La mayoría de las personas utiliza los mensajes de texto
  • Se envian mensajes entre amigos, familiares y pareja.
  • A todos les gusta escuchar música.
  • Todos guardan enormes cantidades de canciones en el iPod, entre 1.000 y 7.000 según la capacidad del dispositivo.

A partir de esto pensé: ¿No sería bueno poder enviar una canción con un texto a un amigo? y la realidad es que no hay ninguna aplicación que te deje hacer esto de forma sencilla. Otro obstáculo son los derechos de copyright de los artistas…

EUREKA!

¿Por qué no enviarle un mensaje de texto a un amigo con una canción que tiene en SU PROPIO smartphone?
Me pasa con frecuencia que como tengo tantas canciones en mi iPhone nunca sé realmente qué discos y artistas tengo guardados y de vez en cuando utilizo el modo Random para escuchar música y me sorprendo diciendome “no sabía que tenía esta canción”.
Además otro punto positivo de la idea es que se supone que las canciones que uno tiene son sus favoritas, las que más te gustan. Entonces si envío una canción a un usuario de su propia biblioteca de canciones, es difícil que no le guste!.
Lo mejor de todo: es simple de programarla en iPhone, no requiere un equipo monstruoso ni meses de trabajo, al menos para desarrollar la idea básica. Obviamente después se puede mejorar y agregarle features, pero el concepto de la idea es realizable por un sólo developer.

Nacimiento

Asi nació Mussage -mezcla de las palabras en inglés Music + Message- una aplicación desarrollada en una semana, como les comentaba en un post anterior. Fue una semana dura, de horas y horas de programación, diseño y aprendizaje!. Envío para la revisión de Apple y ya está aprobada!!

Disponible en iTunes AppStore

La aplicación ya está lista para bajar a tu iPhone, iPod Touch o iPad en el app store de Apple, para bajarlo ahora mismo hace click en la imagen:
Ya se encuentra la versión 1.1 con significantes mejoras hechas a la versión anterior.
Además los invito a visitar la Web de Mussage enhttp://www.na8.com.ar/mussage que tiene información adicional de la aplicación.

Futuro

Quiero agradecer a mi Wapis que me ayudó en los dibujitos del video-tutorial e hizo la grabación del relato del video super bien! Además el logo también es de ella!. Muchas Gracias!!!
El futuro de la aplicación se irá viendo, seguramente se pueden hacer muchas mejoras! Espero sus comentarios y sugerencias!!
Es posible que desarrolle una versión para Android y una específica para el tamaño de pantalla del iPad.
.
.
.
Juan Ignacio Bagnato.
.
.

El desafío de crear una Aplicación iPhone en 7 días


Antecedentes iOs

Hace unos 3 años que estoy programando aplicaciones para iPhone/iPad y la realidad es que aún no desarrollé ninguna propia. Durante un año estuve trabajando para una empresa Startup y aprendiendo el lenguaje de programación Objective C y participando en proyectos de varias apps (las cuales muy pocas vieron la luz): una app publicitaria para Toyota, un juego de matar zombies basado en un comic, una aplicación para aprender a cantar con Karaoke y otra similar a Twitter pero con mensajes por voz. Luego trabajé de forma Freelance para terceros y fui “evolucionando” en las versiones del iOs; nuevas APIs y del lado del servidor PHP y comunicación vía JSON.

Requerimientos Ideales

Siempre tuve varias ideas de aplicaciones iPhone, pero hasta el momento nunca las llevé a cabo. Como no tenía cuenta en el Apple Developer Program no podía publicar en el Appstore. Hace unos meses me suscribí al programa y eso me da la posibilidad de poder publicar. Ahora, sólo falta decidir la idea e implementarla.
Algo que fuí aprendiendo con el tiempo con respecto a las ideas es que para poder realizarlas deben ser simples. Lo simple es lo mejor. Sencillo, minimalista, que cumpla una función determinada; que no sea abrumadora para el usuario. La política de Apple es esa y lo dice en sus guías para desarrolladores: conviene que sea una aplicacion “pequeña” que hagan una sóla cosa pero que la hagan muy bien.

El desafío

Asi nació el nombre de Mussage para una idea que tuve a finales de 2009 para una aplicación iPhone que me parece que cumple con las condiciones: es simple, se enfoca en resolver una cosa y es viable. Ya les contaré en un próximo Post sobre ella. Ahora tengo el desafío de intentar desarrollarla en una semana que es el tiempo libre que tengo antes de empezar un nuevo trabajo freelance!. Podré hacerlo?…

Para lograrlo, me planteo un cronograma y cuento con una serie de herramientas gratuitas y muchas de ellas On-line.

Cronograma

  1. día 1 Diseño: UML, DER (base datos) y estructura web, mockup de navegación de la app
  2. día 2: Creación de Login (iPhone + web PHP)
  3. dia 3: Estructura iPhone app, navegación entre pantallas
  4. día 4: Acceso a la librería de iTunes y envío de datos JSON al server
  5. día 5: Recibir listado de mensajes recibidor y envío de mensajes a otros users
  6. día 6: Internacionalización y Testing, detectar Memmory leaks
  7. día 7: Diseño gráfico y Publicación en la App Store.

Herramientas

  • iPhone Mobile

    • X-Code para codear Objective C.
    • Articulos en el iOS Dev Center de Apple.
    • Libreria FMDB para base de datos SQLite.
  • Otros

    • Servidor Apache
    • Base de Datos MySql
    • CLiente FTP Filezilla
    • Producteev para administrar las tareas en Mac, iPhone o Web, muy bueno para mantenerse ordenado (free)
    • Packs de íconos gratuitos
En un próximo Post les cuento más acerca de la idea a desarrollar: “Mussage, Musical Message“.
A codear!!!
.
.
UPDATE: Debido a la gran cantidad de preguntas que recibí acerca del desarrollo de aplicaciones iPhone / Mobile / Tablets, he creado un nuevo Post de FAQs en el que iré colectando y actualizando para tratar de responder y despejar sus dudas! El link es FAQ: Crear una aplicación iPhone
UPDATE 2: También creé un formulario para que me envien solicitud de presupuestos para desarrollo de aplicaciones para iPhone o Android.
.
.

Desarrollo de una revista para iPad

Una Tablet es una Tablet

Qué mejor utilidad se le puede dar a un iPad que la de leer noticias?? Bueno tal vez alguno de esos juegos archi-adictivos… pero la verdad es que las tablets están hechas para leer, para reemplazar al papel; a los libros. Además de ser una supercomputadora donde podemos ver videos, chequear el email y jugar, el principal uso que se le da es el de leer periódicos y revistas.

Origen de Esti Magazine

Esti Magazine es una revista de moda, tendencias, tecnología y cultura orientada a “mujeres modernas” de 18+ años que poseen iPad o cualquier otra Tablet  y que les interesa estar al tanto de lo que pasa tanto en ciudades capitales como periféricas. La directora de la revista (y mi wapis!) Blanca Vidal vió una necesidad en el mercado de las revistas de moda en el que se satisface la demanda de los eventos que ocurren en Madrid y Barcelona pero no tanto en el resto de las provincias españolas. Entonces juntos nos pusimos a diseñar una revista digital para Tablets / eReaders que tuviera noticias de eventos, productos y artistas que no necesariamente tengan centro en estas ciudades. Tomando como base operativa Galicia y buscando redactores, ilustradores y colaboradores alrededor de todo el mundo. Así nació eSTi Magazine que en gallego quiere decir “Eres tú”.

instrucciones

Desafío Técnico

Algunos de los desafíos en el desarrollo para Tablets es que tenemos que aprovechar al máximo la pantalla que a diferencia de un móvil nos da una visión mayor de contenidos, imagenes y texto. Además podemos ofrecer un Diseño en vertical en el que se resalte el texto y otro diferente en horizontal destacando las fotografías. Otro obstáculo fue el de ofrecer contenidos que se puedan ir actualizando poco a poco y que los artículos que ya fueron bajados queden guardados en el dispositivo para poder consultarlos luego aunque no tengamos una conexión a internet. A eso se lo conoce como navegación offline de los artículos.

Por supuesto no quisimos dejar de aprovechar la programación realizada en iPad también para iPhone realizando lo que se conoce como una “aplicación universal” por lo que tuvimos que adaptar el diseño y las funcionalidades a una pantalla tres veces más pequeña.

Se agregó la API de ShareKit para que los lectores puedan compartir la experiencia de la revista en Facebook y Twitter con amigos y followers.

El resultado lo pueden ver bajando la aplicación del AppStore tanto para iPad como para iPhone. En los próximos meses vamos a estar trabajando en la versión para Android.

Todo esto combinado con unos redactores geniales y muy originales de España, Argentina y Peru dieron un producto que poco a poco va a ir creciendo y esperamos lograr repercusiones en todo el planeta!!! Que todos lean eSTi Magazine!! Si todavía no tenés una tablet o un eReader podés leer los artículos en el sitio web www.estimagazine.com .

Los invito a bajarla, probarla y a que me digan que les parece!.

download the app

Si querés crear tu app y darle vida a tu proyecto, te invito a leer las FAQ de desarrollo para Móviles y si seguís convencido en llevarla adelante y no sabés cómo, enviame una solicitud de presupuesto.

Escrito por Juan Ignacio Bagnato