Alt1040. Noticias acerca de Internet, diseño, música, cine, opiniones, weblogs y medios

Es uno de los weblogs de tecnología más seguidos de la blogosfera hispana.

Bitelia. Blog de software, internet y servicios web

Software y aplicaciones para mejorar tu vida, guías de uso, trucos, listas, noticias y todo sobre tecnología.

Xataka. Publicación de noticias sobre gadgets y tecnología.

Últimas tecnologías en electrónica de consumo y novedades tecnológicas en móviles, tablets, informática, etc.

Wwwhatsnew. Aplicaciones, marketing y noticias en la web.

Servicios que os pueden ser útiles para dibujar, gestionar tareas, hacer amigos, encontrar restaurantes...

Fayerwayer. Discusiones y opiniones de lo ultimo en tecnología y gadgets

Con secciones dedicadas a Internet, Software o Redes Sociales es un referente a nivel de tecnología en español.

18 de febrero de 2015

Calendario con todos los post publicados en Blogger

Calendario Blogger
La mayoría de los gestores de contenido proporcionan herramientas precisas (widgets o plugins) para mostrar información acerca de los archivos publicados en el blog ordenados de forma cronológica. Si queremos dotar a nuestro blog de un diseño más atractivo, también podemos presentar un calendario de publicaciones.


Vamos a hacer ésto posible con tan sólo unas pocas líneas de código.

Éstos son los pasos a seguir:

  1. Selecciona la entrada Diseño del panel principal de Blogger.
  2. Pulsa sobre el link Añadir un gadget y se abrirá una ventana con diferentes alternativas
  3. Desplazamos el scroll de la nueva ventana hacia abajo hasta llegar a la opción:

    HTML/JavascriptAñadir
    Añade una característica de un tercero u otro código a tu blog.





  4. Introduce el Título del widgets (por ejemplo Calendario)
  5. En la caja Contenido pega el siguiente código:

    <div id='calendar'><strong>Loading...</strong></div>
    <script>
    var conf = {
     bgcolor: '#1e4e7e', 
     newtab:  1,         // 0:abre link en la misma ventana | 1:abre link en ventana nueva
     tooltip: true,      // false:title por defecto | true:tooltip con css3
     start:   1,         // 0:Domingo | 1:Lunes
     days:    "Lunes|Martes|Miercoles|Jueves|Viernes|Sabado|Domingo",
     months:  "Enero|Febrero|Marzo|Abril|Mayo|Junio|Julio|Agosto|Septiembre|Octubre|Noviembre|Diciembre",
     date:    "Ir al mes actual"
    }
    </script>
    <script src='https://cdn.jsdelivr.net/gh/jmacuna/calendar-widget@master/create-calendar.js' type='text/javascript'></script>
    <script src='https://www.tecnoblog.guru/feeds/posts/summary?max-results=1000&alt=json-in-script&orderby=published&callback=createCalendar' type='text/javascript'></script>
    
  6. Por último hacemos click sobre el botón Guardar

Vamos a analizar los parámetros de configuración:

  • bgcolor: color de fondo del calendario.
  • newtab: 0 para abrir el artículo seleccionado en la misma ventana o 1 para abrir el link en una ventana nueva.
  • tooltip: false para mostrar el tooltip por defecto o true para mostrarlo en forma de bocadillo.
  • start: 1 si queremos que el calendario empiece en Lunes o 0 si empieza en Domingo.
  • days: días de la semana. Nota: si ponemos la variable start a cero, el primer día de la semana en la variable days será el Domingo
  • months: meses del año.
  • date: texto que aparece cuando posicionamos el cursor encima de la fecha actual (parte inferior en color gris).
  • Tenemos que escribir la url de nuestro blog en el último script, dónde aparece https://www.tecnoblog.guru resaltado en negrita.

    Importante: si el calendario no se carga en tu página, lo más probable es que sea debido a la incompatibilidad del protocolo seguro como consecuencia de una redirección de tu blog a través de protocolo http (contenido mixto). En este caso, la solución es muy sencilla.
    Reemplaza la parte de la url https://www.tecnoblog.guru/feeds del script por https://www.blogger.com/feeds/TUIDDEBLOGGER, dónde TUIDEDEBLOGGER es el parámetro numérico que aparcen como blogID en tu blog.

    En mi caso: https://www.blogger.com/feeds/5415513870832441455/posts/summary?max-results=1000&alt=json-in-script&orderby=published&callback=createCalendar

    Y si aún así no funciona, no dudes en preguntarme a través del blog o de mi cuenta de correo info@tecnoblog.guru. Estaré encantado de ayudarte!!
Si ponemos la variable tooltip a true, tenemos que añadir la clase tooltip de la siguiente manera:

<style type="text/css">
.tooltip{
  position:absolute;
  display:none;
  border-radius:3px;
  background:#333;
  color:#fff;
  font-size:11px;
  font-family:Verdana,Geneva,sans-serif,Helvetica;
  padding:8px;
  white-space:pre-line
}
</style>


Instrucciones de uso:

  • Pulsa sobre las flechas ◀ y ▶ para moverte por los meses anterior/siguiente
  • Haz clic sobre el mes actual y aparecerá un desplegable con los doce meses del año
  • Haz clic sobre el año en curso y aparecerá un desplegable para seleccionar otro año.
    Deja pulsadas las flechas o para avanzar más rápido hasta el año deseado.
  • Si queremos volver a la situación inicial, haremos clic en la fecha actual que aparece en la parte inferior del calendario


Podéis ver el ejemplo funcionando a continuación.



Puedes descargarte el ejemplo para modificarlo o personalizarlo libremente en Calendario para Blogger.
Los ficheros que intervienen son:

Por último y a petición popular, os dejo el código html para insertar un calendario en cualquier blog (Blogger, Wordpress, Drupal, Joomla, etc) o Página Web:

<style type="text/css">
iframe#calendar html, #calendar body{
 overflow:hidden
}
iframe#calendar{
 position:absolute;
 border:0;
 width:240px;
 height:230px
}
</style>
<iframe id='calendar' src='about:blank' scrolling='no'></iframe>
<script>
var conf = {
    bgcolor: '#741826', //color del calendario
 start:   1, // 0:Domingo | 1:Lunes
 days:    "Lunes|Martes|Miercoles|Jueves|Viernes|Sabado|Domingo",
 months:  "Enero|Febrero|Marzo|Abril|Mayo|Junio|Julio|Agosto|Septiembre|Octubre|Noviembre|Diciembre",
 date:    "Ir al mes actual"
}
</script>
<script src='https://cdn.jsdelivr.net/gh/jmacuna/calendar-widget@master/create-calendar-iframe.js' type='text/javascript'></script>
Lo puedes visualizar en: Calendario web

Si quieres disponer del calendario en tu navegador Google Chrome, instala la extensión:

Calendario Anual en Google Chrome

Muchas gracias!!


11 de febrero de 2015

Que es la accesibilidad web: pautas, técnicas y herramientas

Una página o sitio web es accesible cuando está diseñado y codificado de forma que sus contenidos y servicios estén disponibles para cualquier persona, con independencia de su contexto de navegación. Ésto va a permitir que las personas con algún tipo de discapacidad, puedan percibir, entender, navegar e interactuar con la Web, aportando a su vez contenidos.

Según el último informe mundial sobre la discapacidad de la Organización Mundial de la Salud, más de mil millones de personas viven en todo el mundo con alguna forma de discapacidad; de ellas, casi 200 millones experimentan dificultades considerables en su funcionamiento.

Entre los beneficiarios de la accesibilidad web se encuentran:

  • Usuarios que usan traductores a voz, braille... y usuarios en general que no disponen de tarjeta de sonido o usan navegadores en modo texto.
  • Usuarios con dificultad para distinguir colores, usuarios con sistemas monocromos.
  • Usuarios con dificultades oculares que tienen que aumentar el tamaño de letra de una página web.
  • Usuarios con epilepsia fotosensible.
  • Usuarios con navegadores desfasados o que han deshabilitado servicios de su navegador.
  • Usuarios con dificultades motrices que no son capaces de interactuar con objetos en movimiento.
  • Usuarios que no disponen de ratón o no lo pueden usar.
  • Usuarios con dificultades cognitivas
El Director y Creador de la World Wide Web, Tim Berners-Lee, dice que "El poder de la Web está en su universalidad. El acceso de todo el mundo con independencia de su discapacidad es un aspecto esencial."
Para alcanzar este objetivo se han ido proponiendo una serie de pautas que persiguen hacer más accesibles los contenidos Web.

El país pionero a la hora de legislar sobre el acceso a la información de las personas discapacitadas es Estados Unidos, y tras él han sido muchos los países que han incluido en sus leyes aspectos relativos a la accesibilidad en los sitios web públicos.

A nivel europeo, la Comisión Europea junto con el Consejo Europea está promoviendo el desarrollo de una Internet accesible para todos, con la Iniciativa eEuropa que pretende que las administraciones públicas de los estados miembros mejoren el nivel de accesibilidad en sus páginas y las organizaciones que reciban fondos públicos deberán hacer que sus sitios web sean accesibles.

La Iniciativa de Accesibilidad a la Web del W3C (WAI) fundada en 1997, recibe el apoyo de los principales actores de la industria y los gobiernos del mundo y se dedica a promover soluciones de accesibilidad en la web para personas con discapacidades.
Esta iniciativa trabaja en definitiva para el desarrollo del potencial de la web.

La WAI actúa principalmente sobre cinco áreas de trabajo:

  • Asegurar que las tecnologías web den soporte a la accesibilidad
  • Desarrollar pautas de accesibilidad
  • Crear herramientas de evaluación y corrección de la accesibilidad web
  • Desarrollar materiales para la educación y difusión
  • Coordinar proyectos de investigación y desarrollo
La accesibilidad web incluye los contenidos y aplicaciones, los navegadores y reproductores multimedia, las herramientas de autor y las tecnologías XML.
La WAI ha propuesto para cada una de estas necesidades unas pautas a seguir.

Niveles de accesibilidad

El WAI tiene, actualmente, tres niveles de accesibilidad.
Para que una página sea totalmente accesible debe cumplir, al menos el nivel doble AA y contar con una buena usabilidad.

  • Nivel A (Prioridad 1): el desarrollador tiene que satisfacer estos puntos de verificación, si no, algunos grupos de personas serán incapaces de acceder a la información de un sitio. WAI A
  • Nivel AA (Prioridad 2): el desarrollador debe satisfacer estos puntos, de lo contrario, alguien encontrará muchas dificultades para acceder a la información. WAI AA
  • Nivel AAA (Prioridad 3): el desarollador puede satisfacer estos puntos, de lo contrario, algunas personas hallarán dificultades para aceeder la la información. WAI AAA
Puntos de verificación Prioridad 1

En General:

  • Proporcionar un texto equivalente para todo elemento no textual (p. ej. A través de alt, longdesc o en el contenido del elemento). Esto incluye: imágenes, representaciones gráficas del texto, mapas de imagen, animaciones (p. ej. GIFs animados), applets y objetos programados, ASCII art, marcos, scripts, imágenes usadas como viñetas en las listas, espaciadores, botones gráficos, sonidos (utilizados con o sin interacción), archivos exclusivamente auditivos, banda sonora del vídeo y vídeos.
  • Asegurar que toda la información transmitida a través de los colores también esté disponible sin color, por ejemplo mediante el contexto o por marcadores.
  • Identificar claramente los cambios en el idioma original del texto del documento y en cualquier texto equivalente (p. ej. leyendas).
  • Organizar el documento de forma que pueda ser leído sin hoja de estilo. Por ejemplo, cuando un documento HTML es interpretado sin asociarlo a una hoja de estilo, tiene que ser posible leerlo.
  • Asegurar que los equivalentes de un contenido dinámico son actualizados cuando cambia el contenido dinámico.
  • Hasta que las aplicaciones de usuario permitan controlarlo, evitar provocar parpadeo en la pantalla.
  • Utilizar el lenguaje apropiado más claro y simple para el contenido de un sitio.
Si se utilizan imágenes y mapas de imágenes:

  • Proporcionar vínculos de texto redundantes con cada zona activa de un mapa de imagen del servidor.
  • Proporcionar mapas de imágenes controlados por el cliente en lugar de por el servidor, excepto donde las zonas sensibles no puedan ser definidas con una forma geométrica.
Si utiliza tablas:

  • En las tablas de datos, identificar los encabezamientos de fila y columna.
  • Para las tablas de datos que tienen dos o más niveles lógicos de encabezamientos de fila o columna, utilizar marcadores para asociar las celdas de encabezamiento y las celdas de datos.
Si utiliza marcos (frames):

  • Titular cada marco para facilitar la identificación y navegación de los mismos.
Si utiliza applets y scripts:

  • Asegurarse de que las páginas sigan siendo utilizables cuando se desconecten o no se soporten los scripts, applets u otros objetos de programación. Si esto no es posible, proporcionar información equivalente en una página alternativa accesible.
Si utiliza multimedia:

  • Proporcionar una descripción autiditiva de la información importante de la banda visual de una presentación multimedia, hasta que las aplicaciones de usuario puedan leer automáticamente el texto equivalente de la banda visual.
  • Para toda presentación multimedia tempodependiente (p. ej. una película o animación) sincronizar alternativas equivalentes (p. ej. subtítulos o descripciones de la banda visual) con la presentación.
Y si todo lo demás falla:

  • Si, después de los mayores esfuerzos, no puede crear una página accesible, proporcione un vínculo a una página alternativa que use tecnologías W3C, sea accesible, tenga información equivalente (o funcional) y sea actualizada tan a menudo como la página (original) inaccesible.
Puntos de verificación Prioridad 2

En General:

  • Asegurarse de que las combinaciones de los colores de fondo y primer plano tengan el suficiente contraste para que sean percibidos por personas con deficiencias de percepción de color o por pantallas en blanco y negro.
  • Utilizar marcadores en vez de imágenes para transmitir la información cuando exista un marcador apropiado.
  • Crear documentos que estén validados por las gramáticas formales publicadas.
  • Utilizar hojas de estilo para controlar la maquetación y presentación.
  • Utilizar unidades relativas en lugar de absolutas al especificar los valores en los atributos de los marcadores de lenguaje y en los valores de las propiedades de las hojas de estilo.
  • Utilizar elementos de encabezado para transmitir la estructura lógica y hacerlo de acuerdo con la especificación.
  • Marcar las listas y los puntos de las listas correctamente.
  • Marcar las citas. No utilizar el marcador de citas para efectos de formato tales como sangrías.
  • Asegurar que los contenidos dinámicos son accesibles o proporcionar una página o presentación alternativa.
  • Evitar el parpadeo del contenido (por ejemplo, cambio de presentación en periodos regulares, así como el encendido y apagado) hasta que las aplicaciones de usuario permitan controlarlo.
  • No crear páginas que se actualicen automáticamente de forma periódica hasta que las aplicaciones de usuario proporcionen la posibilidad de detener las actualizaciones.
  • No utilizar marcadores para redirigir las páginas automáticamente hasta que las aplicaciones de usuario proporcionen la posibilidad de detener el redireccionamiento automático. En su lugar, configurar el servidor para que ejecute esta posibilidad.
  • No provocar apariciones repentinas de nuevas ventanas y no cambiar la ventana actual sin informar al usuario hasta que las aplicaciones de usuario permitan desconectar la apertura de nuevas ventanas.
  • Utilizar tecnologías W3C cuando estén disponibles y sean apropiadas para la tarea, y usar las últimas versiones cuando sean soportadas.
  • Evitar características desaconsejadas por las tecnologías W3C.
  • Dividir los bloques largos de información en grupos más manejables cuando sea natural y apropiado.
  • Identificar claramente el objetivo de cada vínculo.
  • Proporcionar meta datos para añadir información semántica a las páginas y sitios.
  • Proporcionar información sobre la maquetación general de un sitio (p ej. mapa del sitio o tabla de contenidos).
  • Utilizar los mecanismos de navegación de forma coherente.
Si utiliza tablas:

  • No utilizar tablas para maquetar, a menos que la tabla tenga sentido cuando se alinee. Por otro lado, si la tabla no tiene sentido, proporcionar una alternativa equivalente (la cual debe ser una versión alineada).
  • No utilizar marcadores estructurales para realizar un formateo visual si se utiliza una tabla para maquetar.
Si utiliza marcos (frames):

  • Describir el propósito de los marcos y cómo éstos se relacionan entre sí, si no resulta obvio solamente con el título del marco.
Si utiliza formularios:

  • Para todos los controles de formularios con etiquetas asociadas implícitamente, asegurar que la etiqueta está colocada adecuadamente, hasta que las aplicaciones de usuario soporten explícitamente la asociación entre control de formulario y etiqueta.
  • Asociar explícitamente las etiquetas con sus controles.
Si utiliza applets y scripts:

  • Para los scripts y applets, asegurarse de que los manejadores de eventos sean entradas independientes del dispositivo.
  • Evitar los movimientos en las páginas hasta que las aplicaciones de usuario permitan congelar el movimiento de los contenidos.
  • Hacer que los elementos de programación, tales como scripts y applets, directamente accesibles o compatibles con las ayudas técnicas.
  • Asegurar que cualquier elemento que tiene su propia interfaz pueda manejarse independiente del dispositivo.
  • Para scripts, especificar manejadores de eventos lógicos mejor que manejadores de eventos dependientes de dispositivos.
Puntos de verificación Prioridad 3

En General:

  • Especificar la expansión de cada abreviatura y acrónimo en el documento cuando aparezca por primera vez.
  • Identificar el idioma principal de un documento.
  • Crear un orden lógico para navegar con el tabulador a través de vínculos, controles de formulario y objetos.
  • Proporcionar atajos de teclado para los vínculos más importantes (incluidos los de los mapas de imagen de cliente), los controles de formulario y los grupos de controles de formulario.
  • Incluir caracteres imprimibles (rodeados de espacios), que no sirvan como vínculo, entre los vínculos contiguos, hasta que las aplicaciones de usuario (incluidas las ayudas técnicas) interpreten claramente los vínculos contiguos.
  • Proporcionar la información de modo que los usuarios puedan recibir los documentos según sus preferencias (p. ej. idioma, tipo de contenido, etc.).
  • Proporcionar barras de navegación para destacar y dar acceso al mecanismo de navegación.
  • Agrupar los vínculos relacionados, identificar el grupo (para las aplicaciones de usuario) y proporcionar una manera de evitar el grupo hasta que las aplicaciones de usuario lo hagan.
  • Si proporciona una función de búsqueda, permitir diferentes tipos de búsqueda para diversos niveles de habilidad y preferencias.
  • Localizar la información destacada al principio de los encabezamientos, párrafos, listas, ec...
  • Proporcionar la información sobre las colecciones de documentos (por ejemplo, los documentos que comprendan múltiples páginas).
  • Proporcionar un medio para saltar sobre un ASCII art de varias líneas.
  • Complementar el texto con presentaciones gráficas o auditivas cuando ello facilite la comprensión de la página.
  • Crear un estilo de presentación que sea coherente para todas las páginas.
Si se utilizan imágenes y mapas de imágenes:

  • Proporcionar vínculos de texto redundantes para cada zona activa del mapa de imagen de cliente hasta que las aplicaciones de usuario interpreten el texto equivalente para los vínculos de los mapas de imagen de cliente.
Si utiliza tablas:

  • Proporcionar resúmenes de las tablas
  • Proporcionar abreviaturas para las etiquetas de encabezamiento.
  • Proporcionar un texto lineal alternativo (en la página actual o en alguna otra) para todas las tablas que maquetan texto en paralelo, en columnas de palabras, hasta que las aplicaciones de usuario (incluidas las ayudas técnicas) interpreten correctamente los textos contiguos.
Si utiliza formularios:

  • Incluir caracteres por defecto en los cuadros de edición y áreas de texto hasta que las aplicaciones de usuario manejen correctamente los controles vacíos.
Herramientas de validación

Para evaluar la accesibilidad de un sitio web, se hace uso de las ayudas técnicas y las estrategias de acceso siguiendo un proceso manual.
Sin embargo, existe un gran número de herramientas automáticas de validación, genéricas (validadores de sintaxis del lenguaje de marcado o de las hojas de estilo) y especificas de accesibilidad.
Estas herramientas son de gran ayuda, tanto en el desarrollo como en el mantenimiento de una web, pero no garantizan al 100% la accesibilidad de un sitio.

Herramientas Genéricas Versión Online Versión Instalable Gratuíta Comentarios
Markup Validation Service v0.6.7 Servicios de validación HTML, también valida HTML, XHTML, XML, MathML según el tipo indicado en el documento.
CSS Validation Service 2.0 Servicios de validación de hojas de estilo (Cascading Style Sheet).
HTML Tidy Servicios de limpieza del código HTML, interface por línea de comandos o interface gráfica, todas la plataformas, proyecto "open source"

Versión Online, que te muestra el código HTML resultante por pantalla:
Tidy Online - http://cgi.w3.org/cgi-bin/tidy

Herramientas Específicas Versión Online Versión Instalable Gratuíta Comentarios
Cynthia Says de ICDRI y HiSoftware Validador de accesibilidad que permite seleccionar las pautas de accesibilidad, tanto el WCAG como la Seccion 508, validar contenidos dinámicos con un emulador, detecta errores en los enlaces, reconoce código javascript, objetos multimedia, etc. La versión en línea solo permite una página por minuto pero es gratuita.
TAW de la Fundación CTIC y el SIDAR El Test de Accesibilidad Web, es una herramienta web para el análisis e información del grado de accesibilidad que presentan otras web.
Se puede descargar una versión para ejecutarla en local.
WAVE de Temple University Institute on Disabilities y WebAIM Este es otra herramienta de validación, es muy útil para evaluar los puntos básicos de la accesibilidad de un sitio web, incluye las WCAG 1.0 y la Sección 508.
Existen cuatro modos de validación:
1. Validar un dirección web pública
2. Validar un fichero local (upload)
3. Instalar una barra de tareas en el navegador
4. Añadir WAVE a los "bookmarklet" del navegador
A-Prompt de la Univeridad de Toronto A-Prompt esta realizado por la Universidad de Toronto, es una herramienta para validar la accesibilidad de un sitio web y al mismo tiempo ayuda a autor a corregir los problemas o propone soluciones.
Solo trabaja con ficheros locales por lo que no es muy útil para páginas dinámicas.

Herramientas de Apoyo Comentarios
Color Laboratory Este programa permite seleccionar colores para ver el resultado final con un fondo u otro, y de este modo poder ver el contraste de las distintas combinaciones.
Color Filter En esta página se pueden realizar distintos filtros en función de tipo de ceguera de color que se quiera simular. Se pueden aplicar filtros a páginas web y a imágenes.
Vischeck Es un simulador de la ceguera de color. Existe una versión online y un plug-in para el Photoshop.
MAGpie de NCAM Esta herramienta permite a los desarrolladores añadir subtítulos para videos de QuickTime, Windows Media o SMIL, y añadir descripciones de audio para SMIL.
W3C Link Checker Validador del W3C online, detecta los enlaces rotos y puede recorrer los enlaces dentro de un sitio web hasta la profundidad especificada.
XENU Herramienta para comprobar si existe algun enlace roto, dirección de imagen o cualquier otro fichero. Se puede ejecutar en local y permite configurar la profundidad, el tipo de enlaces, y las zonas del sitio que no se deseen evaluar.

Complementos para navegadores Aplicable Comentarios
Complex Table Inspector Todos Un favelet (pequeño fragmento de código JavaScript que se almacena como "favorito" en el navegador) que permite visualizar la información sobre una tabla que suele estar oculta en los navegadores visuales: summary, headers, axis, scope y abbr.
Favelets For The Validator Todos Varios favelets del W3C que permiten validar el código HTML de la página que se está visualizando.
NCAM Accessibility QA Favelet Todos Un favelet que realiza varios análisis que permiten localizar problemas de accesibilidad en una página web.
Web Developer Todos Añade un menú y una barra de herramientas con numerosas opciones que ayudan a desarrollar páginas web. Además, este complemento se puede emplear para revisar la accesibilidad de un sitio web.
La extensión está disponible para Chrome, Firefox y Opera y se ejecutará en cualquier plataforma compatible con estos navegadores, incluyendo Windows y Linux.
Chrome Web Developer Tools Google Chrome Un clon del complemento Web Developer para Mozilla Firefox.
Firebug Lite Google Chrome Permite editar y corregir errores en el HTML, CSS y JavaScript en "vivo" en cualquier página web.
IE Tab Google Chrome Permite ver una página web dentro de Chrome a través del motor de Microsoft Internet Explorer.
DebugBar Microsoft Internet Explorer Contiene las siguientes utilidades: DOM Inspector (visualiza y permite modificar etiquetas y atributos de CSS), HTTP Inspector (visualiza las peticiones HTTP/S, las cookies y los parámetros pasados por GET y POST), Javascript Inspector y Javascript Console, HTML Validator y otras funciones. Es gratuito para uso personal.
Internet Explorer Developer Toolbar Microsoft Internet Explorer Proporciona un conjunto de herramientas para validar la sintaxis del HTML y el CSS de una página, explorar y modificar el DOM de una página, mostrar información sobre las imágenes de una página como sus dimensiones o su texto alternativo, visualizar y borrar las cookies de una página, etc.
Web Accessibility Toolbar Microsoft Internet Explorer Ayuda a inspeccionar las páginas web y comprobar si se cumplen los criterios de accesibilidad. Entre otras cosas, permite: identificar los componentes de una página web, facilita el uso de aplicaciones online, simula la "experiencia" de algunos tipos de usuarios (básicamente, usuarios con algún problema de visión) y proporciona enlaces a guías de referencia y otros recursos.
Fangs - the screen reader emulator Mozilla Firefox Crea una versión textual de una página web similar a cómo lee la página un lector de pantallas. Añade un menú contextual al navegador que abre una nueva ventana donde se puede ver la versión textual, la lista de encabezados y la lista de enlaces de la página.
HeadingsMap Mozilla Firefox Crea un índice o mapa de los encabezados de una página web. Además, este complemento permite navegar por la página web saltando de un encabezado a otro, tal como lo hacen los usuarios que utilizan un lector de pantallas.
Juicy Studio Accessibility Toolbar Mozilla Firefox Realiza tres funciones: permite examinar los roles y propiedades de las regiones activas de WAI-ARIA, permite examinar las tablas de datos y determina si el contraste de color es suficiente. Más información: Examining WAI-ARIA Live Regions.
Link Widgets Mozilla Firefox Facilita la navegación entre páginas que forman una secuencia al añadir una barra de botones para ir a la primera, anterior, siguiente y última página. Para ello emplea la etiqueta o lo adivina a partir del texto de los enlaces.
Textise Mozilla Firefox Crea una versión textual de una página web.
WCAG Contrast checker Mozilla Firefox Permite comprobar el grado de cumplimiento de los niveles de contraste, luminosidad y brillo en la combinación de colores de los contenidos textuales en base a los requerimientos de las WCAG 1 y WCAG 2.
X-Ray Mozilla Firefox Permite visualizar las etiquetas HTML de una página web sobre la misma página web, sin tener que ver el código fuente.


Extracto del curso Accesibilidad en Internet y del Curso Avanzado sobre Diseño de Sitios Web impartidos por la Fundación Instituto de Ciencias del Hombre en colaboración con el Ministerio de Industria, Turismo y Comercio.


6 de febrero de 2015

Librerías para Blogger alojadas en la CDN de Google

Una CDN (Content Delivery Network) o 'Red de Distribución de Contenidos' es un conjunto de servidores que redistribuyen localmente el contenido y guardan en caché los archivos permitiendo acelerar la carga de las páginas, mejorando los tiempos de respuesta y reduciendo el consumo de ancho de banda.

Vamos a poner como ejemplo un blog.

Todo el contenido del blog lo sirve el hosting dónde está alojado, haciendo uso de su propio ancho de banda.
Con el paso del tiempo tu blog irá creciendo en suscriptores y número de visitas.
Supongamos que publicas el post de tu vida que atrae centenares de miles de visitas y se te cae el servicio de hosting por exceso de peticiones o el acceso a tu página web es demasiado lento porque el ancho de banda se colapsa. Las consecuencias son evidentes: los usuarios acabarán no leyendo el artículo por lo que perderás clientes potenciales.

Entre otras cosas, una CDN evita esta situación:
si tu contenido (vídeos, imágenes, música, documentos, etc.) se replica en diferentes redes y países dirigiendo las solicitudes de los usuarios hasta la copia más cercana a su red, la probabilidad de que tu hosting se sature disminuye consiguiendo unos tiempos de respuesta más rápidos.


Imagen de Wikipedia: sistema tradicional de distribución de datos y CDN.

El espacio de almacenamiento que nos ofrece el servicio Blogger de Google es gratuito y está destinado exclusivamente para nuestro blog (entradas, texto, plantillas, comentarios, widgets y poco más), lo cual plantea ciertos inconvenientes.

Cuando publico un post, procuro dotarle de dinamismo añadiendo gráficos y vídeos explicativos. Blogger lo resuelve permitiendo subir imágenes en local, desde una url externa, desde su servicio Picasa, etc.
En el caso de los vídeos podemos publicarlos en Youtube y referenciarlos desde nuestra plantilla html.

Pero ¿qué ocurre si quiero utilizar ficheros de presentación css (hojas de estilo en cascada) o js (javascript) para implementar funcionalidades en mi web?

  • los alojamos en servicios externos: Google Drive, Dropbox ...
  • accedemos directamente a los que nos ofrecen las CDN de terceros
Blogger hace uso de sus CDN como podemos ver en las siguiente captura de pantalla de Firebug (haz clic en la imagen para ampliarla).



Google tiene su propia CDN con las librerías javascript de código libre y css más utilizadas por los desarrolladores web.
Ofrece un listado con el nombre de las librerías alojadas así como las versiones soportadas.

Para cargar una de sus librerías alojadas, copia y pega el fragmento HTML en tu página web. Por ejemplo, para cargar jQuery, insertamos el código <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>.

Recomienda cargar las librerías de la CDN a través del protocolo HTTPS, incluso si tu propio sitio web sólo utiliza HTTP.
Los archivos de la CDN se procesan con cabeceras CORS y Timing-Allow y permiten ser almacenados en caché durante un año.

Librerías disponibles:
(fecha de última actualización 2 de febrero de 2015)

Toda la información en https://developers.google.com/speed/libraries/devguide




Otras páginas que ofrecen librerías javascript y css en su Red de Distribución de Contenido son:


También podemos encontrar numerosas CDN para Wordpress.
Algunos plugins son gratuítos:


El siguiente vídeo (en inglés) nos habla de MaxCDN, una CDN de pago para integrar con WordPress, Drupal, Joomla, Magento, PrestaShop, Social Engine, X-Cart, IP.Board, vBulletin, OpenCart, PyroCMS, MODX, Custom.




2 de febrero de 2015

Resalta el código fuente de tu web con Google Code Prettify

¿cuántas veces hemos recurrido a internet para consultar lenguajes de programación tan conocidos como html e insertar fragmentos de código en los blogs, foros o cualquier página web?
La manera más fácil y rápida de entender el código fuente es resaltar su sintáxis con diferentes colores.


En la red podemos encontrar multitud de servicios online para resaltar bloques de código fuente. Algunos de los más conocidos son:

Otras páginas nos ofrecen la posibilidad de descargar archivos (ficheros javascript y css) para instalar en nuestra web:

De todas las opciones disponibles he decidido usar Google Code Prettify por dos razones de peso:

  • No necesito instalar ninguna librería
  • Es muy fácil de usar: para integrarlo en mi blog, voy a escribir muy pocas líneas de código (a continuación os mostraré varios ejemplos).
Las características fundamentales de este resaltador de códigos son:

  • No bloquea la carga de la página mientras se ejecuta
  • Detecta automáticamente los bloques de código y el lenguaje de programación usado
  • Reconoce los lenguajes tipo C, Java, Python, Bash, SQL, HTML, XML, CSS, Javascript, Ruby, PHP, VB, y Awk
  • Es compatible con la mayoría de los navegadores web
La forma de proceder es la siguiente:

  • Escribimos la línea

    <script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js?autoload=true&skin=default" defer="defer"></script>

    dónde skin es la hoja de estilos que vamos a cargar.
    skin = default
    skin = sons-of-obsidian
    skin = sunburst
    skin = desert
    skin = doxy
  • A continuación escribimos la etiqueta <pre class="prettyprint">
  • Introducimos el código que vamos a colorear dentro del tag pre.
    Importante: hay que reemplazar todos los < por &lt; y los > por &gt; para que el navegador entienda que es texto plano.
  • Por último, cerramos la etiqueta </pre>
Ejemplo con 'default':



Ejemplo con 'sons-of-obsidian':



Ejemplo con 'sunburst':



Ejemplo con 'desert':



Ejemplo con 'doxy':



Además podemos numerar las líneas de código para cada uno de los estilos mencionados.
Para ello, tenemos que añadir la clase linemus al tag pre de la siguiente manera:
<pre class="prettyprint linenums">
Ejemplo con 'default' y 'linemus':



Documentación oficial:

https://github.com/google/code-prettify/blob/master/README.md
https://github.com/google/code-prettify
https://rawgit.com/google/code-prettify/master/examples/quine.html



29 de enero de 2015

Compartir desde Firefox ahora es más fácil

La última versión de Firefox permite compartir contenido de forma muy sencilla en los diferentes medios sociales. Por el momento soporta Facebook, Twitter, Google+, Gmail, LinkedIn, Tumblr, Delicious, Pocket, Mixi, Xing entre otras.
Si no usas Firefox puedes descargártelo gratis en https://www.mozilla.org/es-ES/firefox/new/

Comienza por pulsar el icono del avioncito de papel situado en la parte superior derecha de tu navegador para escoger tus redes sociales, marcadores favoritos en la nube, música, noticias personalizadas y mucho más.
Sin necesidad de programas ni descargas, sin complementos, esta nueva característica estará lista cuando pulses el icono desde cualquier sitio web que quieras compartir.



La primera vez, Firefox te llevará a la página de servicios disponibles para ir activando los que más nos interesen con sólo pulsar el botón Activar ahora



Una vez añadidos al navegador, pulsamos sobre uno de ellos para compartir el contenido de la página que estemos visualizando en ese momento.



Si queremos eliminar alguno de ellos, pulsamos sobre la opción Abrir menú situado en la parte superior derecha y a continuación hacemos clic en el icono Complementos



Nos situamos en Servicios y eliminamos o desactivamos pulsando el botón correspondiente.



Puedes comprobar todas las novedades que ha incorporado Firefox en su versión 35 Release en la siguiene dirección:
https://developer.mozilla.org/en-US/Firefox/Releases/35


26 de enero de 2015

ECmanaged y la gestión de servicios en la nube


El nuevo modelo de prestación de servicios de negocio y tecnología a través de internet es lo que conocemos como Cloud Computing o servicios en la nube, entendida ésta como un conjunto de servidores y redes con acceso vía Internet.


Esta solución es demandada por empresas y organizaciones porque reduce los costes en infraestructuras y recursos así como la necesidad de innovación tecnológica de tu negocio dedicando más tiempo a otras tareas más productivas.
Además, garantiza el ahorro de tiempo en instalaciones y mantenimiento de servidores propios y la optimización del gasto económico imponiéndose el arquetipo de pago por uso:
    - los responsables IT pagan únicamente por lo que sus máquinas virtuales consumen, añadiendo más o menos recursos según las necesidades que presente el negocio en cada momento de manera automática.

No obstante, esta tecnología no está exenta de ciertas dificultades e inconvenientes:

  • al contratar un proveedor Cloud nos encontramos con la pérdida de control ante un problema. Por el contrario, si dispones de servidores físicos en el datacenter la disponibilidad es inmediata.
  • la cobertura es otro factor determinante. Nos podemos encontrar con problemas legales o de seguridad de los datos según la ubicación del proveedor, deficiencias o ausencia de estrategias de posicionamiento SEO ...
  • las prestaciones y el rendimiento ofrecidos por los distintos proveedores pueden ser muy herterogéneos.
  • generalmente, los proveedores de Cloud ofrecen interfaces poco amigables y procesos de gestión complejos.
Para facilitar a los profesionales de IT (tecnologías de la información) las tareas de administración, mantenimiento y monitorización de los sistemas cloud contratados surgieron los Cloud Management Platforms (CMP) o aplicaciones para la gestión de diversos proveedores cloud como ECManaged
Son paneles de control que unifican la forma de trabajar con diferentes proveedores de infraestructura cloud (AWS, DigitalOcean, Linode, Rackspace, Opesntack...). Para ello hacen uso de las APIs que proporcionan los proveedores cloud para el control de sus servicios.

Las funcionalidades proporcionadas por los CMP, habitualmente son:

  • creación y eliminación así como encendido y apagado de servidores cloud.
  • despliegue automático de aplicaciones.
  • gestión de capacidad (CPU, RAM, Disco y Red).
  • automatización de tareas de gestión como la actualización de aplicaciones.
  • autoescalado: permite lanzar servidores cloud adicionales para responder a picos de demanda.
Aquellas compañías que ya han invertido en servidores físicos y ahora les interesa migrar a la nube. ¿Qué hacen con el legado de sus servidores? Seguramente han supuesto un importante coste para la empresa y los recursos aún no se han amortizado del todo.
El escenario ideal es que los servidores físicos también se puedan gestionar desde el mismo CMP.

Los CMP más conocidos internacionalmente son Rightscale, Exoscale, Scalr, etc, pero ECmanaged es el primero que también permite la gestión de servidores físicos de la empresa haciendo posible:

  • la gestión avanzada tanto en infraestructura cloud como física en un mismo entorno.
  • escalar de forma automática una plataforma física con un servicio cloud.
  • añadir a tu plataforma física servidores cloud distribuidos geográficamente.
  • en caso de desastre, se puede lanzar una réplica de la plataforma física afectada en un proveedor.
El pasado año publiqué un artículo que pone de relieve las virtudes de ECmanaged como solución para gestionar entornos multicloud. En el post se detallan de forma conceptual y gráfica las principales características de esta plataforma. Toda la información está disponible en la dirección Cloud Management Platform (CMP): solución para gestionar entornos MultiCloud

ECmanaged ha dado un paso más añadiendo nuevas funcionalidades a partir de las sugerencias y feedback de sus clientes:

  • monitorización cloud más detallada, proporcionando métricas de rendimiento y experiencia de usuario más precisas.
  • mayor número de acciones automatizables, resolviendo automáticamente más del 75% de las incidencias de aplicaciones en menos de cinco minutos.
  • implementación de un sistema de despliegue automático que funciona a través de un sistema de templates muy flexible permitiendo ahorrar hasta un 50% de tiempo.
  • checks de multilocalización para programar y ejecutar respuestas web, checks TCP y métricas de monitorización de forma automática. Esta función se realiza desde San Francisco, Nueva York, Londres, Ámsterdam y Singapur.
  • checks de procesos para conocer el estado del rendimiento de los recursos.
  • creación de un histórico de monitorización de las métricas a través de la vista de restropección.
Esta captura de pantalla muestra la visión global del apartado de monitor (pulsa sobre la imagen para ampliarla).



Además de los esfuerzos en ofrecer una detallada monitorización, el equipo de ECmanaged también ha desarollado:

  • un interfaz de usuario y navegabilidad web mejorada facilitando al usuario la interacción y desplazamiento en las páginas y el acceso a los recursos.
  • una versión móvil: diseño web adaptativo permitiendo el acceso desde cualquier dispositivo móvil.
Datos numéricos que se pueden extraer del uso de esta plataforma multi-cloud:

  • los profesionales IT, sobretodo Sysadmin (administradores de sistemas), DevOps (desarrollo de software, control de calidad y sistemas) y CTOs (directores de tecnología) pueden gestionar el doble de servicios.
  • según la información aportada por clientes, el ahorro de tiempo invertido en instalar servidores se traduce en un 87% pasando de 2 horas a 15 minutos.
  • la automatización de las tareas de implementación (despliegue automático de aplicaciones y aprovisionamiento de servidores virtuales) como de gestión (automatización y monitorización de tareas) hacen posible ahorrar hasta el 70% de costes existentes en recursos cloud.
Toda la información sobre el software está disponible en Multi-Cloud Management software- ECmanaged | ECmanaged.
También cuenta con una versión Free Trial de 30 días para probarla.



Para terminar, quería hacer mención especial al equipo de ECmanaged por facilitarme el acceso a su solución y en particular a Diana Martínez por su profesionalidad y por entregarme la documentación necesaria para entender la filosofía de los CMP y posibilitar la redacción del artículo.


15 de enero de 2015

I love technology - Abecedario de términos y acrónimos

Las nuevas tecnologías son la principal fuente de voces nuevas en nuestro idioma, e Internet actúa como el canalizador más rápido y eficaz que conocemos para generar y difundir dichas voces.
A continuación repaso algunos de los vocablos más usados en internet.

App

Abreviatura de la palabra inglesa 'Application' que hace referencia a una aplicación de software o programa informático que se instala en dispositivos móviles.
Siendo una palabra de uso común en el mundo del software, el término App comenzó a utilizarse especialmente para referirse a las aplicaciones para móviles en 2008, tras la consecución de tres hitos importantes en la historia de las aplicaciones, el lanzamiento del App Store de Apple, la publicación del primer SDK para Android y la posterior pero casi inmediata inaguración del Android Market.

Bitcoin

Bitcoin (signo ฿) es un medio digital de intercambio descentralizado y concebido en 2009 por Satoshi Nakamoto.
El término se aplica también al protocolo y a la red P2P que lo sustenta.
Las transacciones en Bitcoin se realizan de forma directa, sin la necesidad de un intermediario. Al contrario de la mayoría de las monedas, Bitcoin no está respaldado ni controlado por ningún gobierno ni banco central y no existe en el mundo real ya que está compuesta de bits y bytes.

Cloud Computing

La computación en la nube o servicios en la nube es un nuevo modelo de prestación de servicios de negocio y tecnología a través de internet.
Es un paradigma en el que la información se almacena de manera permanente en servidores de Internet y se envía a cachés temporales de cliente, lo que incluye equipos de escritorio, centros de ocio, portátiles, etc.
Esta medida reduce los costes, garantiza un mejor tiempo de actividad y que los sitios web sean invulnerables a los hackers, a los gobiernos locales y a sus redadas policiales.

Data (Big)

El Big Data hace referencia a la acumulación masiva de datos y es una tendencia en el avance de la tecnología que ha abierto las puertas hacia un nuevo enfoque de entendimiento y toma de decisiones, la cual es utilizada para describir enormes cantidades de datos (estructurados, no estructurados y semi estructurados) que tomaría demasiado tiempo y sería muy costoso cargarlos a un base de datos relacional para su análisis. De tal manera que, el concepto de Big Data se aplica a toda aquella información que no puede ser procesada o analizada utilizando procesos o herramientas tradicionales.
Existen muchísimas herramientas para tratar con Big Data. Algunas de las más conocidas son Hadoop, NoSQL, Cassandra, Business Intelligence, Machine Learning, MapReduce.

Ecommerce

El término comercio electrónico (e-commerce por sus siglas en inglés) se refiere al uso de un medio electrónico (Internet y otras redes informáticas) para la venta de productos y servicios.
Como ejemplos de sistemas de pago electrónico nos encontramos las pasarelas de pago o TPV virtual para el pago con tarjeta, los sistemas de monedero electrónico y los sistemas que se conectan directamente con la banca eletrónica del usuario.

Tipos de comercio electrónico:
Business to Business (B2B) - comercio realizado entre empresas.
Business-to-Consumer o Business-to-Customer (B2C) - comercio entre la empresa y el consumidor final.
Consumer to Consumer (C2C) - comercio electrónico entre usuarios particulares de Internet.
Government to Consumers (G2C) - comercio entre gobiernos y consumidores, por ejemplo, el pago de impuestos, multas y tarifas públicas.
Government to Business (G2B) - negocios entre gobierno y empresas, por ejemplo: las compras del Estado a través de internet por medio de licitaciones, concurso de precios, etc.

Feed Reader

Un feed reader o news reader, también llamado lector de noticias (news o feeds), es una aplicación que permite suscribirse a fuentes web en formatos RSS, Atom y otros, para recibir información actualizada de un sitio web.
El funcionamiento es sencillo: un visitante se suscribe a un sitio web a través de un enlace. El programa agregador se encarga de verificar dicho enlace y descarga (o solo notifica) información de ese sitio web.
El usuario puede recibir las actualizaciones de sus sitios web preferidos de forma rápida y homogénea, sin tener que visitar cada uno de esos sitios web. El programa agregador puede ser programado para que periódicamente revise si hay nuevo contenido a descargar. Además los agregadores pueden filtrar, ordenar y buscar entre los múltiples feeds que llegan.

Gaming

El Gaming o Gamificación es el empleo de mecánicas de juego en entornos y aplicaciones no lúdicas con el fin de potenciar la motivación, la concentración, el esfuerzo, la fidelización y otros valores positivos comunes a todos los juegos.
Se trata de aplicar conceptos y dinámicas propias del diseño de juegos a campos tan diversos como la educación, el marketing o la realización de encuestas con el objetivo de estimular y hacer más atractiva la interaccción del usuario.
Utiliza la predisposición natural humana hacia la competición y el juego para hacer menos aburridas determinadas tareas y para fidelizar al usuario.

Hacker

El término en inglés Hack se traduce al castellano como "piratear" y de ahí pirata informático.
Aunque su significado suscita controversia, se puede definir a un hacker como alguien que descubre las debilidades de una computadora o de una red informática, aunque el término puede aplicarse también a alguien con un conocimiento avanzado de computadoras y de redes informáticas.
Desde hace tiempo los hackers han sido investigadores que han ayudado al progreso de la sociedad tecnológica de nuestro tiempo. El utilizar la definición como "pirata informático" para la palabra hacker es una criminalización del término y una degradación a ciberdelincuente de un grupo de personas que gracias a su pasión por buscar los límites de las tecnologías han mejorado nuestro tiempo.

Inbound Marketing

También conocido como marketing de atracción es un conjunto de técnicas no intrusivas que nos permiten conseguir captar clientes aportando valor, a través de la combinación de varias acciones de marketing digital como el SEO, el marketing de contenidos, la presencia en Redes Sociales, la generación de leads y la analítica web.
Debe ser el usuario quien se sienta atraído por los productos y es entonces, cuando se establece el contacto, siempre con la iniciativa del cliente.
El inbound marketing se puede resumir en cuatro palabras: crear, optimizar, dinamizar y convertir.

Jailbreak

La traducción literal es 'fuga de la cárcel' y consiste en explotar las restricciones de privilegios impuestas por el fabricante de software Apple mediante el uso de kernels modificados.
El jailbreak hace posible acceder por completo al sistema operativo iOS, permitiendo a los usuarios descargar aplicaciones, extensiones y temas que no estén disponibles a través de la App Store oficial.
Los dispositivos afectados son iPhone, iPod Touch, iPad y la Apple TV de segunda generación.

Kanban

Kanban es una palabra japonesa que significa "tarjetas visuales", donde Kan es "visual", y Ban corresponde a "tarjeta" o "tablero".
El término Kanban forma parte de las llamadas metodologías ágiles: métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan mediante la colaboración de grupos auto organizados y multidisciplinarios.
Los métodos ágiles enfatizan las comunicaciones cara a cara en vez de la documentación.
Destaca por ser una técnica de gestión de las tareas muy visual que permite gestionar mejor un proyecto, evitar la sobrecarga de trabajo de determinados miembros del equipo y obtener mejores resultados.
Otros métodos ágiles de desarrollo de software son Scrum, Adaptive Software Development (ASD), Crystal Methodologies, Feature-Driven Development (FDD), Lean Software Development (LSD), Open Unified Process (OpenUP), eXtreme Programming (XP), Dynamic Systems Development Method (DSDM).

Landing Page

La tradución del inglés es página de aterrizaje y es la página web a la que llega una persona despues de pulsar en el enlace (link) de una guía, un portal o algún banner o anuncio de texto situado en otra página web o portal de internet.
En la mayoría de los casos esta página web es una extensión del anuncio de promoción, donde se explica más detalladamente la oferta del producto o servicio a través de una carta de ventas.
La función principal de una landing page es la conversión de visitantes en clientes por lo que proporcionan una atención personalizada de ventas para el visitante (atienden un segmento específico en función de donde venga el visitante que hizo click en un enlace seleccionado).

Microbloggin

Es un servicio de publicación que consiste en el envío de mensajes cortos de texto (longitud máxima de 140 caracteres) desde sitios web, a través de SMS, sistemas de mensajería instantánea o mediante aplicaciones desarrolladas con este propósito.
Su finalidad es explicar qué se está haciendo en un determinado momento, compartir información con otros usuarios u ofrecer enlaces hacia otras páginas web y es la forma más rápida de difundir noticias online a una velocidad muy superior a la del correo electrónico.
Twitter es el líder destacado de los sistemas de microblogging.

NFC

Near Field Communication es una tecnología de comunicación inalámbrica de corto alcance y alta frecuencia que permite el intercambio de datos entre dispositivos.
NFC es una plataforma abierta pensada desde el inicio para teléfonos y dispositivos móviles. Su punto fuerte está en la velocidad de comunicación que es casi instantánea y en la capacidad de enviar y recibir información al mismo tiempo, como contrapartida, el alcance de la tecnología NFC es muy reducido, pues se mueve como máximo en un rango de 20cm.
Esta tecnología se usa principalmente para la identificación (los abonos de autobús son un ejemplo muy válido), la recogida e intercambio de información (Google lo utiliza para marcar dónde estamos, recibir información de un evento o establecimiento, etc) y sobre todo, el pago (BBVA es el primer banco español en permitir el pago con smartphones).
El Ministerio de Interior ha presentado recientemente la nueva versión del documentado nacional de identidad (DNI electrónico 3.0) que cuenta con un chip de transmisión por radiofrecuencia y NFC para enviar los datos de forma segura a otros dispositivos como smartphones.

Open Source

Es una expresión de la lengua inglesa que puede traducirse como "fuente abierta" o "código abierto" y hace referencia al software distribuido y desarrollado libremente.
Se califica como open source, por lo tanto, a los programas informáticos que permiten el acceso a su código de programación, lo que facilita modificaciones por parte de otros programadores ajenos a los creadores originales del software en cuestión.
Es importante distinguir entre el software open source, que dispone de la mencionada característica de presentar su código abierto, y el software libre, que puede descargarse y distribuirse de manera gratuita.
Existe software libre que no brinda acceso al código (y que, por lo tanto, no puede considerarse como open source), y programas open source que se distribuyen de manera comercial o que requieren de una autorización para ser modificados.
Entre los programas de código abierto más populares, se encuentran el navegador Firefox, el paquete de oficina Open Office, el cliente de FTP FileZilla, el archivador de ficheros 7-Zip, el editor de texto Notepad++, los sistemas operativos Android (desarrollado por Google) y Ubuntu (que apela al núcleo de Linux), entre otros muchos.

Phablet

El termino informal Phablet, que en castellano se puede pronunciar como "fablet", proviene de la contracción de las palabras Phone y Tablet y sirve para designar a aquellos dispositivos electrónicos móviles o portátiles con pantallas táctiles entre 5 y 7 pulgadas aproximadamente.
La diferencia fundamental entre un Phablet y un Tablet es que con el primero siempre podemos hablar por teléfono algo que con el segundo suele estar vetado.

QR Code

Un código QR (Quick Response Barcode o "código de respuesta rápida") es un sistema de almacenamiento de información en un código de barras de dos dimensiones.
Se trata de un estándar que permite representar en un gráfico bidimensional hasta 4.296 caracteres alfanuméricos.
Se caracteriza por los tres cuadrados que se encuentran en las esquinas y que facilitan el posicionamiento para su interpretación.
Los códigos QR pueden leerse desde smartphones, tablets o PCs por medio de dispositivos de captura de imagen (escáner, cámara de fotos) y un software que interpreta la lectura y realiza la acción que indica el código.
Podemos usarlos para pasar nuestra tarjeta de visita, la URL de nuestra web, una dirección, la localización en un mapa sobre la ubicación de una empresa, una imagen, un documento pdf, un vídeo corporativo, etc. Por lo tanto representan una apuesta en el mundo del Marketing, la Publicidad y el Consumo.

RWD

El diseño web adaptativo, conocido por las siglas RWD (del inglés, Responsive Web Design) es una técnica de diseño y programación web que consigue la correcta visualización del contenido web a cualquier resolución de pantalla, lo que hace posible tener un único diseño para dispositivos móviles, tabletas y PC.
Esta técnica te permite optimizar la experiencia de tu página en diferentes tamaños de pantalla sin crear varios sitios web.

Los tres pilares técnicos para un diseño web adaptable son:
Las fuentes fluídas - diseño de página flexible que utilice tamaños relativos.
Las imágenes flexibles - contenidos e imágenes flexibles aplicando cambios de escala dinámicos o mediante CSS.
Las media queries - nos permite apuntar no sólo a ciertas clases de dispositivos, sino realmente inspeccionar las características físicas del dispositivo que está renderizando nuestro trabajo.

Selfie

Una autofoto o selfi — también conocida con las voces inglesas selfie o selfy - es una fotografía que uno toma de sí mismo realizada con una cámara fotográfica, normalmente una cámara digital o smartphone.
Se trata de una práctica asociada al mundo de las redes sociales, ya que es muy habitual su publicación en línea.
Ha sido elegida como "palabra del año 2013" por los editores de los diccionarios Oxford de lengua inglesa, tras extenderse significativamente su uso.
Apareció por primera vez en 2002 en un foro de internet en Australia y experimentó un fuerte incremento en su uso a mediados del año 2012, cuando se comenzó a emplear este término constantemente en medios de comunicación.
Los "selfies" son tan populares que incluso existen aplicaciones especiales. Una bastante curiosa es la app de seguridad FaceCrypt, un servicio para iOS que permite almacenar información que solo puede ser vista si el usuario hace una captura de su rostro.

Torrent

Torrent es un fichero que almacena toda la información referente a una descarga y que la identifica de forma única. Así, en lugar de descargar varios archivos de vídeo que consisten cada uno en un episodio de una serie de TV, podremos bajar de una sola vez una temporada entera con todos los capítulos.
Los archivos Torrent (con extensión .torrent) son usados por BitTorrent.
BitTorrent es un protocolo diseñado para el intercambio de archivos punto a punto (peer-to-peer o P2P) en Internet. En este tipo de redes todos los usuarios gozan de idénticos privilegios, de ahí que las redes P2P se llamen "de igual a igual".
Es uno de los protocolos más comunes para la transferencia de archivos grandes y es usado para el intercambio de archivos entre usuarios.
El protocolo BitTorrent fue desarrollado originariamente por el programador Bram Cohen y está basado en software libre.

UX

Las siglas UX hacen referencia a la experiencia de usuario o User eXperience en inglés y se trata de un concepto amplio que tiene en cuenta aspectos emotivos de las personas al interactuar con un sistema.
Es muy habitual que se confunda con el diseño de interfaces (UI) pero esta disciplina incorpora muchos otros aspectos como la investigación de usuarios, la usabilidad, el diseño de interacción y la accesibilidad.
Todos estos aspectos son fundamentales para comprender la forma en que las personas se relacionan con las interfaces y lograr que sean más intuitivas, más fáciles de usar y con una interacción más fluida.

VoIP

"Voz sobre IP" es la abreviatura de "Voz sobre Protocolo de Internet" ("Internet Protocol" en inglés) y es mundialmente conocido como VoIP.
Es la tecnología que hace posible que la señal de voz viaje en forma digital a través de Internet empleando un protocolo IP (Protocolo de Internet).
El Protocolo de Internet fue diseñado originalmente para redes de transición de datos, y debido a su gran éxito fué adaptado a las redes de voz mediante la paquetización de la información y transmisión de la misma como paquetes de datos IP.
VoIP está disponible en muchos teléfonos inteligentes, computadoras personales y en los dispositivos de acceso a Internet, tales como tabletas.
Line, Skype, Viber y Tuenti, entre otros, ya ofrecen esta característica. El servicio de mensajería Whatsapp ha anunciado que proximamente va a incorporar el servicio de llamada VoIP a su aplicación.

WWW

Sigla de la expresión inglesa World Wide Web, 'red informática mundial' o 'red de redes' o 'telaraña mundial'.
Es el sistema lógico de acceso y búsqueda de la información disponible en Internet, cuyas unidades informativas son las páginas web.
En 1989, el investigador británico Tim Berners Lee describió en un informe para el CERN (Laboratorio Europeo de Física de Partículas) el protocolo para la transferencia de hipertextos, lo que un año después sería la World Wide Web.

XHTML

XHTML son las siglas del inglés eXtensible HyperText Markup Language y está basado en el lenguaje de marcas HTML pero con la diferencia que es más estricto y de acuerdo con el estándar XML.
Debido al uso cada vez más generalizado de dispositivos de navegación, fué necesario crear herramientas que permitan el manejo de la información de una manera estandarizada y lo más universalmente posible. Por esta razón surge XHTML con un etiquetado más estricto que HTML, que permite una correcta interpretación de la información, independientemente del dispositivo con que se accede a ella.

Youtuber

Se llama youtuber a la persona que tiene cientos de miles de seguidores en su canal de YouTube y que consigue sumar grandes cantidades de dinero creando y subiendo vídeos a su canal.
Este "negocio de los Youtubers", nació en Estados Unidos hace años, pero su instauración en España es mucho más reciente y solo una pequeña élite vive de ello.
Además del programa de publicidad propio de Google, que paga a los creadores de contenidos según lo que generen los anuncios en sus vídeos utilizando diferentes formatos, los youtubers gestionan su publicidad con agencias especializadas, partners del gigante de los vídeos en Internet para poner orden entre canales con mucho impacto y marcas que buscan y quieren pagar por ese impacto que no pueden conseguir por sí mismos.

Zombie

Zombi es la denominación asignada a ordenadores personales que, tras haber sido infectados por algún tipo de malware, pueden ser usados por una tercera persona para ejecutar actividades hostiles o ciberdelitos.
Este uso se produce sin la autorización o el conocimiento del usuario del equipo.
El nombre procede de los zombis o muertos vivientes esclavizados, figuras legendarias surgidas de los cultos vudú.




12 de enero de 2015

Gadget para aumentar tu número de suscriptores - Blogger

Un newsletter o boletín electrónico es una poderosa herramienta de marketing y comunicación que informa a los usuarios acerca de noticias de interés, promociones y productos o servicios de forma regular y ayuda a construir una relación única con ellos, lo que conocemos como engagement y fidelización de clientes.

En el post anterior hablo de la importancia del Email Marketing en la fidelización de clientes. Échale un vistazo, no tiene desperdicio :)

Técnicamente, un newsletter es un mensaje en formato HTML que se envía por correo electrónico a una lista de suscriptores. Existen numerosas plantillas html gratis y de pago para newsletters pero el propósito de este post es proporcionar el código html necesario para su uso.

Los popups utilizados de forma correcta en tu web site pueden llegar a ser un instrumento muy útil para convertir a tus visitantes en suscriptores o clientes. Atrás quedaron las ventanas emergentes y banners molestos e intrusivos con anuncios o publicidad que nos asaltaban nada más visitar una página web.
En este sentido, debemos tomar en consideración la usabilidad como aspecto fundamental en el diseño.
Personalmente, me incomoda mucho que aparezcan ventanas emergentes de suscripción en todas y cada una de las páginas de un mismo sitio web. Para evitar ésto, contamos con tres posibilidades:

  • controlar la ip del visitante de tal forma que sólo nos la ofrezca la primera vez que visitamos la página. Ésto se hace desde el servidor o back-end.
  • almacenar la información del visitante en una cookie en la parte cliente o navegador web (front-end).
  • almacenar la información en el cliente web a través del método SessionStorage de html5 (lo soportan los navegadores más modernos del mercado).
En el ejemplo que muestro a continuación optaré por las cookies y me comprometo a codificar el resultado en html5 en un artículo posterior.

Éstos son los pasos a seguir:

  1. Selecciona la entrada Diseño del panel principal de Blogger.
  2. Pulsa sobre el link Añadir un gadget y se abrirá una ventana con diferentes alternativas
  3. Desplazamos el scroll de la nueva ventana hacia abajo hasta llegar a la opción:

    HTML/JavascriptAñadir
    Añade una característica de un tercero u otro código a tu blog.





  4. En la caja Contenido pega el siguiente código:

    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jmacuna/subscription-feedburner@master/style.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js"></script>
    <script>
    idleTime = 0;
    $(document).ready(function(){
     $limit = 5; //seconds
     if ($.cookie('test_status') != '1') {
      function timerIncrement() {
       idleTime = idleTime + 1;
       if (idleTime > $limit) {
        $('html, body').css('overflow', 'hidden');
        $('.subs-popup ').fadeIn('slow');
        idleTime = 0;
       }
      }
      // Increment the idle time counter every second.
      var idleInterval = setInterval(timerIncrement, 1000); // 1 second
      // Zero the idle timer on mouse movement.
      $(this).mousemove(function (e) {
       idleTime = 0;
      });
      $(this).keypress(function (e) {
       idleTime = 0;
      });
      $.cookie('test_status', '1', { expires: 30 });
     }
     $('.email-close').click(function() {
      $('.subs-popup').fadeOut('slow');
      $('html, body').css('overflow', 'auto');
      $limit = 9999;
     });
    });
    </script>
    
    <div class="subs-popup">
     <div id="newsletter">
      <div class="email-close">X</div>
      <div class="newsletter-wrap">
       <h4>Suscríbete y recibe<br/>contenido exclusivo</h4>
       <p>Las últimas novedades del blog<br/>directamente a tu email.<br/><br/></p>
       <form action="http://feedburner.google.com/fb/a/mailverify?loc=es-ES&uri=[FEED_DE_TU_BLOG]" method="post" onsubmit="$('.email-close').click();window.open('about:blank', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" target="popupwindow" novalidate="">
        <input name="uri" type="hidden" value="bloggertrix"/>
        <input name="loc" type="hidden" value="en_ES"/>
        <input type="email" value="" name="email" placeholder="Tu e-mail aqui..." required=""/><br/><br/>
        <input type="submit" value="Suscribirme" class="button-popup">
       </form>
      </div>
     </div>
    </div>
    
  5. Por último hacemos click sobre el botón Guardar

Vamos a analizar los parámetros que intervienen en el código:

  • $limit = 5: tiempo de espera en segundos (desde que se carga la página) para mostrar el popup de suscripción.
  • [FEED_DE_TU_BLOG]: feed de suscripción de tu blog.
    Más información en ¿Qué es el feed de un sitio?
Como indicación final, resaltar que la hoja de estilo que utilizo (style.css) así como el formulario son totálmente personalizables.

Puedes visualizar y descargar el ejemplo para integrarlo en tu blog en la siguiente dirección

Widget para Suscripción de Correo Electrónico