Cómo crear una aplicación fácil de usar y bellamente diseñada sin experiencia


Iterar. Iterar. Iterar. Tenía el mismo objetivo ambicioso que tú. Cuando me senté a construir mi primera aplicación para iOS, imaginé algo repleto de características y hermosas animaciones y un diseño único. Esta no era una mentalidad útil, y además, en última instancia, no se reflejó en la versión 1 o la versión 2 de ninguna manera.

Recién estás comenzando con la programación. ¡Bien por usted! Eso es fantástico, y es genial que seas inflexible para saltar directamente al océano. Pero el océano es grande y abrumador; para comenzar, solo mete el dedo del pie para probar el agua (prometo que no usaré esa analogía nunca más, solo quédate conmigo aquí).

Me metí de lleno. Y al final de mi primera aplicación no aprendí nada. Más que eso, me disuadió lo mucho que sentía que necesitaba hacer y aprender. La programación no puede apresurarse así, no creo. Tengo ganas de crear una aplicación hermosa desde el principio, y creo que es factible. ¿Pero cómo?



1. Comience simple. Simple no significa una aplicación “hello world”, que no es gratificante. Ahora entiendo completamente cómo es casi imposible comprender lo que es fácilmente factible y lo que no es cuando eres nuevo en la programación. Entonces, lo mejor que puede hacer es limitarse en pantallas y funciones. ¿Puede su aplicación funcionar con solo tres características principales? Aquí hay dos ideas de aplicaciones. Verá que el primero no sigue la regla de tres mencionada anteriormente. Sin embargo, el segundo es factible y explicaré cómo desarrollar una aplicación básica similar.
(1) Di que quiero crear una aplicación que te permita chatear con personas cercanas. Para funcionar, necesitaría:

  • Para determinar su ubicación desde el dispositivo
  • Para almacenar su ubicación y la de todos los demás en la nube
  • Un servidor en la nube para almacenar mensajes de chat
  • Una interfaz para seleccionar y participar en chats cercanos

Boooooo: ¡demasiadas funciones necesarias!

(2) Pero digamos que quiero crear una aplicación llamada “Hoy aprendí”. La versión 1 solo necesita tres cosas:

  • Una interfaz que te permite ingresar algo que has aprendido
  • Un método para almacenar cada cosa que has aprendido.
  • Una forma de mostrar todas las cosas almacenadas que has aprendido

¡Vendido! Vamos a rodar.


2. Construir. Bien, entonces tienes la idea. Esa no es la parte difícil; No necesitas entender la programación para tener ideas. ¿Y ahora que? Por ahora, no pensemos en un hermoso diseño. En lo único que debemos centrarnos es en pintarnos con nuestras herramientas. No quiero profundizar en los detalles técnicos, sino señalar Stack Overflow, un rincón de Internet lleno de brillantes mentes tecnológicamente inteligentes que adoran responder preguntas específicas de programación. Si está programando para Apple, asegúrese de tener una copia de Xcode y saber que estará programando en el lenguaje Objective-C.

Nuevamente, en esta fase, no te quedes atrapado en el diseño. En cambio, aprenda lo que representan los diferentes archivos. Aprenda a navegar por el generador de interfaces. Aprenda sobre las cadenas (“todas estas son cadenas:”, “Tengo 10 años”, “comida para gatos”) versus enteros (-10, 19, 203) versus flotadores (-9/4, 1.1, 93.02). Obtenga información sobre las matrices ([“esta lista”, “entre paréntesis”, “es una matriz”]). Conozca las declaraciones if y los bucles while que serán la base de sus aplicaciones. Y haga preguntas cuando no sepa la respuesta. Buscar Stack Overflow para saber cómo almacenar los datos del usuario en el objetivo c, como es necesario en nuestra aplicación, debería llevarlo a la ruta correcta (spoiler: debe usar NSUserDefaults ).

Es fácil quedar atrapado en los detalles y aferrarse a las pequeñas cosas. Pero mantente enfocado . Es por eso que el primer paso es tan imperativo. Recuerde las pocas características que realmente necesita. Recuerde no ahogarse en todas las posibilidades programáticas y cuán amargamente fría es el agua (lo siento, tuve que volver a la analogía). La aplicación puede parecer asquerosa sin ningún diseño, pero si puede hacer que una iteración funcione, lo está haciendo increíble y está en camino de tener una aplicación hermosa. Recuerde: siempre que una aplicación carezca de una base adecuada, cualquier esfuerzo que realice en el diseño quedará anulado.


3. Diseño . Ahora, una vez que tenga una aplicación que funcione, puede comenzar a diseñar. Mantenlo simple. “Fácil de usar” debería venir con la aplicación simple, y “bellamente diseñado” ahora y de manera heredada. Es tu primera aplicación; su objetivo es aprender lo más posible en el tiempo que dedica a la aplicación. Recomiendo utilizar un diseño plano. Haga que su aplicación sea hermosa con su combinación de colores y el uso del espacio, pero no es necesario ser único con gestos nunca antes vistos (que por definición no serán fáciles de usar) o animaciones. Es mejor dedicar su tiempo a iterar, encontrar mejores formas de implementar las funciones actuales y agregar nuevas). En el caso de nuestra aplicación, tal vez pueda aprender a notificar al usuario si no ha guardado algo que haya aprendido a las 8:00 de la noche. O te permite editar ciertas cosas que has aprendido.

Auge. Hay una aplicación

Se trata de bajar con el pie derecho. Se trata de elegir la idea correcta al comenzar de manera simple. Se trata de no quedar atrapado en el diseño hasta que tenga una aplicación que funcione. Y se trata de mantenerse enfocado, no desviarse de las posibilidades (atractivas) que genera la complejidad. Constantemente iterar. Constantemente aprende. Constantemente hacer preguntas. Y diviértete <- Nunca recibí ese consejo. La codificación siempre tuvo un trasfondo serio para mí, por lo que me sentí increíblemente profesional desde el primer día. Es muy fácil pagarle a otra persona para que lo programe para usted, como algunos han sugerido. Pero luego, solo será más difícil:

  • Agrega características,
  • hacer cambios,
  • o desarrollar ideas futuras y ser independiente.

¡Así que disfruta y aprende a tu propio ritmo! Tienes mucho que esperar.

Solo para agregar mis 2 centavos, estoy de acuerdo con Zach en que el desarrollo es un proceso continuo y la iteración es el camino a seguir, pero sugeriría un enfoque ligeramente diferente usando los mismos pasos que propone Zach.

Paso 1. Reúna / defina los requisitos
Anote todos sus requisitos. Puede dividir esto en características principales y características secundarias, es decir, cosas que le gustaría tener en el futuro.
Priorice qué características entran primero

Paso 2: diseño
Tome un bolígrafo y un trozo de papel o bolígrafo o, si lo prefiere, vaya a sitios como http://appery.io/ .
Dibuje la interfaz de usuario, cómo desea que se vea la aplicación (un prototipo).
Sugeriría dos prototipos
1. El producto final.
2. El producto mínimo viable: características más básicas

Paso 3. Evaluación
Comparta el prototipo con amigos o una muestra de su público objetivo.
Obtenga comentarios y luego regrese al paso 2 y repita este paso hasta que esté satisfecho con los comentarios.

Paso 4. Escribe una especificación de prueba
Lo usará para probar si la aplicación de compilación cumple con la funcionalidad que ha decidido en el paso 3.

Paso 5. Implementación
En esta etapa, puede optar por conseguir que alguien con conocimientos de codificación cree la aplicación para usted siguiendo el diseño que se le ocurrió en el paso 3.

Paso 6. Prueba
Pruebe la aplicación para asegurarse de que coincida con la especificación que configuró en la parte 4.

Paso 7. Evalúe los errores y decida si necesitan repararse antes de que se envíe su versión 1, en caso afirmativo, vuelva al paso 5 y corrija los errores. Si los errores no son tan importantes, regístrelos como trabajo a realizar en la versión 2.

Paso 8. Cree e implemente su aplicación en su mercado objetivo

Paso 9. Promocione su aplicación y recopile comentarios .

Paso 10. Todo el camino de regreso al paso 1 agregando nuevas características, corrigiendo errores que recogió en el paso 6 o de los comentarios de los usuarios. Y usted en su camino a la versión 2 e hijo en Mozilla está en la versión 28, Chrome está en la versión 34 y será bienvenido al mundo de la programación.

Paso 11. Llámame para hacer champaña cuando lo hagas grande como Zuckerberg

Paso 1: Realmente comienza.
Paso 2: no lo abandones hasta que sea fácil de usar y esté bellamente diseñado.

En el camino, encontrará brechas entre lo fácil y bello que desea que sea en comparación con lo que realmente es. Luego, en ese punto, busque críticas, comentarios, asistencia u orientación sobre el desafío específico en cuestión. No temas a esta parte. Este proceso ocurre independientemente del nivel de experiencia.

Buena suerte.

Mire las hermosas aplicaciones que cree que tienen una buena UI / UX, piense por qué tienen una buena UX / UI e imítelas. No se concentre tanto en hacer algo nuevo en comparación con lo que hay por ahí. Concéntrese en hacer algo nuevo en comparación con lo que ha hecho antes. Después de haber hecho suficiente imitación, comenzarás a asimilar el conocimiento, y ahora serás más hábil para tratar de ser verdaderamente creativo por tu cuenta. Obtenga comentarios de otros, repita, aprenda y sea paciente.

Ganar experiencia.

De la misma manera, construiré un automóvil exitoso y hermoso sin experiencia: tome la píldora mágica que me convierte en un ingeniero experto y diseñador industrial sin tener que hacer ningún trabajo.

Lo siento, estoy rompiendo el palo de la pista. No puedes esperar hacer un buen trabajo sin primero aprender el oficio. Eso lleva tiempo y esfuerzo. Cada vez que tenga ganas de hacer una pregunta similar (“¿Cómo puedo hacer algo bien sin experiencia?”), Pregúntese esto: si fuera tan fácil, ¿por qué no lo están haciendo todos?

Contrata a un profesional que tenga experiencia.

O aprende a ser un profesional experimentado.

O trabaje en un equipo que tenga profesionales experimentados.

Pagas a alguien para que lo haga.

More Interesting

¿Qué frameworks web son ideales para la implementación y producción de un solo hombre desde aspectos visuales a otros menores, es decir, full stack?

¿Qué tecnología web debo aprender ahora para el futuro?

¿Por qué eBay no realiza subastas de segundo precio de oferta cerrada?

¿Cómo debería un programador que nunca ha trabajado en una aplicación web comenzar a trabajar en una aplicación web?

¿Debo usar Vue.js, en lugar de React.js, para mis aplicaciones web, y si es así, por qué?

Estoy creando una aplicación web con Ruby on rails. ¿Cómo puedo permitir que un usuario agregue o elimine etiquetas (palabra clave simple) en la parte inferior de las imágenes?

¿Qué comparaciones hay entre un servidor de aplicaciones y un servidor web?

¿Es una mala idea hacer una aplicación web donde la autenticación del usuario se sirve de una manera y todo lo demás está separado?

¿Qué es un sistema GDS de puerto de viaje?

¿Cuál es el mejor marco para la aplicación web alojada en una PC con Windows, la base de datos es MSSQL, en una intranet?

¿Qué herramientas utilizan los diseñadores de productos para elegir colores y fuentes para aplicaciones web?

¿Se pueden usar dos o más desencadenantes y acciones en IFTTT? ¿Cómo puedo hacer eso?

¿Cuál es la mejor manera de crear aplicaciones web fuera de línea para iPad?

¿Cuáles son algunos buenos frameworks para sitios de cámaras web / kits de desarrollo de software?

¿Cuáles son los mejores juegos de navegador?