|

Los 12 principios de Microsoft

La verdad es que pensaba catalogarlo como humor o algo así, porque algunas son verdaderamente divertidas. Allá van, los 12 principios que piensa llevar a cabo Microsoft a partir de Windows Vista.

Opción para fabricantes y usuarios

  • Los fabricantes y los usuarios son libres de añadir cualquier software a los PCs que ejecuten Windows. Cada fabricante y usuario es lobre de instalar y promocionar cualquier sistema operativo, cualquier aplicacion y cualquien servicio web en un PC que ejecute Windows. En ultima instancia, el usuario final es libre de elegir el software que prefieran usar.
  • Los fabricantes pueden añadir libremente iconos, accesos directos y modificar el menú de Inicio y otros lugares usados para acceder a programas y así conseguir que el usuario pueda encontrarlos con facilidad.
  • Microsoft diseñará Windows para que los fabricantes y los usuarios puedan poner por defecto otros programas que no sean de Microsoft en categorías claves, como navegador web y reproductor multimedia. Los fabricantes pueden hacerlo al montar el PC.
  • Con el motivo de dar a la competencia de promocionar a los usuarios sus productos, los fabricantes puede eliminar del PC los programas clave de Windows como IE o Media Player.
  • Microsoft no tomará represalias contra fabricantes que promocionen software de la competencia. Para que sea todo transparente, se publicará una lista de los royalties que se aplicarán y así cualquier fabricante sabrá que lo que le cobran a él es lo mismo que le cobran a otros.

Oportunidades para los desarrolladores

  • Microsoft pondrá a disposición de los desarrolladores la API de los servicios innovadores del sistema operativo.
  • Microsoft está contribuyendo en la innovación de los servicios internet con su Windows Live. Los usuarios podrán elegir Windows con Windows Live o sin él.
  • Windows no bloqueará ninguna página web legal que no sea de Microsoft o cualquier servicio de internet que no les pertenezca.
  • Microsoft no firmará ningún contrato que obligue al uso exclusivo de sus productos

Interoperabilidad para los usuarios

  • Microsoft hará posible, dentro de unos términos comerciales razonables, los protocolos de comunicación usados por Windows o para comonicarse con Windows Server.
  • Microsoft licenciará sus patentes salvo aquellas que hagan diferentes el aspecto de sus productos.
  • Microsoft intentará en lo mayor de lo posible seguir los estándares establecidos.

Windows Principles

Vía / Maestros del Web

Version 1.0 del Zend Framework para octubre

zendframework.pngYa metidos en el mundo del Zend Framework, no viene mal dar la noticia de que la versión 1.0 (o al menos una alpha) estará disponible el 29 de octubre para la próxima PHP Conference. Ya el año pasado sacaron la primera versión de este framework y en este año anuncian la versión 1.0, lo cual me parece perfecto porque si noto que le faltan cosas al framework que no estarían mal, por ejemplo mail mediante POP3.
A parte también anuncia la colaboración para integrar PHP con Eclipse y con WebSphere.
Vía / CNET News

links for 2006-07-21

Ning: crea tus aplicaciones web 2.0

ning.pngTe gustan las aplicaciones web 2.0, te gustaría tener una propia, pero ni tienes dónde alojarlo ni conocimientos para implementarlo. No hay problema, con un par de clicks te puedes crear un propia web 2.0 al estilo Digg o usando Google Maps. La posibilidad de instalar el código de Menéame en nuestro propio servidor y crear clones fue un gran paso para tener nuestra propia web 2.0. Esto es otro paso más.
ning2.png
Ejemplo creado en un momento.
Ning
Vía / Menéame

|

20 consejos para ser un gran diseñador web

Según cuenta el autor, dice que hay una diferencia entre ser un buen diseñador web y un gran diseñador web, que es tomar atajos para hacer más sencillo tu trabajo sin que repercuta en la calidad. Por eso nos da una serie de consejos o trucos a seguir:

  • Planificación: aunque parece algo obvio, suele ser algo que no se lleva a cabo.
  • Hazlo a mano: yo no podría estar más de acuerdo con este consejo. Existen aplicaciones muy buenas que te crean el código HTML sin tener que escribirlo uno, pero hacerlo tú mismo es algo que te va a dar mayor control sobre el diseño. Con un editor normal que te coloree el código debe ser más que suficiente.
  • Hojas de estilo, enlazar o importar: hay dos formas de importar un CSS y no todos los navegadores reconocen las dos formas, por ello se puede usar ambas para que navegadores modernos y antiguos carguen el CSS.
<link rel="stylesheet" href="simple. css" type="text/css" media="screen">
<style type="text/css" media="screen">
@import url(simple.css);
</style>
  • Usar gradientes como fondo con cuidado: el uso de imágenes como fondo de pantalla es algo sobre lo que se puede y debe tener mucho control, se puede hacer un degradado vertical de ancho 1px y luego repetirlo solo en el eje x, y que el color de fondo sea el color en que finaliza el gradiente. Yo añadiría que cuidado con los gradientes, ahora están muy de moda, pero tampoco se debe abusar de ellos.
  • Comentarios: imprescindibles para cualquier tipo de desarrollo, ya sea para una aplicación en .NET o para una página web. Otra cosa es que lo hagamos siempre.
  • Usa simples scripts PHP: no es necesario ser un experto en PHP, pero si tu servidor lo admite, úsalo, sobre todo para incluir trozos de HTML que sean muy utilizados, como por ejemplo el código que crea el menú.
  • Dimensiona las fuentes con em: a los diseñadores les suele gustar usar px porque se ajusta exactamente al tamaño que quieren, pero el problema es que, por ejemplo, IE no redimensiona las fuentes definidas con px con el consiguiente problema de accesibilidad para los lectores con discapacidad.
  • Hack en IE del modelo de caja: quizás no os haya pasado, pero IE tiene un bug con el tamaño de una capa cuando se usa width y margin, padding o border. Esto se soluciona usando el guión bajo delante del estilo (_margin), que IE reconocerá como el propio estilo, mientras que los otros navegadores lo ignorarán. No recomiendo seguir haciendo esto, porque con la nueva versión de IE podríais tener problemas ya que se ajusta más a los estándares.
  • Espacio en los formularios: los form aunque no se vean tienen márgenes, cuando crees uno, no olvides quitarles el margen superior e inferior.
  • Testea: imprescindible, sobre todo para intentar conseguir que funcione en casi todos los navegadores.
  • Formato de imágenes: usa GIF para imágenes con colores planos y JPEG para imagenes tipo fotografía, aunque deberías usar PNG en ambos casos, ya que funciona tanto para colores planos como para tipo fotografia, el problema es que IE no admite el canal alpha, hay que esperar a IE7 para que lo podamos usar.
  • Atributos alt y title: para que la descripción de las imágenes o enlaces aparezcan correctamente en los dispositivos móviles.
  • Orden de las pseudoclases: como ya explicamos en esta entrada.
  • Lenguaje semántico: separa el contenido de la apariencia, si eliminamos la css de una página se debería ver correctamente.
  • Favicons: los iconos que aparecen en los favoritos o en las pestañas, algo sencillo que representa a nuestra web.
  • Usa máyusculas mediante CSS: cuando quieras escribir un texto completamente en mayúsculas usa text-transform en vez de escribirlo tú directamente en mayúsculas.
  • Escribe el texto alrededor de las imagenes: algo ya comentado en esta entrada.
  • Usa UTF-8: no todo el mundo tiene tu idioma o tu juego de caracteres, vuelve a leer esta entrada para obtener más información.
  • Estilos para impresora: crea estilos específicos para impresoras (media=”print”)
  • Aprende de otros: para eso nada mejore que CSSMania.

20 pro tips

Vía / Digg

|

Zend Framework: creando documentos PDF

Avanzando en el framework de Zend, hoy vamos a ver cómo crear documentos PDF. Quizás a muchos no les vaya a ser útil, pero un documento PDF es un formato bastante extendido.

De forma sencilla, ya que la librería del framework es algo extensa, vamos a explicar que métodos son necesarios para crear un PDF.

Para cargar la librería:

require_once 'Zend/Pdf.php';

Para crear un nuevo documento PDF:

$pdf = new Zend_Pdf();

Para crear una nueva página:

$pdf->pages[] = ($page = $pdf->newPage('A4'));
$pdf->pages[] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
$pdf->pages[] = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);

Obtener ancho y alto de la página:

$ancho  = $page->getWidth();
$alto = $page->getHeight();

Usar estilos:

$estilo = new Zend_Pdf_Style();
$estilo->setFillColor(new Zend_Pdf_Color_RGB(0, 0, 0));
$font = Zend_Pdf_Font::fontWithPath('/path/fuente.ttf');
$estilo->setFont($font, 10);
$estilo->setStyle($style);

Escribir texto:

$page->drawText("Hola Mundo", $x, $y);

Insertar imágenes:

$img = Zend_Pdf_ImageFactory::factory('sentidoweb.png');
$page->drawImage($img, $x, $y, $x+&ancho, $y+$alto);

Devolver la salida:

echo $pdf->render();

Eso sí, antes hay que tener en cuenta que tenemos que devolver al inicio del script el Content-Type:

header("Content-Type: application/pdf");
// Si queremos que se devuelva como un fichero adjunto
header("Content-Disposition: attachment; filename=\"prueba.pdf\"");

Si, se que parece muy resumido, pero otro día habrá un ejemplo más completo, mejor ir paso a paso.

Zend Framework : PDF

Retícula para tus diseños web

Veo en Intenta un truco para usar una réticula cuando diseñamos una página web, para que todo quede cuadrado y alienado como queremos. Es tan sencillo como incluir un estilo para el body que muestre como imagen de fondo una retícula, así podremos ver como cuadra o no nuestro diseño.
grid.png
Si ya lo usas combinado con MeasureIt, ya no tienes excusas para realizar diseños milimétricos.
Vía / Intenta

links for 2006-07-19

CSS dinámicos

Un interesante artículo que nos explica cómo realizar hojas de estilo dinámicas, aunque la verdad yo no le veo mucho uso, incluso el ejemplo que pone no me vale demasiado. Supongo que se podría evitar el uso dinámico de CSS diseñando mejor las CSS, pero claro, tambien puede que me equivoque. De todas formas, el artículo me ha gustado bastante, porque a parte de explicarte cómo hacerlo, te muestra que lo que siempre pensamos como estático (CSS, Javascript) puede ser un script PHP y no necesariamente un texto plano. A parte te dice con qué problemas nos podemos encontrar, en este caso el tiempo de ejecución del script frente al tiempo de carga de un fichero plano, algo que creo que a veces se suele olvidar.

Usar una hoja de estilos dinámica puede ser útil en el caso de que nuestra aplicación deba mostrar distintos estilos dependiendo de la página desde la que se le pida. Como ejemplo pone una aplicación que use módulos (ventanas tipo gadgets) y que dependiendo del módulo tenga que mostrar un estilo u otro.

Lo único diferente a la hora de crear el script PHP que nos devuelve el script es que se debe devolver el tipo de contenido del archivo (Content-Type), ya que el resto no se debería diferenciar de mostrar un HTML:

header('Content-Type: text/css');
if (condicion) {
echo '#estilo { display: inline; }';
} else {
echo '#estilo { display: inline; }';
}

El problema con el que nos encontramos es que cada vez que se visita la CSS se tiene que ejecutar y no se guarda en caché. Para que cachee el script, durante un tiempo prudencial, debemos indicarlo en la cabecera:

header('Cache-control: must-revalidate');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT');

Ahora el único problema que nos queda es no tener que procesar siempre los mismos estilos, para ello nada mejor que usar @import, así seleccionamos unos estilos u otros, pero no los generamos:

header('Content-Type: text/css');
header('Cache-control: must-revalidate');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT');
if (condicion) {
echo '@import "estilo1.css";';
} else {
echo '@import "estilo2.css";';
}

Static and dynamic CSS combined