Contenido

El futuro Firefox podría no tener pestañas

15 abr

+ 15

Oliver Reichenstein, jefe de experiencia de usuario de Mozilla nos asombra con unas declaraciones acerca del nuevo interface de usuario de Firefox.

firefox-2-big
(Ver Imagen)

Oliver nos cuenta que desde el 2000 cuando decidieron poner pestañas a su navegador, ha llovido mucho y que los tiempos han cambiado y la concepción de un navegador web tambien. Lo que le ha llevado a pensar en eliminar las pestañas para una futura versión de Firefox.

La idea es que un navegador web actual, debería estar más enfocado a ofrecer al usuario un nuevo sistema operativo embebido dentro de una ventana de navegador. Logrando una mejor gestión de sesiones, organizando el navegador como un sistema de ficheros multimedia, tipo iTunes. Un concepto revolucionario e innovador que seguro que dará mucho de que hablar.

Ubiquity

Otra mejora que seguramente podramos ver en Firefox es la integración nativa de Ubiquity, que pasaría a llamar TaskFox. Una mejora importante al inteface, aportando la capacidad de navegación por teclado.

Geolocalización gratis con PHP

14 abr

+ 13

Hace unos días que se viene hablando de iplocationtools, una aplicación gratuita que nos permite obtener datos sobre la geolocalización de una IP(en mi caso me ha ubicado en otro pais… así que no me fio mucho).

Inicialmente la aplicación está pensada para devolvernos los datos mediante una petición GET, así que unas pocas líneas de código podrían mostrarnos una serie de datos muy interesantes de nuestros usuarios.


<?php
    function get_ip_location($ip, $format="xml") {
        $formats_allowed = array("json", "xml", "raw");
        $query_url = "http://iplocationtools.com/ip_query.php?ip=";
        if(!in_array($format, $formats_allowed)) {
            $format = "xml";
        }
        $query_url = $query_url . "{$ip}&output={$format}";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $query_url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 15);
        return curl_exec($ch);
    }
?>

Modo de empleo

Este script, nos permite obtener los datos en 3 formatos diferentes, dependiendo del valor que le pasemos como segundo parámetro a la función get_ip_location().

// XML
  $location_data = get_ip_location("209.85.153.104");
  print_r($location_data);
// Respuesta
<Response>
	<Ip>209.85.153.104</Ip>
	<Status>OK</Status>
	<CountryCode>US</CountryCode>
	<CountryName>United States</CountryName>
	<RegionCode>06</RegionCode>
	<RegionName>California</RegionName>
	<City>Mountain View</City>
	<ZipPostalCode>94043</ZipPostalCode>
	<Latitude>37.4192</Latitude>
	<Longitude>-122.057</Longitude>
</Response>

//JSON
  $location_data = get_ip_location("209.85.153.104", "json");
  print_r($location_data);
//Respuesta
{
	"Ip" : "209.85.153.104",
	"Status" : "OK",
	"CountryCode" : "US",
	"CountryName" : "United States",
	"RegionCode" : "06",
	"RegionName" : "California",
	"City" : "Mountain View",
	"ZipPostalCode" : "94043",
	"Latitude" : "37.4192",
	"Longitude" : "-122.057",
}

// RAW
  $location_data = get_ip_location("209.85.153.104", "raw");
  print_r($location_data);
// Respuesta
  209.85.153.104,OK,US,United States,06,California,Mountain View,94043,37.4192,-122.057

[Descargar]

¿Como deshacerse del DiggBar?

13 abr

+ 10

Hace unos días en Adseok nos contaban lo peliagudo del tema del DiggBar. El DiggBar es una nueva implementación de Digg con la que mediante el uso de un <iframe /> nos mantiene siempre bajo sus manos.

diggbar
(Ver Imagen)

¿Como evitarlo?

Pues tenemos varias soluciones, aunque todas se basan en el mismo sistema basado en Javascript.

if (top !== self && document.referrer.match(/digg\.com\/\w{1,8}/)) {
  top.location.replace(self.location.href);
}

En este script, comprobamos que la variable window.top y window.selft sean iguales, además comprobamos que el referer sea digg.com. En caso de que no se cumpla esta condición, cambiaremos la dirección del contenedor a la de nuestra página.

Plugin de WordPress

Samuel Aguilera, publica un plugin para WordPress que usando esté sistema nos permite integrarlo fácilmente en nuestro blog. Con WP Frame Breaker simplemente tendrás que copiarlo en wp-content/plugins/ y activarlo para que tu web no caiga en el agujero negro en el que se ha convertido Digg.

Otros sistemas

  1. GreaseMonkey
  2. Mostrar mensaje en PHP

WiderBug, el Firebug para pantallas gigantes

12 abr

+ 4

Widerbug es un versión de Firebug para pantallas panorámicas que nos permite disponer de las ventajas de Firebug en el lateral del navegador.

widerbug_preview
(Ver Imagen)

Esta versión, que nos obliga a desinstalar Firebug previamente, nos ayuda a editar nuestro código viendo el largo completo de nuestras aplicaciones web.

Internet Explorer 8 como actualización automática para finales de Abril

11 abr

+ 10

El en blog de Internet Explorer (IEBlog) anuncian que la versión final de Internet Explorer 8.0 estará como actualización automática del sistema operativo para el final de este mes de Abril. La versión que hasta ahora debíamos descargar e instalar en nuestro sistema operativo, pasará a ser actualizado automáticamente por el navegador.

Internet Explorer 8 no será instalado automáticamente sino que requerirá la interacción del usuario para aceptar la instalación, pudiendo aceptar si desea actualizarlo o posponer la actualización para más adelante.

wuwelcomevista
(Ver Imagen)

Para Windows Server 2003 y Windows XP, esta actualización será de alta prioridad mientras que en Windows Vista y Windows Server 2008 será simplemente una actualización importante.

WordPress 2.8, integrará jCrop de jQuery

10 abr

+ 4

WPengineer.com anucia que WordPress 2.8 integrará jCrop. Este plugin de jQuery nos permitirá recortar dinámicamente las imagenes que subamos a nuestro servidor. Una forma muy cómoda de editar las imagenes previamente a ser posteadas.

Resalta los resultados de búsqueda en tu WordPress con JQuery

10 abr

+ 2

En WeblogToolsCollection publican un artículo con el que nos muestran como realzar los resultados de nuestras búsquedas mediante el uso de un pequeño script con jQuery. Simplemente tendremos que realizar dos pasos muy sencillos para que nuestro theme ayude al usuario a encontrar esa palabra que está buscando.

1. Añadimos jQuery y la palabra a buscar

function hls_set_query() {
  $query  = attribute_escape(get_search_query());

  if(strlen($query) > 0){
    echo '
      <script type="text/javascript">
        var hls_query  = "'.$query.'";
      </script>
    ';
  }
}

function hls_init_jquery() {
  wp_enqueue_script('jquery');
}

add_action('init', 'hls_init_jquery');
add_action('wp_print_scripts', 'hls_set_query');

Añadiendo este código al fichero functions.php de nuestro theme dispondremos de jQuery en nuestro theme, y además tendremos una variable javascript (hls_query) con el valor de la búsqueda que jQuery deberá encontrar en el texto y resaltar.

2. Añadimos el script a nuestro header.php

 <style type="text/css" media="screen">
    .hls { background: #D3E18A; }
  </style>
  <script type="text/javascript">
  jQuery.fn.extend({
    highlight: function(search, insensitive, class){
      var regex = new RegExp("(<[^>]*>)|(\\b"+ search.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1") +")", insensitive ? "ig" : "g");
      return this.html(this.html().replace(regex, function(a, b, c){
        return (a.charAt(0) == "<") ? a : "<strong class=\""+ class +"\">" + c + "</strong>";
      }));
    }
  });
  jQuery(document).ready(function($){
    $("#post-area").highlight(hls_query, 1, "hls");
  });
  </script>

Este código se encargará de buscar en nuestro contenido, concretamente en el id #post-area (hay que reemplazarlo por nuestro el contenedor de nuestros posts), y resaltará el texto buscado con la clase CSS .hls que está definida al inicio del código.

Importante

  1. Reemplaza #post-area por el valor del contenedor de posts.
  2. Cambia el color del resaltado reemplazando el valor (#D3E18A) por uno que se ajuste a tu diseño.

Alternativa

Si quieres resaltar los resultados sin necesidad de usar javascript, puedes usar WP-Resalta Busqueda.

Actualiza el código de tu Google Analytics

10 abr

+ 20

Hace ya bastante tiempo Google Analytics informaba de que había realizado unas modificaciones en sus scripts y nos invitaba a reemplazar la llamada que ya teníamos en nuestras páginas para que usáramos el nuevo sistema. Hoy en PingDom muestran una gráfica en la que nos muestran que aún un 40% de  10.000 sitios que usan Google Analytics están usando el sistema antiguo (urchin.js).

40% de 10.000 sitios aún usan urchin.js
(Ver Imagen)

El problema de usar urchin.js

Principalmente, el motivo determinante es que desde Diciembre de 2007 Google dejó de dar soporte al script y al sistema de recogida de datos para centrarse en potenciar el nuevo (ga.js), dejando 12-18 meses más de vida a urchin.js para realizar la migración.

Al parecer, viendo la gran cantidad de gente que no ha migrado aún, esto se está prolongando para evitar problemas (dejaríamos de registrar nuestras visitas).

¿Que tiene de nuevo el nuevo script?

Si aún no te han entrado ganas de migrar el script, mira lo que te estás perdiendo por usar el script antiguo.

  • Rápido y más pequeño fichero JS
  • Detección automática del HTTPS
  • Incremento de la seguridad de nombres.
  • Mejoras en el seguimiento de transacciones de comercio electrónico.
  • Más código personalizable para sitios basados en interacciones Ajax
  • Acceso a nuevas mejoras y reportes

¿Como comienzo a usar el sistema nuevo?

El cambio es realmente sencillo, aunque laborioso, dependiendo del número de aplicaciones en las que tengamos que hacer el cambio. Únicamente tendremos que cambiar el código que hace referencia al fichero urchin.js y reemplazarlo por este:

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("TU_CODIGO");
pageTracker._trackPageview();
} catch(err) {}</script>

Reemplaza TU_CODIGO por el ID de la propiedad web de tu aplicación. (ej. UA-12345-123).

ie6-upgrade-warning, alerta bestia para que tus usuarios se actualizen

9 abr

+ 18

Si la iniciativa de NOIE6Day te parece un poco light y crees que se merecen una alerta al puro estilo publicidad de Casinos, ie6-upgrade-warning se encargará de que los descarriados usuarios que aún están visitándote con Internet Explorer vean este enorme menú.

example
(Ver Imagen)

¿Como usarlo?

<!--[if lte IE 6]>
<script type="text/javascript" src="ie6-warning.js"></script>
<script type="text/javascript">
	window.onload=function(){
		e("js/ie6/");
	}
</script>
<![endif]-->

Simplemente tendremos que descargar el fichero JS del proyecto y añadir este código al HTML de nuestra página.

Notimoo, un Growl con MooTools

9 abr

+ 0

PaquitoSoft me avisa por email de que ha lanzado Notimoo, un excelente plugin para MooTools que nos permite mostrar notificaciones al puro estilo Growl de Mac. Como el mismo me cuenta, el que creó Daniel Mota hace ya unos añitos no se ajustaba a sus necesidades así que se puso a desarrollar este plugin para que las cubriera y el resultado es excelente.

notimoo_mootools
(Ver Imagen)

Uno de los atractivos de Notimoo es su fácil uso, con unas líneas de código podremos mostrar una notificación a nuestros usuarios.

// Declaramos un nuevo objeto
var notificationManager = new Notimoo();

// Mostrar notificacion
notificationMananger.show({
   title: 'Mensaje de PaquitoSoft',
   message: 'Ésta es una notificación de ejemplo ' +
      'para demostrar la sencillez de uso de Notimoo.'
});

Demo y descargas en El Universo de PaquitoSoft