Hola, mi colega Robin Thomas (Arquitecto de soluciones en MentorMate) escribió una publicación que explica algunas cosas que pueden costarle demasiado dinero al diseñar su aplicación (o sitio web). Puedes leer la publicación completa aquí.
Las cuatro formas en que estás pagando demasiado
Antes de unirme a MentorMate, enseñé desarrollo web. Para muchos de mis alumnos, la parte difícil no fue escribir código, sino gestionar las expectativas. Esperaban lanzar “The Next Facebook” y se sintieron derrotados cuando no lo hicieron. Mis alumnos eran adultos experimentados e inteligentes. Tenían carreras sólidas detrás de ellos y ahora solo querían hacer algo diferente. Pero a menos que haya pasado años ocultos en el código, es difícil evaluar lo que se puede lograr razonablemente con la tecnología. Las animaciones, la carga de archivos y otras partes tecnológicas obvias y comunes pueden tener grandes precios que dejan a los empresarios y gerentes de producto tambaleándose. Eso es porque son complicados. Simplemente publicar una página web “¡Hola, mundo!” Sin usar SquareSpace es un gran logro. En la actualidad, las 4 cosas que aumentan los costos de desarrollo de su software, pero se pueden hacer por menos con algunos compromisos y poca pérdida de brillo y glamour.
1. Animaciones
Hago mis impuestos en el sitio web de formularios rellenables de Free File del IRS. Al abrir o cerrar el menú de navegación, el sitio se desliza horizontalmente durante un segundo, y luego la barra de navegación se desliza verticalmente durante un segundo. Dos segundos no son nada. Pero cuando te sientas a través de esa animación 60 veces, esos dos segundos se suman. Combine esto con el hecho de que estoy haciendo impuestos en primer lugar, y que no puede hacer nada hasta que se complete la animación, y tenga un molinillo de dientes real. El diseño web es difícil. Tienes que considerar el color, la tipografía, el posicionamiento, el espacio muerto y un millón de otras cosas. Si algo anda mal con uno de ellos, toda la página web se siente “apagada”. Y ahí es cuando todo se detiene. Si los componentes se mueven alrededor de la página, de repente tienes que hacer otro millón de elecciones de diseño: aceleración, dirección, opacidad cambiante, sincronización … ¿Cuántas horas de tu vida has gastado para hacer que tus diapositivas de Powerpoint pasen a la transición solo? ¿Un cuadro que se mueve por la página en 10 segundos requiere tantas horas de diseño facturables como un cuadro que se mueve por la página en medio segundo?
Reduzca los costos de desarrollo de software e intente esto en su lugar: hay pocas situaciones en las que necesita animaciones. Resista la necesidad de agregarlos hasta que termine el resto de su aplicación, y solo si puede pagar más para poner la guinda del pastel.
2. Subir imágenes, documentos o cualquier otra cosa.
Las cajas de carga se ven tan pequeñas en una página web y parecen una necesidad tan obvia. ¿Cómo pueden causar tantos problemas? El problema es que necesita un lugar para colocar los archivos cargados, y el espacio de almacenamiento es costoso. Una sola imagen de tamaño mediano ocupa tantos bytes como el texto completo de Orgullo y prejuicio. Y una vez que haya encontrado un lugar para almacenarlo, cada vez que alguien quiera ver la imagen, su servidor tiene que transmitir todos esos datos nuevamente. Si deja que sus usuarios almacenen archivos de forma involuntaria, tendrá que pagar una cantidad tremenda para evitar quedarse sin espacio.
Reduzca los costos de desarrollo de software y pruebe esto: deje que otro sitio haga su trabajo sucio. Si necesita almacenar imágenes, use una API para subirlas detrás de escena a un sitio gratuito de terceros como Imgur. Sus usuarios probablemente no notarán una diferencia.
3. Correos electrónicos
Se necesita mucho para enviar un correo electrónico. Necesitas una cuenta; necesita un servidor que sepa “hablar” por correo electrónico; necesita una manera de permitir que su aplicación se comunique con su servidor, mientras evita que cualquier otra persona la envíe spam. Enviar archivos adjuntos es un elefante completamente diferente. Si obtiene esa configuración, entonces debe preocuparse por el formateo. Outlook, Apple Mail y prácticamente cualquier otro programa de correo tienen una forma ligeramente diferente de leer y mostrar mensajes. Hacer que algo se vea igual en todos ellos puede ser un trabajo de tiempo completo.
Reduzca los costos de desarrollo de software y pruebe esto en su lugar:
Hacer que su aplicación envíe un correo electrónico es complicado, pero es muy fácil abrir la aplicación de correo electrónico predeterminada del usuario, abrir un nuevo mensaje, completar los diferentes campos y dejar que hagan clic en el botón “enviar” http: //button. También es muy fácil tomar lo que quería enviar y mostrarlo como una página web fácil de imprimir. Cada computadora tiene una función de “imprimir a PDF”, que permite a los usuarios guardar la información en su escritorio. Además, solo se necesitan 2 palabras de JavaScript para que aparezca el cuadro de diálogo “imprimir” de sus usuarios.
4. Cuentas de usuario
Hacer cuentas de usuario es fácil. Permitir que la gente inicie sesión en ellos, permanecer conectado y no iniciar sesión como alguien más es difícil. Tan pronto como obtenga su primer usuario, debe hacer de la seguridad su prioridad. Esto es cierto incluso si no almacena tarjetas de crédito o números de Seguro Social. La base de datos de su aplicación de traductor Pig Latin puede ser pirateada puede no parecer un gran problema hasta que recuerde que la mitad de sus usuarios han usado la misma contraseña para cada cuenta de Internet que han tenido desde el séptimo grado, pero la seguridad es complicada. Nada es 100% seguro. Lo mejor que puedes hacer es hacer que las cosas sean realmente inconvenientes para hackear. Hacer que su aplicación sea inconveniente para hackear también hace que su aplicación sea inconveniente para crear.
Reduzca los costos de desarrollo de software y pruebe esto en su lugar:
Ahorre seguridad para el final, cuando todo lo demás esté hecho. Hasta entonces, tenga una sola cuenta “Dios” o permita que los usuarios inicien sesión con solo nombres de usuario y se olviden de las contraseñas. Desafortunadamente, no preocuparse por los usuarios también es difícil. He visto a muchos desarrolladores fracasar en grandes ideas porque se quedaron atrapados en la autenticación de usuarios y nunca lograron crear lo que hace que la aplicación sea única. Debes preocuparte por la seguridad una vez que tienes usuarios, pero puedes ignorarla hasta entonces. “Iniciar sesión” no es bueno a menos que tenga algo para iniciar sesión.