Que en paz descanse: Flash para móviles

Es oficial, Adobe quiere deshacerse pronto de Flash, con el anuncio que este ya no tendrá soporte oficial para móviles con Android 4.1 (Jelly Bean). No es una novedad, pero de todas formas acelerará el final del Flash player en Android.

Reproductor Flash de Vimeo

En mi Nexus One tuve instalado el Flash player casi solo por sitios de reseñas que aún usan reproductores propios. Para cualquier otra cosa, el 99% del contenido nunca fue optimizado para móviles, es decir, botones minúsculos pensados para un mouse. De hecho, el único que recuerdo que sea optimizado es el reproductor flash de Vimeo.

Hace unos años para hacer una interfaz animada en el web, Flash era la respuesta. ahora esto se puede hacer sin problemas con HTML5 (ejemplo), o incluso hasta mejor porque no se trabaja en “una ventana” de dimensiones fijas, sino se puede usar diseños adaptativos.

Si bien HTML5 no es la panacea universal, buena parte del contenido que existe en Flash se puede hacer en HTML5, y esto mismo puede usarse en el sitio principal, en lugar de mantener flash para desktops y html5 solo para móviles. Obvio que HTML5 no tendrá las mismas capacidades de Flash, pero la gente que las necesita es muy poca; para móviles la respuesta es irse por desarrollo de aplicaciones nativas, en el desktop Flash aún seguirá vivo por algunos años más.

Nuevos dominios de alto nivel

¿Recuerdan de esos proveedores de correo que ofrecían múltiples dominios? Como tuusuario@losabogados.org o tuusario@losmejores.info; Justo me recordé esto con la propuesta de la ICANN para agregar nuevas extensiones de dominio de primer nivel, que hasta ahora han recibido 1930 solicitudes para estas nuevas extensiones.

Continue reading “Nuevos dominios de alto nivel”

Windows 8 tendrá los mismos requerimientos de Windows 7

Según dicen, Windows 8 no necesitará más recursos de hardware que Windows 7, lo cual no sorprende con la considerable cantidad de netbook en el mercado, y el impulso que Microsoft pretende darle a las Tables con Win8 (bastante tarde, diría yo). Supongo que nos podemos olvidar que Win8 fuera liberado solo como 64-bits.

La locura de las versiones de Firefox

Mi navegador principal aún es Firefox, muchos de mis conocidos se movieron a Chrome, pero yo sigo con Firefox. ¿Mi excusa? Cualquier navegador sin Firebug (y otras de mis extensiones) me resulta completamente inútil, casi como tener una computadora sin conexión a Internet. Mi PC no tiene problemas con que Firefox decida usar un tercio de la memoria disponible, y sigue sin ser rival para mi Core i7-920.

De cuando en cuando me gusta usar las versiones beta de Firefox, por diversión y ver que de bueno incluirá la siguiente versión. Pero ahora que Mozilla ha decido lanzar una nueva versión mayor de Firefox cada 6 semanas, lo que ellos llama Rapid Releases, empiezo a ver un problema por venir:

Continue reading “La locura de las versiones de Firefox”

Spotify disponible en Estados Unidos (buenas noticas para los que estamos “afuera”)

Ya he dicho que iTunes”>soy un gran fan de Spotify, y en particular del buen trabajo que han hecho con su software; mi único gran problema es que el servicio solo se puede usar desde ciertos lugares (estúpidas restricciones geográficas), y apesar de que ellos te permiten usar el servicio desde cualquier parte del mundo si eres usuario premium, solo puedes pagar desde los países autorizados por las malditas disqueras.

La buena noticia es que Spotify ya está disponible para Estados Unidos, no solo es un gran paso para ellos estar en un mercado mucho más grande, sino también buenas noticias para los que estamos “afuera” de los países autorizados para Spotify.

Continue reading “Spotify disponible en Estados Unidos (buenas noticas para los que estamos “afuera”)”

Cyanogen y la vida de la batería en Android

Desde que me pasé a Android no había tenido razones de peso para modificar el software del teléfono (rootearlo,  lo que para iOS seria el Jailbreak). Mi Nexus One ya viene desbloqueado de fábrica, puedo usar cualquier SIM sin problemas; también puedo instalar cualquier aplicación que quiera, no importa si no está en el Android Market.

Con la actualización a Gingerbread (Android 2.3) todo funcionó perfecto excepto que la duración de la batería bajó considerablemente. No uso muchas aplicaciones y limito tener cosas corriendo en segundo plano, aún así no pude lograr más de 8 horas de batería aunque lo usara muy poco.

Leí que bastante gente sufría de lo mismo (aunque a otros les mejor el tiempo de batería), una solución rápida es cambiar el “Wi-Fi sleep policy” a “Never”, aunque suene que el efecto será negativo, si mejora un vida de la batería pero no dramáticamente.

Decidí probar Cyanogen porque leí muchas afirmaciones de gente diciendo que su batería les duraba días usando este ROM. Y pues este fue mi resultado:

Continue reading “Cyanogen y la vida de la batería en Android”

Twitter, Snowflake, Números grandes y PHP

Desde que los ID’s de los estados en Twitter son mayores que la representación de enteros usando 32bits, había estado usando el tipo float para filtrar rápidamente esos valores, digamos:

$statusid = isset($_GET['statusid']) ? (float)$_GET['statusid'] : 0;

Con float se pueden tener hasta 14 dígitos sin pasar a la representación exponencial (1.xxxxxxE+NN), y como Twitter solo estaba generando ID’s de 11 dígitos, me pareció que había bastante tiempo antes de que se pasara el límite de float. Además me sirve que tenga la representación como número para comparaciones ($lastid > $firstdbid ) o para hacer cálculos sobre estos (etags).

Ahora que Twitter anda generando los ID’s con Snowflake (más información al respecto en el blog de Twitter), cada ID requiere 15 dígitos o más (53bits por ahora).

Esto no es problema si se tiene PHP a 64bits, ya que se pueden tener hasta 19 dígitos antes de alcanzar el límite. Si se tiene PHP compilado a 32bits, no queda de otra más que usar strings. Un forma rápida para filtrar los IDs tanto para 64bit y 32bit sería:

function safelongint($strint)
{
	$intval = intval($strint);
	if ( $intval == PHP_INT_MAX)
	{
		return preg_replace('/[^0-9]/','',$strint); //eliminar cualquier cosa que no sea dígito
	}
		
	return $intval;
}

Aún si los ID’s pasan el límite de los 64bits, debería usar strings automáticamente. Ya solo queda que la base de datos no tenga problemas con números tan grandes 😉 .

Actualización: Al 10 de Noviembre, Twitter ya llegó a los 17 dígitos en los ID’s… a ese paso el límite de los 64bit durará menos de lo que imaginé.