April 2007 - Posts

Ya está liberada la versión localizada de Búsqueda Local en Prodigy MSN. Este página Web es producto de las desveladas del equipo de Intellekt, específicamente RománL y RobertoR.

Básicamente lo que te permite hacer este nuevo servicio de Live para Prodigy MSN es hacer búsquedas locales a un estado, mostrando los resultados de una manera órganica con la opción de poder opinar sobre cada uno de los negocios que están siendo publicados (claro que con sus propios filtros de moderación y back-office).

Además integra el SDK de Live y cada criterio que se integre dentro de la aplicación lanzará búsquedas relacionadas mostrandolas en un recuadro.

Esta aplicación está desarrollada completamente en ASP.NET 2.0 e integra ASP.NET AJAX Extensions y algunos componentes del ASP.NET AJAX Control Toolkit. Todos los filtros que se encuentran a la derecha, los resultados orgánicos se integran completamente asíncronamente usando esta nueva tecnología.

Échenle un ojo a este nuevo producto de Intellekt para Microsoft y cualquier comentario siempre será bien recibido.

Cheers! Beer

Posted 04-29-2007 4:04 PM by chris | 3 comment(s)
Filed under:

¿Qué tienes que hacer cuando quieres hacer un trámite gubernamental en México?

Típicamente tienes que ir a la instancia correspondiente que hace dicho trámite. Muchas veces sabemos donde es, pero nunca les ha pasado que llegan y hacen la fila de 2 horas solo para encontrarse que les hizo falta un documento y tienen que regresar a sus casas a buscarlo y sacarle sus respectivas copias.

Pero ¿qué pasa cuando no conoces donde se tiene que hacer el trámite?

Muchos no la conocemos, pero existe una Secretaría en el Gobierno Federal la cual se llama Secretaría de la Función Pública (SFP), la cual se encarga entre otras funciones de regular y administrar todos los trámites gubernamentales y ponerlos a disposición de los ciudadanos mexicanos.

La SFP tiene un portal que se encarga de agrupar y dar a conocer todos los trámites. En este portal se encuentran agrupados por categorías los trámites a los cuales tenemos acceso por el Gobierno Federal.

Conoce el Gadget de la SFP

Microsoft México, nos puso en contacto con la SFP para realizar un gadget que mediante la nueva plataforma (Windows Vista) dentro de su Sidebar pudieramos tener acceso a todos los trámites que el Gobierno Federal pone a la disposición de los ciudadanos mexicanos, servidores públicos, extranjeros y empresarios. La filosofía detrás de este gadget es permitir a los usuarios del mismo que con no más de dos clicks puedas llegar adonde quieres rápidamente.

Adicionalmente a esto, se realizaron una serie de servicios de integración que permiten consumir la información del gadget así como los servicios de administración de contenido que permiten añadir nuevos trámites, cambiar su posición dentro del gadget y la información que es presentada.

Realmente el gadget es muy útil y da acceso a miles de usuarios de Windows Vista a trámites del Gobierno Federal. Así mismo permite crear un vínculo entre el gobierno y los ciudadanos de una manera sencilla y directa; y no solamente a los ciudadanos mexicanos sino también a los extranjeros.

Si les gusta la idea o quieren checar el gadget, pueden descargarlo aquí.

Cualquier idea o sugerencia para la mejora siempre es bien recibida.

Cheers! Beer

Posted 04-29-2007 4:03 PM by chris | with no comments
Filed under:

Durante mi última visita a Redmond, estuve en un curso de Office Open XML (OOXML). Este curso o taller lo tomamos para conocer lo último de esta tecnología y traernos el material para impartir los mismos cursos dentro del programa de Adopción Ágil para ISVs de OOXML.

Pero, ¿qué es OOXML?

Es un formato basado en XML descriptivo que nos permite integrado medios, documentos y textos dentro de Office. Toda la nueva generación de herramientas de Office System estarán soportando este formato. Este nuevo formato trae una serie de beneficios que ayudan no solamente a los desarrolladores y a las organizaciones, de todos tamaños.

Pero que beneficios nos trae para los desarrolladores usar este nuevo formato:

  1. Abierto y libre de regalías. Gracias a que usa XML como lenguaje descriptivo y ZIP para empaquetarlo va ser universalmente accesible.
  2. Interoperable. Siendo un estándar de la industria, podremos usar este formato en diferentes plataformas sin tener que depender de la suite de Office.
  3. Robusto. Gracias a que su estructura lo hace más robusto en comparación a los formatos anteriores de Office, se reducirá el riesgo de pérdida de información debido a archivos dañados o corruptos.
  4. Eficiente. Como usa compresión ZIP para guardar los documentos, será más sencillo enviarlos vía correo electrónico y su transferencia será menor; además que podrá ser desempaquetado desde cualquier programa compatible con este formato.
  5. Seguro. Contenido sensible puede ser removido fácilmente de los archivos así como código VBA y objetos OLE.

Para una descripción más detallada de los beneficios referirse a la información descrita en el sitio de Office.

Bueno, ya entendimos que es el formato OOXML a grandes rasgos, ahora ¿cómo puedo utilizarlo e incluirlo en nuestras aplicaciones?

.NET 2.0 ya tiene todas las herramientas necesarias para construir aplicaciones con este formato. Desde el API para Packaging (guardar en ZIP) hasta el XPath, XSLT y DOM para construir nuestros archivos. Por ahora veremos como hacerlo sin .NET todo completamente a mano.

Un archivo basado en este formato, típicamente se compone de las siguientes partes:

  • Archivo ZIP. Es el contenedor que almacena todos los archivos relacionados con el formato. Al estar comprimido le da al usuario final la experiencia de "un solo archivo", aunque para nosotros los desarrolladores esto es un poco diferente.
  • Partes. Las partes (parts) son las piezas que componen un documento basado en OOXML. Cada parte es representada como un archivo físico dentro del ZIP y normalmente son XML (aunque podemos incluir gráficos, objetos OLE y archivos misceláneos sin ningún problema).
  • Relaciones. Las relaciones (relationships) son partes que nos permiten proveer vínculos entre partes dentro de mi archivo. Todas estos vínculos son descritos usando XML y pueden definir la estructura con una navegación sencilla además que pueden víncular a archivos externos que no se encuentren dentro del mismo archivo.
  • Macros. Por omisión todos los archivos basados en este formato no presentan ningún tipo de código macro, para evitar cualquier inseguridad o que se corra código malicioso. Sin embargo, el que no presenten no quiere decir que no puedan tener pero se tiene que guardar explícitamente; haciendo el documento Macro-Enabled. Estos tienen exactamente el mismo formato mas el código necesario para correr. Al tener esta ventaja los desarrolladores se pueden dar cuenta antes de abrir el documento que existen macros en el mismo.
  • Extensiones de archivos. Todos los archivos de OOXML tienen el sufijo "x" dentro de su extensión, permitiendo así identificarlos fácilmente (docx, pptx, xlsx, etc.)

Veamos un ejemplo de como crear un documento de Word 2007 paso a paso:

1. Creamos un folder dentro de tu máquina y le llamamos package (se puede llamar como quieras pero para efectos de este tutorial le ponemos así).

2. Creamos un nuevo archivo de texto (con extension .XML), lo nombramos [ContentTypes].xml y ponemos el siguiente contenido (recuerda salvar después de ponerle el contenido eh):

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" />
</Types>

3. Dentro del folder package creamos un sub-folder que sea llamado docProps.

4. Creamos un archivo dentro de ese folder y le llamamos core.xml, y le añadimos el siguiente código:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dc:title>Bienvenidos a Office OpenXML</dc:title>
<dc:description>Esta es la descripción del ejemplo que estamos realizando. </dc:description>
</cp:coreProperties>

5. Ya que tenemos las propiedades, tenemos que decirle a nuestro archivo que añadimos las propiedades; así que nos regresamos al directorio de package y abrimos de nuevo el archivo [ContentTypes].xml y añadimos el siguiente código (dentro del tag </Types>):

<Override PartName="/docProps/core.xml"
ContentType="application/vnd.openxmlformats-package.
core-properties+xml" />

6. Ya tenemos nuestro archivo que nos define los contenidos, tenemos las propiedades del archivo ahora tenemos que relacionar todos estos elementos para que Word pueda interpretarlos correctamente. Hagamos lo siguiente: creamos un sub-folder dentro de package y le llamamos _rels.

7. Creamos un nuevo archivo de texto que se llame .rels (aquí hay un pequeño detalle, este archivo está interpretado por el explorador como un archivo sin nombre con pura extensión, lo que tenemos que hacer es crear el documento en Notepad y seleccionar Guardar como..., cuando lo salves pones el nombre .rels y seleccionas dentro del combo Todos los archivos en el Guardar de tipo).

8. Añadimos el siguiente código para añadir la relación a la parte de docProps/core.xml:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="/docProps/core.xml"/>
</Relationships>

9. Ahora agregamos el contenido, creamos un sub-folder de package que se llame word. Creamos un nuevo documento dentro de este nuevo sub-folder y le llamamos document.xml añadiendo el siguiente contenido:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships
xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml">
<w:body>
<w:p>
<w:r>
<w:t>Este es un documento creado completamente a mano de Office OpenXML</w:t>
</w:r>
</w:p>
</w:body>
</w:document>

10. Para decirle que existe contenido, abrimos de nuevo el archivo [ContentTypes].xml que se encuentra en el folder package para añadir la parte del documento. Agrega el siguiente código:

<Override PartName="/word/document.xml"
ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" />

11. Añadimos la nueva relación del documento al paquete, abre el archivo .rels que se encuentra en el directorio _rels y agrega este código:

<Relationship Id="rId2"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="/word/document.xml"/>

12. Listo... ya tenemos todos los elementos necesarios para ver este archivo dentro de Word 2007. Lo que tenemos que hacer ahora es empaquetar el documento en un formato ZIP para que funcione correctamente... lo que haremos es lo siguiente: selecciona todos los archivos a nivel del folder package y después haz clic derecho y selecciona Enviar a y elige Carpeta comprimida. Esto nos creará un archivo con extensión .ZIP  dentro del mismo directorio, lo renombramos a prueabita.docx (asegurate que la extensión .zip haya sido cambiada).

13. Abrimos el documento en Word 2007 y tenemos el parráfo que encontramos dentro de document.xml.

IMPORTANTE: si te sale algún error al intentar abrir el documento, sucede que muchas veces cuando hacemos copy-n-paste del código que está en la página, se cortan los caracteres, asegurate que todos los tags vayan en una línea y estén bien escritos (esto me sucedió al probar el ejercicio).

Como pueden ver, el formato es relativamente sencillo y podemos crear archivos basados en esta plataforma fácilmente.

Les dejo algunos vínculos de interés sobre Office OpenXML para que revisen y puedan ir adoptando esta nueva tecnología dentro de sus programas.

Cheers! Beer

Como todos saben, participamos en el Desafío Gadget de MSN Latam. Afortunadamente, uno nuestros gadgets para Windows Vista que concursó salió ganador del primer premio Smile y fuimos acreedores de una Ultra-Mobile PC.

Además de eso, en su última visita de Bill Gates a México tuvimos la suerte de que él personalmente nos entregara el premio en su conferencia privada de prensa; así como también me permitieron una audiencia privada con él de 5 minutos (que al final fueron 20) donde tuve oportunidad de explicarle personalmente que es lo que hace el gadget, como lo hicimos y cuanto tiempo nos tardamos en desarrollarlo.

Definitivamente una experiencia digna de contarse, aunque no había tenido oportunidad de hacerlo. Estamos muy contentos todos por este gran logro y esperamos seguir trabajando más y más para lograr todavía mejores cosas.

Le quiero agradecer a todos los que nos han enviado correos y a todos los que nos han apoyado durante estos años y especialmente a todo el equipo de Intellekt.

Aquí les dejo algunas ligas de algunas fotos y comunicados de prensa con información sobre el premio:

Fotos:

Cheers! Beer

Posted 04-29-2007 4:03 PM by chris | with no comments
Filed under:

Los que venían usando la nueva tecnología de WinFX por ahí escucharon acerca de WPF/E... que le llamabamos "Windows Presentation Foundation / Everywhere". En todos lados es la premisa y generar aplicaciones para cualquier dispositivo es la importancia de esta tecnología.

El día de hoy en Las Vegas, Microsoft anunció oficialmente el nombre de esta tecnología que se le conocerá de aquí en adelante como Silverlight.

Esta plataforma nos permitirá tener todas las ventajas del NET 3.0, independiente de plataforma con herramientas de desarrollo conocidas (Expression para diseñadores y VS para desarrolladores). Además que toma como base para el contenido XAML permitiéndonos tener la misma fidelidad tanto en nuestras aplicaciones Web como en nuestras aplicaciones para escritorio.

Un ejemplo claro donde veremos esta tecnología es en el Soapbox en MSN Video. Aquí se realizará toda la migración completa (dejando la existente plataforma Flash) para que podamos observar en acción el Windows Expression Encoder y su nueva plataforma de integración.

Ya basta de tanto choro y échenle un ojo. Es una tecnología que sigue estando en CTP pero sin embargo ya tiene muchas de sus características libres y listas para usar:

Cheers! Beer

Posted 04-16-2007 5:38 PM by chris | with no comments
Filed under:

A todos les gusta mucho el correo electrónico, es una manera sencilla de guardar mensajes, ordenarlos, buscarlos, no ocupan espacio y todo eso...

Pero, ¿te has puesto a pensar lo conveniente que es tener tus correos en papel?

Nuestros amigos de Google sacaron al mercado un nuevo servicio GMail Paper. Básicamente es tu mismo servicio de correo con la opción de imprimir todos tus correos (excepto los archivos mp3 y wav) y recibirlos fácilmente en la comodidad de tu hogar sin costo alguno.

Está excelente este servicio por si quieres archivar todo en tu hogar...

Everyone loves Gmail. But not everyone loves email, or the digital era. What ever happened to stamps, filing cabinets, and the mailman? Well, you asked for it, and it’s here. We’re bringing it back.

A New Button
Now in Gmail, you can request a physical copy of any message with the click of a button, and we'll send it to you in the mail.
Simplicity Squared
Google will print all messages instantly and prepare them for delivery. Allow 2-4 business days for a parcel to arrive via post.
Total Control
A stack of Gmail Paper arrives in a box at your doorstep, and it’s yours to keep forever. You can read it, sort it, search it, touch it. Or even move it to the trash—the real trash. (Recycling is encouraged.)
Keep it Secret, Keep it Safe
Google takes privacy very seriously. But once your email is physically in your hands, it's as secure as you want to make it.

Mas información la encontrarán aquí... echenle un ojo, vale la pena.

Cheers!

Posted 04-09-2007 5:19 PM by chris | 7 comment(s)
Filed under: