<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Weterede! &#187; desarrollo web</title>
	<atom:link href="http://www.weterede.com/tag/desarrollo-web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.weterede.com</link>
	<description>Blog sobre programación, diseño web y tecnologías de la información</description>
	<lastBuildDate>Fri, 10 Jun 2011 02:40:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<atom:link rel='hub' href='http://www.weterede.com/?pushpress=hub'/>
		<item>
		<title>Yahoo! Developer Network en Madrid</title>
		<link>http://www.weterede.com/2009/09/yahoo-developer-network-en-madrid/</link>
		<comments>http://www.weterede.com/2009/09/yahoo-developer-network-en-madrid/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 03:30:11 +0000</pubDate>
		<dc:creator>Nacho Plaza</dc:creator>
				<category><![CDATA[eventos]]></category>
		<category><![CDATA[APIs]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://www.weterede.com/?p=713</guid>
		<description><![CDATA[El 21 de septiembre Yahoo! organiza su segundo evento de la Red de Desarrolladores de Yahoo! (Yahoo! Developer Network – YDN) en España, la primera que se organiza en Madrid. La Red de Desarrolladores de Yahoo! ofrece servicios web y APIs a los desarrolladores para que creen aplicaciones y mashups. El evento estará dirigido por [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-715 alignleft" title="Yahoo!" src="http://www.weterede.com/wp-content/uploads/2009/09/logo-yahoo.png" alt="Logo de Yahoo!" width="147" height="53" />El 21 de septiembre Yahoo! organiza su segundo evento de la <strong>Red de Desarrolladores de Yahoo! (Yahoo! Developer Network – YDN)</strong> en España, la primera que se organiza en Madrid. La Red de Desarrolladores de Yahoo! ofrece servicios web y APIs a los desarrolladores para que creen aplicaciones y mashups.<br />
<span id="more-713"></span><br />
El evento estará dirigido por <strong>Christian Heilmann</strong>, gurú internacional de los desarrolladores para YDN. Hará una breve introducción a las APIs abiertas de Yahoo y dará una charla técnica en profundidad sobre algunos de los servicios web más conocidos y populares que Yahoo! ofrece como YUI, Placemaker y YQL. <strong>La presentación se hará en inglés</strong>, pero habrá portavoces españoles para dar soporte.</p>
<p>El evento tendrá lugar el próximo <strong>lunes 21 de septiembre en la ETSI de Telecomunicaciones de la Universidad Politécnica de Madrid</strong>, y dará comienzo a las 19:00. Si estás interesado en asistir, <a title="An evening with YDN in Madrid" rel="nofollow" href="http://upcoming.yahoo.com/event/4408490/M/Madrid/An-evening-with-YDN-in-Madrid/ETSI-Telecomunicacin-UPM/">regístrate</a> con dos sencillos clicks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weterede.com/2009/09/yahoo-developer-network-en-madrid/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Optimiza el tiempo de carga de tu web</title>
		<link>http://www.weterede.com/2009/05/optimiza-el-tiempo-de-carga-de-tu-web/</link>
		<comments>http://www.weterede.com/2009/05/optimiza-el-tiempo-de-carga-de-tu-web/#comments</comments>
		<pubDate>Tue, 05 May 2009 06:50:18 +0000</pubDate>
		<dc:creator>Nacho Plaza</dc:creator>
				<category><![CDATA[diseño web]]></category>
		<category><![CDATA[optimización]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://www.weterede.com/?p=248</guid>
		<description><![CDATA[Uno de los factores por los que nuestros visitantes pueden abandonar nuestra web es el tiempo de carga de las páginas. Un tiempo de carga excesivo, aparte de producir una mala experiencia de usuario, puede hacer que nuestros visitantes se aburran mientras esperan que se renderice la página mientras navegan por nuestra web. Así que [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-262 alignleft" title="grafica-rendimiento" src="http://www.weterede.com/wp-content/uploads/2009/05/grafica-rendimiento.png" alt="Tiempo de carga" width="143" height="118" /></p>
<p>Uno de los factores por los que nuestros visitantes pueden abandonar nuestra web es <strong>el tiempo de carga de las páginas</strong>. Un tiempo de carga excesivo, aparte de producir una mala experiencia de usuario, puede hacer que nuestros visitantes se aburran mientras esperan que se renderice la página mientras navegan por nuestra web. Así que os dejo una pequeña recopilación de <strong>consejos básicos para mejorar el rendimiento</strong> de nuestras páginas, muchos de ellos ayudan también a obtener un código más <strong>SEO-friendly</strong>.<br />
<span id="more-248"></span><br />
<strong>Usa páginas de tamaños moderados</strong>. Si alguna página tuya ocupa mucho tamaño, tardará mucho en descargarse. A veces es mejor dividir el contenido en varias páginas, de forma que el tamaño de cada una sea menor y cargen de forma más rápida. Lo ideal es que tus páginas no lleguen a 500KB, pero como esto es a veces dificil de conseguir, mantente por debajo de 1MB por página.</p>
<p><strong>Utiliza hojas de estilo CSS</strong>. En vez de incrustar los estilos dentro del código, mantén en archivos externos todo el código que definan el estilo de los elementos de tu web. Así el código de estilos no se descarga en cada visualización de página, la página pesa menos yse aprovecha la caché del navegador. Consejo SEO.</p>
<p><strong>Minimiza el número de peticiones de archivos externos</strong>. Si puedes, agrupa todos los archivos .css o los archivos .js en uno sólo. Así reduces el número de peticiones HTTP y la carga de la página se realiza más rápidamente.</p>
<p><strong>No uses javascript dentro del código</strong>. Agrupa y mete el código javascript en un archivo y enlázalo. Así el visitante descarga el archivo .js en la primera visualización, y para las siguientes ya tiene ese código descargado (caché).</p>
<p><strong>Enlaza los archivos javascript desde el footer, no desde el header</strong>. Los archivos .js se descargan uno detrás de otro, no de forma paralela. Si los enlazamos en el header, el navegador no puede empezar a renderizar la página hasta que no ha descargado todos los archivos. Poniendo los .js en el footer, hacemos que se descarguen cuando la página ya se ha visualizado por completo. Aunque el tiempo de carga de la página es el mismo, la sensación de velocidad es distinta, ya que dejamos el trabajo pesado de descarga para el final. Esto se puede hacer siempre que no usemos funciones javascript que sean necesarias durante la carga de la página.</p>
<div id="attachment_258" class="wp-caption alignnone" style="width: 610px"><img class="size-full wp-image-258" title="firebug-tiempo-descarga-javascript" src="http://www.weterede.com/wp-content/uploads/2009/05/firebug-tiempo-descarga-javascript.png" alt="Tiempo descarga javascript" width="600" height="200" /><p class="wp-caption-text">Descarga en serie de archivos javascript</p></div>
<p><strong>No uses @import en los archivos CSS</strong>. Es preferible que utilices varios enlaces &#8220;link&#8221; desde el código de la página (descarga en paralelo), que importar hojas de estilo desde otras hojas de estilo (descarga en serie).</p>
<p><strong>Usa el formato correcto en tus imágenes</strong>. Juega con archivos gif, png y jpg en las imágenes que subas a la web. Usa jpg para imágenes con mucha gama de colores, como fotos, y gif o png para aquellas que necesiten transparencias o tengan una gama de colores menor.</p>
<p><strong>Usa image sprites</strong>. Para imágenes comunes en el diseño del sitio o que se repitan en muchas páginas, es conveniente usar image sprites. Por ejemplo, si todas tus webs hacen X peticiones de imágenes para colocar iconos decorativos, es más eficiente combinar esas imágenes en una sola y por CSS asignar al elemento de la web que queramos el fragmento de la imagen que queremos mostrar. Las imágenes se pueden descargar en paralelo, por eso sólo debemos usar esta técnica para imágenes comunes en el template del sitio.</p>
<div id="attachment_260" class="wp-caption alignnone" style="width: 654px"><img class="size-full wp-image-260" title="firebug-tiempo-descarga-imagenes" src="http://www.weterede.com/wp-content/uploads/2009/05/firebug-tiempo-descarga-imagenes.png" alt="Tiempo descarga imágenes" width="644" height="403" /><p class="wp-caption-text">Descarga en paralelo de imágenes</p></div>
<p><strong>No uses redimensionamiento de imágenes dentro del código</strong>. ¿Para qué descargar una imagen a 1024&#215;768 si luego le vas a poner una anchura de 300px? Utiliza imágenes del tamaño real que vayan a tener a la hora de visualizarlas. Si vas a usar algún tipo de galería con thumbnails, conviene usar imágenes pequeñas en los thumbnails para que la página cargue rápidamente, y descargar las imágenes a tamaño real en background, aunque con esto implique aumentar el tamaño de la página.</p>
<p><strong>Evita contenido de más dentro del código</strong>. Una cosa es tener el código bien identado, y otra es que tengamos secciones con más de 100 líneas en blanco. Si eres muy purista, puedes pasar un compactador a tus archivos .css y .js para reducir el tamaño del archivo resultante. Eso sí, mantén siempre una copia sin compactar para trabajar con ella, porque editar un archivo compactado puede ser horrible. Puedes usar aplicaciones online como <a title="CSS Compressor" rel="nofollow" href="http://www.csscompressor.com/">CSS Compressor</a> o <a title="CSS Formatter and Optimiser" rel="nofollow" href="http://www.cleancss.com/">CSS Formatter and Optimiser</a> para compactar tus CSS, o <a title="YUI Compressor" rel="nofollow" href="http://developer.yahoo.com/yui/compressor/">Yahoo! UI Library: YUI Compressor</a> y <a title="Online Javascript compressor" rel="nofollow" href="http://javascriptcompressor.com/">Online Javascript compressor</a> para los archivos javascript.</p>
<p><strong>Evita enlazar contenido de otros dominios</strong>. Incluir información que esté alojada en otro dominio implica que la carga de nuestra página dependerá del estado del servidor de destino y de su tiempo de respuesta. Por ejemplo, en mi sidebar yo cargo mis dos últimos comentarios en Twitter, y cuando su sistema está muy saturado, la carga de mi web se ralentiza. Si haces algo de este estilo, no lo pongas en el header, ponlo en el sidebar derecho o footer. Así si tarda en cargar ese contenido, el header y la parte central de la web ya estará renderizado y el &#8220;atasco&#8221; se notará menos.</p>
<p><strong>Nunca uses frames</strong>. No tiene nada que ver con el rendimiento, pero conviene que no uses frames por muchos otros motivos. Los frames era como se diseñaban las webs en 1995. Consejo SEO.</p>
<p>Por último, asegurate de que todo lo que has hecho funcione. Haz pruebas y mide los tiempos de carga, para descubrir dónde se pueden producir cuellos de botella o ver qué partes puedes modificar para aumentar el rendimiento. Yo uso la extensión <a title="Extensión Firebug para Firefox" rel="nofollow" href="http://developer.yahoo.com/yslow/">Firebug</a> para Firefox junto con <a title="Extensión YSlow para Firefox" rel="nofollow" href="http://developer.yahoo.com/yslow/">YSlow</a>, pero existen muchas otras herremientas de medición online.</p>
<p><span style="text-decoration: underline;">Aclaración:</span> por si te da por revisar el código de mi blog, todavía no está optimizado. Como con WordPress se pueden utilizar muchos puglins, cada uno lleva sus propios archivos .js, .css o imágenes. Todavía estoy trabajando en su optimización, lo que requiere en muchos casos que tenga que modificar el propio código de los plugins.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weterede.com/2009/05/optimiza-el-tiempo-de-carga-de-tu-web/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Protege los desarrollos de tus clientes</title>
		<link>http://www.weterede.com/2009/04/protege-los-desarrollos-de-tus-clientes/</link>
		<comments>http://www.weterede.com/2009/04/protege-los-desarrollos-de-tus-clientes/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 18:22:56 +0000</pubDate>
		<dc:creator>Nacho Plaza</dc:creator>
				<category><![CDATA[seguridad]]></category>
		<category><![CDATA[desarrollo web]]></category>

		<guid isPermaLink="false">http://www.weterede.com/?p=212</guid>
		<description><![CDATA[Hoy me ha venido a la memoria una pequeña anécdota de cuanto estaba participando en el desarrollo de una web. El cliente había contratado a otra empresa para realizar la creatividad o el diseño del site. Ellos aportaban los wireframes y PSD´s (imágenes en formato de Photoshop), y yo me limitaba a picar código, todo [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-220 alignleft" title="candado-usb" src="http://www.weterede.com/wp-content/uploads/2009/04/candado-usb1.jpg" alt="Candado USB" width="120" height="124" />Hoy me ha venido a la memoria una pequeña anécdota de cuanto estaba participando en el desarrollo de una web. El cliente había contratado a otra empresa para realizar <strong>la creatividad o el diseño del site</strong>. Ellos aportaban los wireframes y PSD´s (imágenes en formato de Photoshop), y yo me limitaba a picar código, todo en xhtml con css.<br />
<span id="more-212"></span><br />
Pues tras finalizar la etapa de diseño, les pido los archivos gráficos definitivos en formato .psd, para poder obtener todos los fondos, botones y resto de elementos gráficos de la web. Me contestan con un link a su FTP, con acceso anónimo, sin usuario ni contraseña. La ruta tenía la siguiente forma:</p>
<blockquote><p>ftp://ftp.webdeloscreativos.es/clientes/nombre-de-mi-cliente/</p></blockquote>
<p>Como me leí un libro de &#8220;<em>Hacking para dummies</em>&#8220;, se me ocurrió la feliz idea de escribir dirección pero eliminando de ella el nombre del cliente para el que trabajaba. Ahí estaba: toda la lista de clientes de la empresa de creatividad ante mis ojos. Mi curiosidad me llevó a entrar en algunos directorios (Movistar, Repsol&#8230;) a ver qué había. Y lo que me encontré fue el diseño de webs que estaban en <strong>fase de diseño o de creatividad</strong>.</p>
<p>¿Qué hubiera pasado si encuentro <strong>información sobre la futura estrategia en la red de la competencia</strong>? ¿Y si hubiese sido al revés? Mi competencia se habría enterado de la web que tenía en desarrollo, y podría haberse preparado para copiarme o para contrarrestar el lanzamiento de mi web. Y todo el trabajo y coste en lanzar un producto innovador y rompedor se podría haber ido al garete.</p>
<p>Con la abundancia de servicios que hay hoy en día en internet, que te copien una idea y la pongan en producción antes que tú puede tirar abajo tu proyecto sin haberlo sacado siquiera de la caja. Así que por favor, <strong>proteged las ideas y los desarrollos de vuestros clientes</strong> (y usad contraseñas en vuestros FTPs).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weterede.com/2009/04/protege-los-desarrollos-de-tus-clientes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Usar link en vez de import</title>
		<link>http://www.weterede.com/2009/04/usar-link-en-vez-de-import/</link>
		<comments>http://www.weterede.com/2009/04/usar-link-en-vez-de-import/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 09:20:59 +0000</pubDate>
		<dc:creator>Nacho Plaza</dc:creator>
				<category><![CDATA[optimización]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[desarrollo web]]></category>

		<guid isPermaLink="false">http://www.weterede.com/?p=176</guid>
		<description><![CDATA[Os dejo un enlace a un artículo de Steve Souders en su blog High Performance Web Sites sobre la diferencia de rendimiento entre usar @import o la etiqueta link. Don’t use @import En resumen, desaconseja el uso de @import porque los archivos que se importan se hacen de forma secuencial, mientras que con link se [...]]]></description>
			<content:encoded><![CDATA[<p>Os dejo un enlace a un artículo de Steve Souders en su blog High Performance Web Sites sobre la diferencia de rendimiento entre usar @import o la etiqueta link.</p>
<blockquote><p><a title="Don’t use import" rel="nofollow" href="http://www.stevesouders.com/blog/2009/04/09/dont-use-import/">Don’t use @import</a></p></blockquote>
<p>En resumen, desaconseja el uso de <strong>@import</strong> porque los archivos que se importan se hacen de forma secuencial, mientras que con <strong>link</strong> se hace de forma paralela.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weterede.com/2009/04/usar-link-en-vez-de-import/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Analytics y la cookie utmz</title>
		<link>http://www.weterede.com/2009/02/google-analytics-y-la-cookie-utmz/</link>
		<comments>http://www.weterede.com/2009/02/google-analytics-y-la-cookie-utmz/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 07:05:14 +0000</pubDate>
		<dc:creator>Nacho Plaza</dc:creator>
				<category><![CDATA[analítica web]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.weterede.com/?p=13</guid>
		<description><![CDATA[Hace poco, leí un artículo sobre cómo mide Google Analytics el origen de las visitas. En ese artículo se comenta que Google considera visitas desde un buscador todas aquellas que se realizan durante los seis meses después de la primera visita. Es decir, que si accedo a una web hoy a la que he llegado [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-15" title="logo-google-analytics" src="http://www.weterede.com/wp-content/uploads/2009/04/logo-google-analytics.png" alt="logo-google-analytics" width="188" height="40" />Hace poco, leí un artículo sobre <a title="Blog de François Derbaix" rel="nofollow" href="http://francoisderbaix.com/2009/02/17/google-analytics-vs-xiti-como-miden-el-origen-de-las-visitas/">cómo mide Google Analytics el origen de las visitas</a>. En ese artículo se comenta que Google considera visitas desde un buscador todas aquellas que se realizan <strong>durante los seis meses después de la primera visita</strong>. Es decir, que si accedo a una web hoy a la que he llegado desde un buscador, todas mis próximas visitas a esa web durante los próximos 6 meses GA las considerará provenientes de un buscador. Realmente a mí me parece excesivo contabilizar visitas provenientes desde un buscador durante tanto tiempo, aunque el primer acceso sí fuera de esta forma.<br />
<br />
<span id="more-13"></span><br />
Si un usuario sigue accediendo a nuestra web durante un periodo tan largo, será un visitante habitual (Returning Visitor en GA). Pero lo que muchos webmasters no saben es que <strong>este periodo de seis meses es configurable</strong>, así que lo podemos adaptar según nos convenga. El truco está en el uso de las cookies que utiliza Google Analytics para rastrear a los usuarios. En este caso, la cookie __utmz. Para configurar el periodo de caducidad de la cookie, tendremos que añadir el siguiente código javascript al código de seguimiento de GA.</p>
<blockquote><p>pageTracker._setCookieTimeout(&#8220;604800&#8243;);</p></blockquote>
<p>El valor del parámetro de la función <strong>_setCookieTimeout()</strong> es el periodo de caducidad de la cookie, expresado en segundos. Para el ejemplo que os pongo, 604800 segundos corresponden a 7 días (7x24x3600), que es precisamente el valor que tengo configurado en este blog y en algún otro site que administro.</p>
<p>¿Cómo puedo comprobar el valor de una cookie?</p>
<p>En Firefox, pulsamos <em>Herramientas -&gt; Opciones -&gt; pestaña Privacidad -&gt; Mostrar cookies</em>. En el campo Buscar podemos escribir la URL o la cookie por la que queremos filtrar el listado que aparece en la parte inferior.</p>
<p>La cookie __utmz tiene el siguiente formato:</p>
<p>__utmz=XXX.YYY.V.C.utmccn=|utmcsr=| utmcmd=|utmctr=</p>
<p>donde:<br />
XXX = es el hash único de tu domino web<br />
YYY = hora unix o &#8220;timestamp&#8221; en que se creó la cookie<br />
V = cuantas visitas ha realizado desde que se creó la cookie<br />
S = número fuentes de origen distintas desde la que el usuario ha llegado a la web</p>
<p>La cookie cuenta una visita nueva por sesión, que por defecto expira cada 30 minutos de inactividad o cuando se cierra el navegador. Si la visita actual tiene origen distinto de tráfico directo, es decir, tiene como origen un referral o un buscador, la cookie existente se sobrescribirá con la nueva fuente de origen. No ocurre lo mismo si la visita actual tiene tráfico directo y la cookie existente tiene otro origen distinto.</p>
<p style="text-align: center;"><img class="size-full wp-image-21 aligncenter" title="cookies-weterede" src="http://www.weterede.com/wp-content/uploads/2009/02/cookies-weterede.png" alt="Cookies de Weterede! en Firefox" width="487" height="328" /></p>
<p>Lo veremos mejor con un ejemplo. Un usuario visita la web tres veces y en este orden: desde un enlace de otra página (referral), mediante tráfico directo y por último desde un buscador. La cookie __utmz tendrá un valor XXX.YYY.3.2, que indicará que es la tercera vez que visitamos la web pero sólo hemos usado dos fuentes de tráfico. El acceso directo a la web, introduciento la dirección directamente en el navegador, lo ha contado como si fuera un referral.</p>
<p>¿Se puede considerar que Google con la configuración por defecto nos indica correctamente estadísticas sobre nuestros usuarios fidelizados? Yo creo que no.</p>
<h3>Artículos relacionados:</h3>
<ul>
<li> <a title="Google Analytics vs XiTi" rel="nofollow" href="http://francoisderbaix.com/2009/02/17/google-analytics-vs-xiti-como-miden-el-origen-de-las-visitas/">Google Analytics vs XiTi: cómo miden el origen de las visitas</a></li>
<li><a title="Google Analytics…¿resulta que no es el único patito feo?" rel="nofollow" href="http://trucosgoogleanalytics.com/index.php/google-analytics-y-los-demas/">Google Analytics… ¿resulta que no es el único patito feo?</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.weterede.com/2009/02/google-analytics-y-la-cookie-utmz/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

