11.10.2005
Plática sobre Windows Forms 2.0 en el lanzamiento de VS 2005 en México
5.20.2005
Platicas Sobre SQL Server Mobile en México y Guadalajara
Es un avance muy importante el de esta versión contra las anteriores.
Lo que más me ha llamado la atención es:
- La capacidad de SQL Mobile para trabajar con apps en el .NET CF 1.0 (en VS 2005 Beta 2). Es decir, no solo funciona con el .NET CF 2.0.
- La integración al SQL Server Management Studio de SQL Server 2005. Este tema realmente simplifica las cosas en desarrollo móvil:
- Podemos editar bases de datos de SQL Mobile en la PC.
- Contamos ahora con un analizador de consultas para SQL Mobile.
- Podemos llenar una base SQL Mobile usando DTSs.
- Lo mejorado y simplificado de la replicación entre SQL Server 2005 y SQL Server Mobile.
- La configuración, diagnóstico e implementación de replicación (merge replication) es sin exagerar un orden de magnitud más sencilla que antes.
- El desempeño es mucho mejor gracias al rastreo de cambios a nivel de columna además de renglón.
- Podemos hacer mucho mejores interfases de usuario en el dispositivo móvil gracias al manejo asíncrono y a los eventos que expone el motor de sincronización.
- El desempeño de las consultas en el dispositivo móvil gracias al nuevo SQLResultSet que evita que tengamos dos copias en la memoria de los datos (como ocurre con un DataSet) pero al mismo tiempo es más flexible que un DataReader.
Del lado negativo, hay algunas cosas que falta pulir (espero que así sea para la liberación final más adelante este año):
- El desempeño del despliegue a los dispositivos o a los emuladores cuando estamos depurando en Visual Studio 2005 es muy malo ya que siempre redespliega todo el .NET CF 2.0 y el SQL Server Mobile. Esto no debiera ser así y quizá se deba a algún problema de configuración. Si encuentro una solución la podré aquí.
- El consumo de memoria de almacenamiento en el dispositivo de la combinación de el .NET CF 2.0 y el SQL Server mobile es demasiado alto, dejando al dispositivo (si tiene 64MB) con muy poca memoria libre.
Si te interesa más este tema puedes bajar las láminas de mi presentación y el código ejemplo desde el sitio de noticias de emLink.
4.19.2005
Plática sobre Desarrollo con .NET CF en la Facultad de Ciencias de la UNAM
Me produce cierta emoción (positiva) asistir a la UNAM. No deja de tener el peso de ser la máxima casa de estudios de México.
Las diapositivas de la plática las pueden encontrar en el sitio de emLink en la sección de noticias a partir de mañana.
4.18.2005
Visual Studio 2005 Beta 2
Desde ayer lo estamos bajando (son más de 3GB) y próximamente voy a estar posteando acá mis impresiones.
El Beta 1 lo he usado muy poco ya que era conocido que habría muchos cambios entre el Beta 1 y el 2. Además, la primera vez que lo instalé me causó serios problemas (lo se, esto hay que hacerlo en máquinas virtuales: es Beta)
Lo primero que voy a explorar es el Visual Studio Tools for Office 2005, luego las funcionalidades del team system y finalmente el nuevo compact framework y otras áreas. Mientras hago eso voy a ir viendo los nuevos aspectos de C# tanto en el lenguaje como en el editor. Dejen aquí sus comentarios si les interesa un tema en particular. No prometo conceder deseos pero serán tomados en cuenta.
Algo muy interesante es que este Beta ya trae la licencia Go Live! que permite poner aplicaciones en producción cubriendo ciertos requisitos.
4.04.2005
Aplicaciones de Mapeo y Uso de GPS
En cuanto a la interacción con GPS, hemos encontrado algunos puntos que es importante tener en cuenta:
1. La precisión del GPS para ciertos temas es limitada.
1.1 Cuando leemos la velocidad, el GPS tiene cierto margen de error. Pudiendo marcar una velocidad aún cuando nos encontremos detenidos.
1.2 El cálculo de odometro a partir de coordenadas GPS también tiene limitaciones importantes debido a la misma imprecisión. Estamos haciendo pruebas en campo del margen de error y pronto compartiré los resultados aquí.
2. A veces es necesario que más de una aplicación pueda leer el GPS.
2. Cuando más de una aplicación quiere usar el GPS, hay que desarrollar una mecánica para que dos procesos puedan compartir el puerto serial. Hemos desarrollado un SDK que permite hacer precisamente esto. Un proceso escucha al GPS y retransmite las coordenadas a las aplicaciones que se han suscrito a la información. Para esto tenemos desarrollado un componente .NETCF que facilmente nos permite usar la info del GPS.
Por otro lado, bajé el SDK del servicio web de Mappoint y cree una cuenta de prueba. (Puedes obtener el SDK aquí).
Para mi sorpresa, encontré que la Ciudad de México está bastante bien "mapeada". Estoy en el proceso de hacer pruebas pero todo el concepto del servicio de MapPoint me parece muy interesante. Es un excelente ejemplo de aplicaciones orientadas al servicio. Recomendado como opción a explorar para aplicaciones geográficas.
3.07.2005
10 Tips para el Desarrollo de Aplicaciones Móviles (Parte 2)
6. Prueba a Fondo tu Aplicación y Después: Pruébala De Nuevo
7. Utiliza el Principio KISS (Variante Francesa)
8. Considera las Limitaciones de Memoria y Velocidad de Proceso
9. Elige el Tipo de Dispositivo Adecuado
10. Planea Pruebas de Concepto para Areas Nuevas o de Alto Riesgo
2.27.2005
10 Tips para el Desarrollo de Aplicaciones Móviles (Parte 1)
En diferentes ocasiones he tenido la oportunidad de visitar clientes para conocer y opinar sobre diferentes aplicaciones móviles.
Independientemente de la funcionalidad específica de cada aplicación, la mayoría de estas visitas me hacen reflexionar sobre lo común que sigue siendo el diseñar soluciones móviles como si fueran una variante “chiquita” de aplicaciones en PC.
No tomar en cuenta las particularidades de una solución móvil desde su diseño puede provocar con facilidad que una buena idea de negocios no dé los resultados esperados. Por esta razón, decidí escribir esta lista de 10 tips a considerar para compartir algunos elementos de nuestra experiencia. Esta semana publico los primeros 5:
1. Conoce la Operación en el Ambiente Real
Esto es indispensable. Hay que “ensuciarse las manos”. Mientras más alejado está un elemento de operación de las oficinas centrales de una empresa, más variantes vas a encontrar entre la forma como los jefes dicen que funcionan las cosas y la realidad. Cliente tras cliente nos hemos encontrado con esto. El personal de campo siempre va a descubrir formas de optimizar su trabajo de acuerdo con sus objetivos específicos y es indispensable entender esto. Tómalo en cuanta para tu aplicación cuando tenga sentido de negocio y oponte firmemente a diseñar una aplicación de alguna forma sólo porque el jefe dice que así debe ser. Súbete a la camioneta, sal a caminar con él, pregunta de todo y analiza que está pasando. Debate tus opciones con el dueño de tu presupuesto y llega a acuerdos que permitan que cuando salga al campo tu aplicación realmente de el beneficio de negocio esperado.
La mayor parte de los procesos en campo se dan con estrictas limitaciones de tiempo ya que las empresas (en la mayoría de los casos con razón) relacionan el número de visitas realizadas con el nivel de productividad de su personal en campo. Entiende y conoce las “mañas” que se desarrollan para ahorrar tiempo o simplificar el trabajo. Busca una forma de que tu aplicación le agregue valor y/o le simplifique el trabajo al personal que la va a operar. De otra manera la resistencia al cambio cuando sea momento de desplegar va a ser mucho mayor.
El desarrollo para dispositivos móviles es cada vez más fácil. Las herramientas de software convergen con las de escritorio. Hoy puedes usar Visual Studio 2003 y trabajar en C# o en VB.NET para dispositivos móviles. En Visual Studio 2005 lo podrás hacer también con C++.
Por ejemplo, ¿sabías que si escribes una función que al compilarse mida más de 64K en el Compact Framework te va a provocar una falla general de protección de memoria (GPF)? ¿piensas que sólo un loco escribiría una función tan grande? ¿has pensado que ese loco puedes no ser tú, sino el diseñador de formas de Visual Studio 2003?
La misma idea aplica en otras plataformas de desarrollo móvil como J2EE vs. JME.
3. Planea la Sincronización de Datos
La gran mayoría de las aplicaciones móviles para corporativos son extensiones de sistemas existentes. Aplicaciones de ventas, CRM, mantenimiento, servicio, etc. Todas deben conectarse a sistemas centrales y sincronizar la información.
El tema de sincronización da para varios artículos completos. Asegúrate de investigar, planear y probar el desempeño. Hazlo fácil para tu usuario. Que tu meta siempre sea que para el usuario se transparente; que no tenga que hacer nada. Si, nada. No, apretar un botón no es nada. NADA.
4. Diseña una Interfaz Adecuada para Dispositivos Móviles
5. Piensa en el Soporte a tu Aplicación Móvil
2.16.2005
Plática de “Visual Studio Tools for the Microsoft Office System” (VSTO)
Hoy tuve el honor de dar una sencilla plática sobre este tema en la reunión mensual del grupo de usuarios de MSDN en la Ciudad de México. Puedes bajar las láminas de la presentación y el demo principal de el sitio web de emLink.
Visual Studio .NET 2003
VSTO (OMG, hasta hace 10 mins. tenía entendido que era gratis pero al buscar la liga de download ¡encuentro que tiene costo!)
¿Cuándo vale la pena usarlo para desarrollar?
Cuando voy a desarrollar una aplicación cliente o “front-end” donde se dan una o más de estas condiciones:
- Requiero integrar datos de negocio a documentos de Word o Excel.
- Quiero aprovechar el conocimiento que ya tienen mis usuarios de Office para reducir el costo de entrenamiento y soporte.
- Quiero aprovechar la funcionalidad de Excel ó Word para ser más productivo en mi desarrollo.
¿Cuáles son las ventajas de esta opción sobre otras opciones disponibles anteriormente como Visual Basic para Aplicaciones?
- Puedes trabajar en C# o VB.NET dentro de VS 2003 aprovechando todo el poder y las ventajas del .NET Framework en general.
- Cuentas con un modelo de despliegue mucho mejor que el de VBA ya que puedes desplegar por separado el documento y el código.
- La seguridad es mucho más robusta y flexible porque se basa en el modelo CAS del framework.
- Estás trabajando dentro de la plataforma “oficial” hacia delante para hacer soluciones profesionales para Office y te será fácil sacarle ventaja a la versión 2005 que se liberará próximamente.
Puedes encontrar mucho más información en el sitio de Microsoft aquí.
2.10.2005
Amor a la Programación
Es sin duda una actividad creativa. Además de que siempre encuentras mil formas diferentes de hacer algo. Para mi programar es jugar. Es una experiencia personal entre la máquina y yo.
Aún cuando en mi vida en diferentes ocasiones me he obsesionado con algún videojuego, la idea de los juegos en "linea" me ha costado asimilarla. Yo usaba la computadora para aislarme en un mundo personal y ahora la computadora es más que nada una herramienta de comunicación, ¿no?
¿Y los nerds?
LOL
1.31.2005
Subasta de Consultores de Primer Nivel para Beneficio a Asia
Si ganan obtienen consultoría de varios de los mejores (ahem) expertos en tecnología Microsoft (MSDN) a un costo muy reducido.
Esto lo organizamos un grupo de MSDN Regional Directors y todo el dinero ganado será para beneficiencia del Tsunami en Asia.
Chéquenlo.