Inicio Blog Página 22

¿Qué es la arquitectura de software?

0
¿Qué es la arquitectura de software?
¿Qué es la arquitectura de software?

¿Qué es la arquitectura de software?

Desarrollar  una aplicación involucra mucho más que tener la idea de lo que se quiere resolver o saber un lenguaje de programación para hacer la aplicación. Es necesario planear, definir las herramientas que vas a usar como frameworks qué mejor funcionen para este proyecto, conocer los procesos de negocio que están involucrados en la creación de  la aplicación.

El proceso de desarrollo  implica muchas horas enfocadas a entender los requerimientos que el cliente necesita para automatizar, mejorar y  definir los cimientos que permitirán modelar un sistema ya sea una aplicación de escritorio,  un sistema web  , una aplicación móvil y cualquier dispositivo programable.

La planeación inicial no siempre reflejara lo  mejor y seguro no será la definitiva, ya que en sistemas la mejora continua es parte del día a día del desarrollo pero de esta primera iteración parte el éxito o fracaso de una aplicación, aquí es donde entra el concepto de arquitectura de software.

¿Qué es la arquitectura de software?

En palabras simples la arquitectura de software son patrones o lineamientos que ayudan a la construcción de un programa (aplicación). Estos patrones permiten tener una guia para los desarrolladores, analistas y todos los cargos relacionados para lograr cumplir con los requerimientos de la aplicación.

¿ Es importante la arquitectura de software?

Para la informática, la arquitectura de computadoras abarca el diseño, a nivel conceptual, y la estructura en la que se basa la operación de un sistema.
La arquitectura de software nos traza un camino a seguir para lograr cumplir con los requerimientos de la aplicación, por lo tanto tenemos que analizar cada uno de estos requerimientos para definir qué se va a hacer y cómo se va a hacer, aquí se comienza a definir temas como servidores, tecnologías, bases de datos entre otras cosas.

El definir las tecnologías es uno los puntos más importantes de la arquitectura de software pero no quiere decir que si se toma una decisión sea algo definitivo que no se pueda modificar en el futuro.

Por ejemplo una empresa construye un sistema en un lenguaje de programación y con el tiempo  encuentra que  usando otro lenguaje tiene acceso a librerías  mas especializadas en su sector, o  simplemente da una mejora en tiempos de ejecución de código,  hay muchos elementos que pueden intervenir como  licenciamiento,  experiencia de los desarrolladores  entre otras.

Uno de los objetivos de la arquitectura de software es crear una estructura de la aplicación que sea fácilmente escalable, que no esté fuertemente acoplada (que todo dependa de todo, lo que evita hacer cambios de manera sencilla)

También la Arquitectura de Software genera la documentación  Técnica permitirá a los equipos de desarrollo entender  los requerimientos que están en Casos de Uso..

 

Definición de la estructura

Para definir de la mejor forma la estructura de nuestra aplicación con base en la arquitectura de software tenemos 4 etapas principales:

  • Requerimientos: En esta etapa se recolecta la información y se documentan los requerimientos que influyen en la arquitectura de la aplicación, por ejemplo que lenguaje se utilizara, que marcos de trabajo se requerirán, en que especificaciones de equipos esta destinado a funcionar el sistema o sistemas.
  • Análisis:  En esta etapa se  profundiza en los procesos de negocio que están involucrados en el sistema, y se procede a generar los casos de uso a nivel de borrador hasta tener la información necesaria para cada caso.
  • Diseño: Es la etapa más crucial, aquí se define el uso de tecnologías adecuadas para resolver el problema y no solo porque una tecnología está de moda. También se tienen en cuenta los patrones de diseño  como por ejemplo MVC (Modelo, Vista, Controlador) o arquitectura de microservicios, Directorios de datos.
  • Documentación: Una vez se ha definido el diseño es necesario comunicarlo de manera eficiente y eficaz a todos los involucrados, es importante crear documentación que sirva como referencia a todos y sea el marco de trabajo para todos,  esta parte incluye el documento Arquitectura General del sistema, y los documentos de Casos de Uso  y funcionalidad,  también se integra la información  de  UX/UI como son prototipos,  roles y permisos de usuario,  y demas información que se requiera entregar al equipo de Desarrollo ejemplo Diagramas UML,  Diagramas de Procesos, Manuales, etc.
  • Desarrollo:  En esta etapa los programadores tienen asignadas tareas especificas y el arquitecto de software estará  probando los diferentes módulos para poder hacer mejoras, o correcciones al sistema final.
  • Pruebas: Es importante luego de tener la documentación evaluar, esto se puede hacer incluso sin haber hecho una línea de código y ver con todos los involucrados si hay algo en el diseño que pueda no funcionar y reformarlo, esta evaluación se debería hacer posterior teniendo métricas por ejemplo del rendimiento de la aplicación y saber si un cambio mejora o no dicho rendimiento.
  • Implementación: en esta etapa se realiza el montar el sistema  en producción y evaluar su comportamiento, verificando qué funciona correctamente.

Los arquitectos de Software son parte clave de los proyectos  de Software de las compañías,  puede llegar a tener casos donde varios arquitectos de software trabajan  en el desarrollo de secciones o aplicaciones especificas que trabajaran en conjunto,  con lo que se tendrá un Líder Arquitecto para  llevar el control general del proyecto.

 

 

MEJORES LENGUAJES DE PROGRAMACIÓN 2019

0

MEJORES LENGUAJES DE PROGRAMACIÓN 2019

Cada año, IEEE Spectrum realiza un estudio sobre los lenguajes de programación más populares. En esta sexta edición se han hecho algunos cambios, como actualizar las métricas utilizadas y crear una nueva interfaz más fácil de usar.

La idea principal sigue siendo la misma: combinar datos de distintas fuentes para clasificar la popularidad de los lenguajes de programación, ya que cada uno puede ser más útil en diferentes áreas.

Para lograrlo, se han superado dos desafíos importantes:

  1. Es imposible observar a cada programador del mundo mientras trabaja.
  2. Un lenguaje que es esencial en un campo puede no serlo en otro.

Para enfrentar estos retos, Spectrum ha recopilado información de 11 indicadores provenientes de 8 fuentes. Estos datos se integran en una herramienta que permite filtrar la información y ajustar la importancia de cada indicador.

El resultado es una clasificación actualizada y confiable. En esta revisión se han eliminado dos métricas que ya no ofrecían datos de buena calidad, se han añadido datos del sitio de trabajo IEEE y se han incluido nuevos lenguajes, como Dart.

Además, se han incorporado configuraciones preestablecidas, pensadas para quienes buscan empleo o desean participar en proyectos de código abierto.

La configuración predeterminada está optimizada para los miembros de IEEE Spectrum. A continuación, se presenta cómo quedaron los 10 lenguajes de programación principales en 2019.

IEE 2019 lenguajes

Aunque se han modificado algunas métricas, lo general de la clasificación es similar a la del año pasado, con Python manteniéndose como el lenguaje más popular.

El éxito de Python se debe, en gran parte, a la gran cantidad de herramientas y librerías especializadas que ofrece. Por ejemplo, en el campo de la inteligencia artificial, la biblioteca Keras es muy utilizada, ya que actúa como interfaz para herramientas como TensorFlow, CNTK y Theano. Además, el impacto de Python va mucho más allá del aprendizaje profundo, algo que pocos imaginaban cuando el lenguaje apareció en 1991.

El incremento en la potencia de los microcontroladores ha permitido que versiones reducidas de Python, como CircuitPython y MicroPython, ganen popularidad en el ámbito de la electrónica y la fabricación.

Después de Python, se encuentran Java, C y C++, lenguajes que han competido durante años por el primer puesto. Con las nuevas métricas, la diferencia entre ellos se ha hecho más evidente, situando a C++ a 12.5 puntos por debajo de Python. (En esta escala, el lenguaje mejor clasificado recibe 100 puntos y los demás se ajustan en relación a ese valor).

El lenguaje R se posiciona en el quinto lugar. Aunque es más especializado, ha mantenido su popularidad debido al creciente volumen de datos que se generan en todo el mundo.

Más abajo en el top 10 figura Matlab, un lenguaje propietario de MathWorks orientado a cálculos numéricos. Su presencia destaca la importancia de Matlab en la ingeniería, especialmente para quienes realizan simulaciones o desarrollan sistemas de control con herramientas como Simulink.

Fuera del top 10, destacan Arduino en el puesto 11 y HTML/CSS en el 12. En años anteriores, algunos lectores argumentaron que ni Arduino ni HTML/CSS deberían considerarse lenguajes de programación.

En el caso de Arduino, se comenta que en realidad no es un lenguaje, sino el nombre de la familia de plataformas de hardware en la que se usa un lenguaje (a veces denominado Wiring o incluso C/C++ por razones históricas). Sin embargo, el estudio adoptó un enfoque práctico: dado que la mayoría de los desarrolladores buscan en Google términos como “Código Arduino para …”, se optó por usar el nombre de facto para no restarle importancia a la popularidad de los programas creados para Arduino y dispositivos similares.

Lo mismo ocurre con HTML. Aunque algunos sostienen que no es un lenguaje de programación real porque no permite estructuras como bucles, su enorme popularidad y su uso diario para instruir a miles de millones de computadoras hacen que se considere relevante, dejando de lado debates técnicos sobre su naturaleza.

“Un lenguaje de marcado sigue siendo un lenguaje.”

Finalmente, algunos lenguajes de programación más antiguos siguen en uso. Por ejemplo, Fortran, que tiene más de 60 años, ocupa el puesto 38. Esto se debe a su gran legado como el pionero en la computación científica. A pesar de su antigüedad, Fortran continúa evolucionando. Su estándar más reciente, publicado a finales de 2018, incluye mejoras para trabajar junto con el lenguaje C y para procesar cálculos en paralelo de manera más eficiente.

Estos son los resultados publicados por IEEE. Aunque en otros estudios se pueden ver cambios en algunas posiciones, estas clasificaciones siguen siendo una fuente confiable para entender cómo varían las preferencias de programación según las tendencias tecnológicas.

fuente https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019

10 Mega-tendencias que predice Huawei

0

A continuación, te presento un resumen sencillo de las 10 mega-tendencias para 2025 según el reporte de Visión Global de la Industria de Huawei:

  1. Vivir con Bots
    La robótica se integrará cada vez más en nuestros hogares y vidas personales. Gracias a los avances en materiales, inteligencia artificial y redes, se prevé que el 14% de los hogares tendrá robots domésticos.

  2. Súper vista
    La combinación de 5G, realidad virtual (VR), realidad aumentada (AR) y aprendizaje automático permitirá ver el mundo de nuevas formas, abriendo oportunidades para negocios y cultura. Se estima que el 10% de las empresas usará AR/VR.

  3. Cero búsqueda
    Los dispositivos inteligentes equipados con sensores anticiparán nuestras necesidades, haciendo que la información nos encuentre a nosotros, sin necesidad de búsquedas manuales. Se prevé que el 90% de los usuarios de dispositivos inteligentes use asistentes personales.

  4. Calles a medida
    Los sistemas de transporte inteligentes conectarán personas, vehículos e infraestructuras, reduciendo la congestión y mejorando la respuesta en emergencias. Se espera que el 15% de los vehículos incorpore tecnología de “Vehículo Celular para Todo” (Cellular Vehicle-to-Everything).

  5. Trabajar con Bots
    La automatización inteligente asumirá tareas peligrosas, repetitivas y de alta precisión, mejorando la seguridad y la productividad. Se estima que habrá 103 robots industriales por cada 10,000 empleados.

  6. Creatividad aumentada
    La inteligencia artificial en la nube hará más accesible la experimentación y la innovación en ciencia, arte y tecnología, abriendo un gran potencial creativo. Se prevé que el 97% de las grandes empresas implementará IA en los próximos seis años.

  7. Comunicación consistente
    El análisis de big data y la inteligencia artificial permitirán una comunicación fluida entre empresas y clientes, eliminando barreras idiomáticas y facilitando la interacción global.

  8. Economía simbiótica
    La adopción de tecnologías digitales y aplicaciones inteligentes en plataformas unificadas fomentará la colaboración, el intercambio de recursos y la creación de ecosistemas globales, aumentando la productividad. Se estima que la mayoría de las empresas utilizarán tecnología en la nube y que el 85% de las aplicaciones comerciales estarán basadas en ella.

  9. Implementación rápida de 5G
    La red 5G se desplegará a una velocidad sin precedentes, ofreciendo enormes beneficios a personas, empresas y la sociedad. Se prevé que el 58% de la población mundial tendrá acceso a 5G.

  10. Gobierno digital global
    El avance tecnológico requerirá estándares y principios para el uso compartido de datos, promoviendo un entorno de gobierno digital. Se espera que el volumen anual de datos global alcance los 180 zettabytes (1 ZB = 1 billón de GB).

Estas tendencias reflejan una visión de futuro en la que la tecnología no solo mejora nuestras capacidades, sino que transforma la manera en que vivimos, trabajamos y nos conectamos en el mundo.

¿Como funciona la publicidad en Twitter?

0

La mayoría de la gente escuchamos hablar de twitter,  de que es un medio social, que mucha gente famosa o popular esta en este medio, y en los noticieros encontramos que mencionan los últimos tweets de los presidentes y otras personalidades.

para empezar  daremos un glosario de palabras comunes usadas en twitter:

    • Twittero: es un usuario registrado. Se representa con @NombreDelUsuario.
    • Tweet (tuit): es cada uno de los mensajes que se publica. Recordemos que cada uno de ellos contiene hasta 280 caracteres (se amplió de 140 caracteres en 2018) sin contar el material multimedia que incluyas en tus contenidos.
    • Time Line (línea de tiempo): es la parte de tu cuenta en la que puedes ver, por orden cronológico, los mensajes de los usuarios que sigues.
    • Retweet (RT): es la republicación de un tweet lanzado por otro usuario.
    • Follower (seguidor): es el usuario que sigue tu cuenta. Puede ver todos los tweets que publicas.
    • Following (siguendo a): es la acción de seguir a otro usuario dentro de esta red.
    • Lista: es un listado que puedes configurar con tus cuentas favoritas. Puedes crear la cantidad de listas que quieras y otorgarles un nombre.
    • IM (Instant Message): es un mensaje directo y privado que enviamos a un usuario de Twitter.
    • Me gusta: está representado por un icono de corazón. Le damos un click si nos ha gustado un tweet.
    • Hashtag: el rey de Twitter. Se representa con un icono de almohadilla (#) y permite añadir tras él los términos que queramos. Se utiliza para facilitar búsquedas.
      Por ejemplo, usando #WordPress en el buscador, encontraremos un listado de los usuarios que han utilizado  esta palabra en sus tweets.
    • Trending Topic: Son los temas más comentados del momento, es decir, las palabras con más menciones de la red social en un determinado periodo de tiempo.

Una vez que conocemos la terminología de twitter podemos entender más como funciona y encontramos que la forma más simple de publicidad  es crear un #hastag para nuestra campaña y buscar hacer ruido para generar tendencia en la red, este método es usado principalmente por otros medios para buscar tener retro alimentación de la campaña  y hacerla Trending Topic  “que genere relevancia en la misma red”.
y poder auditar cuanta gente  uso esta palabra en un periodo de tiempo.

también es importante destacar  que  nuestra marca, producto, servicio o elemento a anunciar debe de contar con su cuenta oficial,  para poder interactuar con  los usuarios  y tener métricas  de  cuanto nos siguen ,  y poder mandar mensajes directos,  esta cuenta es recomendable  que cuente con un experto en medios sociales, ya que  una mala publicación o un mal manejo de la red puede generar que la marca y la cuenta sean marcadas como negativas.

Twitter a igual que las demás redes sociales cuenta con  servicios de publicidad con costo, para  que las agencias y las empresas puedan crear anuncios que les ayuden en sus procesos de Marketing.

Los tipos de anuncios son :

Los Tweets Promocionados
son Tweets comunes comprados por anunciantes que desean llegar a un grupo más amplio de usuarios o generar interacciones entre sus seguidores actuales.

Todos los Tweets Promocionados están etiquetados claramente como “Promocionados” si un anunciante paga para que se muestre en Twitter. En todos los demás aspectos, los Tweets Promocionados son como Tweets normales y se pueden retwittear, responder, marcar como Me gusta, etc.

Las Cuentas Promocionadas
son las cuentas de Twitter que las personas no siguen actualmente y que les pueden resultar interesantes. Ayudan a presentar una variedad mayor de cuentas que las personas podrían disfrutar. Las Cuentas Promocionadas surgen a partir de la creación de una campaña de seguidores.

Las Tendencias Promocionadas
Se muestran a los usuarios tendencias delimitadas por el tiempo, el contexto y el evento, promocionadas por nuestros socios de publicidad. Estas Tendencias Promocionadas de pago aparecen en la parte superior de la lista de Tendencias de Twitter y están claramente marcadas como “Promocionadas”. También pueden aparecer en la Cronología de los usuarios.

 

 

 

Características que debe tener un Documento de Arquitectura

0

Características que debe tener un Documento de Arquitectura

En el blog, Michael, de Bavaria, escribe sobre varios temas de arquitectura, entre ellos las características de un documento de arquitectura de software. Repasemos algunos de los puntos y detalles que menciona (me hubiera gustado tener esta lista desde hace tiempo), con modificaciones y agregados personales:

  • Describa la arquitectura de arriba a abajo: presente la visión general primero, y luego vaya tratando cada uno de los puntos más en detalle, ya sea de diseño o implementación.
  • Agregue un glosario: algo que podemos olvidar, pero muchos términos serán desconocidos o confusos, o peor, serán mal entendidos por alguien que tenga un contexto distinto al nuestro.
  • Cada vez que introduzca un término que se conoce por una sigla, no presuma que todo el mundo sabe qué significa: coloque la sigla, y las palabras completas que describe.
  • Que no exceda las 50 páginas: si es más extenso, no será leído en detalle. Recuerde que muchas personas que lo lean serán personas con cargos de responsabilidad, que pueden no tener todo el tiempo del mundo para leer su obra maestra.
  • Todos los documentos de arquitectura que entregue, deben usar la misma plantilla: distintos tipos de letras y formatos entre documentos, confunden a los lectores. La estructura debe ser la misma para todos: si usa una tabla de contenido, un resumen, una conclusión en un documento, deberá usarse en todos.
  • Si usa diagramas, úselos consistentemente. Si para explicar un concepto usa UML, cuando tenga que exponer un concepto similar siga con ese tipo de diagrama. Y use los mismos elementos: si en un diagrama UML usó algunos estereotipos, siga usándolos cuando sean necesarios, con las mismas notaciones e íconos.
  • Agregue referencias a otros documentos que pueden ser importantes para entender algún concepto o explicitar una fuente consultada.
  • Explique siempre cómo la arquitectura descripta cumple con los requerimientos que se quieren alcanzar. Debe haber una trazabilidad desde los requerimientos a la arquitectura definida.
  • Coloque al comienzo un resumen: sea gentil con el lector, prepárelo para lo que va a encontrar. Por lo mismo, si un documento lleva varias páginas y abarca varios temas, incluya un índice. Si es necesario, describa los prerrequisitos que debe cumplir de antemano un lector que quiera entender el documento.
  • Si tiene que entregar varios documentos, estructure el conjunto como un árbol. El documento raíz describirá la arquitectura desde un punto de vista alto, estratégico. Desde ahí, los documentos nodos hijo irán explicando los subsistemas relevantes, y los elementos que atraviesan los demás, como seguridad y escalabilidad.
  • Describa la especificación de la arquitectura, y cómo esa especificación puede ponerse a prueba, como cuando programamos “unit tests”.
  • Compruebe que el documento acompañe, describa la implementación actual del sistema. Sino, será una pérdida de tiempo para quien lo lee, y hasta puede provocar errores, al tomar decisiones sobre una especificación que no corresponda con el producto actual.
  • Describa las decisiones de diseño en detalle, que no quede solamente la descripción de la decisión tomada, debe quedar claro que hubo una decisión en ese punto, por ejemplo, mencionando alguna alternativa.
  • Relacionado con lo anterior, no sólo describa el “cómo” sino también el “por qué”. Es importante que otra persona entienda las razones que llevaron a tomar un camino en el diseño.
  • Si se refiere a algún software entregado con el documento, o a utilizar, incluya la versión del mismo: no presuma que será evidente cuál es la versión a la que se refiere.
  • Agregue diagramas y dibujos para explicar las decisiones de diseño tomadas. Los diagramas llevan tiempo de armado, pero el resultado vale la pena.
  • Explique los diagramas: una imagen vale más que mil palabras, pero también hay que entenderla.
  • Pida que otras personas revisen el documento. Uno siempre escribe desde su propio contexto, y tal vez lo que a nosotros nos parece claro, para otro no lo sea. Trate que sea una persona que no esté en el mismo proyecto, para probar si el documento es entendible para alguien que no está al tanto de los conceptos tratados.
  • Use un sistema de control de versiones: no pierda la historia del documento.
  • Escriba los nombres del autor o autores, y forma de contactarlos, en caso de ser necesario. Incluya fecha y hora de versión.
  • No tiene que escribir todo el documento desde el principio al fin: vaya utilizando otros documentos menores que haya producido durante el proceso de discusión y diseño de arquitectura, pero asegúrese su consistencia. Recuerde: ¿cómo se come uno un elefante? Bocado a bocado.
  • No necesita explicar el sentido de cada patrón usado: remita su descripción a la literatura especializada.
  • Como en todo documento, sea consistente en el uso de los tiempos verbales, el uso o no de la forma pasiva, la forma de usar pronombres, si “dialoga” o no con el lector, el uso de la primera o tercera persona.

es importante notar cómo cada proyecto tendrá sus propios retos de documentación y que el documento tendrá una evolución constante conforme el proyecto avance.

 

Creación de Mockups en Xamarin Forms para pruebas A/B

0
https://www.youtube.com/watch?v=TOSe6L4TFeM&t=3731s

UI interfaz gráfica de usuario

0

UI interfaz gráfica de usuario

Los diseñadores web, los desarrolladores de software y todos aquellos que quieran serlo se tienen que enfrentar tarde o temprano al término interfaz de usuario. Asimismo, otras abreviaturas como TUI (Text User Interface) o GUI (Graphical User Interface) se suman a la confusión, cuando esta última, hoy en día, es de gran importancia para conseguir una buena experiencia de usuario “UX”. Puede que los más inexpertos se pregunten qué es exactamente una interfaz de usuario y por qué es tan importante la interfaz gráfica de usuario para el éxito de los proyectos.

Índice
  1. ¿Qué es una UI?
  2. ¿Qué tipos de UI existen?
  3. ¿Qué distingue a las buenas interfaces de usuario?
  4. ¿Por qué son tan importantes las UI intuitivas en el diseño web y en el desarrollo de software?
  5. ¿Qué papel desempeña la interfaz gráfica de usuario para el SEO?
  6. Interfaz de usuario: los mejores ejemplos extraídos del diseño web

¿Qué es una UI?

Una interfaz de usuario, en inglés user interface, a menudo conocida por la abreviatura UI, hace referencia a la interfaz con la que las personas interaccionan con las máquinas. Se trata de la interfaz que permite usar un ordenador para realizar un pedido en una tienda online o para acceder a una app a través de un smartphone. Para ello, esta cuenta con los elementos de control de una interfaz, que son visibles para el usuario o a través de los que puede efectuar alguna acción. En ello se incluyen desde simples líneas de comandos basadas en texto hasta interfaces gráficas de usuario con un diseño más complejo. Al mismo tiempo, una UI también permite que el ordenador envíe un feedback al usuario, de modo que este pueda dar cuenta de si su acción se ha llevado a cabo con éxito.

La interfaz de usuario está íntimamente relacionada con la facilidad de uso de un software o de una página web. Hace tiempo que el objetivo ya no solo es conseguir una interfaz de usuario útil, sino que el aspecto estético también juega un papel importante. Por consiguiente, la interfaz de usuario es importante para una buena experiencia de usuario, es decir, para la experiencia que un usuario tiene grosso modo con una página web o un software. A este respecto, el objetivo de los diseñadores web es sentar las bases de una buena experiencia de usuario con una user interface intuitiva, lo que funciona especialmente bien a través de una interfaz gráfica de usuario. Sin embargo, también existen otros tipos de UI innovadoras que también facilitan la interacción con los ordenadores y con otros dispositivos.

¿Qué tipos de UI existen?

Desde que se inventaron los ordenadores, cada vez se han desarrollado métodos más avanzados de interacción persona-ordenador (IPO), por lo que hoy en día existen numerosas interfaces de usuario diferentes. Al comienzo de este desarrollo ya se podía hablar de las sencillas Command Line Interfaces (CLI), aunque las numerosas innovaciones que se realizaron dieron lugar a una manejabilidad más sencilla o directa, de modo que desde hace tiempo también se aplican las Natural User Interfaces (NUI). Así, mediante la medición y traducción de ondas cerebrales es posible —y se sigue investigando— incluso llevar a cabo el control de los dispositivos. A continuación te presentamos las diferentes UI y sus características.

Command Line Interfaces (CLI)

En el principio no solo era la Tierra, sino también la UI vacía y desolada. Tan solo una línea de comandos y un prompt para mostrar la posición actual o un mensaje cubrieron la oscura pantalla, por ejemplo en el caso de los primeros ordenadores MS-DOS. Con una interfaz de líneas de comandos o Command Line Interface, en la cual se tecleaban unos comandos específicos, era posible establecer la comunicación con el ordenador. Tras el procesamiento de la petición, el ordenador mostraba el resultado en formato de texto. Esta modalidad de interfaz de usuario ya se ha quedado obsoleta, pero se utiliza para cmd.exe en los sistemas operativos Windows, en los que la sintaxis está ampliamente orientada a los antepasados de DOS. El control mediante una CLI se lleva a cabo a través del teclado y sin necesidad de usar el ratón.

Text User Interface (TUI)

Las Text User Interfaces son algo más cómodas y, en ellas, la interacción con el ordenador también tiene lugar por medio del teclado. Las TUI marcan el paso de las meras interfaces de líneas de comando a interfaces gráficas de usuario. El término se estableció con posterioridad al desarrollo de las interfaces gráficas de usuario, con el objetivo de poder diferenciar de un modo abstracto a las Text User Interfaces de las CLI y de las interfaces gráficas de usuario. Así, el término se convierte en un retrónimo.

La diferencia con las CLI consiste en que la interfaz utiliza la pantalla como una superficie plana y no orientada a las líneas. Sin embargo, la interfaz sigue ejecutándose, tal y como revela su nombre, en modo texto. Los programadores pueden recurrir normalmente a 256 caracteres y hoy en día, las TUI se utilizan, por ejemplo, en gestores de arranque o en programas BIOS Setup.

Graphical User Interfaces (GUI)

Las interfaces gráficas de usuario son, en la actualidad, el estándar más establecido. Este software se aplica con elementos gráficos de control e imágenes simbólicas que toman como referencia de forma creativa a objetos del “mundo real”. En este sentido, los usuarios suelen recurrir al ratón y al teclado como dispositivos de control, pero cada vez es más común que entren en juego pantallas táctiles que funcionan mediante toques. A través de lo que se conoce como interfaz gráfica de usuario, los iconos también se introducen en el mundo digital, al igual que el escritorio, las ventanas o la papelera. Con el ratón, que sirve para desplazarse por la pantalla, se pueden seleccionar los elementos deseados y abrir con un ligero clic.

El diseño gráfico se basa, en la mayoría de los casos, en el diseño de oficina tradicional. Como consecuencia, todos los elementos pueden identificarse de forma sencilla y su manejo resulta más intuitivo a como lo es a través de la lista de comandos de una Command Line Interface. Así, los usuarios con menos experiencia pueden entender las funciones de los iconos con rapidez (ni la papelera ni el símbolo de la carta son símbolos del programa de correo que necesiten explicaciones adicionales para su comprensión). Este tipo de simbología se ha convertido en un factor imprescindible tanto para las user interfaces como para las GUI. De este modo, no hay apenas ningún programa cuyos iconos no remitan a objetos del mundo real tales como, por ejemplo, el pincel, el bolígrafo o la goma de borrar.

Voice User Interface (VUI)

Aun cuando las interfaces gráficas de usuario están presentes en cualquier ámbito, el desarrollo de interfaces de usuario con GUI todavía no ha llegado a su fin: la Voice User Interface también permite la interacción con los ordenadores por medio del control por voz. Cada sistema operativo actual ofrece este tipo de UI de una forma o de otra: Apple ha creado Siri, Amazon introdujo a Alexa, Microsoft incluye a Cortana en las versiones actuales de Windows y la búsqueda de Google también puede llevarse a cabo mediante voz siempre y cuando se cuente con el hardware correspondiente. De esta manera, puesto que se puede acceder a las aplicaciones por medio de llamadas o lo que se transmite a viva voz también se escribe de manera automática, los usuarios pueden trabajar de un modo más efectivo. Otra de las ventajas es que el control por voz garantiza una mayor accesibilidad.

Natural User Interface (NUI)

La comunicación con el ordenador se establece de un modo especialmente intuitivo a través de una Natural User Interface, que puede ser contemplada como una evolución de la interfaz gráfica de usuario y de la Voice User Interface. En este sentido, la interfaz de usuario interactiva reacciona tanto a los gestos como a los movimientos y al lenguaje. Asimismo, también es capaz de reconocer rostros y objetos. Los diferentes sensores, cámaras y micrófonos permiten una comunicación versátil con el ordenador. Muchos de los smartphones y tablets actuales apuestan por tecnologías NUI, al igual que ocurre con las consolas Wii de Nintendo, que utilizan el reconocimiento de gestos, rostros e idiomas de un modo lúdico.

Microsoft causó furor en el año 2011 con la presentación de un nuevo proyecto: bajo el nombre de OmniTouch se desarrolló una tecnología que permite proyectar pantallas táctiles en cualquier tipo de interfaz. Omnitouch se basa en Kinect, el control de movimiento de Microsoft, que fue instaurado en el mercado para Xbox 360 como competencia de la Wii de Nintendo. Asimismo, también entra en juego un proyector láser y una cámara especial. Esta forma especial de Natural User Interfaces también se ha desarrollado para los dispositivos móviles, en cuyo caso se debe colocar el hardware sobre el hombro.

Otros tipos de UI

Además de las formas de UI que se utilizan habitualmente, hay algunas más exóticas e innovadoras que todavía no han llegado al mercado de masas, como es el caso de la Tangible User Interface, cuya abreviatura es TUI y que puede confundirse con la Text User Interface, la Perceptual User Interface (PUI) o la Brain Computer Interface (BCI).

  • Las Tangible User Interfaces (TUI) son interfaces de usuario figurativas y personalizables, es decir, la interacción con el ordenador se lleva a cabo a través de objetos físicos. Así, se manipulan (se tiran, se presionan, etc.) dados, bolas y otros objetos, por lo que se activan mecanismos o se accede a información digital. Aquí es donde entran en juego las interfaces tangibles de usuario en museos o ferias.
  • Las Perceptual User Interfaces (PUI) todavía están en vía de desarrollo y se ven impulsadas por la ciencia, de ahí que se trate de interfaces de usuario controladas por percepción, lo que se traduce en una conexión entre las VUI, las GUI y el reconocimiento electrónico de gestos.
  • Las Brain Computer Interfaces (BCI) ya no forman parte de la ciencia ficción, y es que con ayuda de electrodos se pueden medir las ondas cerebrales y hacer que los algoritmos las traduzcan en comandos de control. A este respecto, la investigación ya ha celebrado los primeros logros y, por ejemplo, ha permitido que una paciente parapléjica estadounidense pueda controlar un brazo robótico con sus pensamientos, de modo que las BCI también han contribuido al manejo accesible de ordenadores y de otras máquinas.

¿Qué distingue a las buenas interfaces de usuario?

Todo diseñador web o desarrollador de software tiene que ocuparse inevitablemente del tema de las UI. A este respecto, si se quiere llamar la atención de los usuarios de una app, atraer a los visitantes de una página web o tener éxito con una tienda online propia, es necesario preguntarse cómo se puede hacer uso del producto en cuestión del modo más sencillo e intuitivo posible. Por este motivo, lo recomendable es reflexionar acerca de quiénes componen el público objetivo para orientar debidamente el diseño UI. El primer paso debe consistir en centrarse en la interfaz gráfica de usuario. En ella, la funcionalidad, la facilidad de manejo y la apariencia son criterios decisivos para lograr una buena experiencia de usuario.

A la hora de trabajar con las interfaces gráficas de usuario es imprescindible tener siempre en cuenta el aspecto de la usabilidad, y es que si una aplicación o una página web son difíciles de usar, el tener un diseño llamativo no tendrá ninguna importancia para el usuario. Para optimizar la página web o la aplicación es necesario, por lo general, llevar a cabo ciertos tests. Las investigaciones sobre los usuarios también pueden ofrecer resultados útiles, al igual que las mediciones técnicas por medio de análisis de mapas de calor. Con ellos se puede visualizar la usabilidad, puesto que se hace un seguimiento del comportamiento del usuario a través de los clics, del scroll, del movimiento ocular o eye tracking y se registra haciendo uso de gradaciones cromáticas.

El punto de vista estético entra en juego en el paso siguiente. En este sentido se aplica el “menos es más”: el diseño debe fomentar la funcionalidad de la interfaz gráfica de usuario y la configuración, a su vez, debe ser clara y estar bien estructurada. Esto no significa que los diseñadores no tengan margen de movimiento, sino que se trata de conocer las conductas de uso del público objetivo y de no restringir la funcionalidad a través del diseño.

¿Por qué son tan importantes las UI intuitivas en el diseño web y en el desarrollo de software?

¿Dónde reside la relevancia de una UI intuitiva? Veamos un ejemplo simple: el símbolo de una mariposa puede ser bonito y, con toda probabilidad, puede que le guste a algún grupo objetivo. Sin embargo, si se utiliza como icono para “guardar”, el software sufrirá las consecuencias del diseño, puesto que nadie va a asociar una mariposa con el proceso de almacenamiento. El icono de un disquete es, sin embargo, muy gráfico y, aunque este medio de almacenamiento ya está obsoleto, sigue utilizándose como símbolo para el proceso de almacenaje. Los usuarios esperan utilizar este símbolo y, de manera instintiva, buscan este tipo de iconos ya implantados. Por consiguiente, hay que tener en cuenta las convenciones de símbolos usuales y no pasarlas por alto de manera imprudente en lo que respecta a una buena experiencia de usuario y a una interfaz gráfica de usuario intuitiva y comprensible.

El ejemplo muestra que los diseñadores web y los desarrolladores de software tienen que encontrar el equilibrio perfecto entre estética y funcionalidad para poder alcanzar el éxito con un producto. La optimización de las UI es importante en este sentido para ofrecer a los usuarios el mejor resultado posible. Esto da lugar a que, en función de la organización de la página web o del software, se consigan más conversiones, recomendaciones o una comercialización del producto basada en el usuario.

La integración de otras interfaces de usuario se realiza de forma óptima a través de las GUI: si, por ejemplo, es posible recurrir al control de voz de la aplicación o se puede manejar un ordenador portátil por medio de una pantalla táctil, esto hace que haya un mayor nivel de accesibilidad y conlleva a una mejor experiencia de usuario. De esta manera, los usuarios tienen la posibilidad de elegir el producto que quieran manejar y se consigue una mayor flexibilidad, además de aumentar el alcance de la propia app o del producto.

¿Qué papel desempeña la interfaz gráfica de usuario para el SEO?

Una buena interfaz gráfica de usuario tiene un efecto positivo en la optimización en buscadores (SEO). Si los usuarios se sienten bien en una página web permanecerán más tiempo en ella, lo que se convierte en un factor muy importante, puesto que los buscadores tienen la capacidad de reconocer mediante el tiempo de permanencia cuál es la relevancia que tiene una página web para la búsqueda correspondiente. Por eso, a la hora de diseñar la GUI de tu página web siempre debes ponerte en el lugar de los visitantes que llegan a ella por primera vez. Si un usuario no se siente bien la primera vez que visita una página web, la abandonará rápidamente y buscará alternativas que le ofrezcan un manejo más sencillo. Por lo tanto, al igual que en el desarrollo del software, la navegación intuitiva se convierte en un factor decisivo.

Una buena navegación puede conseguirse mediante enlaces internos significativos a través de los que los visitantes pueden hacer clic en la página. Los crawlers de los buscadores también hacen un seguimiento de los mismos, de modo que las rutas deben ser claras y no muy largas. Una medida significativa es, por ejemplo, la llamada navegación con migas de pan o breadcrumb navigation. Esta hace que las UI sean todavía más amigables, puesto que a través de ellas, el visitante puede saber en qué lugar exacto de la página web se encuentra y adónde puede volver.

Para ello, se muestra la ruta recorrida en la página en las barras de menú colocadas en la parte superior de la propia página. En una tienda online para prendas de ropa esto se mostraría de la siguiente manera: Página de inicio/Ropa de mujer/Pantalones/Vaqueros. Por lo general, la navegación con migas de pan se encuentra en la parte superior del contenido, al igual que en nuestra Guía Digital. Para obtener más información sobre los enlaces internos desde una perspectiva SEO y sobre una buena estructura para las páginas web, visita el siguiente artículo de nuestra guía sobre el SEO básico.

¿Que es UX?

0

UX es la Experiencia de usuario de una aplicación sea una pagina web,  una aplicación celular,  o un programa de escritorio,  tiene como objetivo el resolver  las necesidades concretas de los usuarios finales del sistema,  generando una experiencia de uso fácil,  clara, e intuitiva.

Para ir a la verdadera raíz de lo que es el UX tendríamos que remontarnos a la Revolución Industrial y a los avances tecnológicos del siglo XIX y XX, cuando los hombres de negocios veían la manera de mejorar sus procesos de trabajo para optimizar el tiempo de producción. Casos reconocidos son los de Frederick Winslow Taylor y Henry Ford. En aquellos años ya existía una preocupación constante por investigar el proceso de producción y cómo este se relacionaba directamente a la interacción de los trabajadores y sus elementos de trabajo (herramientas, máquinas).

La práctica de investigar para encontrar soluciones en un entorno de producción fue perfeccionándose, adquiriendo la cualidad de una metodología que se aplicaba en base a experiencias previas (como la de Ford) y adaptándolas a nuevas situaciones. Uno de los métodos más aplicados durante buena parte del siglo XX ha sido la investigación de mercado, que busca la mejor táctica para comunicar, en base al análisis del público para un producto o servicio.

El uso de la palabra “diseño” al lado de UX hace referencia al tipo de trabajo que se hace en esta disciplina. No se trata del diseño gráfico sino de usar un conjunto de habilidades diferentes entre sí para “diseñar” una nueva experiencia que contempla 3 aspectos:

 

La usabilidad: es la funcionalidad misma, la que permite que un producto cumpla el objetivo para el que fue creado sin problemas.

Accesibilidad: se refiere a qué tan fácil resulta para el usuario entender el producto.

La Interacción entre usuario y producto: algo que viene desde los tiempos de la Revolución Industrial y que va desde lo técnico a lo más emocional, cómo el usuario percibe el producto.

El UX Design como actividad en nuestros días abarca diferentes prácticas para cumplir con los 3 aspectos mencionados:

-La investigación del usuario

-Las pruebas de usabilidad

-Arquitectura de la información

-Diseño de la interacción

-Estrategia del contenido

-Diseño visual

-Recolección  de datos (análisis de indicadores)

 

Cada aspecto requiere de un nivel de especialización elevado, por lo que un UX Designer es una persona de muchas cualidades. No por nada se considera que los mejores UX Designers son personas de conocimiento multidisciplinario.

Es importante destacar  que en muchos sitios se habla de UX/UI  “user interfase”,   la realidad es que son 2 especialidades y que en muchos lugares las integran en una persona.

Las principales diferencias son:

UX:

  • Es el proceso de desarrollo y mejora de la interacción de calidad entre un usuario y todas las facetas de una empresa.
  • Es responsable de estar al tanto del proceso de investigación, pruebas, desarrollo, contenido y creación de prototipos para probar resultados de calidad.
  • Es en teoría una práctica no digital (ciencia cognitiva), pero utilizada y definida predominantemente por las industrias digitales.

UI:

  • Es responsable de transferir los puntos fuertes y activos visuales de una marca a la interfaz de un producto para mejorar la experiencia del usuario.
  • Es un proceso de guiar visualmente al usuario a través de la interfaz de un producto a través de elementos interactivos y en todos los tamaños / plataformas.
  • Es un campo digital, que incluye la responsabilidad de la cooperación y el trabajo con los desarrolladores o código.

 

 

 

¿Qué es la tecnología blockchain?

0

La tecnología blockchain, o cadena de bloques, es una innovadora herramienta digital que funciona como un gigantesco libro de registros. Este sistema descentralizado almacena y valida cada intercambio de valor de forma segura, transparente e inmutable, replicándose simultáneamente en todos los nodos (ordenadores) que integran la red.

¿Cómo funciona la blockchain?

Cada vez que se realiza una transacción o se introduce un cambio, se añade un bloque a la cadena de registros. Cada bloque contiene:

  • Datos codificados: Incluyen la información de la transacción.
  • Fecha y hora: Para marcar el momento exacto de la operación.
  • Identificadores únicos: Que vinculan cada bloque con el anterior, formando una cadena ininterrumpida.

Debido a que la información se replica en todos los nodos, resulta prácticamente imposible alterar o borrar datos sin dejar rastro, lo que garantiza una alta seguridad y trasparencia. De hecho, esta característica ya ha sido reconocida en ámbitos legales, como en un caso en China donde se utilizó blockchain como prueba válida en un juicio.

Beneficios y aplicaciones de la tecnología blockchain

La blockchain ha emergido como una solución eficaz para múltiples desafíos en el mundo digital y comercial. Entre sus principales beneficios se encuentran:

  • Trazabilidad y transparencia: Cada registro es verificable y está disponible en múltiples nodos, facilitando el seguimiento de transacciones y procesos.
    Ejemplo: IBM desarrolló una aplicación de blockchain para Wal-Mart en China, permitiendo identificar rápidamente la procedencia de alimentos en mal estado y retirar lotes completos de forma ágil.

  • Reducción de intermediarios: Tradicionalmente, sistemas de confianza dependen de entidades centralizadas como bancos, notarios o gobiernos. La blockchain simplifica estos procesos al descentralizar la verificación de transacciones, reduciendo costos y tiempos.

  • Seguridad mejorada: La inmutabilidad de los registros impide fraudes y manipulaciones, lo que la hace ideal para validar documentos, contratos y transacciones financieras.

  • Innovación en el comercio internacional: Empresas como la PYME española Chaingotech han implementado plataformas blockchain para validar de forma instantánea la documentación del comercio marítimo, eliminando la necesidad de enviar originales físicos y reduciendo retrasos y penalizaciones.

De las criptomonedas a los contratos inteligentes

Originalmente, la tecnología blockchain se desarrolló para soportar la primera criptomoneda, el Bitcoin, atribuida a Satoshi Nakamoto (aunque algunos expertos creen que pudo ser el resultado del trabajo colectivo de un grupo de expertos). Desde entonces, su uso se ha expandido a otros ámbitos:

  • Criptomonedas: Además de Bitcoin, otras monedas digitales como Ethereum, Dogecoin y Litecoin se basan en blockchain para garantizar la autenticidad de sus transacciones.
  • Registro de nombres y dominios: Proyectos como Namecoin utilizan blockchain para crear sistemas de registro descentralizados, ofreciendo una alternativa al tradicional DNS.
  • Contratos inteligentes: Plataformas descentralizadas permiten la creación y ejecución automática de contratos sin la necesidad de intermediarios. Estos contratos se programan, se suben a la cadena y se gestionan de forma autónoma, abriendo un nuevo mundo de posibilidades para negocios y acuerdos digitales.
  • Aplicaciones en votación y subastas: La tecnología también se aplica en sistemas de votación electrónica, subastas y foros de discusión, garantizando la integridad y seguridad de cada proceso.

Conclusión

La tecnología blockchain está redefiniendo la manera en que se gestionan y aseguran las transacciones en el mundo digital. Su capacidad para descentralizar la confianza y garantizar la integridad de la información la convierte en una herramienta clave para el futuro de los negocios, las finanzas y la administración pública. A medida que la legislación se adapta a estos nuevos paradigmas, la blockchain promete seguir impulsando la innovación y transformando industrias en todo el mundo.

Con una estructura que favorece la seguridad, la transparencia y la eficiencia, la tecnología blockchain es una revolución en marcha, abriendo el camino a un intercambio de valor más confiable y accesible en la era digital.

Publicidad en Linkedin

0

Publicidad en Linkedin

Actualmente Linkedin cuenta con mas de 500 millones de usuarios a nivel mundial,  es la red social más importante de negocios,
Linkedin cuenta con publicidad aunque muchos tienen sus dudas sobre usarla con fines de anunciarse.

La publicidad en LinkedIn funciona de forma muy similar a la publicidad online en el resto de redes sociales y buscadores. LinkedIn puede funcionar de dos formas diferentes:

  • CPC (Coste Por Clic). Se establece una puja máxima que estás dispuesto a pagar por cada clic. Es decir, ¿cuánto pagarías por que un usuario haga clic en tu anuncio? Esta opción se suele elegir cuando tu objetivo es conseguir tráfico a tu sitio.
  • CPM (Coste por Mil impresiones). Aquí determinas cuánto pagar cada vez que tu anuncio sea visto 1.000 veces, independientemente del número de clics que reciba. Es la opción más adecuada si lo que buscas es notoriedad e imagen de marca.

Tranquilo, que LinkedIn no es una máquina de tragar nuestra inversión publicitaria. Puedes controlar tu inversión mediante el presupuesto diario (10€ mínimo). Tú determinas cuánto quieres gastar al día y cuando LinkedIn llega a este límite simplemente para de publicar tus anuncios.

Para gestionar las campañas LinkedIn pone a tu disposición un “Administrador de anuncios”, muy intuitivo y fácil de usar:

pantalla de creador de anuncios Linkedin

  • Anuncios de texto

Los anuncios de texto son ideales para la generación de tráfico a tu perfil en la plataforma o al sitio web de tu compañía, estos funcionan de forma similar a los anuncios que aparecen en los motores de búsqueda como Google o Bing y resulta conveniente usarlos pues permiten desarrollar campañas fácil y rápido, permiten gestionar mejor los presupuestos, elegir a la audiencia adecuada, rastrear conversiones y trabajar con los modelos CPC o CPM.

  • InMails patrocinados

Los InMail son mensajes personalizados que llegan directamente a la bandeja de entrada de los usuarios de esta red social. Resultan recomendables pues el contacto directo que aportan representa un buen impulso a la confianza, aspecto que puede motivar a hagan clic, que compren o que hagan una llamada. Es conveniente usarlos pues permiten la obtención de leads, la generación de conversaciones, la personalización, la orientación a las audiencias adecuadas y la promoción del contenido.

  • Anuncios de video

Como podría entenderse, se trata de piezas en formato de video que llegan al feed de LinkedIn. Estos permiten contar historias más interesantes para la audiencia y se consideran útiles para la diferenciación, el brand awareness, la segmentación de audiencias, el alcance a redes más amplias y la generación de leads.

  • Anuncios de display

Los anuncios de display son banners que aparecen en la plataforma y que resultan efectivos para llegar a una audiencia segmentada. Se trata de una solución de publicidad programática que permite usar una gran variedad de formatos. Resultan ideales para fortalecer a la marca a escala, alcanzar a más profesionales, crear anuncios más atractivos y para mejorar la visibilidad.

  • Anuncios dinámicos 

Por último, los anuncios dinámicos son una opción para mostrar anuncios personalizados generados de forma dinámica tomando como base la actividad de la audiencia a la que se pretende llegar. Se consideran ideales para construir relaciones y generar mensajes personalizados, además, se pueden usar para llevar personas a una landing page, obtener mas respuestas, generar mas CTAs personalizados e incrementar la cantidad de seguidores.

Ejemplos de los tipos de Anuncios: