<?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>Codigo Manso &#187; Web</title>
	<atom:link href="http://www.codigomanso.com/es/category/diseno/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codigomanso.com</link>
	<description>Programación, informática y tecnología</description>
	<lastBuildDate>Sun, 21 Aug 2011 10:54:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Nueva web para jugar a juegos Flash</title>
		<link>http://www.codigomanso.com/es/2010/02/new-web-for-playing-flash-games/</link>
		<comments>http://www.codigomanso.com/es/2010/02/new-web-for-playing-flash-games/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 10:07:12 +0000</pubDate>
		<dc:creator>Pau Sanchez</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Ingenieria del Software]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[adsense]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[juegos]]></category>
		<category><![CDATA[nextgamegen]]></category>
		<category><![CDATA[shareusers]]></category>

		<guid isPermaLink="false">http://www.codigomanso.com/es/?p=837</guid>
		<description><![CDATA[
Hace tiempo que tenía en mente hacer una web de juegos. Al final me he decantado por juegos en Flash.
La verdad es que últimamente ando bastante liado con otras cosas que no tienen nada que ver con los juegos, pero este Sábado pasado, a medio día, me puse un reto personal. Me dije: &#8220;A ver [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.nextgamegen.com/"><img class="size-full wp-image-838 aligncenter" title="Logo de NextGameGen" src="http://www.codigomanso.com/wp-content/uploads/2010/02/nextgamegen-logo-black.jpg" alt="" width="432" height="68" /></a></p>
<p style="text-align: justify;">Hace tiempo que tenía en mente hacer una web de juegos. Al final me he decantado por juegos en Flash.</p>
<p style="text-align: justify;">La verdad es que últimamente ando bastante liado con otras cosas que no tienen nada que ver con los juegos, pero este Sábado pasado, a medio día, me puse un reto personal. Me dije: &#8220;A ver si soy capaz de hacer la web antes de que acabe el fin de semana&#8221;.</p>
<p style="text-align: justify;">Así que, dicho y hecho. Ha nacido <a href="http://www.nextgamegen.com/">NextGameGen</a>.</p>
<p style="text-align: justify;">He hecho toda la web (incluso la parte que se encarga de subir los juegos) entre el Sábado por la tarde (unas 4 horas), el Domingo por la mañana (otras 4 horas) y el Domingo por la tarde/noche (otras 8 horas). Como no podía estar el 100% del tiempo delante del ordenador, cuando estaba era en plan superintensivo.</p>
<p style="text-align: justify;">La verdad es que estoy bastante contento con el resultado. <strong><em>En 16 horas una web de juegos desde cero. </em></strong>Únicamente le he dedicado 45 minutos más hoy, para añadir los botones de compartir en Facebook &amp; amigos, poner algo de publicidad, y corregir 4 bugs tontos.</p>
<p style="text-align: justify;">Sé que hay muchas cosas mejorables (todo llegará), y que hay un par de bugs invisibles para el ojo humano, pero de momento el que quiera ya puede jugar. La web es 100% funcional.</p>
<p style="text-align: justify;">Incluso recomienda algunos juegos relacionados, según el juego al que juegues (el algoritmo es bastante mejorable).</p>
<p style="text-align: justify;">Pues nada más, ahora voy a ver si aumento las visitas de mi web con <a href="http://www.shareusers.com">ShareUsers</a>, que para los que no lo conoceis, es una web cojonuda para intercambiar enlaces de forma gratuita y automática y conseguir muchas más visitas (ya os contaré más sobre esto).</p>
<p style="text-align: justify;">Lo dicho, podéis <a href="http://www.nextgamegen.com/" target="_blank">viciaros un rato en la web de juegos</a>, y aquí estoy para cualquier crítica o sugerencia que querais hacer <img src='http://www.codigomanso.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.codigomanso.com/es/2010/02/new-web-for-playing-flash-games/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Stay signed in</title>
		<link>http://www.codigomanso.com/es/2009/10/stay-signed-in/</link>
		<comments>http://www.codigomanso.com/es/2009/10/stay-signed-in/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 09:30:35 +0000</pubDate>
		<dc:creator>Pau Sanchez</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Usabilidad]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[rememberme]]></category>
		<category><![CDATA[sign in]]></category>

		<guid isPermaLink="false">http://www.codigomanso.com/es/?p=709</guid>
		<description><![CDATA[
Acabo de leer un breve artículo en el que se aboga por dejar siempre marcado el botón de permanecer loggueado.  Me gusta la idea, es una chorrada, pero ¡Tomo nota!
Básicamente hay quien se pregunta si ha llegado el momento de eliminar el botón de permanecer logueado, teniendo las páginas web que recordar siempre a los [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img style="float: left; margin-right: 8px; margin-bottom: 4px;" src="http://img.usabilitypost.com/0910/google_reader_login.png" alt="" /><br />
Acabo de leer un breve artículo en el que se aboga por<a href="http://www.usabilitypost.com/2009/10/05/remember-me/" target="_self"> dejar siempre marcado el botón de permanecer loggueado</a>.  Me gusta la idea, es una chorrada, pero ¡Tomo nota!</p>
<p style="text-align: justify;">Básicamente hay quien se pregunta si <a href="http://37signals.com/svn/posts/1920-has-the-time-come-to-kill-the-remember-me" target="_blank">ha llegado el momento de eliminar el botón de permanecer logueado</a>, teniendo las páginas web que recordar siempre a los usuarios. Pero claro, esto tiene sus problemas, ya que compromete la seguridad de las personas.</p>
<p style="text-align: justify;">Me pongo en la piel del usuario medio:</p>
<p style="text-align: justify;">Imagina que te vas a un sitio público (universidad, &#8230;) o no tan público (casa de un familiar, de un amigo, &#8230;) y se te ocurre entrar en una página web con tu usuario, luego cierras el navegador, y&#8230; <strong>oh! no!! se te ha olvidado desloguearte de esa web!!</strong> Qué cabeza la tuya, ahora si alguien abre el navegador y entra en esa página, automáticamente entrará en tu cuenta, y <strong>¡dios sabe lo que guardas ahí!</strong> Han tenido acceso a tus datos y probablemente tu ni te hayas enterado<strong>.<br />
</strong></p>
<p style="text-align: justify;">Básicamente, por lo que abogan en esta web, es hacer lo que hace Google desde algún tiempo (Google por aquí, Google por allá, siempre sale Google, seguro que hay mil empresas que empezaron a hacer esto antes que Google, que pena que no tengan tanta visibilidad). Pues bien, la idea es básicamente dejar marcado por defecto este botón de &#8220;recuerdame&#8221;, ya que, probablemente, esta acción complace a la mayoría de las personas, y si a una no le complace, es tan fácil como desmarcar el checkbox.</p>
<p style="text-align: justify;">La verdad, es que meditandolo un poco, quizás no haría que siempre esté marcado, quizás lo que haría es que la web recordara la última opción del usuario, de tal manera que la primera vez que alguien visitara la web, este botón apareciera desmarcado. Es decir, por poner un ejemplo:</p>
<p style="text-align: justify;">El usuario pepe (se acaba de registrar) entra a la web, el botón está desmarcado. Pepe, que se conecta desde casa, y no le gusta andar poniendo el password cada dos por tres, marca el botón de &#8220;recordarme&#8221;. Tres dias más tarde, se desloguea de la web. La siguiente vez que entra le aparece el botón de &#8220;Entrar&#8221; con el checkbox de recordarme marcado, porque la última vez entro de esta manera (en ese navegador).</p>
<p style="text-align: justify;">Si lo desmarca esta vez, la próxima vez que intente entrar, este botón aparecerá desmarcado.</p>
<p style="text-align: justify;">Sí, definitivamente creo que esta es la manera más conveniente de implementar el &#8220;Recuerdame&#8221;.</p>
<p style="text-align: justify;"><strong>Conclusión:</strong></p>
<p style="text-align: justify;">Si hay poco tiempo para implementar, tonterias pocas, se deja como marcado y listo. Si tienes tiempo para pensar en las musarañas, o  escribir o leer artículos como este, entonces creo que la mejor forma es la que he descrito al final, un &#8220;recuerdame&#8221; que recuerde la última opción del usuario en cada máquina.</p>
<p style="text-align: justify;">Esta es mi conclusión, ¿tú que opinas?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codigomanso.com/es/2009/10/stay-signed-in/feed/</wfw:commentRss>
		<slash:comments>81</slash:comments>
		</item>
		<item>
		<title>Pensamientos sobre diseño y usabilidad</title>
		<link>http://www.codigomanso.com/es/2009/03/pensamientos-sobre-diseno-y-usabilidad/</link>
		<comments>http://www.codigomanso.com/es/2009/03/pensamientos-sobre-diseno-y-usabilidad/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 15:49:42 +0000</pubDate>
		<dc:creator>Pau Sanchez</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[fallos de diseño]]></category>
		<category><![CDATA[Usabilidad]]></category>

		<guid isPermaLink="false">http://www.codigomanso.com/es/?p=614</guid>
		<description><![CDATA[Mi capacidad de abstracción conceptual es, creo, bastante decente, sin embargo mi capacidad de diseño, por qué no decirlo, está atrofiada.
Por una parte creo que soy pésimo diseñando webs (a nivel gráfico), sin embargo creo que me estoy volviendo bastante bueno en cuanto a usabilidad se refiere (mis horas me está costando).
Conseguir un interfaz que [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Mi capacidad de abstracción conceptual es, creo, bastante decente, sin embargo mi capacidad de diseño, por qué no decirlo, está atrofiada.</p>
<p style="text-align: justify;">Por una parte creo que soy pésimo diseñando webs (a nivel gráfico), sin embargo creo que me estoy volviendo bastante bueno en cuanto a usabilidad se refiere (mis horas me está costando).</p>
<p style="text-align: justify;">Conseguir un interfaz que sea agradable a la vista e intuitivo en cuanto a usabilidad no suele ser fácil. Sobretodo porque muchas veces nuestra perspectiva está limitada, vivimos en nuestro mundo y creemos, de forma inconsciente, que los demàs piensan y razonan como nosotros. Obviamente esto no es así <img src='http://www.codigomanso.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: justify;">El tema de usabilidad, al igual que el diseño,  puede ser considerado un arte. Si bien no hay recetas mágicas que nos digan como hacer que un determinado diseño sea bonito y usable, si que hay ideas y conceptos que nos pueden ayudar.</p>
<p style="text-align: justify;">El libro de<a href="http://www.amazon.co.uk/Dont-Make-Me-Think-Usability/dp/0321344758/" target="_blank"> Don&#8217;t Make Me Think</a> es un clásico, y es de lectura obligada, tanto para diseñadores como para programadores. El concepto que se me ha quedado del libro (varios años depués de haberlo leido) es el mismo que reza su título, <strong>no me hagas pensar</strong>. Si quieres que un usuario se sienta agusto en tu página web, no lo agobies con muchos enlaces, no pongas menús con 200 acciones posibles, si el usuario quiere hacer algo que lo encuentre fácil y lo pueda hacer en par de clicks. <strong>Cuantos menos clicks tenga que hacer y cuanto menos le hagamos pensar mucho mejor.</strong> Que la navegación por la página sea como un acto reflejo <img src='http://www.codigomanso.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;">Por otra parte, hace tiempo empecé a leer otro libro, que por cierto no he terminado, titulado <a href="http://www.amazon.co.uk/Design-Everyday-Things-Don-Norman/dp/0465067107/" target="_blank">The design of everyday things</a>. Este otro libro, aunque está pensado y escrito desde la perspectiva de alguien que está diseñando cosas tangibles, cosas para el mundo real, es otro libro muy muy recomendable. Después de leer varios capítulos de este libro se me abrió un poco más la mente. Ahora soy consciente de que uno tiene que diseñar cosas de tal manera que las personas que las usen ni siquiera se den cuenta de que están ahi.</p>
<p style="text-align: justify;">Seguramente más de uno se preguntará, por qué diseñar algo para que luego el usuario ni siquiera se de cuenta. La razón es muy sencilla, viene de la parte de usabilidad de un diseño, <strong>es muy fácil darse cuenta cuando algo está mal, cuando algo cuesta, pero si va bien uno ni se entera.</strong></p>
<p style="text-align: justify;">Por poner un ejemplo del mundo real, ¿no os ha pasado alguna vez, que intentais usar un determinado aparato o utensilio y siempre empezais a hacerlo mal? Ya no digo que no sea intuitivo, si no que sabiendo que se hace de la forma X vosotros lo empezais a hacer de la forma Y, y cuando os dais cuenta rectificais.</p>
<p style="text-align: justify;">Pensad en el siguiente ejemplo superevidente de fallo garrafal. Imaginad que teneis un bote de mermelada que quereis abrir, y resulta que os poneis a abrir, a abrir, haceis fuerza y no hay manera. No se abre. Cogeis un paño de cocina por encima de la rosca, le dais le dais, nada. Cogeis un cuchillo, le dais golpecitos. Nada, que no se abre. ¿Por qué no se abre esta maldita mermelada? Resulta que la marca hace las roscas al revés, por lo tanto el sentido intuitivo que habeis desarrollado para abrir el bote, resulta que  lo cierra, mientras que cerrarlo lo abre.  Seguro que no volveis a comprar esa marca. <em>Lo lógico es que las roscas, al igual que los tornillos, giren todas en el mismo sentido para evitar problemas de usabilidad.</em></p>
<p style="text-align: justify;">Ahora un fallo no tan evidente que habreis observado más de una vez, si no en vuestra propia casa, en la de algún amigo/a (si no lo habeis observado probablemente no lo entendereis). No os ha pasado querer enchufar una determinada luz de la casa (la luz de un pasillo, del salón, etc&#8230;), y  resulta que encendeis otra. Y resulta que llevais años viviendo en la casa, y/o yendo a esa casa, y casi siempre os equivocais.  Pues bien, os hago saber que <strong>no es culpa vuestra</strong>. Vereis que le pasa también a más gente al utilizar esos interruptores. Normalmente, suele ocurrir en interruptores que controlan dos luces, y resulta que la luz más cercana a la puerta/habitación es la que enciende la luz más alejada (esto es lo que yo he observado al menos). Lección que podemos aprender:<em> si</em><em> un usuario mete la pata una y otra vez, a pesar de que es consciente y sabe como se tiene que hacer, el diseño falla.</em></p>
<p style="text-align: justify;">Por cambiar el chip y dar un ejemplo de un buen diseño, siguiendo con el mundo real,  un gran acierto en diseño que me viene a la cabeza ahora mismo, son los muebles de IKEA. Dios mio, ¡¡¡que no tienen instrucciones!!! ¡¡¡Son 5 dibujitos!! Probablemente muchos de los muebles se puedan montar sin siquiera mirar instrucciones. ¿Por qué? A parte de que los dibujos de las instrucciones son muy sencillitos,  <em>creo que la razón principal es que si  lo intentas montar mal, <strong>¡las piezas no encajan!</strong> </em>En los muebles de IKEA suele haber muy pocas combinaciones para montar algo. Sinceramente, dudo mucho que la gente de IKEA deje al azar el tema de que tornillos usar para encajar las distintas piezas en cada uno de sus muebles. Esta gente sabe lo que se hace. Sabe de usabilidad.</p>
<p style="text-align: justify;">Hasta donde yo soy consciente hoy día, los aciertos en diseño son muy dificiles de detectar, y sin embargo detectar cuando algo le falla a un diseño es algo bastante fácil. Si sientes, aunque no sepas el motivo, que a un diseño le falla algo, es porque con un 99% de certeza, le falla algo.</p>
<p style="text-align: justify;">El problema con los diseños, como he dicho al principio, es que son un arte, y tu puedes saber que está fallando X, pero señores, no hay receta para saber como arreglarlo. Depende de cada situación (imagino que habrá patrones de diseño para evitar errores comunes en determinadas areas).</p>
<p style="text-align: justify;">Finalmente, recordad esto: si el usuario tiene que pararse a buscar que es lo siguiente que tiene que hacer, si tiene demasiadas opciones, si no encuentra lo que busca, si tiene que hacer varios clicks o navegar por varias páginas hasta llegar a donde quiere, o si el usuario siempre comete algún tipo de error una y otra vez,<em><strong> </strong></em>entonces<em><strong> el diseño, amigos mios, es mejorable.</strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codigomanso.com/es/2009/03/pensamientos-sobre-diseno-y-usabilidad/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Donde está el cursor?</title>
		<link>http://www.codigomanso.com/es/2009/02/where-is-the-cursor-or-cursor-in-a-textarea-or-input/</link>
		<comments>http://www.codigomanso.com/es/2009/02/where-is-the-cursor-or-cursor-in-a-textarea-or-input/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 09:13:28 +0000</pubDate>
		<dc:creator>Pau Sanchez</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[caret]]></category>
		<category><![CDATA[cursor]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.codigomanso.com/es/?p=548</guid>
		<description><![CDATA[Buscando y buscando, me acabo de encontrar con una web que tiene un ejemplo muy interesante y que nos dice dónde está el cursor en un input o textarea en cada momento, y además permite saber cual es el texto seleccionado (si es que lo hay).
La verdad es que no es algo que a uno [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://javascript.nwbox.com/cursor_position/" style="float:left; margin: 0 8px 4px 0;"><img src="http://www.codigomanso.com/wp-content/uploads/2009/02/where-is-the-cursor.png" alt="Where is the cursor?" title="Where is the cursor?" width="300" height="290" class="alignnone size-full wp-image-552" /></a>Buscando y buscando, me acabo de encontrar con una web que tiene un ejemplo muy interesante y que nos dice <a href="http://javascript.nwbox.com/cursor_position/">dónde está el cursor en un input o textarea en cada momento</a>, y además permite saber cual es el texto seleccionado (si es que lo hay).</p>
<p>La verdad es que no es algo que a uno le haga falta todos los días, pero a mi me hacía falta y me ha resuelto el problema.</p>
<p>En el ejemplo que hay en dicha página se usan las funciones <b>getSelectionStart</b> y <b>getSelectionEnd</b>. La primera nos dice donde está el cursor, mientras que la segunda nos dice dónde finaliza la selección (siempre y cuando getSelectionEnd devuelva un valor distinto a getSelectionStart).</p>
<p>A continuación teneis estas dos funciones:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> getSelectionStart<span style="color: #009900;">&#40;</span>o<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>o.<span style="color: #660066;">createTextRange</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #003366; font-weight: bold;">var</span> r <span style="color: #339933;">=</span> document.<span style="color: #660066;">selection</span>.<span style="color: #660066;">createRange</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">duplicate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   r.<span style="color: #660066;">moveEnd</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'character'</span><span style="color: #339933;">,</span> o.<span style="color: #660066;">value</span>.<span style="color: #660066;">length</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>r.<span style="color: #660066;">text</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #000066; font-weight: bold;">return</span> o.<span style="color: #660066;">value</span>.<span style="color: #660066;">length</span><span style="color: #339933;">;</span>
   <span style="color: #000066; font-weight: bold;">return</span> o.<span style="color: #660066;">value</span>.<span style="color: #660066;">lastIndexOf</span><span style="color: #009900;">&#40;</span>r.<span style="color: #660066;">text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066; font-weight: bold;">return</span> o.<span style="color: #660066;">selectionStart</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> getSelectionEnd<span style="color: #009900;">&#40;</span>o<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>o.<span style="color: #660066;">createTextRange</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #003366; font-weight: bold;">var</span> r <span style="color: #339933;">=</span> document.<span style="color: #660066;">selection</span>.<span style="color: #660066;">createRange</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">duplicate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 r.<span style="color: #660066;">moveStart</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'character'</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span>o.<span style="color: #660066;">value</span>.<span style="color: #660066;">length</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #000066; font-weight: bold;">return</span> r.<span style="color: #660066;">text</span>.<span style="color: #660066;">length</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #000066; font-weight: bold;">return</span> o.<span style="color: #660066;">selectionEnd</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.codigomanso.com/es/2009/02/where-is-the-cursor-or-cursor-in-a-textarea-or-input/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Edit in place: el concepto</title>
		<link>http://www.codigomanso.com/es/2008/12/edit-in-place-el-concepto/</link>
		<comments>http://www.codigomanso.com/es/2008/12/edit-in-place-el-concepto/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 11:16:13 +0000</pubDate>
		<dc:creator>Pau Sanchez</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[edit in place]]></category>

		<guid isPermaLink="false">http://www.codigomanso.com/es/?p=359</guid>
		<description><![CDATA[En estos últimos años han aparecido muchos conceptos e ideas para facilitar la interacción del usuario con la web, yo diría que desde el momento en que se pueden realizar llamadas asíncronas a servidores web.
Uno de estos conceptos es el &#8220;edit in place&#8221;, que no me atrevo a traducir, pero si me atreviera sería algo [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">En estos últimos años han aparecido muchos conceptos e ideas para facilitar la interacción del usuario con la web, yo diría que desde el momento en que se pueden realizar llamadas asíncronas a servidores web.</p>
<p style="text-align: justify;">Uno de estos conceptos es el &#8220;edit in place&#8221;, que no me atrevo a traducir, pero si me atreviera sería algo como &#8220;editar en el sitio&#8221;.</p>
<p style="text-align: justify;">El concepto de &#8220;edit in place&#8221; es muy simple. Se trata de convertir en editable un texto que a priori no lo es.  La idea de esto es evitar usar formularios o campos de formularios para que la información quede más bonita en pantalla, pero al mismo tiempo, permitiendo editar esa misma información sin tener que ir a otra página.</p>
<p style="text-align: justify;">En Google, Flickr y otros muchos sitios lo usan desde hace tiempo.</p>
<p style="text-align: justify;">A continuación un ejemplo de Google Analytics:</p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-383" title="Analytics Account view" src="http://www.codigomanso.com/wp-content/uploads/2008/12/analytics-default1.png" alt="Analytics Account view" width="385" height="185" /></p>
<p style="text-align: justify;">Como se puede ver, al cargar la página de Analytics sale un listado con todas las cuentas e información asociada a cada una de ellas (información que he borrado y aparece en blanco).</p>
<p style="text-align: justify;">A priori no hay nada editable, sin embargo si pongo el ratón encima de <a href="http://www.artypist.com" target="_self">Artypist</a> (puesto que visualmente parece un enlace), resulta que cambia el estilo de esa celda, y me aparece un botón con un  lapiz dibujado (claramente me está diciendo, si me pinchas me convierto en editable). Vease la siguiente imágen:</p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-384" title="Se va a convertir en editable si pulso el botón" src="http://www.codigomanso.com/wp-content/uploads/2008/12/analytics-edit-button.png" alt="Se va a convertir en editable si pulso el botón" width="387" height="112" /></p>
<p style="text-align: justify;">Finalmente, puedo optar por pinchar en Artypist y seguir el enlace, o bien pulsar el botón de editar. Si finalmente lo pincho, tendríamos el edit-in-place:</p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-385" title="Edit-in-place en Google Analytics" src="http://www.codigomanso.com/wp-content/uploads/2008/12/analytics-edit-in-place.png" alt="Edit-in-place en Google Analytics" width="288" height="36" /></p>
<p style="text-align: justify;">Como veis, el texto de &#8220;Artypist&#8221; en azul se ha cambiado por un text input, y me ha aparecido el botón de Save y Cancel.</p>
<p style="text-align: justify;">El problema de utilizar los edit in place, es que los campos que son editables y los que no lo son, a priori son indistinguibles, por lo que hay que establecer pistas visuales que ayuden al usuario a identificarlos fácilmente. Por ejemplo usar un color distinto, poner un Edit pequeñito, poner un botón, que al pasar el ratón por encima aparezca el botón&#8230;</p>
<p style="text-align: justify;">En el caso de Google Analytics, para este ejemplo en concreto, se puede ver que necesariamente tengo que pasar el ratón por encima de Artypist  y el hecho de que se me ilumine esa celda y me aparezca un botoncito con un lapiz, es un claro signo de que ese campo es editable. Está bien pensado porque necesariamente tengo que pasar el ratón por encima para seguir viendo estadísticas.</p>
<p style="text-align: justify;">La otra cosa que me gusta, es que cuando el campo se convierte en editable, me aparece el botón de guardar y la palabra &#8220;cancelar&#8221; a la derecha, y esto es algo que visualmente no deja lugar a dudas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codigomanso.com/es/2008/12/edit-in-place-el-concepto/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Rounded corners en CSS3</title>
		<link>http://www.codigomanso.com/es/2008/12/rounded-corners-en-css3/</link>
		<comments>http://www.codigomanso.com/es/2008/12/rounded-corners-en-css3/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 18:47:56 +0000</pubDate>
		<dc:creator>Pau Sanchez</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[esquinas redondeadas]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[rounded corners]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://www.codigomanso.com/es/?p=323</guid>
		<description><![CDATA[Que las esquinas redondeadas están soportadas por CSS3, es algo que sé desde hace tiempo, lo que no me había dado cuenta es que ya funcionan en algunos navegadores (incluso desde hace más de 1 año).
Según la especificación, debería bastar con definir &#8220;border-radius&#8221; a los pixeles deseados, lamentablemente los navegadores aún no soportan los atributos [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Que las<a href="http://www.w3.org/TR/css3-background/" target="_self"> esquinas redondeadas están soportadas por CSS3</a>, es algo que sé desde hace tiempo, lo que no me había dado cuenta es que ya funcionan en algunos navegadores (incluso desde hace más de 1 año).</p>
<p style="text-align: justify;">Según la especificación, debería bastar con definir &#8220;border-radius&#8221; a los pixeles deseados, lamentablemente los navegadores aún no soportan los atributos estándar <img src='http://www.codigomanso.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>En cualquier caso, se pueden conseguir bordes redondeados tanto para mozilla, como para webkit, pero hay que usar &#8220;-moz-border-radius&#8221; para el primero, y &#8220;-webkit-border-radius&#8221; para el segundo.</p>
<p style="text-align: justify;">Después de hacer algunas pruebas, he visto que tanto Firefox 2, como Firefox 3, Safari 3.1 y Chrome lo soportan, mientras que tanto  Opera, como Internet Explorer (tanto IE6 como IE7) aún están rezagados (lo de Opera no me lo esperaba&#8230; aiss).</p>
<p style="text-align: justify;">
<p style="padding: 4px 8px; text-align: justify;-moz-border-radius: 10px; -webkit-border-radius: 10px; border:1px solid #83D13D; background: #af8;">Este texto deberías verlo con los bordes redondeados tanto en FF como en Safari.<br />
Si te fijas, no hay javascript, sólo he usado:<br />
<strong>-moz-border-radius: 10px;</strong><br />
<strong>-webkit-border-radius: 10px;</strong></p>
<p style="text-align: justify;">
<p>Lo que fastidia es que no se pueda hacer fácil con IE. ¿Que os parece el tema de las esquinas redondedas?<br />
]]></content:encoded>
			<wfw:commentRss>http://www.codigomanso.com/es/2008/12/rounded-corners-en-css3/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Tiempo de respuesta en una aplicación web</title>
		<link>http://www.codigomanso.com/es/2008/11/tiempo-de-respuesta-en-una-aplicacion-web/</link>
		<comments>http://www.codigomanso.com/es/2008/11/tiempo-de-respuesta-en-una-aplicacion-web/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 09:34:53 +0000</pubDate>
		<dc:creator>Pau Sanchez</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[diseño de interfaces web]]></category>
		<category><![CDATA[interfaces web]]></category>
		<category><![CDATA[tiempo de respuesta]]></category>
		<category><![CDATA[tinymce]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.codigomanso.com/?p=149</guid>
		<description><![CDATA[En cuanto a la usabilidad de una página web, un aspecto bastante importante es el tema del tiempo de respuesta. El tiempo de respuesta no es más que el tiempo que tiene que esperar el usuario para que salga la información, página, formulario, imagen, etc&#8230; que ha solicitado mediante algún click.
Normalmente es fácil encontrar partes [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">En cuanto a la usabilidad de una página web, un aspecto bastante importante es el tema del tiempo de respuesta. El tiempo de respuesta no es más que el tiempo que tiene que esperar el usuario para que salga la información, página, formulario, imagen, etc&#8230; que ha solicitado mediante algún click.</p>
<p style="text-align: justify;">Normalmente es fácil encontrar partes de una aplicación donde los tiempos de respuesta no son lo que deberían ser.</p>
<p style="text-align: justify;">Para ilustrar un poco de lo que hablo voy a hablar del editor TinyMCE que hay en WordPress 2.6.3 y de porqué opino que los botones de añadir media está mal diseñados.</p>
<p style="text-align: justify;">Cuando edito contenido y quiero meter una imágen en el post que estoy escribiendo, le doy al botón de añadir imagen:</p>
<p style="text-align: center;"><img class="size-full wp-image-150 aligncenter" title="Add media on wordpress" src="http://www.codigomanso.com/wp-content/uploads/2008/11/wp-add-media.jpg" alt="" width="370" height="94" /></p>
<p style="text-align: center;"><strong>Botones para añadir contenidos media en WordPress</strong></p>
<p style="text-align: center;">
<p style="text-align: justify;">El problema es que cuando hago click en ese botón, la aplicación no me muestra el formulario que yo he pedido, me muestra una barra de progreso como la siguiente:</p>
<p style="text-align: center;"><img class="size-full wp-image-151 aligncenter" title="Wordpress Progressbar" src="http://www.codigomanso.com/wp-content/uploads/2008/11/wp-add-media-progressbar.jpg" alt="" width="302" height="112" /></p>
<p style="text-align: center;"><strong>Barra de progreso al clicar en añadir imagen</strong></p>
<p style="text-align: center;">
<p style="text-align: justify;">Esta barra de progreso, me tiene esperando el diálogo durante unos segundos, hasta que finalmente, tras mi espera sale el diálogo esperado:</p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-153" title="Añadir imagen en WordPress" src="http://www.codigomanso.com/wp-content/uploads/2008/11/wp-add-image-form.jpg" alt="" width="500" height="446" /></p>
<p style="text-align: center;"><strong>Formulario para añadir imagen en WordPress</strong></p>
<p style="text-align: justify;">Ahora, habiendo visto que me tiene que salir un formulario, sabiendo que el servidor no tiene que precalcular nada, si no que simplemente tiene que enviarme los contenidos HTML de un formulario&#8230; ¿Porqué tengo que esperar 3 segundos?  ¿No puede la aplicación web símplemente embeder ese formulario en la página para que cuando yo haga click, me salga el formulario en 0 segundos? De hecho se ahorra una llamada al servidor.</p>
<p style="text-align: justify;">Incluso en el caso donde se tenga que hacer una llamada AJAX al servidor, ¿por que no cachear el formulario? Así la siguiente vez que haga click, para añadir la segunda, tercera y cuarta imagen, los tiempos de espera serían cero.</p>
<p style="text-align: justify;">Sin duda, son esos pequeños detalles, como los tiempos de respuesta, lo que hace que las aplicaciones web aún no estén a la altura de las aplicaciones de cliente de toda la vida. En cualquier caso, si uno se fija en la aplicación web que está desarrollando, normalmente no suele ser demasiado difícil darse cuenta de estos problemas y solucionarlos.</p>
<p style="text-align: justify;"><em><strong>Minimizar el tiempo de respuesta</strong> no es lo más importante de una web, y desde luego no es una prioridad en un producto, pero <strong>es una de esas cosas que hará que mejore la experiencia de usuario</strong>.</em> Es más, es de esas cosas que cuando el tiempo de respuesta es 0, el usuario no se entera, ni lo aprecia, pero cuando el tiempo de respuesta es de tan sólo unos segundos, frustra y martiliza a muchos muchos usuarios.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codigomanso.com/es/2008/11/tiempo-de-respuesta-en-una-aplicacion-web/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

