El blog del Staff/Stuff de Sync.es aportando nuestras ideas al mundo

10 consejos para diseñar las peores aplicaciones software

Todos usamos regularmente en nuestros ordenadores que parecen estar diseñados por niños de 7 años. Muchos de estos se cuelgan regularmente o instalan malware o como yo prefiero llamarlos -usando la traducción al español-, “programas malignos”.

Se supone que estos programas salen de un trabajo de diseño concienzudo, sin embargo siguen existiendo muchos de estos programas. Si un es capaz de realizar este tipo de programas sin ninguna intención, ¿podría un programador ser capaz de diseñar un programa malo de manera intencionada siguiendo unas premisas?

Para poder hacerlo, he encontrado 10 premisas que debería seguir un programador para elaborar el peor programa posible. En realidad, estas premisas serían las que un buen programador debería evitar a la hora de elaborar un buen diseño para crear un programa. Muchas son aplicables también al desarrollo Web:

1- No prestar atención al .  Asumir que todo el mundo tiene un procesador quad-core con tropecientos gigas de memoria RAM

El poder computacional de los actuales ordenadores aumenta rápidamente a la vez que su precio se reduce. Esto está llevando a los desarrolladores a no tener en cuenta el rendimiento a la  hora de diseñar un programa con el fin de reducir costes. A la larga, esto sale muy caro.

A nadie le gusta estar mirando una pantalla con un icono de un reloj de arena o una barra de progreso mientras se carga o se ejecuta una acción de un programa. Lo mismo ocurre al cargar una página en un navegador. La respuesta a las acciones del usuario debería ser rápida.

2- Cambiar las asociaciones de archivos del usuario.

He creado y configurado mis asociaciones de archivos a determinados programas por alguna razón. No tiene sentido que al instalar un programa -por ejemplo Photoshop CS3 -, automáticamente se asocien determinados tipos de archivos para que sean abiertos por el sin mostrar ni tan siquiera una ventana de confirmación.

Opción extra: Que el programa muestre una ventana de confirmación de asociación de archivos pero que no haga ni caso a lo que diga el usuario.

3- Proporcionar un sistema de ayuda que no ayude.

Hace aproximadamente 10 años, cuando usábamos el Office97 teníamos en la barra de título un icono “?” que cuando lo pulsábamos en el MS Word y luego hacíamos clic en algún elemento del programa, nos mostraba una pequeña ventana popup con información de “Qué era” ese elemento. En las versiones actuales del mismo programa, cuando pulsas el mismo icono “?”, se muestra una ventana con la ayuda por defecto de MS Word, con muchísima información que normalmente no tiene nada que ver con lo que quieres saber. En ocasiones, en la ayuda de MS Word aparece la referencia ¿Qué formato de CD o DVD se debe usar? ¡Es un editor de textos, no tiene sentido proporcionar este tipo de ayuda!

Los desarrolladores deben tratar de hacer el lo más simple posible para sus usuarios y proporcionar una ayuda relevante, al menos que muestre una descripción de cada opción del programa y de su función.

4- Mostrar mensajes de error crípticos, irrelevantes y sin opciones para resolver el problema.

Me encanta cuando en las actuales versiones del sistema operativo Windows intentas instalar un dispositivo y te sale la ventanita diciendo “Se produjo un error al instalar el controlador del dispositivo. El sistema no puede encontrar el archivo especificado.”. Y nada más. Recuerdo que hasta Windows95 daba la opción de buscar el archivo manualmente cuando ocurría un error de estos.

5- Usar un programa adicional descargable que se ocupe de instalar el programa según lo vaya descargando en vez de ofrecer una descarga completa para instalarlo por cuenta del usuario.

Pueden ser útiles para descargar e instalar opciones adicionales, pero imaginar que tenéis que instalar el programa en una oficina con 50 ordenadores. Habría que instalar el programa según se descarga en cada uno de los ordenadores. El ahorro sería enorme si disponemos del programa totalmente descargado y lo instalamos sin necesidad de descargarlo 50 veces. Un ejemplo, Yahoo Messenger, no permite una descarga total para una instalación independiente.

6- Mostrar ventanitas de tipo popup aleatoriamente y obteniendo el foco de la pantalla.

Que divertido es cuando estamos escribiendo un email sin mirar a la pantalla y cuando levantamos la vista vemos que las últimas líneas que hemos escrito no se han añadido al mensaje porque otro programa ha abierto una ventanita con información delante de la ventana de edición del email para que contestes a alguna pregunta. Por ejemplo, ¿Quieres instalar el programa descargado?, con la opción “Si” seleccionada por defecto.

Opción extra: Como en muchas de las versiones de Windows, que el popup muestre la opción ¿Deseas reiniciar el equipo ahora? con la selección de “Si” por defecto y que se active al pulsar la tecla Enter, reiniciando el ordenador y perdiendo el trabajo que estabas haciendo.

7- Colocar banners en lugares inapropiados para que los usuarios hagan clic en ellos de forma accidental.

Si el programa necesita financiarse con banners, no es una buena práctica colocar intencionadamente los banners en lugares donde el usuario pueda pulsarlos sin querer. Junto a botones, con la apariencia de botones de la aplicación, etc. Y por supuesto, que no se abran cuando no se está ejecutando la aplicación.

8- Que se requiera más de un reinicio durante el proceso de instalación.

Ya es bastante malo reiniciar una vez el sistema tras una instalación cuando tienes 15 programas activos y tienes que abrirlas de nuevo tras el reinicio, como para tener que hacerlo varias veces para instalar un único programa.

Opción extra: Que reinicie el sistema sin preguntar al usuario.

9- Que se actualice constantemente, sin dar opción al usuario.

Un programa no debería buscar actualizaciones nada más abrirlo y descargarlas si estas existen. Debería preguntar siempre al usuario tanto si desea que se busquen actualizaciones nuevas como si desea instalarlas. Tampoco dice mucho de un programa el que haya continuamente actualizaciones.

10- Exagerar con las medidas de seguridad contra la piratería.

Si las medidas para proteger que no copien el programa son del tipo de grabar el sector en el que se ha instalado el programa, deshabilitar la unidad de CD-ROM o la necesidad de instalar un dispositivo adicional para que el programa funcione, es que algo no va bien.

La piratería es un problema para los desarrolladores de software, pero las técnicas de lucha contra la piratería se nos pueden ir de las manos, sobretodo en el momento en el que estamos tratando a los usuarios legítimos como piratas.

También te puede interesar: