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:
Bibliografía para poder comentarizar el código:
http://www.cs.virginia.edu/~evans/cs216/guides/x86.html
http://zsmith.co/intel/intel.html
martes, 28 de febrero de 2012
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.
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.
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:
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
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:
Suscribirse a:
Entradas (Atom)