lunes, 26 de septiembre de 2016

Cómputo consciente

Resultado de imagen para computo consciente

Introducción


En las tecnologías aún hay mucho camino por recorrer para que se haga realidad el cómputo consciente del comportamiento. Se requieren avances en una gran diversidad de áreas como procesamiento de señales, reconocimiento de patrones, inteligencia artificial, sistemas distribuidos, además de la mejora de hardware como nuevos sensores, más baratos y con un consumo menor de energía. De la misma manera, para que todo esto se haga realidad, hay varias cuestiones que aún se tienen que considerar, desde aspectos éticos hasta legales, que sin duda serán temas a discutir en la medida que estos tópicos empiecen a llegar a las masas por medio de la industria.

El cómputo consciente del contexto se refiere a aplicaciones que son capaces de adaptarse a circunstancias diversas a las que se enfrenta un usuario y reaccionar de acuerdo a ellas. Para esto, de manera automática se trata de determinar la situación o contexto en el que se encuentra el usuario.
Un paso más adelante lo constituye el cómputo consciente de la actividad, donde se trata de hacer inferencias con base en circunstancias que el sistema detecta en determinado momento. Es decir, que solamente requiere de una "fotografía” de información contextual en un momento determinado para inferir la actividad. Esto es de particular interés para el área de salud ya que en el cuidado de adultos mayores hay ciertas enfermedades o condiciones que son difíciles de detectar y que de detectarse a tiempo se puede ayudar a mejorar la calidad de vida del individuo. 












Desarrollo

Conceptos

Hardware para cómputo ubicuo

La computación ubicua es una de las tendencias más llamativas a futuro ya que será una de las tecnologías con mayor uso y comodidad para el ser humano.
En medio de esta encontraremos formas llamativas de trasladar los datos, guardarlos y proyectarlos pues si perspectiva es totalmente diferente a los que conocemos hoy como tecnología de punta en otras palabras la computación ubicua hará parte de nuestro diario vivir.
La computación ubicua es un desarrollo tecnológico que actualmente está en proceso de mejoras para que los computadores (hardware) no se perciban en un entorno o como objetos diferenciados.
Este método es muy práctico ya que le permite una gran comodidad al usuario pues su método de proyección es distinto, buscando la comodidad del usuario de una forma transparente. Se busca que el usuario tenga la mayor comodidad y haga el menos esfuerzo posible al usar esta tecnología donde no se pretende tener alguna “posición” exacta para usarla (sentado, parado, acostado) ya que su tendencia es proyectar el software de una forma diferente en donde la pantalla será transparente y los objetos conocidos a diario se convertirán en objetos de trabajo a base del software.
Además de ello la computación ubicua se tiende a futuro como una tecnología que estará en todos nuestros objetos que utilizamos a diario donde los proyectos como tener sensores informatizados en el suelo que podrían monitorizar nuestra salud y ordenadores en nuestros carros que nos ayudarían a conducir, no serían tecnológicas de la ciencia ficción, si no de nuestra vida cotidiana. Tendencias a futuro de la computación ubicua: Se tiende a futuro tener una tecnología la cual nos permita:
·         Tener una conexión a internet de forma rápida, segura y sin errores de conexión ya que se pretende que la red siempre este activa.
·         Contar con tecnología que nos facilite la vida cotidiana en donde la conducción, la cocina, el ejercicio, etc…sea mucho más práctico de tal forma de que una computadora nos asesore y nos dé la posibilidad de obtener mejores resultados sin necesidad de contar con una pantalla.
·         Todos los dispositivos contaran con el servicio de internet inalámbrico y/o transición de datos.
·         Lograr la máxima comodidad al usuario de forma interactiva y práctica. Propuesta La propuesta que se podría llevar a cabo sería una estufa con interacción ubicua la cual proyectaría una pantalla en la cocina del usuario buscando la forma de interactuar con el chef, de tal forma que a la hora de consultar alguna receta profesional, tiempo de cocción, ingredientes, etc.

Software para cómputo ubicuo

·         Lo primero que se debe tomar en cuenta es que se programa un software y por ende se necesita un estilo de programación. Entonces en secuencia, la primera etapa siempre requiere la participación de un cliente, con su solicitud para que se le pueda resolver un problema de la vida cotidiana. Enfocarse siempre en el objetivo, sin dejar a un lado las pautas que el cliente o la necesidad marcaron al inicio. Cosas como necesidad, gustos, preferencias, situaciones pasadas, entre otras proporcionan los datos necesarios para mejorar un sistema o proceso mediante un software que lo abarca todo. Después de haber recogido todos los requerimientos es necesario establecer que dispositivos físicos son necesarios para que el individuo interactúe, un dispositivo que toma datos de entrada. Es siguiente paso es separar por contexto y funcionamiento.
·         Lo que resulta al final de esta secuencia es una aplicación que puede adaptarse al contexto del usuario, con la finalidad de tener un servicio o la información adecuada en el momento oportuno de acuerdo al lugar en el que utiliza.

Áreas de desarrollo

Actualmente están en proceso una gran variedad de proyectos para la creación de aplicaciones de cómputo consciente del contexto que pretenden incrementar su potencial al incluir las características que ofrece  el cómputo consciente del contexto y las ventajas que se pueden obtener al incluir las tecnologías emergentes. A continuación se enlistan ciertas áreas:

Salud
Los centros nacionales de salud de Estados Unidos definen la bioinformática como la investigación, desarrollo o aplicación de herramientas computacionales para ampliar el uso de información biológica, médica, conductual y de salud. Desde la digitalización de las primeras secuencias de ADN en 1977, se ha registrado un crecimiento constante en la información biológica almacenada en repositorios digitales.

Turismo
Las guías electrónicas que facilitan muchas cosas a lOS turistas; la Domótica que ofrece la identificación de usuario y espacios; por último el automóvil al utilizar sistemas de ubicación como el Global Positioning System (GPS), la capacidad del auto para regular asientos, espejos, altura del volante, temperatura interior, etc. algunos parecen demasiado desorbitados sin embargo muchos dispositivos capaces de realizar estas tareas sólo basta que se conjunten para hacerlo posible.

El coche
¿A quién no se le han perdido las llaves? Una variedad de aparatos nuevos usan transmisores inalámbricos para terminar con esa molestia. Ellocalizador de llaves Where's My Keys?  viene con cuatro llaveros receptores de diferentes colores con aros para llaves, además de una unidad central con botones correspondientes. Si se te pierden las llaves, oprime el botón derecho y dirígete hacia el origen del ruido (¡estridente!). El Click ’N Digfunciona de la misma manera, pero viene tan solo con dos receptores). Me pareció que producían un ruido de buen volumen que podrían durar las llaves se gasten de tanto uso.

The Zubie funciona como un monitor de ejercicio para vehículos: una pequeña "llave" se conecta en un puerto de diagnóstico de 16 pines oculto en el tablero del vehículo, y se sincroniza con una aplicación de teléfono inteligente que mantiene registros acerca de la condición y ubicación de tu vehículo. La aplicación tiene un mapa que señala dónde se encuentra el vehículo en todo momento, un rastreador del precio de la gasolina y del millaje, y un monitor de la batería y del motor que envía alertas si alguno fallara. (No más conducir por semanas con la luz de "Revisar motor" encendida.) También le hace seguimiento a tu forma de conducir, y registra los frenazos repentinos y excesos de velocidad. (Zubie me catalogó como un conductor promedio y me dijo que controlara mis frenazos en seco.) Solo los usuarios invitados pueden hacer seguimiento a un vehículo en particular, lo que significa que los padres que tienen la aplicación Zubie pueden ver dónde está su hijo adolescente.

Nuevos retos

El cómputo consciente del contexto tiene como objetivo facilitar al usuario la realización de sus actividades cotidianas, más allá de solamente el apoyo en las actividades laborales, como las aplicaciones de cómputo tradicionales lo han realizado hasta este momento. La posibilidad que tienen las aplicaciones conscientes del contexto de percibir, procesar y analizar el entorno y al usuario mismo, brindan una flexibilidad y robustez que las convierten en herramientas cada vez más útiles y poderosas.

Sin duda alguna, el área del hogar y cocina, sería de bastante ayuda para las amas de casa calcular el tiempo de cocción de cierto alimento.
En el mundo de las carreteras y automóviles se ha dado un importante paso al hacer uso de los GPS, es ahí donde se da cuenta de que el cómputo consciente está aquí y la tecnología nos ha alcanzado.

Finalmente, a continuación se mencionan algunas áreas en las que esta tecnología emergente y que próximamente será una tendencia podrá ser de gran ayuda:
o   Restaurantes
o   Marketing
o   Publicidad
o   Televisiones
o   Radio
o   La web e Internet
o   Ropa y calzado

Tecnologías Emergentes

Resultado de imagen para tecnologia emergente

Introducción

En la actualidad, las tecnologías son de mucha importancia en la vida diaria, ya que sin ellas estaríamos obsoletos de lo que ocurre en nuestro alrededor. En pleno siglo XXI se han descubierto como la ciencia evoluciona rápidamente y como la saciedad manipula mayores niveles de información, a medida de estas situaciones;  es que la innovación tecnológica se plantea como  el desarrollo de novedosos avances  para hacer el uso de las nuevas tecnologías.
Las tecnologías modernas o emergentes son la alterativa de solución para adecuarlas a la necesidad de diferentes personas, empresas, etc. Y así a su vez mejorar e innovar productos, procesos según la requisición que se plantee.
Existen diferentes ramas a las cuales se puede implementar como una esperanza que ofrecerá la mejora de la condición humana. Sin embargo, han advertido que algunas de estas tecnologías podrían significar un peligro, incluso al punto de amenazar la supervivencia de la humanidad, según algunos escritores.
En el siguiente documento se dará a conocer algunas de las diferentes tecnologías emergentes de TI.

Desarrollo

Bases de Datos

Cadena de bloques [Blockchain]
La cadena de bloques es una base de datos descentralizada donde las transacciones electrónicas se registran de forma segura y verificada. Se utilizan actualmente para las monedas digitales como el Bitcoin. La futura economía mundial se basará en transacciones en cadena de bloques y las organizaciones de terceros puede no sean necesarias
Ventajas
·         Mejoramiento en la sincronización de los datos
·         Más seguridad en el manejo de los datos
Desventajas
·         Es más compleja
·         Tiene más piezas que la mayoría de criptografía



NOSQL
Es una amplia clase de sistemas de gestión de bases de datos que difieren del modelo clásico del sistema de gestión de bases de datos relacionales (RDBMS) en aspectos importantes, el más destacado es que no usan SQL como el principal lenguaje de consultas. Los datos almacenados no requieren estructuras fijas como tablas, normalmente no soportan operaciones JOIN, ni garantizan completamente ACID (atomicidad, consistencia, aislamiento y durabilidad), y habitualmente escalan bien horizontalmente. Los sistemas NoSQL se denominan a veces "no sólo SQL" para subrayar el hecho de que también pueden soportar lenguajes de consulta de tipo SQL.
Ventajas
  • Estos sistemas responden a las necesidades de escalabilidad horizontal que tienen cada vez más empresas.
  • Pueden manejar enormes cantidades de datos.
  • No generan cuellos de botella.

Desventajas
·         El código abierto puede significar una "mancha" en el soporte para las empresas.
·         No están lo suficientemente maduros para algunas empresas.
·         Limitaciones de Inteligencia de Negocios

 

Páginas Web

Frameworks de desarrollo
Un framework es un concepto sumamente genérico, se refiere a “ambiente de trabajo”, por ejemplo .NET es considerado un framework para desarrollar aplicaciones sobre Windows. En general los frameworks son soluciones completas que contemplan herramientas de apoyo a la construcción (ambiente de trabajo o desarrollo) y motores de ejecución (ambiente de ejecución).
Framework se refiere a una estructura de software de componentes personalizables e intercambiables para el desarrollo de una aplicación.
Es una aplicación genérica incompleta y configurable a  la que se pueden añadir las últimas piezas para construir una aplicación concreta.
Aplicaciones
·         Para Java:
o   Struts
o   Java Server Faces.
o   Spring.
·         Para HTML y CSS:
o   HTML5 Boilerplate.
o   Blueprint.
o   960 Grid System.
o   Bluetrip.
o   YAML.
o   Inuit.
Ventajas
ü  Desarrollo rápido.
ü  Desarrollo estructurado.
ü  Reutilización de código.
ü  Disminución del esfuerzo en el desarrollo.
ü  Aprovechar las funcionalidades ya implementadas.
ü  Concentrarse directamente en la solución del problema.
Desventajas
û  Limita tu libertad

En general, sólo se utiliza una framework CSS para todos tus proyectos ya que aprender una tras otra realmente no es muy práctico. Ya que una framework CSS tiene una serie de retículas, selectores y otro tipo de código limita tu diseño en cuanto al tamaño de los elementos y el estilo.
û  Añade código extra

Es poco probable que emplees todas las características de una framework CSS por lo que definitivamente tus aplicaciones tendrán código que no necesitas. Esto podría ser un problema si deseas que tu aplicación sea súper ligera y cada byte cuenta.
û  Te fuerza a usar la semántica propia de la framework

Al usar una framework CSS tienes que acostumbrarte a trabajar con la semántica de ésta. En general, esto no suele ser un problema para muchos desarrolladores que trabajan solos. Sin embargo, si estás colaborando con varias personas deberás asegurarte que todos tengan el mismo nivel de conocimiento sobre la framework, lo que es un escenario ideal, por supuesto. Así que debes esperar que tus compañeros se familiaricen con la framework primero.
û  Podría ser una pérdida de tiempo

Si ya estás acostumbrado a trabajar y ordenar tu código de cierta manera y debido a una petición de cliente o a un proyecto en equipo te ves obligado a trabajar con cierta framework CSS, obviamente primero debes aprender cómo funciona. Esto podría ser tiempo valioso que podrías haber invertido en comenzar a codificar sin el uso de una framework CSS.

Tecnología AJAX
El término AJAX es un acrónimo de Asynchronous JavaScript + XML, que se puede traducir como "JavaScript asíncrono + XML".
“Ajax no es una tecnología en sí mismo. En realidad, se trata de varias tecnologías independientes que se unen de formas nuevas y sorprendentes.”
Aplicaciones
Las tecnologías que forman AJAX son:
·         XHTML   y CSS, para crear una presentación basada en estándares.
·         DOM,  para la interacción y manipulación dinámica de la presentación.
·         XML,  XSLT y JSON, para el intercambio y la manipulación de información.
·         XMLHttpRequest,  para el intercambio asíncrono de información.
·         JavaScript,  para unir todas las demás tecnologías.
Desarrollar aplicaciones AJAX requiere un conocimiento avanzado de todas y cada una de las tecnologías anteriores.
En las aplicaciones web tradicionales, las acciones del usuario en la página desencadenan llamadas al servidor. Una vez procesada la petición del usuario, el servidor devuelve una nueva página HTML al navegador del usuario.
Figura 1. Comparación gráfica del modelo tradicional de aplicación web y del nuevo modelo propuesto por AJAX.
Ventajas
ü  AJAX permite mejorar completamente la interacción del usuario con la aplicación, evitando las recargas constantes de la página, ya que el intercambio de información con el servidor se produce en un segundo plano.
ü  Las aplicaciones construidas con AJAX eliminan la recarga constante de páginas mediante la creación de un elemento intermedio entre el usuario y el servidor.
ü  La nueva capa intermedia de AJAX mejora la respuesta de la aplicación, ya que el usuario nunca se encuentra con una ventana del navegador vacía esperando la respuesta del servidor.
Desventajas
û  Esta técnica tradicional para crear aplicaciones web funciona correctamente, pero no crea una buena sensación al usuario. Al realizar peticiones continuas al servidor, el usuario debe esperar a que se recargue la página con los cambios solicitados. Si la aplicación debe realizar peticiones continuas, su uso se convierte en algo molesto.

Lenguajes de Programación

Dart de Google
Lenguaje de programación web. Es el remplazo de JavaScript.
 Es un lenguaje de código abierto desarrollado por Google como reemplazo de JavaScript. Al igual que otros lenguajes de reemplazo de JavaScript como "CoffeeScript”. No se realizó con el afán de reemplazar otro lenguaje, pero puede pasar por cuestión de las comunidades de desarrolladores.
Un ejemplo es Phyton, mucho tiempo pasó de noche por las empresas, no se utilizaba a nivel industria, hasta después de 15 años. Lo mismo puede pasa
Donde se utiliza:
·         Aplicaciones para Android.
·         Aplicaciones web.
Ventajas:
·         Fue creado por Google, una de las más grandes compañías en el mundo que maneja miles de sitios web en su motor de búsqueda.
·         Su máquina virtual o compilador está integrada en un explorador que comúnmente se utiliza, Google Chrome.
·         fácil de aprender, fácil de escalar y desplegable en todas partes.
·         Es open source, y una nueva alternativa para programar en Android.
Desventajas:
·         Es un lenguaje que surgió hace pocos años, aún falta aportar para que crezca.
·         Es poco conocido en la comunidad de programadores web.
·         Pasa por su etapa de … Pasando de noche.

Opa

Está diseñado para hacer que el desarrollo de aplicaciones Web sea más sencillo y más seguro. ¿Cómo? En lugar de crear componentes del lado del navegador, del lado del servidor y de la base de datos "Back-End”. Aunque Opa aún no ha sido adoptada por las empresas de manera significativa, en este momento hay una gran cantidad de discusiones sobre el lenguaje en Internet, señala Driver. Las aplicaciones web se van a volver más complejas y hay un valor único en hacer que la distribución de servidor del lado del cliente y del lado del código, sucedan automáticamente.
Donde se utiliza:
·         Aplicaciones web.
Ventajas:
·         Remplazara a tres lenguajes significativos JavaScript, PHP y MySQL.
·         Conjunta varios componentes esenciales de una aplicación web en un solo lenguaje (Servidor web, interfaz, lógica (código), base de datos).
·         Integración, Distribución, Escalabilidad y seguridad.
Desventajas:
·         Sintaxis del código es diferente a otros leguajes comunes.
·         Inflexible con complementes como, interfaz, código y base de datos.
·         La comunidad que integra a este lenguaje es muy poca, por lo tanto la información en cuanto a la solución de problemas es muy poca.

Sistemas Operativos

Es un software de innovación, en otras palabras de reemplazo o como  su nombre lo indica de emergencia.
Uno de los problemas para los desarrolladores de teléfonos inteligentes es que sus modelos son muy costosos para países tercermundistas, para las economías emergentes se ha optado por desarrollar teléfonos de gama media y sin embargo siempre se busca uno más barato.

Así mismo, un sistema operativo no necesariamente puede hacer de su uso en dispositivos móviles, también puede aplicarse en computadoras tal es el caso de Linux, que en su caso fue un “boom” al hacer competencia al tradicional Windows y MAC OS.

Aplicaciones
Hablando particularmente de los teléfonos inteligentes en la actualidad las grandes marcas están desarrollando dispositivos económicos y con ello depende de un sistema eficaz más allá de Android o IOS, tal es el caso Firefox OS que está basado en HTML5 con núcleo Linux.

Así mismo Windows Phone es un sistema operativo desarrollado gracias a la petición de Nokia al intentar dar un paso a la modernidad, sin embargo dicha combinación no fue la esperada pues la incursión de Windows en dispositivos móviles trajo consigo la baja de demanda de Nokia y al contrario de traer un beneficio a dicha empresa terminó por desarrollar Windows 8 para tabletas, entre otros.

Ventajas
·         Mayor variedad de sistemas
·         Calidad a bajo costo
·         En algunos casos, sin existencia de virus
·         Factible para países en vías de desarrollo
·         El costo de los equipos disminuye significativamente

Desventajas
·         Al ser relativamente nuevos, sus desarrolladores no son de confianza
·         Aún está en etapa de pruebas
·         No cuenta con todas la funcionalidades que un sistema operativo convencional.


Hardware

Las innovaciones tecnológicas que se aproximan en los próximos años modificaran y cambiaran de tal manera nuestras vidas y la manera de vivirla que solo un pensamiento global podrá asimilarla de tal manera que no sea un obstáculo más para desarrollar todas las actividades cotidianas.
Todas estas anticipaciones tecnológicas han sido consultadas por varios expertos en la materia que ven como algo real y nada futurista la llegada de estas tecnologías emergentes; el impacto social que puede llegar a generar estas rupturas tecnológicas tendrá impacto en los campos de la salud, economía, energía, transportes, telecomunicaciones, espacio, robótica entre otras, estas son algunas de las tecnologías emergentes en el campo del hardware, este campo es sin duda el que más evolución ha tenido y tendrá en los próximos 20 años.
Aplicaciones
·         Papelería
Papel Electrónico: Los libros dejarán de ser una de las principales causas de deforestación y de mayor impacto ambiental en el planeta, la masificación de dispositivos de lectura de documentos, libros, revistas, etc., permitirá un dispositivo de estos compense su huella de carbono por efectos del proceso industrial de su producción, frente al de publicaciones en papel. Adicional, la incorporación de procesos de producción más limpios en las industrias electrónicas eliminando componentes altamente contaminantes e incluyendo materiales recuperados en sus insumos, hará de estos dispositivos electrónicos los verdaderos sustitutos del papel.
·         Redes y telecomunicaciones
Redes Inteligentes: Consiste en una plataforma basada en la interconexión de nodos en donde residen aplicaciones informáticas y bases de datos en tiempo real , esta red permite la integración de la red telefónica fijas , con redes móviles y de internet, personalizando servicios con el perfil del usuario.
·         Optometría
Retinas Artificiales: Estas retinas se crean a través de microcircuitos compactos que se interconecta con la estructura neuronal del cerebro, las cuales podrían fabricarse en Silicio lo que genera la restitución de la visión, ojos robotizados y otros sensores inteligentes.
Ventajas
·         Mejoras al medio ambiente
·         Mayor calidad de vida
·         Rapidez de la información
·         Mejoras en diseños

Desventajas
·         Es costoso
·         No todas las tecnologías son adecuadas para los usuarios
·         Algunas tecnologías aún se encuentran en etapas de pruebas






Conclusiones

(Paginas web y lenguajes de programación).
Los lenguajes de programación han sido la manera de crear nuevas herramientas tecnológicas para necesidades específicas (concretas), aplicaciones de escritorio, sistemas operativos, frameworks, sistemas de control en red, Aplicaciones para teléfonos móviles, páginas y aplicaciones web, entre otras alternativas de solución, pero lo que hoy se demanda más el manejo de la información vía remota o a través de internet. Extensa variedad de lenguajes que cubren necesidades tan peculiares, pero que a la vez, tratan de ser lo más eficiente posible, a cualquier coste, incluso si es necesario remplazar ciertos lenguajes para aumentar cualquier prospectiva del mejoramiento por parte del usuario.
(Base de datos)
Algo que no podrá evitarse o ser cambiado tan fácilmente, será el lugar donde toda aquella información que se maneja actualmente en el internet, empresas, o cualquier otro sitio que las tenga, el lugar más concurrente  de cualquier aplicación con información, una base de datos.
(S.O y HW)
Todo aquel componente que necesite soportar un sistema operativo debe tener los requerimientos necesarios, al igual que un sistema operativo debe mejorar el rendimiento sin importar el coste para librar necesidades. Todo está relacionado con la eficiencia que se requiere en el momento de la época, si todo se atrasa sobre la base, nada más puede crecer o avanzar tecnológicamente.