Contenido

Crea un motor de busquedas accesibles al estilo Mac OS X

14 Jul

+ 6

La influencia de Apple, está muy latente en el desarrollo web y no es para menos, el conjunto de diseño limpio y usable es algo ideal para lo que el desarrollo web moderno intenta conseguir con las páginas web.

Una muestra de ello es este motor de búsqueda desarrollado en Javascript/CSS para emular el “searchbox” del sistema operativo de Apple. He estado mirando el código fuente y no me ha acabado de gustar la idea de usar <span></span> para alojar elementos que deberían ser inputs.

searchbox

Por ese motivo me he tomado la libertad de modificar el CSS y adaptar a jQuery un par de líneas que son realmente las necesarias para dotar este tipo de elementos al aspecto de Mac OS X que queremos darle.

HTML

<form name="form" class="searchbox" action="" method="post">
<p>
    <input type="text" name="s" value="" class="search"/>
    <input type="reset" name="reset" value="Reset" />
    <input type="submit" value="Enviar" />
</p>
</form>

La estructura es, a mi entender, algo más correcta ya que simplemente nos basamos de los elementos HTML que componen un formulario normal. Usando la class searchbox para indicar al javascript que ese formulario va a ser tratado para emular el searchbox de Mac OS X.

En este código, usaremos el botón reset para emular el botón (x) que vemos en la parte derecha del <input /> y la lupa que vemos en la parte izquierda del <input /> será nuestro botón de submit y el que nos llevará a la siguiente página.

CSS

.searchbox .resetButton  {
	background: white url("i/srch_r.gif") no-repeat scroll left top;
	width: 19px;
	height: 19px;
	border:0;
	text-indent:-5000;
	position:absolute;
	margin-left:-18px;
}
.searchbox .delete {
	background: white url("i/srch_r_f2.gif") no-repeat scroll left top;
}

.searchbox .submitButton {
		background: white url('i/srch_l.gif') no-repeat top left;
		width: 19px; height: 19px;
		text-indent:-5000;
		border:0;
		position:absolute;
}

.searchbox input.search {
	height:19px;
	padding-left:10px;
	width:600px;
}

Este código, consigue que nuestro input tenga el aspecto que deseamos, simplemente usamos la class searchbox para cambiar los estilos de los elementos que hay dentro.

Javascript

$.extend({
    searchbox: function() {
        var isSafari = /Apple/.test(navigator.vendor);
        var isOpera = window.opera;
        var input = $("form.searchbox input:text");
        var submit = $("form.searchbox input:submit");

        $("form.searchbox input:reset").each(function(x, el){
                $(el).addClass("resetButton");
                $(el).bind("click", function(){
                        $(this).removeClass("delete");
                });
        });

        $("form.searchbox input:submit").each(function(x, el){ $(el).addClass("submitButton");});

        input.css({
                "height": (isOpera || isSafari)?"13px":"14px",
                "padding-left" : (isOpera || isSafari)?"15px":"10px",
                "outline":"none"
                });
        var corrector = (isOpera || isSafari)?29:21;
        $("input.submitButton").css("margin-left", "-" + input.width() - (corrector) + "px");

        input.bind("keyup", function(){
            if($(this).val() != '') $(this).parent().find("input:reset").addClass("delete");
            else $(this).parent().find("input:reset").removeClass("delete");
        });
    }
});
// Activamos al cargar la página.
$(document).ready(function(){
        $.searchbox();
})

Usando jQuery como base, extendemos las opciones del framework con el método extend() que nos permite definir nuevas opciones de forma fácil y limpia. Esta nueva funcionalidad, nos añade los estilos necesarios para los usuarios que disponen de javascript.

Ventajas

searchbox2

Al necesitar javascript para aplicar los estilos los usuarios que no disponen de ellos ven un formulario compuesto por un <input /> en el que pueden introducir un lo que están buscando y dos botones, uno que nos limpiará el formulario y el botón de submit que nos permite enviar el valor del elemento a nuestra página de resultados. Para ello he usado este gran artículo de Olga Carreras en el que nos muestra las diferentes formas de crear formularios con varios botones.

Problemas

Pese a que he podido probarlo en Firefox 3, Safari y Opera no he podido verlo en Internet Explorer, aunque seguro que falla, el text-indent no le gustaba, así que tendré que testearlo cuando tenga tiempo.

Demo

Podéis ver como se vería en el ejemplo que he montado. Creo que como idea puede valer ;)

Desarrollo web sobre Mac OS

18 Feb

+ 21

Hace unos días recibí un mail en el que me pedían que publicara este post, uno en el que indicara las herramientas que uso para desarrollar sobre mac. Inicialmente pensé que sería un poco corto el post, por que soy de los desarrolladores que usan herramientas rudimentarias y la verdad es que con TextMate lo hago casi todo, pero indagando un poco sobre el tema he encontrado una serie de herramientas que me ayudarán a desarrollar y que poco a poco iré integrando en mi día a día.

Continua —>

Añade un icono webclip para el iPod Touch a tu web

16 Ene

+ 8

Ayer, en la keynote de Apple, además de presentar el Macbook Air, Apple presentó la nueva actualización de pago para el iPod Touch. Esta actualización, permite disponer de las aplicaciones que tiene por defecto el iPhone y “Home Screen”.

ipod-touch-features1.png

Home Screen te permite organizar los iconos de la pantalla, cambiar los elementos del dock y añadir hasta 8 páginas de inicio llamadas WebClip, simplemente son enlaces directos a tus páginas preferidas desde el menú principal de dispositivo.

Entre las demás mejoras, Safari sufre una modificación y se le incorpora la posibilidad de añadir al menú principal directamente desde el menú de inferior. Lo que facilita la insercción de nuestros WebClip en nuestro iTouch.

add_to_home_ipod_touch_1.jpgadd_to_home_ipod_touch_2.jpg

Para hacer que nuestro sitio esté preparado para esta nueva funcionalidad, tendremos que añadir el siguiente código y cargar una imagen que será importada como icono para lanzar nuestra aplicación.

<head>
    <title>aNieto2k</title>
    <link rel="apple-touch-icon" href="/anieto2k-webclip.png"/>
</head>

La imaden que crearemos tendrá que ser un PNG de 57×57 pixeles (si el tamaño es diferente, se cortará o expandirá lo que haga falta), y tendrá el nombre indicado en el href="" de nuestro <link />.

Me pareció ver un iMac de camino

30 Nov

+ 32

Ya está, ya lo he hecho. Casi sin pensar a las 8:00 de la mañana he pulsado el botón de Comprar.

iMac apple de camino

Jijiji :D

Ya soy un Leopard-illo!!!

16 Nov

+ 9

Bueno, hace unas 14 horas que soy un Leopard-illo más, y la verdad es que estoy sorprendido del gran paso que han dado en la evolución del sistema operativo.

macosx_index_hero20071026.png

No voy a entrar a describir las novedades que Leopard nos ofrece, por que realmente creo que ya ha se ha hablado mucho, incluso demasiado. Solo voy a agradecer a Apple los siguientes puntos, por que me han solucionado muchos problemas que tenía con Tiger.

  • Opciones de carpeta como “Ordernar por …” en el menú contextual de la carpeta (botón derecho).
  • Coverflow de ficheros,… un juguete muy bonito para dejar boquiabiertos a los colegas, pero … para poco más.
  • Visualización de ficheros en vista carpeta
  • Menú Aladino, igual de util que el Coverflow (lo tengo oculto en la izquieda, molesta menos).
  • Stacks, sin duda de lo mejor que he visto, me he podido configurar una carpeta en la que tengo los proyectos actuales, simplemente muy util.
  • Integración de los equipos en la red en el menú izquierdo de Finder.
  • La velocidad del sistema!! Ostras, con Windows Vista noté la relentización del Sistema operativo, pero con Leopard… ha mejorado a Tiger en este punto.

Por cierto, si estais pensando en actualizar, prestar atención al proceso de instalación…. increible, el mejor, más cómodo y práctico que he visto nunca.

Desde el iTouch

9 Oct

+ 11

Esta entrada esta patrocinada por el ipod touch. Para ella he decidido escribirla desde mi nuevo, flamante, brillante y lleno de dedazos iTouch!!! Como cuesta un huevo escribir con este teclado, no me voy a enredar mucho. Pido disculpas por los palabros que me puedan salir debido a mis dedazos en este tecladito.

iTouch

Impresiones

La primera impresion es genial, elegante todos los detalles tan cuidados como apple nos tiene acostumbrados. Van pasando los minutos y las sensaciones mejoran, la pantalla multitactil es una maravilla, sensible al mas minimo roce. La navegacion por los menus, otra maravilla. Lo que comentan sobre la usabilidad es completamente cierto, facil, facil. Se hace realmente sencillo manejarte por la aplicación, aunque mi hermana no supo desbloquearlo… pero mi hermana y la tecnología no se llevan nada bien :D

La conexión wifi pese a lo que creia, es rapida y muy facil de configurar. Me he llevado una grata sorpresa al ver que la version de Safari tiene la posibilidad de navegacion mediante pestañas, un sistema algo menos comodo que el sistema de pestañas que conocemos, pero una interesante solucion.

Problemas

Por ahora, aun es un poco pronto, no he tenido ningun problema aunque:

  • No se puede cambiar el fondo del menu, aunque negro sea muy bonito, se echa de menos un poco mas de personalizacion.
  • Escribir correctamente, con acentos y caracteres especiales, se hace extremadamente complicado y lento. Supongo que con practica mejorara.
  • Los controles de ipod son un poco mas complicados. Osea para poner tu puntuacion la primera vez hay que buscarlo.
  • La pantalla se llena de dedos, aunque no lo hayas tocado. Es frustrante querer tenerlo limpio.
  • El tema de las aplicaciones de ser solucionado por apple, si permiten que la gente desarrolle aplicaciones propias, el iTouch (iPhone) sera sin duda un bombazo, mas de lo que ha sido ya.

Bueno, prometo hacer un analisis mas exhaustiva desde el punto de vista de un desarrollador, pero cuando haya trasteado todo lo que ofrece :D