jueves, 26 de noviembre de 2015

ROBÓTICA

¿QUE ES LA ROBÓTICA?
La Robótica es una ciencia o rama de la tecnología, que estudia el diseño y construcción de máquinas capaces de desempeñar tareas realizadas por el ser humano o que requieren del uso de inteligencia. Las ciencias y tecnologías de las que deriva podrían ser: el álgebra, los autómatas programables, las máquinas de estados, la mecánica o la informática.
De forma general, la Robótica se define como: El conjunto de conocimientos teóricos y prácticos que permiten concebir, realizar y automatizar sistemas basados en estructuras mecánicas poli articuladas, dotados de un determinado grado de "inteligencia" y destinados a la producción industrial o al sustitución del hombre en muy diversas tareas.
Un sistema Robótico se puede describirse, como "Aquel que es capaz de recibir información, de comprender su entorno a través del empleo de modelos, de formular y de ejecutar planes, y de controlar o supervisar su operación". La Robótica es esencialmente pluridisciplinaria y se apoya en gran medida en los progresos de la microelectrónica y de la informática, así como en los de nuevas disciplinas tales como el reconocimiento de patrones y de inteligencia artificial.
La historia de la Robótica ha estado unida a la construcción de "artefactos", muchas veces por obra de genios autodidactas que trataban de materializar el deseo humano de crear seres semejantes a nosotros que nos descargasen del trabajo. El ingeniero español Leonardo Torres Quevedo (que construyó el primer mando a distancia para su torpedo automóvil mediante telegrafía sin hilodrecista automático, el primer trasbordador aéreo y otros muchos ingenios) acuñó el término "automática" en relación con la teoría de la automatización de tareas tradicionalmente asociadas a los humanos.
Si algún autor ha influido sobre manera en la concepción del universo de los robots de ficción, éste ha sido sin duda alguna Isaac Asimos. Muchos otros, desde luego, han escrito sobre robots, pero ninguno ha relatado tan minuciosamente las actitudes y posibilidades de estas máquinas como lo ha hecho él.
Tanto es así, que el Oxford English Dictionary reconoce a Asimos como inventor de la palabra "robótica" y, aunque todos conocemos la facilidad de los anglófonos para inventar palabras nuevas, no por ello tiene mucho mérito.
Cuando tenía 22 años, Asimos escribió su cuarto relato corto sobre robots. El círculo vicioso. En boca de unos de sus personajes planteó lo que consideraba axiomas básicos para el funcionamiento de un robot. Los llamó las Tres reglas fundamental de la robótica y dicen así:
  1. Ningún robot puede hacer daño a un ser humano, o permitir que se le haga daño por no actuar.
  2. Un robot debe obedecer las órdenes dadas por un ser humano, excepto si éstas órdenes entran en conflicto con la primera ley.
  3. Un robot debe proteger su propia existencia en la medida en que está protección no sea incompatible con las leyes anteriores.
En definitiva, las famosas leyes de Asimos son aplicables a un universo donde los robots son seres inteligentes, pero quedan relegadas a una cartilla de parvulario al enfrentarse con la dura realidad. Pero esto son sólo anécdotas.
HISTORIA DE LAS TRES LEYES
Los primeros Robots construidos, en la tierra, eran modelos poco avanzados. Era una época en donde la Robopsicología no estaba muy bien desarrollada. Estos Robots podían ser enfrentados a situaciones en las cuales se vieran en un conflicto con sus leyes. Una de las situaciones más sencillas se da cuando un Robot debe dañar a un ser humano para evitar que dos o más sufran daño. Aquí los Robots decidían en función de un criterio exclusivamente cuantitativo, quedando luego inutilizados, al verse forzados a violar la primera ley.
Posteriores desarrollos en la Robótica, permitieron la construcción de circuitos más complejos, y por ende, con una mayor capacidad de autorreflexión. Una peculiaridad de los Robots es que pueden llegar a redefinir su concepto de "daño" según sus experiencias e incluso, llegar a determinar niveles de éste. Su valoración de los seres humanos también puede ser determinada por el ambiente.
Es así que un Robot puede llegar a dañar a un ser humano por proteger a otro que considere de más valía (su amo por ejemplo). También podría darse el caso de que un Robot dañara físicamente a un ser humano para evitar que otro sea dañado psicológicamente, pues llega a ser una tendencia el considerar los daños psicológicos más graves que los físicos.
Estas situaciones nunca se hubieran dado en Robots más antiguos. Asimov plantea en sus historias de Robots las más diversas situaciones, siempre considerando las posibilidades lógicas que podrían llevar a los Robots a tales situaciones.
Uno puede llegar a encariñarse con los Robots de Asimov, él que nos muestra en sus historias Robots cada vez más "humanos". En El hombre bicentenario, Asimov nos narra la historia de Andrew Martín, nacido Robot, y que luego de una vida de lucha, logró morir como un ser humano. Están también R. Daneel Olivaw y R. Giskard Reventlov, los cuales tienen un papel fundamental en la segunda expansión de los seres humanos y la posterior fundación del imperio galáctico. Estos dos personajes son importantes en la medida en que, siendo los Robots más complejos jamás creados, fueron capaces de desarrollar la ley cero de la Robótica (Zeroth law):
"Un Robot no puede hacer daño a la humanidad o, por inacción, permitir que la humanidad sufra daño."
Se supone que la Ley Cero sería el resultado de la reflexión filosófica por parte de estos Robots más sofisticados.
R Giskard muere luego de tener que dañar a un ser humano en virtud de la ley cero. El problema fundamental de esta ley está en el problema para definir "humanidad", así como para determinar qué "daña" a la humanidad. R. Daneel logró asimilar la ley cero gracias al sacrificio de Giskard, convirtiéndose desde entonces en el protector de la humanidad. Daneel se convierte en uno de los personajes más importantes del ciclo de Trántor (formado por los cuentos y novelas de Robots, las novelas del imperio, y la saga de las fundaciones: 17 libros) siendo además el punto que le da continuidad.
La Robótica abre una nueva y decisiva etapa en el actual proceso de mecanización y automatización creciente de los procesos de producción. Consiste esencialmente en la sustitución de máquinas o sistemas automáticos que realizan operaciones concretas, por dispositivos mecánicos que realizan operaciones concretas, por dispositivos mecánicos de uso general, dotados de varios grados de libertad en sus movimientos y capaces de adaptarse a la automatización de un número muy variado de procesos y operaciones.
La Robótica se ha caracterizado por el desarrollo de sistemas cada vez más flexibles, versátiles y polivalentes, mediante la utilización de nuevas estructuras mecánicas y de nuevos métodos de control y percepción.
La Robótica ha alcanzado un nivel de madurez bastante elevado en los últimos tiempos, y cuenta con un correcto aparato teórico. Sin embargo, algunas cosas que para los humanos son muy sencillas, como andar, correr o coger un objeto sin romperlo, requieren una potencia de cálculo para igualarlas que no esta disponible todavía.
Sin embargo se espera que el continuo aumento de la potencia de los ordenadores y las investigaciones en inteligencia artificial, visión artificial y otras ciencias paralelas nos permitan acércanos un poco más cada vez a los milagros soñados por los primeros ingenieros y también a los peligros que nos adelanta la ciencia ficción.
PRIMERAS APROXIMACIONES
Pero es ya en nuestro siglo cuando los automatismos empiezan a tomarse un poco en serio y a ser utilizados en aplicaciones prácticas.
Como sucede siempre que la necesidad apremia, durante la Segunda Guerra Mundial, los científicos tuvieron que ingeniárselas para poder manejar sin perjuicio los elementos radiactivos.
Se construyeron con este fin los llamados teleoperadores que, aún lejos de ser robots, son la primera aproximación conseguida por los ingenieros. Se basaban en dispositivos mecánicos que eran capaces de reproducir las acciones realizadas por un operador situado a distancia. El efecto era como tener brazos y manos muy largas.
Algunos años después, los dispositivos mecánicos se sustituyeron por conexiones eléctricas, quedando algo menos ortopédico y más parecido a los robots que conocemos en la actualidad.



martes, 24 de noviembre de 2015

PROGRAMACIÓN DE UNA COMPUTADORA

¿COMO PROGRAMAR?

Parte 1 de 6: Prepara una idea

  1. Create a Program Step 1
    1
    Piensa en varias ideas. Un buen programa llevará a cabo una tarea que simplificará la vida del usuario. Examina el programa que está disponible actualmente para cumplir la tarea que quieres hacer y revisa si existe la manera de hacer que el proceso sea más fácil o estable. Un programa exitoso es aquél que los usuarios encuentren muy útil.
    • Examina las tareas diarias que haces en tu computador. ¿Existe la manera de automatizar algunas de esas tareas con un programa?
    • Escribe todas las ideas que se te ocurran. Incluso si parece algo tonto o extravagante, puede tratarse de algo que podría convertirse en algo útil 
  2. Create a Program Step 2
    2
    Examina otros programas. ¿Qué es lo que hacen? ¿Cómo podrían hacerlo de una mejor manera? ¿Qué es lo que les falta? Las respuestas a estas preguntas pueden ayudarte a pensar en ideas para tu propia perspectiva.
  3. Create a Program Step 3
    3
    Escribe un documento de diseño. Esto documento explicará las características del proyecto y lo que quieres lograr con él. Al remitirte al documento de diseño durante el proceso de desarrollo harás que el proyecto no pierda su rumbo y permanezca enfocado. Lee esta guía para conocer más detalles acerca de cómo escribir este documento. El documento de diseño también te ayudará a decidir el lenguaje de programación más conveniente para tu proyecto.
  4. Create a Program Step 4
    4
    Empieza con algo sencillo. Cuando apenas comiences con la programación informática, es conveniente que empieces con un proyecto pequeño y que lo amplíes con el tiempo. Aprenderás mucho más si fijas metas concretas que puedes alcanzar con un programa básico.

Parte 2 de 6: Aprende un lenguaje de programación

  1. Create a Program Step 5
    1
    Descarga un buen editor de texto. Casi todos los programas se escriben en editores de texto y se compilan para que un computador los pueda ejecutar. Aunque puedes usar programas con el Bloc de notas o TextEdit, es muy recomendable que descargues un editor que resalte la sintaxis como Notepad++, JEdit o Sublime Text. Esto hará que sea más fácil analizar tu código visualmente.
    • Algunos lenguajes como Visual Basic incluyen un editor y un compilador en un solo paquete.
  2. Create a Program Step 6
    2
    Aprende un lenguaje de programación. Todos los programas se crean por medio de los códigos. Por lo tanto, si quieres crear tus propios programas, necesitarás estar familiarizado(a) con al menos un lenguaje de programación. Los lenguajes que necesites aprender dependerán del tipo de programa que quieres crear. Algunos de los lenguajes más útiles e importantes incluyen:
    • C. Este es un lenguaje de bajo nivel que interactúa muy de cerca con el hardware del computador. Es uno de los lenguajes de programación más antiguos que aún tienen un uso extendido.
    • C++. La mayor desventaja de C es que no está orientado a los objetos. Aquí es donde entra C++. Actualmente, C++ es el lenguaje de programación más popular del mundo. Los programas como Chrome, Firefox, Photoshop y muchos más están hechos con C++. También es un lenguaje muy popular para crear videojuegos.
    • Java. Java es la evolución del lenguaje C++ y es extremadamente versátil. La mayoría de computadores (independiente de su sistema operativo) pueden ejecutar una máquina virtual Java, lo que permite usar el programa casi universalmente. Se usa ampliamente en los videojuegos y en los programas empresariales, además de estar recomendado a menudo como un lenguaje esencial.
    • C#. Este lenguaje basado en Windows es uno de los más importantes para crear programas para este sistema operativo. Está relacionado estrechamente con los lenguajes Java y C++, por lo que debe ser fácil de aprender si estás familiarizado(a) con Java. Si quieres hacer un programa para los sistemas operativos Windows o Windows Phone, querrás analizar este lenguaje.
    • Objective-C. Este es otro lenguaje relacionado con el C que está diseñado específicamente para los sistemas Apple. Si quieres crear aplicaciones para el iPhone o el iPad, este es el lenguaje que necesitas.
  3. Create a Program Step 7
    3
    Descarga el compilador o el intérprete. Para cualquier lenguaje de alto nivel como C++, Java y muchos más, necesitarás un compilador para convertir tu código en un formato que pueda usar el computador. Hay una variedad de compiladores para escoger, dependiendo del lenguaje de programación que utilices.[1]
    • Algunos lenguajes son "interpretados", lo que quiere decir que no necesitan un compilador. En vez de eso, solo necesitan que el intérprete del lenguaje esté instalado en el computador para que el programa se ejecute instantáneamente. Algunos ejemplos de lenguajes interpretados son el Perl y el Python.
  4. Create a Program Step 8
    4
    Aprende los conceptos básicos de la programación. Independiente del lenguaje que elijas, probablemente necesitarás entender algunos conceptos básicos comunes. Al saber la forma de manejar la sintaxis del lenguaje podrás crear programas mucho más potentes. Algunos conceptos comunes incluyen:
    • Declarar variables. Las variables son la manera en la que los datos quedan guardados temporalmente en el programa. Después, estos datos pueden guardarse, modificarse, manipularse y llamarse en el programa.
    • Usar sentencias condicionales como "If, else, when" (si esto ocurre, de lo contrario, cuando ocurra esto), entre otras. Estas son unas de las funciones básicas de los programas y determinan la manera en la que funciona la lógica. Las sentencias condicionales giran alrededor de las sentencias de "verdadero" y "falso".
    • Usar bucles como "for, goto, do" (para, ir a, hacer) entre otros. Los bucles que permiten repetir los procesos varias veces hasta que se dé el comando de parar.
    • Usar secuencias de escape. Estos comandos ejecutan funciones como crear líneas nuevas, guiones, comillas, etc.
    • Comentar el código. Los comentarios son esenciales para recordar lo que hace tu código, ayudar a otros programadores a entenderlo y para deshabilitar partes de él temporalmente.
    • Entiende las expresiones regulares.
  5. Create a Program Step 9
    5
    Encuentra algunos libros sobre el lenguaje que escojas. Hay libros para todos los lenguajes y niveles de experiencia. Puedes encontrar libros sobre programación en la librería de tu localidad o en cualquier tienda en línea. Un libro puede ser una herramienta invaluable, ya que puedes tenerlo a la mano mientras trabajas.
    • Más allá de los libros, el internet es una mina valiosa interminable de guías y tutoriales. Busca guías del lenguaje de tu elección en sitios web como CodeAcademy, Code.org, Udemy, Khan Academy entre muchos más.
  6. Create a Program Step 10
    6
    Toma algunas clases. Cualquier persona puede aprender por su cuenta a crear un programa si se esfuerza, pero en ocasiones recibir clases de un profesor en un ambiente académico puede resultar realmente beneficioso. Las clases individuales con un experto pueden reducir enormemente el tiempo que necesitas para comprender los fundamentos y los conceptos de la programación. De igual forma, las clases son un buen lugar para aprender las matemáticas avanzadas y la lógica que necesitarás para crear programas más complejos.
    • Las clases no son gratuitas, así que asegúrate de inscribirte en sesiones que te ayudarán a aprender lo que en realidad quieres saber.
  7. Create a Program Step 11
    7
    Pregunta. El internet es una manera fantástica de conectarte con otros desarrolladores. Si tienes un proyecto muy difícil en el que no puedes avanzar, pide ayuda en sitios web como "Entre desarrolladores". Asegúrate de preguntar de una manera inteligente y de justificar que trataste de solucionar tu problema de varias maneras.

Parte 3 de 6: Construye tu prototipo

  1. Create a Program Step 12
    1
    Empieza escribiendo un programa básico con tu funcionalidad principal. Esto será el prototipo que mostrará la funcionalidad que deseas alcanzar. Un prototipo es un programa rápido en el que debes iterar hasta que encuentres un diseño que funcione. Por ejemplo, si estás creando un programa de calendarios, tu prototipo sería un calendario básico (¡con las fechas correctas!) que proporcione la opción de añadir eventos.
    • Tu prototipo cambiará frecuentemente durante el ciclo de desarrollo a medida que elaboras formas nuevas de solucionar los problemas o piensas en una idea posterior que quieres incorporar.
    • El prototipo no tiene que ser bonito. De hecho, el arte y el diseño deben ser unas de las últimas cosas en las que debes concentrarte. Regresando al ejemplo del calendario, lo más probable es que tu prototipo deba estar compuesto únicamente por texto.
    • Si estás creando un juego, ¡tu prototipo debe ser divertido! Si el prototipo no es divertido, es probable que el videojuego completo tampoco lo sea.
    • Si la mecánica que deseas simplemente no funciona en el prototipo, entonces quizás sea el momento de empezar de nuevo.
  2. Create a Program Step 13
    2
    Reúne un equipo. Si estás desarrollando un programa por tu cuenta, puedes usar un prototipo para reunir un equipo. Un equipo te ayudará a localizar más rápido los errores, iterar las características y diseñar el aspecto visual del programa.[2]
    • Aunque un equipo definitivamente no es necesario para los proyectos pequeños, ayudará a reducir significativamente el tiempo de desarrollo.
    • Administrar un grupo de personas es un proceso complejo y difícil que requiere de buenas habilidades de gestión y una estructura sólida del equipo. Lee esta guía para conocer más detalles acerca de cómo liderar un grupo.
  3. Create a Program Step 14
    3
    Si es necesario, empieza desde el principio. Cuando estés familiarizado(a) con el lenguaje, probablemente puedas poner en funcionamiento los prototipos en solo unos días. Debido a su naturaleza rápida y si no estás feliz con el resultado, no temas desechar tu idea y comenzar desde el principio adoptando un ángulo diferente. Es mucho más fácil hacer cambios importantes en esta etapa del proyecto que en el futuro, cuando las características empiecen a quedar en su lugar.
  4. Create a Program Step 15
    4
    Coméntalo todo. Usa la sintaxis de comentarios en tu lenguaje de programación para dejar notas en casi todas las líneas de código, a excepción de las más básicas. Si tienes que alejarte del proyecto por un tiempo, esto te ayudará a recordar lo que estabas haciendo, además de ayudarle a otros desarrolladores a entender tu código. Esto es especialmente importante si estás trabajando como parte de un equipo de programación.
    • Durante las pruebas, puedes usar los comentarios para deshabilitar temporalmente algunas partes de tu código. Simplemente encierra el código que quieres deshabilitar con la sintaxis de comentarios para que no se compile. Puedes borrar la sintaxis de comentarios para restablecer el código.

Parte 4 de 6: Pruebas alfa

  1. Create a Program Step 16
    1
    Reúne un equipo de pruebas. En la etapa alfa, el equipo de pruebas puede y debe ser pequeño. Un grupo pequeño te proporcionará comentarios centrados y te da la capacidad de interactuar individualmente con las personas del equipo. Cada vez que le hagas actualizaciones al prototipo, se envían las versiones a los miembros del equipo de pruebas alfa. Estas personas probarán todas las características incluidas y tratarán de dañar el programa mientras documentan sus resultados.
    • Si estás desarrollando un producto comercial, querrás asegurarte de que todos los miembros del equipo de pruebas firmen un acuerdo de confidencialidad. Esto evitará que le cuenten a otras personas sobre el programa y prevendrá las fugas de información a la prensa y a otros usuarios.
    • Tómate algo de tiempo para proponer un plan de pruebas sólido. Asegúrate de que todos los miembros del equipo de pruebas tengan una manera sencilla de reportar los errores del programa y de acceder a las versiones nuevas del prototipo. Los repositorios de código son una manera excelente y sencilla de manejar este aspecto.
  2. Create a Program Step 17
    2
    Prueba tu prototipo varias veces. Los errores son la perdición de cualquier desarrollador. Los fallos en el código y el uso inesperado pueden ocasionar todo tipo de problemas en el producto terminado. A medida que sigues trabajando en tu prototipo, hazle todas las pruebas que puedas. Haz todo lo posible para dañar tu programa y luego trata de evitar que eso ocurra en el futuro.
    • Si tu programa maneja fechas, prueba ingresando fechas extrañas. Las fechas realmente antiguas o demasiado futuras pueden ocasionar reacciones extrañas en el programa.
    • Ingresa el tipo incorrecto de variables. Por ejemplo, si tienes un formulario que le pregunta la edad al usuario, en su lugar ingresa una palabra y observa lo que ocurre con el programa.
    • Si tu programa tiene una interfaz gráfica, haz clic en todo. ¿Qué ocurre cuando regresas a una pantalla anterior o haces clic en los botones en el orden equivocado?
  3. Create a Program Step 18
    3
    Soluciona los errores en el orden de prioridad. Al revisar el programa en la etapa alfa, pasarás mucho tiempo arreglando características que no sirven correctamente. Cuando organices los reportes de errores para el equipo de pruebas, tendrás que dar dos criterios para organizar los resultados: gravedad y prioridad.
    • La gravedad de un error es una medida para determinar el daño que causa. Los errores que hacen fallar al programa, corrompen los datos y evitan que el programa se ejecute se conocen como "bloqueadores". Las características que no sirven o que proporcionan resultados incorrectos se conocen como errores "críticos", mientras que las características difíciles de usar o de mal aspecto se conocen como errores "importantes". También hay errores normales, menores y triviales que afectan las secciones más pequeñas o las características menos importantes.
    • La prioridad de un error determina el orden que debe tener cuando te pongas a la tarea de solucionar los problemas. Arreglar los errores de un programa es un proceso que demora bastante y le resta tiempo a las tareas de agregar características y perfeccionar el programa. Por lo tanto, tienes que tener en cuenta la prioridad de un error para asegurarte de cumplir con las fechas límite. Todos los errores bloqueadores y críticos toman la prioridad más alta, en ocasiones conocida como "P1". Los errores de tipo "P2" generalmente son aquellos clasificados como "importantes" que tienen programado su arreglo, pero no impiden que el producto final llegue a su destino. Los errores de tipo "P3" y "P4" generalmente no tienen programada una fecha para su arreglo y entran en la categoría de "características deseables".
  4. Create a Program Step 19
    4
    Agrega más características. Durante la fase alfa agregarás más características al programa para hacer que se acerque al concepto descrito en el documento de diseño. La etapa alfa es donde el prototipo evoluciona en la base para el programa completo. Al final de la etapa alfa, tu programa debe tener implementadas todas sus características.
    • No te alejes demasiado de tu documento de diseño original. Un problema común en el desarrollo de software es la "funcionalitis creciente", en el que se siguen añadiendo ideas nuevas que hacen perder el enfoque original y dividen el tiempo de desarrollo en muchas características diferentes. Quieres que tu programa sea el mejor en lo que se supone que debe hacer, más no una herramienta que sirva para todo.[3]
  5. Create a Program Step 20
    5
    Prueba cada característica a medida que la agregas. A medida que agregas características al programa durante la fase alfa, envía la versión nueva al equipo de pruebas. La frecuencia de las versiones nuevas dependerá completamente del tamaño de tu equipo y del progreso que hagas en las características.
  6. Create a Program Step 21
    6
    Bloquea tus características cuando la etapa alfa termine. Cuando implementes todas las características y funciones en tu programa, puedes terminar la fase alfa. En este punto no debes añadir más características y las que están incluidas básicamente deben funcionar. Ahora puedes seguir a una etapa de pruebas y perfeccionamiento más amplia, conocida como la fase beta.

Parte 5 de 6: Pruebas beta

  1. Create a Program Step 22
    1
    Aumenta el número de personas en tu equipo de pruebas. En la fase beta, el programa se pone a disposición de un número más grande de personas encargadas de hacer las pruebas. Algunos desarrolladores hacen pública la fase beta, lo cual se conoce como "beta abierta". Esto permite que cualquier persona se inscriba y participe en las pruebas del producto.
    • Dependiendo de las necesidades de tu producto, determinarás la viabilidad de hacer una fase beta abierta.
  2. Create a Program Step 23
    2
    Prueba la conectividad. Ya que los programas están interconectados entre sí cada vez más, hay una buena probabilidad de que tu programa dependa de las conexiones con otros productos o servidores. Las pruebas beta te permiten asegurarte de que estas conexiones funcionan bajo una carga pesada, lo cual en última instancia te garantiza que el público podrá utilizar tu programa cuando llegue el momento del lanzamiento.
  3. Create a Program Step 24
    3
    Perfecciona tu programa. En la fase beta no se agregan más características, así que puedes concentrar tu atención en mejorar la estética y la facilidad de uso del programa. En esta fase, el diseño de la interfaz del usuario se convierte en una prioridad, ya que es importante garantizar que los usuarios no tengan problemas para navegar por el programa o aprovechar las características.
    • El diseño y la funcionalidad de la interfaz del usuario pueden ser muy complejas. Hay personas cuya profesión es el diseño de interfaces del usuario. Solo asegúrate de que tu proyecto personal sea fácil de usar y agradable a la vista. Quizás no sea posible desarrollar una interfaz del usuario profesional sin un presupuesto ni un equipo.
    • Si tienes el presupuesto, existen muchos diseñadores gráficos independientes que podrías contratar para diseñar una interfaz del usuario. Si tienes un proyecto sólido que esperas convertir en el siguiente producto revolucionario, encuentra un buen diseñador de interfaces del usuario y hazlo parte de tu equipo.
  4. Create a Program Step 25
    4
    Sigue buscando los errores. A lo largo de la fase beta, debes seguir catalogando y priorizando los reportes de errores que envía tu base de usuarios. Ya que hay más personas que tendrán acceso al producto para probarlo, es probable que aparezcan errores nuevos. Soluciona los errores con base en su prioridad mientras tienes en cuenta tu fecha límite definitiva.[4]
  1. Create a Program Step 26
    1
    Promueve tu programa. Si quieres tener usuarios, querrás asegurarte de que sepan sobre la existencia de tu programa. Al igual que cualquier otro producto, necesitarás hacer un poco de publicidad para que las personas conozcan tu programa. El alcance y la profundidad de tu campaña publicitaria estarán determinados por las funciones de tu programa y los recursos que tengas disponibles. Algunas maneras sencillas para dar a conocer tu programa incluyen:
    • Hacer publicaciones sobre tu programa en foros relacionados. Asegúrate de seguir las reglas para publicar en el foro que selecciones para que las personas no denuncien tus publicaciones.
    • Envía comunicados de prensa a los sitios web de tecnología. Encuentra algunos blogs y sitios web de tecnología que concuerden con el género de tu programa. Envíale comunicados de prensa a los editores detallando tu programa y la función que cumple. Incluye algunas capturas de pantalla.
    • Haz algunos videos de YouTube. Si tu programa está diseñado para completar una tarea específica, haz algunos videos de YouTube que muestren tu programa en acción. Haz que los videos tengan una estructura de guía.
    • Crea páginas en las redes sociales. Puedes crear páginas gratuitas en Facebook y Google+ para tu programa, además de usar Twitter para noticias de la empresa y del programa.
  2. Create a Program Step 27
    2
    Hospeda tu programa en tu sitio web. Para los programas pequeños, lo más probable es que puedes hospedar el archivo en tu sitio web. Querrás incluir un sistema de pagos si vas a cobrar por tu programa. Si tu programa se vuelve muy popular, quizás necesites hospedar el archivo en un servidor que pueda soportar más descargas.
  3. Create a Program Step 28
    3
    Establece un servicio de soporte técnico. Cuando tu programa esté disponible al público, sin lugar a dudas tendrás usuarios con problemas técnicos o que no entienden el funcionamiento del programa. Tu sitio web debe tener disponible documentación minuciosa sobre el programa, como también alguna clase de servicio de soporte. Esto puede incluir un foro de soporte técnico, un correo electrónico de soporte, ayuda en vivo o una combinación de las opciones anteriores. Las opciones que proporciones dependerán de tus recursos disponibles.
  4. Create a Program Step 29
    4
    Actualiza constantemente tu producto. En la actualidad, casi todos los programas tienen correcciones y actualizaciones que se publican mucho después del lanzamiento inicial. Estas correcciones pueden solucionar errores críticos o leves, actualizar protocolos de seguridad, mejorar la estabilidad, agregar funciones o incluso rehacer la estética del programa. Mantener tu programa actualizado ayudará a que siga siendo competitivo.