martes, 28 de febrero de 2012

Tarea Intro 1

Para comenzar realize un programa sencillo, un hola mundo cambiandolo para probar.


Posteriormete explicare un programa un poco mas complejo.
Es el clásico ordenamiento de números por el método burbuja.

Primero el código original en C:

Despues de cambiarlo a Asembly por medio de la instrucción:

gcc –S burbuja.c

Ahora aqui ya tenemos nuestro código .s lo mostramos y lo comentarizamos
para entenderlo un poco más.


Por ultimo, optimizamos el programa quitando lineas de código para su mejoramiento y rendimiento:


Aqui la presentación que se expondra en clase:
Tarea intro
View more presentations from dani.

Bibliografía para poder comentarizar el código:

http://www.cs.virginia.edu/~evans/cs216/guides/x86.html
http://zsmith.co/intel/intel.html

jueves, 23 de febrero de 2012

Usabilidad en móviles



Ya hemos aprendido sobre usabilidad web y muchas características de esto en cursos anteriores. Ahora toca aprender cosas básicas de usabilidad pero en base a móvil.

De entrada hay que saber que diseñar páginas web o alguna aplicación no es lo mismo que diseñarla (y programarla). No podemos pensar que si ya sabemos como diseñar una web también podremos hacerlo en un celular, si en si la rama de estudio es la misma en esta parte las cosas cambian mucho.
Estas son algunas cosas que debemos tener en cuenta antes de empezar a diseñar y programar nuestra aplicación.

Mensaje

Lo que usted está tratando de decir sobre su sitio o aplicación visualmente.

Look & Feel

El look and feel se utiliza para describir la apariencia.

Color

El obstáculo mas común se encuentra cuando se trata de pantallas de color.

Layout

Como el usuario visualmente nuestra página.

Fuentes

Que tipos se representa en las pantallas de móviles

Gráficos

El uso de imágenes que se utilizan para crear o ayudar a una experiencia visual.

Touch target sizes

-7x7 mm con 1 mm de tap para el uso del dedo índice

-8x8 mm con 2 mm de tap para el pulgar de uso.

-El tipo de lista de los componentes debe tener un minimo de 5 mm de espacio entre líneas

-el ancho de un dedo limites de la densidad de elementos en la pantalla. Si los elementos están demasiado cerca, el usuario no podrá elegir uno solo.











Touch gesture diagrams

Touch interface growth

Estos son solo algunos aspectos que debemos tener encuenta, y ahora voi a explicar algunas partes de un estudio realizado por Jakob Nielsen uno de los pioneros y más reconocidos en el mundo sobre usabilidad. Este estudio fue realizado en 2011.

El estudio revela que el uso de la Web en un teléfono móvil varía dependiendo de las características del dispositivo que se use. Como era de esperar, se descubrió que los sitios diseñados específicamente para su uso en un teléfono móvil rinde sustancialmente mejor, que los “sitios completos” y no adaptados para ello. Cosa que debemos tener muy en cuenta para nuestros proyectos Web.

Sugiere que la razón principal es que en aquel entonces, la web móvil era un “jardín cercado”, limitado, pero relativamente simple, mientras que hoy la Web es más abierta en los teléfonos móviles. Y la gente lo que necesita es ir a un motor de búsqueda y no perder tiempo en introducir y buscar una palabra, debido a los tiempos de carga para buscar una respuesta.
Las pantallas grandes y la manipulación directa tiene un gran impacto en la usabilidad.
Como era de esperar, entre más grande sea la pantalla, mejor será la experiencia del usuario al acceder a sitios Web.

Para tener un sitio exitoso móvil o aplicación, la pauta obvia es la de diseñar para la pequeña pantalla. Lamentablemente, algunos no lo hacen, y todavía vemos los usuarios luchan por golpear en zonas pequeñas que son mucho más pequeños que sus dedos. El síndrome de los dedos de grasa estará con nosotros en los próximos años.
El segundo punto es más conceptual - y más difícil para algunas personas a aceptar: Cuando usted tiene una pantalla más pequeña, se debe limitar el número de funciones a las que importa más para el caso de uso móvil.

La experiencia de usuario de sitios web y aplicaciones móviles ha mejorado desde nuestra última investigación, pero aún nos queda mucho camino por recorrer. . Un sitio móvil dedicado es una necesidad, y aplicaciones de conseguir incluso una puntuación más alta usabilidad.

Bibliografía:
Para los que hacen su aplicación para iphone les recomiendo:
https://developer.apple.com/library/ios/#DOCUMENTATION/AppleApplications/Reference/SafariWebContent/UsingtheViewport/UsingtheViewport.html
http://www.slideshare.net/andreskarp/usabilidad-para-mviles
http://www.useit.com/alertbox/mobile-usability.html
http://www.circulodemaquetadores.com/estudio-de-usabilidad-movil-nielsen

miércoles, 22 de febrero de 2012

Conectividad móvil


En la actualidad los celulares cuentan con mucha conectividad ya sea para las llamadas entrantes y salientes, como también la comunicación con internet o con otros celulares. Conoceremos algunos de estos conceptos básicos y su funcionamiento.

Red de celdas
Una red de celdas o red celular es una red formada por celdas de radio (o simplemente celdas) cada una con su propio transmisor, conocidas como estación base. Estas celdas son usadas con el fin de cubrir diferentes áreas para proveer cobertura de radio sobre un área más grande que el de una celda.
El requerimiento principal de una red en el concepto celular es encontrar una manera de que cada estación distribuida distinga la señal de su propio transmisor de la señal de otros transmisores. Hay dos soluciones a esto, acceso múltiple por división de frecuencias (FDMA del inglés Frequency Division Multiple Access) y multiplexación por división de código (CDMA del inglés Code Division Multiple Access). FDMA funciona usando frecuencias diferentes entre celdas vecinas. Encontrando la frecuencia de la celda elegida.
Ventajas
Estas redes ofrecen varias ventajas comparadas con soluciones alternativas:
§  Incrementan la capacidad
§  Reducen el uso de energía
§  Tienen mejor cobertura
§  Tienen acceso a internet

Los detalles del proceso de paginación varían de red a red, pero normalmente se conoce un número limitado de celdas donde el teléfono se encuentra (este grupo de celdas es llamado área de localización en los sistemas GSM o área de ruteo en los UMTS). La paginación comienza enviando mensajes de difusión en estas celdas. Los mensajes de paginación pueden ser usados para transferir información. Esto se usa, por ejemplo, en los sistemas CDMA para el envió de mensajes SMS.
Las Frecuencias
El incremento en la capacidad de una red celular, comparando con una red con un solo transmisor, viene con el hecho de que la misma radiofrecuencia puede ser usada en un área diferente para una transmisión completamente diferente. Si hubiera un solo transmisor, solo una transmisión puede ser realizada en cualquier frecuencia dada. Desafortunadamente es inevitable cierto nivel de interferencia en la señal producida por las otras celdas que usan la misma frecuencia. Esto significa que en un sistema estándar FDMA habrá al menos un hueco entre celdas que utilicen la misma frecuencia.
Cuando un usuario de telefonía móvil se mueve de una celda a otra, el conmutador automáticamente indica al dispositivo y a la celda con la señal más fuerte (indicada por el dispositivo) a trasladarse a un nuevo canal de radio (frecuencia). Cuando el dispositivo responde a través de la nueva celda, el conmutador de intercambio lo conecta a ésta.

Tecnologías modernas
Los sistemas de telefonía móvil modernos utilizan celdas debido a que las frecuencias de radio son recursos limitados y compartidos. Las celdas y los dispositivos cambian de frecuencia bajo el control de computadoras y usan transmisores de baja potencia, así el número limitado de frecuencias puede ser utilizado por muchas llamadas con menos interferencia.
Ya que la mayoría de los teléfonos móviles utilizan tecnología celular, incluyendo GSM, CDMA y AMPS (analógico), el término "teléfono celular" es intercambiable con "teléfono móvil"; sin embargo, una excepción de teléfonos móviles que utilizan tecnología celular son los teléfonos satelitales.

Sistema telefónico móvil avanzado - 1G

El Sistema Telefónico Móvil Avanzado o AMPS (del inglés Advanced Mobile Phone System) es un sistema de telefonía móvil de primera generación (1G, voz analógica) desarrollado por los laboratorios Bell. Se implementó por primera vez en 1982 en Estados Unidos.

¿Cómo funcionaban

AMPS y los sistemas telefónicos móviles del mismo tipo dividen el espacio geográfico en una red de celdas o simplemente celdas (en inglés cells, de ahí el nombre de telefonía celular), de tal forma que las celdas adyacentes nunca usen las mismas frecuencias, para evitar interferencias.

Digital AMPS 2G

IS-54 emplea el mismo espaciado de canales de 30kHz y las bandas de frecuencia (824-849 y 869-894 MHz) como lo hace AMPS. La capacidad se incrementó sobre el diseño analógico anterior dividiendo cada par de canales de 30 kHz en tres ranuras de tiempo y comprimiendo digitalmente los datos de voz, consiguiendo tres veces la capacidad de llamadas en una misma célula. Un sistema digital también hace las llamadas más seguras porque los escáneres analógicos ya no son capaces de acceder a señales digitales.
Los bits de datos de una conversación componen un campo de datos, denominado DATA field.Seis ranuras hacen una trama completa IS-54. un campo de datos en las ranuras 1 y 4, 2 y 5, y 3 y 6 conforman un circuito de voz. DVCC significa código de color de verificación digital, terminología vieja usada para un valor de 8-bits asignado a cada célula. G significa tiempo de guardia, el período entre cada ranura de tiempo. RSVD significa Reservado (casi todas las tecnologías reservan bits). SYNC es la sincronía, un campo de dato crítico en toda multiplexación por división de tiempo.
UMTS-3G
Los servicios asociados con la tercera generación proporcionan la posibilidad de transferir tanto voz y datos (una llamada telefónica o una videollamada) y datos no-voz (como ladescarga de programas, intercambio de correos electrónicos, y mensajería instantánea).
Aunque esta tecnología estaba orientada a la telefonía móvil, desde hace unos años las operadoras de telefonía móvil ofrecen servicios exclusivos de conexión a Internet mediante módem USB, sin necesidad de adquirir un teléfono móvil, por lo que cualquier computadora puede disponer de acceso a Internet. Existen otros dispositivos como algunos ultrapórtátiles (netbooks) que incorporan el módem integrado en el propio equipo, pero requieren de una tarjeta SIM (la que llevan los teléfonos móviles) para su uso, por lo que en este caso sí es necesario estar dado de alta con un número de teléfono.
La seguridad de la red 3G
Las redes 3G ofrecen mayor grado de seguridad en comparación con sus predecesoras 2G. Al permitir a la UE autenticar la red a la que se está conectando, el usuario puede asegurarse de que la red es la intencionada y no una imitación. En la conferencia BlackHat 2010 un hacker demostró (con un presupuesto de US$ 1.500) que podía obtener números celulares e incluso escuchar las llamadas de teléfonos GSM cercanos, esto era logrado haciéndose pasar por una base (antena receptora/transmisora) de la telefónica AT&T en este caso. Las redes 3G usan el cifrado por bloques KASUMI en vez del anterior cifrador de flujo A5/1. Aún así, se han identificado algunas debilidades en el código KASUMI.
Telefonía móvil 4G
La 4G esta basada completamente en el protocolo IP, siendo un sistema de sistemas y una red de redes, que se alcanza gracias a la convergencia entre las redes de cables e inalámbricas. Esta tecnología podrá ser usada por modems inalámbricos, celulares inteligentes y otros dispositivos móviles. La principal diferencia con las generaciones predecesoras será la capacidad para proveer velocidades de acceso mayores de 100 Mbps en movimiento y 1 Gbps en reposo, manteniendo una calidad de servicio (QoS) de punta a punta de alta seguridad que permitirá ofrecer servicios de cualquier clase en cualquier momento, en cualquier lugar, con el mínimo coste posible.
Caracteristicas
El concepto de 4G trae unas velocidades mayores a las de 300 Mbps con un rating radio de 8.000 Khz; entre otras, incluye técnicas de avanzado rendimiento radio como MIMO y OFDM. Dos de los términos que definen la evolución de 3G, siguiendo la estandarización del 3GPP, serán LTE (‘Long Term Evolution’) para el acceso radio, y SAE (‘Service Architecture Evolution’) para la parte núcleo de la red. Los requisitos ITU y estándares 4G indican las siguientes características.

Enlace Infrarrojo
A la hora de transmitir, las estaciones infrarrojas pueden usar tres tipos de métodos para ello: punto a punto, casi-difuso y difuso.En el modo punto a punto, el tipo de emisión por parte del transmisor se hace de forma direccional. Por ello, las estaciones deben verse directamente, para poder dirigir el haz de luz directamente de una hacia la otra. Por este motivo, este es el tipo de red inalámbrica más limitado, pues a todos los inconvenientes de las comunicaciones infrarrojas hay que unir el hecho de tener que colocar las estaciones enfrentadas. Este método se suele usar en redes inalámbricas Token Ring, donde el anillo está formado por una unión de enlaces punto a punto entre las distintas estaciones, conformando cada uno de los segmentos.

1) Peer to Peer o Ad Hoc: Es el tipo de configuración más sencilla, en el que dos o más estaciones se conectan directamente, de forma visible, formando una especie de anillo.

2) Modo Infraestructura: En este tipo de configuración, se añade un elemento llamado punto de acceso (más conocido como AP (Access Point)). Dicho elemento, permite formar redes de menor tamaño que serán interconectadas a través de él. En ocasiones, dependiendo del tipo de punto de acceso, las redes pueden ser de tipos distintos, siendo este dispositivo el encargado de realizar la conversión entre señales.
Bluetooth
Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal (WPAN) que posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia en la banda ISM de los 2,4 GHz. Los principales objetivos que se pretenden conseguir con esta norma son:
Facilitar las comunicaciones entre equipos móviles y fijos.
Eliminar cables y conectores entre éstos.
Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la sincronización de datos entre equipos personales.
La especificación de Bluetooth define un canal de comunicación de máximo 720 kb/s (1 Mbps de capacidad bruta) con rango óptimo de 10 m (opcionalmente 100 m con repetidores).
La frecuencia de radio con la que trabaja está en el rango de 2,4 a 2,48 GHz con amplio espectro y saltos de frecuencia con posibilidad de transmitir en Full Duplex con un máximo de 1600 saltos/s. Los saltos de frecuencia se dan entre un total de 79 frecuencias con intervalos de 1Mhz; esto permite dar seguridad y robustez.
La potencia de salida para transmitir a una distancia máxima de 10 metros es de 0 dBm (1 mW), mientras que la versión de largo alcance transmite entre 20 y 30 dBm (entre 100 mW y 1 W).
Wi-Fi
Wi-Fi es una marca de la Wi-Fi Alliance (anteriormente la WECA: Wireless Ethernet Compatibility Alliance), la organización comercial que adopta, prueba y certifica que los equipos cumplen los estándares 802.11 relacionados a redes inalámbricas de área local.
Problemas
Uno de los problemas a los cuales se enfrenta actualmente la tecnología Wi-Fi es la progresiva saturación del espectro radioeléctrico, debido a la masificación de usuarios, esto afecta especialmente en las conexiones de larga distancia (mayor de 100 metros). En realidad Wi-Fi está diseñado para conectar ordenadores a la red a distancias reducidas, cualquier uso de mayor alcance está expuesto a un excesivo riesgo de interferencias.
Un muy elevado porcentaje de redes son instalados sin tener en consideración la seguridad convirtiendo así sus redes en redes abiertas (o completamente vulnerables ante el intento de acceder a ellas por terceras personas), sin proteger la información que por ellas circulan.
WiFi Max
·         Distancias de hasta 80 kilómetros, con antenas muy direccionales y de alta ganancia.
·         Velocidades de hasta 75 Mbps, 35+35 Mbps, siempre que el espectro esté completamente limpio.
·         Facilidades para añadir más canales, dependiendo de la regulación de cada país.
·         Anchos de banda configurables y no cerrados, sujetos a la relación de espectro.
·         Permite dividir el canal de comunicación en pequeñas subportadoras (dos tipos: guardias y datos).
Bibliografía:
http://www.informatica-hoy.com.ar/redes/
http://bibdigital.epn.edu.ec/handle/15000/3720
http://es.wikipedia.org/wiki/Red_de_celdas
http://es.wikipedia.org/wiki/AMPS
http://es.wikipedia.org/wiki/D-AMPS



domingo, 19 de febrero de 2012

Códigos QR


Mi código QR para mi Blog

Una nueva aplicación que tienen la mayoría de los celulares modernos hoy en día es la lectura de un código QR que los podemos encontrar en muchos lugares.  En esta entrada aprenderemos mas sobre esta útil herramienta.

Primero, hay que saber que son los códigos QR, es  un código de barras de respuesta rápida por su traducción al español de “quick response barcode” en este código se guarda información en una matriz de puntos. Fue creado por la compañía japonesa Denso Wave mas específicamente por Euge Damm y Joaco Retes.

Se caracteriza por tres cuadros que se encuentran en las esquinas y que son los que permiten detectar la posición del código al escáner.

                                                                             Capacidad de datos del código QR
Solo numérico     Máx. 7.089 caracteres
Alfanumérico       Máx. 4.296 caracteres
Binario       Máx. 2.953 bytes
Kanji/Kana Máx. 1.817 caracteres












Hoy en dia podemos encontrar estos códigos en muchos lugares de la industria por ejemplo:
  • Publicidad
  • Campañas de marketing
  • Merchandising
  • Diseño Gráfico
  • Internet, Webs, blogs, etc.



Asi es como se leé un código QR



Para leer un código QR necesitamos de nuestro celular y la aplicación para leerlos. Solo se apunta con la cámara a algún código QR y si tienes instalado la aplicación funcionara correctamente abriendo un enlace oculto en este código.

Como generar nuestro propio código QR es muy sencillo, existen en la web muchos lugares que ofrecen crear nuestro propio código, yo mostrare uno desde esta página.


1-      Tener una página web, aplicación o alguna dirección a donde queramos que nuestro código QR vaya.
2-      Vamos a la pagina que genera nuestro código y colocamos el URL.
3-      Seleccionamos el tamaño del código (dependiendo donde lo queramos poner será el tamaño a elegir)
4-      Compartimos nuestro código como una imagen en cualquier lugar.

Esto podría ser muy útil en nuestro proyecto, por ejemplo si pones la aplicación en el market de android podemos hacer un código QR y asi cuando alguien lo escane vaya directo a la aplicación, la descarge, etc etc. Todo lo siguiente solo depende de nuestra elección.

Aqui esta el resultado que muestra mi código QR generado, el resultado desde un celular Android. (captura de pantalla)

Para ver un ejemplo del éxito que han tenido estos códigos en Japón, les muestro este video donde la facilidad del uso de estos códigos ayudo a una compañía de supermercado elevar sus ventas.

Consumo de batería de nuestra aplicación


Es importante tener en cuenta el uso de batería de nuestro celular, por eso como desarrolladores de aplicaciones es también importante saber cuanta batería puede estar usando nuestra aplicación. Es decir, nadie usara una aplicación que consuma la batería de su celular muy rápidamente porque esto dejaría inservible al celular para otras cosas.
Para eso conoceremos los servicios del celular que consumen mas batería.
Para comenzar utilizaremos las siguientes unidades:

Gasto que se hace de energía: mA
Capacidad: mAh

La capacidad de batería de algunos celulares (con android) varia, tomare de referencia el del ejemplo que subi en la entrada pasada del celular Samsung S II que era de:

1500 mAh

Aquí una lista de los gastos más comunes en nuestro celular:

  • Modo avión: 2 mA
  • Modo espera 3G / EDGE: 5 mA
  • Modo espera WIFI: 12 mA
  • LCD normal: 90 mA
  • CPU 50% - 100%: 110 mA
  • Sensores: 80 mA
  • GPS: 85 mA
  • 3G transferencia máxima: 150 mA
  • EDGE transferencia máxima: 250 mA
  • WIFI transferencia máxima: 275 mA
Aplicación de estos consumos en ejemplos reales tomando en cuenta los 1500 mAh del Samsung S II y las medidas expresadas anteriormente, para obtener los gastos se hace una división entre los 1500 por cada actividad obtenemos un consumo aproximado en tiempo.

  • Ver Youtube: 340 mA = 4.4 horas
  • Navegar por la Web usando 3G: 225 mA = 6.7 horas
  • Uso típico: 42 mA (de media) = 35 horas
  • Modo avión en espera: 2 mA = 31 días

Ahora haremos una estimación de una aplicación que podría ser la nuestra:
Consumo estimado en una hora si estamos transferiendo  6 MB por WIFI (1 Mbps): 330 mA * 48 segundos = 4,4 mAh
Hay cosas que consumen mas pila del celular que otras por eso es importante conocer cuánto usa cada servicio del celular y asi saber cuanta batería usara la aplicación que vamos a crear.

Bibliografía: