VSTO Capitulo 1 – Aplicaciones con Office? y eso como se come?

les cuento 2 historias…., de esas que casi nunca ocurren –mínimo unas 500 veces al día en todo el mundo –  en un lugar muy muy lejano – quizá a 5 metros de Uds.-, cualquier parecido con la realidad, es pura coincidencia!!.

1 – El y  Su Amado Excel:

Era una persona, común y silvestre, que había estudiado alguna carrera de administración o0049648001181143847-shin-chan-enfadado quizá contabilidad o derecho, pudiera ser hasta “secretariado computarizado bilingüe” – y en mas extraño de los casos puede ser medico-, el punto es  que sus bastos conocimientos de computación –o informática- se extendían a un curso de “computación u Ofimática” de unos 6 meses – o quizá un poco mas-, sabe manejar a la perfección el Word, Excel, Outlook y el PowerPoint es súper especialista usando el MSN y sabe aplicarle parches para usar varias cuentas de Messenger a la vez, sin contar sus amplios conocimientos en Hi5, MetroFlog, FaceBook; esta persona como tal, siente que ya sabe lo suficiente y no le interesa saber mas de “computación”, ya que sabe que si tiene algún problema, existen unos seres extraños al que llama nerds, y que por mas que entre ellos se llamen “geeks”, para el son “nerds mejor vestidos”. se siente satisfecho con lo que sabe, y quizá lo único que le interesa saber es de donde bajar mas iconos para el Messenger.

Esta persona común y silvestre –si, de esas que andan sueltas por allí-, “implemento” u “organizo” su área, metiendo sus conocimientos de “informática» -a su modo-,  lo que antes se manejaba en papel, el lo movió a “archivos de Word y/o Excel”, hizo sus plantillas, toda la información que ocupaba “organizada”, la tiene en múltiples archivos de Excel “muy ordenadamente, separados por semana o mes” , cuando tiene que escribir un reporte, sabe que tiene una hoja base en Word, y solo hace “copy and paste” , y agrega una nueva hoja a su archivo de Word o modifica el existente; si algún día su jefe ocupa un reporte en graficas de los datos que maneja, puede crear una grafica en Excel o importarla a Word, o si ocupa unos nuevos cálculos, los puede hacer en unos 15 minutos usando las formulas de Excel. En otras palabras, el trabajo que realiza, a su forma de ver, esta organizado y tiene todo lo que ocupa, por mas que su jefe diga que el es ineficiente, el siente que tiene todo controlado, con sus macros y formulas, con sus hojas de Word, esta cómodo, ya que siente que no ocupa saber mas de las computadoras – solamente ocupa saber como ganar al maldito solitario y/o buscaminas, que siempre lo vence-,  es una persona que contantemente se actualiza en su profesión – la que sea-, va a cursos de actualización, y para no perder el ritmo fue a otro curso de ofimática, donde le enseñaron a usar la ultima versión del office.

Un día, llego lo llamo su jefe y le dijo que iban a “mejorar” su área, que habían contratado a una consultora que les haría un sistema, que mejoraría el proceso de la empresa y este conseguiría que se logre  ahorrar tiempos en el trabajo y tendrían un mayor control, de todo lo que pasa en la empresa, mientras su jefe decía todo esto, esta persona común y silvestre solo pensaba “pero yo tengo todo controlado, se que archivo de Excel tiene que información, se generar mis reportes, se hacer los cálculos, seguro andan pensando en reemplazarme por una maquina como esos robots de la TV, y me quedare sin trabajo” –aunque suena ilógico, hay quienes de verdad terminan pensando así-, y le presentan a ese ser extraño que “ mejorara los procesos y automatizara su trabajo”…

este ser extraño le hace muchas preguntas, lo interroga de todo  y el le cuenta aunque por dentro sigue pensando que será reemplazado por algún robot, y como se siente en “peligro” , siente que no debe decirle todo  o quizá simplemente de la pura presión, se le olvida hacerlo..; esa consultora cuenta un un “especialista en usabilidad y diseño  de interfaz”, que iba a hacer que sea “fácil de usar”.

y llega el día en que le enseñan el “nuevo sistema”, se le hace algo extraño, e totalmente diferente a su tan amado office, le parece un rectángulo con muchos botoncitos e iconos, allí no sabe donde están las cosas, por mas que le dan un curso de capacitación, se le hace complejo, además que si hacer algunos cálculos, no puede hacer sumas en las celdas de al lado “ por que no hay!”, y si ocupa nuevas cosas tiene que hacer un pedido, luego esperar unos días o semanas, ademas de que tiene algunos problemas que los seres raros llaman “bugs”, para el todo esto es muy pesado, el extraña su amado Excel y Word, donde si tenia un error de calculo, solo modificaba  y listo; y entonces llego un día, había una reunión y en esa el jefe le pidió de “ya” un reporte especial –con sus graficas y todo, ya que los jefes solo saben leer graficas- y “oh sorpresa” el reporte no existía en ese famoso sistema, llamo a los seres raros y ellos le dijeron que en unos 5 días estaría el reporte, luego de algunas discusiones, le dijeron que para el día siguiente, pero el los ocupaba de ya, así que agarro algunos datos de otro reporte, abrió su tan amado Excel copio los datos que ocupaba, y genero su grafica, todo esto en una 1 hora – mucho menos que lo que tardan los seres raros-, y de alli se colgó para comenzar a bombardear a ese sistema…, luego de un tiempo, el sistema dejo de ser usado, y el Volvió a su amado Excel.

2 – Amor al Word por toda la vida!

Otro Caso es de un Medico, que hacia los reportes de las consultas de su consultorio en «en Word”, tenia muchos muchos archivos, y un día fueron a ofrecerle un sistema, le costo una buena cantidad –le cobraron bien, pq es doctor y dicen k puede pagar- el lo pago, pensando que le ayudaría, e igual recibió un cuadrado, que no se parecía en nada a su Word, con muchos rectángulos donde le dijeron que metiera los datos, y donde tenia que escribir el diagnostico, no veía forma de resaltar los aspectos importantes, – negritas, subrayado, etc- luego de un tiempo, los seres extraños, hicieron unos botones para que pueda hacer eso, pero no era tan cómodo y simple como su amado Word, que por mas que le decía que tenia una copia pirata, aun le dejaba hacer las cosas como el quería, luego de un tiempo…. dejo el sistema y volvió a su tan amado Word..

Por que Sucedió esto?

así como estos casos hay miles y miles, de proyectos que terminaron en fracaso, y ojo, no me refiero necesariamente a los proyectos que están súper mal programados.. – eso es otro tema –, en muchos casos, es por que los usuarios son personas que no les interesa estar actualizados “tecnológicamente”, no saben, ni les interesa saber que existen cosas como silverligth, Ajax, WPF, etc. personas que tienen carreras no relacionadas con cosas de tecnología, mas que con cosas de ofimática, personas que están mas preocupados en actualizarse en cosas relacionadas con su carrera, que en cuestiones tecnológicas, están cómodos con su forma de trabajar con el Office y tienen gran resistencia al cambio, muchas veces son los causantes de “serruchar, grillar, o promover que un sistema deje de ser usado”  ya que comienzan a ver todos sus “problemas”, los cuales básicamente son “por que el office me hace esto y el sistema no?” , aunque parezca ilógico, hay sistema que fracasan por eso, por que esos usuarios comunes y silvestres, no se acostumbran a esa nueva interfaz, ya sea web, win , RIA, etc… por que simplemente no se acostumbran – y no le da la gana de acostumbrarse –, en  teoría lo usuarios deberían usar si o si el sistema, pero la realidad muestra que muchas veces, estos son saboteados por los mismos usuarios, o hacen a propósito el trabajo mas lento… y esto por que? 

ellos solo quieren usar el office y nada mas, para nuestra suerte desde hace un tiempo existe algo llamado

Visual Studio Tools for Office – VSTO

y que 3#$#$%#$%#  es eso? 

Son herramientas, que están en el Visual Studio –desde el VS 2005 con modo gráfico, ya que en 2003 era como un beta, muy limitado –, las cuales nos dejan desarrollar aplicaciones para office, y OJO, no me refiero a VBA, esto es totalmente diferente, ya que se pueden usar los lenguaje VB o C#, la programación es muy parecida a Windows Form, con la diferencia que en el ide del Vs en vez de ver un formulario, veremos una hoja de Excel, o de Word, –además de poder hacer add-in muy fácilmente-, pero que beneficios tenemos aparte de esto? :

  • Podemos aprovechar la funcionalidad existente del Office:  cuestiones como guardado, importación, exportación, graficas, corrector ortográfico, ya están incluidos, listo para usar por el cliente, sin que nosotros tendríamos que programar algo extra, aunque como es lógico,  mediante programación podemos usar y extender esas funcionalidades, esto nos ahorra mucho tiempo de programación ,de cosas repetitivas.
  • Interfaz Amigable para el usuario : Muchas veces la resistencia al cambio, del usuario es por que no se siente seguro con la aplicación, pero si le damos una aplicación que este dentro del office, de entrada el usuario se sentirá mas cómodo de usarlo, ya que sabe donde se encuentra mucha funcionalidad, y solo hay que indicarle que mas se le a agregado; con esto, la resistencia al cambio es mínimo o nulo.
  • El Usuario puede hacer Cambios sin ocupar llamar a soporte constantemente : ya que las demás celdas o funcionalidad, no quedan bloqueadas – por defecto-, si el usuario por ejemplo ocupara hacer un grafico X de los datos que le muestra el sistema, no ocuparía llamar a soporte, solo lo haría como ya sabe hacerlo, o igual si ocupa modificar un reporte – una suma, un calculo extra-, el usuario podría agregar los campos que ocupe, ya que sabe usar el Excel como tal sin ningún problema.
  • soporte para trabajar “Offline” – en casa – :  como el office ya de por si puede guardar datos, podemos configurar la aplicación, para poder trabajar datos, en modo offline – trabajo en casa les suena?- y ya cuando vuelve a la oficina, la aplicación  actualizaría la db y esto sin necesidad de instalar alguna db “imagen” en el cliente.
  • Soporta Lenguajes .NET : al estar dentro de .net, podemos usar los lenguajes de programación .net que usamos comúnmente, así que no habría que saber otro lenguaje de programación, lógicamente si cosas inherentes al VSTO – como trabaja- pero nos ahorramos el lenguaje.

los que mencione son algunas de las funciones, y las que a mi parecer son las mas destacables.

ahora si les cuento, hace unas 2 semanas, platicaba con un amigo y me dijo que por que no publicaba los borradores que tenia – post-  y bueno, digamos que me convenció, y los iré sacando, -en el orden de la cola en que están – , y  de los mas antiguos que tenia eran sobre VSTO,  así que sacare  varios POST, sobre como es el desarrollo para office,  el cual uso en mi trabajo y los usuarios que lo usan están muy satisfechos, intentare compartirles mis experiencias y tips de como programar allí, desde un “hola mundo” hasta aplicaciones mas avanzadas, y luego –quizá- si hay gente que le interese, hasta podría hacer un – o varios – webcast al respecto, lógicamente dependiendo del interés de la gente, según cálculos, enviare mínimo 1 por semana.. y si se me olvida, plz hágamelo recordar plz.

creo que sin querer me salió otro testamento – será posible que alguna vez envíe uno corto?? –, este fue la introducción, en el siguiente voy a mostrar ya de un modo técnico como trabaja el VSTO.

casi me olvido, lógicamente todo esto será con Visual Basic !

Salu2

Ddaz