Entradas etiquetadas ‘web

TweetHace algún tiempo leí un estudio que indicaba que los usuarios de Gmail son más jóvenes y más ricos que los del resto de los servicios de correo, el 54% de los usuarios de Gmail tienen entre 18 y 34 años por un 42% de Yahoo! Mail y un 44% de Hotmail. Estudio Hiwise En [...]

Estas son algunas reglas básicas a la hora de desarrollar un buen “producto web”, probablemente si desarrollas aplicaciones con asiduidad tienes en cuenta algunas de ellas pero si no las conoces y te gustaría empezar un proyecto seguro que te vendrá bien echarle un vistazo.

Desconfia de los usuarios

Suena duro pero es la verdad, no quiero decir con esta afirmación que todos los usuarios sean maliciosos pero lo que si es cierto es que mientras más desconfies más preparado estarás cuando algo no deseado suceda, intenta comprometer lo menos posible tu aplicación evitando todos aquellos agujeros de seguridad que esten en tu mano, tambien es importante que no te centres unicamente en la seguridad… ten en cuenta que muchos usuarios por desconocimiento de la aplicación harán un uso incorrecto de la misma, un buen ejemplo de ello lo tenemos a la hora de rellenar los formularios, hay que asegurarse y validar todos los datos introducidos por los usuarios.

¿Que le falta a Google Chrome?, pues si desarrollas aplicaciones web la respuesta en el 90% de los casos es a Google Chrome le falta Firebug.

Google Chrome ha mejorado mucho en poco tiempo y principalmente gracias a las extensiones, aunque todavía queda mucho por mejorar y faltan un gran número de extensiones que son muy populares en Firefox la verdad es que Google Chrome está mejorando muy rápidamente.

Firebug Lite para Chrome

Es una versión un poco más liviana que la de Firefox, Firebug Lite para Google Chrome es el primer paso para convertir al navegador en una herramienta más potente para programadores y diseñadores. Con ella podremos realizar las mismas acciones sobre HTML, DOM, CSS y más.

Posee integración con la barra de herramientas, opción de activar Firebug para algún dominio en particular.

Todavía Firebug Lite no dispone de algunas funcionalidades esenciales

Todavía le falta la posibilidad de leer recursos externos, el debugger de JavaScript y el Net Panel, seguramente en la próxima versión todo esto se solucione.

Descargar Firebug Lite para Google Chrome

¿Utilizarías Google Chrome como navegador para trabajar?

Seguro que has escuchado infinidad de veces que Google Chrome es el navegador perfecto pero que no dispone de las extensiones y complementos necesarios para poderlo utilizar como navegador principal a la hora de trabajar, Chrome hasta el momento admitía los complementos necesarios para navegar por Internet sin problemas (Flash, Acrobat Reader, Java, Windows Media Player, Real Player, Quicktime, etc…), pero muchos usuarios necesitan poder personalizar el navegador acorde con sus necesidades, este es sin duda el punto fuerte de Mozilla Firefox su gran competidor si atendemos al perfil de usuario de ambos navegadores, por el momento la batalla con la gran mayoría de los usuarios está perdida ya que estos usuarios utilizaran Internet Explorer al tratarse del navegador por defecto, nunca mejor dicho lo de defecto.

Por lo tanto estamos de acuerdo en que los complementos dotan a los navegadores de mayor versatilidad, ofreciendo a los usuarios una mejor experiencia y añadiendo nuevas características y opciones de navegación.

La llegada de las extensiones a Chrome lo convierten en una gran alternativa

Gracias a las extensiones Google Chrome va a conseguir poco a poco ir comiendo terreno a Firefox, queda pendiente ver si las extensiones poco a poco deterioran el rendimiento del navegador, la verdad es que aún muchas extensiones no igualan en funcionalidades a las desarrolladas para Firefox y son la gran mayoría mucho más livianas, este hecho nos permite que el navegador siga funcionando rápido y fluido pero por otro lado en muchas ocasiones estas extensiones se quedan un poco cortas si lo que queremos es prescindir totalmente de Firefox y más aún si trabajas diseñando o programando aplicaciones web.

Top 10 extensiones Google Chrome

Ahora que Google ha prometido un gran número de extensiones en su nueva versión del navegador, veremos muchas listas que nos recomendarán las mejores extensiones del momento.

Veamos 10 extensiones que podemos usar con Google Chrome y que nos permiten aumentar nuestra productividad diseñando y programando aplicaciones.

Los usuarios visualizan de manera rápida y superficial los sitios web que visitan, este tipo de comportamiento a menudo provoca el abandono inmediato de la página en caso de que no se adecue o no le parezca relevante al usuario.

Además de ello tenemos el problema de los tiempos de espera, la percepción de los tiempos de espera según datos empíricos previos (Miller, 1968):

  • 0,1 segundos, el usuario tiene la percepción de respuesta inmediata.
  • 1 segundo, a partir de este punto el usuario empieza a no percibir la respuesta como instantánea.
  • 10 segundos es el límite de mantenimiento de la atención por parte del usuario.

Internet un medio de resultados inmediatos

Como se puede ver Internet es un medio en la que los usuarios quieren resultados inmediatos, cada vez los usuarios tienen menos intención de aprender, leer o esforzarse para obtener los resultados deseados, si a esto le sumamos el gran abánico de alternativas que se ofrecen para cada tipo de necesidad en Internet tenemos un sistema en el que se puede conseguir lo que desees de manera inmediata, por lo tanto necesitamos si desarrollas o administras un sitio web necesitas ofrecer la información de una manera inmediata y disponer de un diseño usable que sea capaz de dar la sensación al usuario de que “este es el sitio que buscabas”, de lo contrario seguramente la visita del usuario durara breves segundos y buscará una alternativa para satisfacer sus necesidades.

Un interesante estudio indica que los usuarios parecen ser más tolerantes con el tiempo de descarga de una web si están cumplimentando un cuestionario (Integrating User-Perceived Quality into Web Server Design). Los usuarios parecen comprender que se requieren ciertos procesos complejos de almacenamiento de la información y no son tan impacientes.

La importancia de los tiempos de espera

Es interesante también que a menudo los usuarios parecen ser más tolerantes con el tiempo de espera en un sitio web cuando están realizando procesos aparentemente complejos, como puede ser el envio de un formulario, los usuarios parece que comprenden que hay determinados procesos complejos de almacenamiento y no se comportan de manera impaciente, del mismo modo el entorno de la espera también puede llegar a afectar a la percepción que el usuario tiene ante tiempos de espera cortos o largos.

Los usuarios pueden llegar a percibir que la duración del tiempo de espera es mayor o menor de lo que en realidad es, por ejemplo ante un tiempo de espera elevado si ofrecemos información al usuario sobre lo que esta ocurriendo durante el tiempo de espera (barra de progreso ó información sobre el proceso) podemos llegar a conseguir que realmente crea que ha esperado menos tiempo del que realmente ha estado esperando, del mismo modo un entorno que le genere impaciencia o ansiedad hará que piense que ha estado esperando demasiado tiempo.

¿Cuál es el tiempo de carga adecuado para una página web?

Depende obviamente del servicio que ofreces, yo pienso que el tiempo de espera máximo para un usuario nuevo que no haya visitado previamente el sitio web el tiempo de espera máximo tolerable es de 2 segundos, si por el contrario lo ha visitado anteriormente seguramente podemos extender ese tiempo hasta 4 segundos.

Tambien debemos tener en cuenta la acción que el usuario está realizando en el sitio web, como hemos explicado anteriormente los usuarios son más tolerables a tiempos de espera altos en aquellos procesos que entienden requieren de un mayor tiempo de ejecución; envios de formulario, búsquedas, descarga de archivos ó imagenes son ejemplos de páginas en las que un usuario seguramente estaría dispuesto a tener tiempos de espera mayores a 10 segundos, siendo fundamental como hemos comentado proveer de mecanismos cómo las barras de progreso que hacen que el usuario no se impaciente, y espere el tiempo necesario para la carga de la página.

Por lo tanto y resumiendo Internet es un medio en el que el usuario espera resultados inmediatos y en casos muy particulares esta dispuesto a esperar para obtener resultados, por ello para fijar y optimizar los requisitos de calidad de nuestro sitio web necesitamos saber el tipo de usuario y el tipo de contenido que ofrecemos que nos va a ayudar a fijar el tiempo máximo de espera al que debemos someter al usuario.

No, no se trata de un baile que mejora el rendimiento de PHP sino de un proyecto Open Source de Facebook que comenzó hace 2 años debido a que las funcionalidades existentes para optimizar PHP se antojaban insuficientes.

HipHop se trata de una especie de transformador de código fuente que toma el PHP y lo convierte en C++ para ser compilado con g++, para explicarlo de una manera rápida y sencilla podríamos decir que HipHop permite que cualquier desarrollador pueda escribir código PHP pero que el código final se ejecute con el rendimiento que ofrecería el código de un programador experto, el resultado es una mejora de rendimiento del 50%.

Y es que Facebook poco a poco irá siendo a PHP lo mismo que Google es a Python, si lo pensamos es realmente positivo cuando una gran empresa que utiliza una tecnología sobre la que depende su negocio se dedica a mejorar dicha tecnología no sólo para beneficiarse ellos mismo sino para beneficiar a la comunidad de desarrolladores y consumidores de dicha tecnología.

Para entenderlo mejor primero hay que saber como funciona PHP, PHP es un lenguaje de programación interpretado como Ruby, Python y Perl, esto es genial para la productividad de los desarrolladores porque no es necesario compilar el código pero tiene por contra unos requerimentos de memoria y consumos de CPU mayores que un lenguaje compilado como es el caso de C++, por lo tanto HipHop al tranformar el código PHP a código C++ nos permite disfrutar de lo mejor de ambos lenguajes.

¿Cómo ha mejorado HipHop a Facebook?

  • Web — 50% menos de consumo de CPU con el mismo tráfico
  • API — 30% menos de consumo de CPU con el doble de tráfico

La mejora de rendimiento de Facebook ha sido probada de manera progresiva en sus propios servidores y ahora un 90% de los servidores de Facebook utilizan HipHop, la mejora cómo hemos vistos se divide en mejoras relacionadas con al Web y relacionadas con el uso de la API, la clave para la diferencia de mejora entre Web y API radica en que la Web requiere operaciones más complejas que la API.

¿Hay algún tipo de limitación?

Con HipHop no podrás utilizar funciones como eval() y create_function(), la naturaleza dinámica de estas funciones hace imposible su conversión a código C++, sin embargo estas funciones no son de las más populares entre los desarrolladores de PHP.

Actualmente HipHop no puede ser ejecutado en Apache pero se trabaja en ello.

¿Dónde puede encontrarlo?

HipHop será liberado dentro de poco pero por el momento nos tenemos que conformar con la entrada en el blog de Facebook o con esta presentación.

Me gustaría que dejaraís vuestra opinión sobre el tema y si alguien tiene información adicional que la aporte ya que creo que se trata de una excelente noticia y más aún tratándose de PHP que como hemos comentado anteriormente se trata de un lenguaje de programación tremendamente flexible pero muy difícil de escalar cuando hablamos de sitios web de gran tráfico.