Ayer terminamos nuestra primera instalación física del primer kiosco  de Self-Service. Este evento marca una etapa significativa para nosotros y para el recinto y me gustaría compartir un poco de esta experiencia.

A comienzos del 2007 se sometió formalmente la propuesta para adquirir cuatro kioskos de “Self-Service”. Esa propuesta fue la culminación de varios meses estudiando los productos y haciendo brainstorming de nuestras ideas. Para mi sorpresa los kioskos son bien caros, es un mercado elite de vendors y proveedores de servicios. El software es propietario en muchos casos y lleva consigo el price tag de exclusividad. Nosotros estábamos buscando ese balance entre precio y calidad, especialmente porque este proyecto es un piloto. La arquitectura del kiosco tenía que ser flexible para permitirnos desarrollar y trabajar en ella por nuestra cuenta, sencillamente NO hay dinero para pagar a proveedores de servicios. Aun cuando esta decisión extendió el tiempo de deployment no creo que fue un issue, no teníamos apuros.  Más aún importante es el hecho que no queríamos tener que usar otra arquitectura, otro lenguaje de programación, otros servidores, etc. Nosotros queremos usar lo que tenemos y construir encima de la infraestructura existente.

Los kioskos seleccionados son los modelos VantagePoint de Seepoint. SeePoint tiene un excelente portfolio de clientes con buenas experiencias. Los kioskos entiendo yo son de muy buena apariencia comparados con modelos de otras compañías de similar precio. Compramos cuatro kioskos con impresoras termales, barcode y magnetic reader y su touch-screen como es de esperarse. Optamos por no incluir una PC con la compra, pensando que podiamos conseguir una PC en el Recinto que se le pudiera dar repurpose. (Aquí les tengo que comentar que conseguir esas PCs fue la tarea más difícil de este proyecto. Fue algo ingenuo de mi parte, y si pudiera darle rewind a la historia buscaría de donde conseguir el dinero para comprar computadoras nuevas.) Para finales del 2007 los kioskos estaban en el Recinto.

En los pasados 6 años el Recinto de Mayagüez ha desarrollado su framework para aplicaciones web llamado REA o RUM Extensible Architecture. REA es la fundación de Mi Portal Colegial y su diseño modular lo convirtió en candidato ideal para los kioskos. En teoría podíamos rehusar toda la infraestructura de REA con solo añadir un layer nuevo a REA para crear el interfaz gráfico y atender las otras particularidades de los kioskos. En noviembre de 2008 ya teníamos un Proof-Of-Concept para evaluar el interfaz gráfico con solo crear una clase nueva al framework. El hecho de que pudimos hacer que REA trabajara en los Kioskos con modificaciones mínimas fue fantástico.  Hace varios años habíamos apostado en la portabilidad de las tecnologías Web2.0 como la plataforma de delivery para el futuro. Pronto no se tratara de desarrollar para el OS sino para el Web, el Web es la arquitectura universal de desarrollo. Gracias a esa decisión, hoy  podemos hacer delivery más alla del desktop.

Luego de varias revisiones terminamos con un layer nuevo en el framework de REA para los kioskos. Aún tenemos mucho espacio para mejorar, pero la funcionalidad disponible nos permite mover un programa del Portal al Kiosko sin mayores complicaciones. Personalmente el teclado del kiosko es una de las piezas más interesantes del framework. El teclado es completamente Javascript/DHTML y fuertemente inspirado por el teclado de mi iPhone. Al igual que el teclado todo el UI es DHTML corriendo en Firefox. Un reto interesante fue como imprimir desde el Browser sin mostrar diálogos y imprimir en el background sin interrumpir el UI. Este reto fue lo que principalmente nos llevo a utilizar Firefox. IE fue descartado desde el principio porque no es portable. Safari y Chrome no nos permitían correr “window-less” asi que solo nos quedo Firefox. Aún tenemos issues de memory-leaks en Firefox que no hemos resuelto lo cual degrada el performance del kiosko mientras más tiempo permanece prendido, pero esperamos que la gente en Mozilla Foundation nos puedan ayudar. Lo interesante es que el fenómeno de memory-leaks existe en prácticamente en todos los browsers siendo IE y Firefox los de mayores issues. La mayoría de estos se deben a la implementación de javascript de cada browser y la naturaleza dinámica de  como se ejecutan. En JavaScript es increíblemente sencillo  crear referencias circulares que son imposibles de disponer por el Garbage Collection.

Este primer kiosko apenas tiene cinco programas disponibles. Tenemos un directorio, mapa, ruta de trolleys, pago de solicitudes de registrador, se puede cotejar el estado de una solicitud tramitada en el registrador. Adicional a estos tenemos una funcionalidad de digital-signage que permite mostrar anuncios/mensajes cuando el kiosko esta idle. Ahora que tenemos un blue-print de como desarrollar en los kioskos es sencillamente un asunto de tiempo para que nuevos servicios sigan apareciendo. El listado de ideas es enorme y estamos muy emocionados del potencial que tenemos disponible.

De todo esto lo más que me emociona es la noción de que el RUM no sea una entidad tipo “Organization Oriented” y nos transformemos en una entidad que sea “Service Oriented”. Se trata de mover las jerarquías administrativas a un segundo plano y mover todo alrededor de nuestros servicios. Debemos borrar esas divisiones administrativas para que lo que nuestros estudiantes vean sean servicios y no paredes. Entiendo que Mi Portal y en especial REA han sido un tremendo vehículo para movernos hacia esa dirección.

Durante la programación de el nuevo currículo observamos la siguiente situacción. Un estudiante tiene 8 cursos que son candidatos para Electivas Libres. De estos 8 cursos solo necesitamos 12 créditos, pero los cursos que se seleccionen de esos 8 deben de ser aquellos que provean el mejor promedio. Este es un problema maximizar combinaciones o en general de algoritmos de optimización. Dado que garantizar una solución optima usando esto algoritmos es difícil nosotros decidimos usar un “brute force search”. En el “Search” buscamos todas las combinaciones únicas:

C(n,r) * C(n,r-1) * C(n, r-2) … * C(n, r – (n – 1))

Por cada combinación de cursos buscamos la que produce el mejor promedio así garantizamos la solución optima. La situación con este approach es que el tiempo de ejecución aumenta exponencialmente con el número de cursos. En nuestras pruebas 10 cursos es suficientemente tolerable.

Cuando evaluamos un estudiante en un currículo que no es lo que esta estudiando tenemos el problema de que hay un sobrante de cursos que no han sido utilizados en el currículo y entran al evalúo de Electivas Libres o otras similares, lo cual puede ser un excedente de hasta sobre 20 cursos. Lo cual implica un execution-time que no es aceptable para un proceso de matricula o evalúo de currículo.

Optamos que cuando hay sobre 10 cursos utilizar una rutina diferente de “heuristic algorithms”. Este algoritmo utiliza la nota y los créditos del curso para calcular cuanto aporta este curso al promedio. Esta aportación se utiliza para crear y ordenar una matrix. Esta matrix se utiliza para seleccionar N cursos donde N pueden ser créditos o número de cursos.

Como es de esperarse este algoritmo no necesariamente obtendrá una solución optima. En nuestras pruebas los resultados son bastante buenos cuando los comparamos con el “brute force search”. Sin embargo notamos que cuando el algoritmo puede cumplir con el criterio de exactamente N cursos los resultados son mejores que cuando la solución es buscar una combinación mayor de N cursos donde el excedente de N sea el menor.

Vamos a describir el problema:

Diseñar un algoritmo de optimización de combinaciones que:

Partiendo de un listado de 20 cursos (> 10) con crédito y nota seleccionar N cursos con el mejor promedio. Donde N puede ser una cantidad de créditos o cursos.

Si no existen N créditos buscar un curso adicional tal que ese curso adicional produzca el exceso menor de créditos a los solicitados (N).

El tiempo de ejecución debe estar debajo de un segundo para garantizar que el currículo completo pueda ser evaluado en un segundo y fracciones de segundos.

Enlaces:

  • http://en.wikipedia.org/wiki/Category:Optimization_algorithms
  • http://www.tsp.gatech.edu/index.html

PKI

March 26, 2009 | Lo mas reciente en CTI...  |  1 Comment

Como para comienzos del 2007 trabajamos en una infraestructura de PKI con un Certificate Authority del RUM. Aun cuando el mismo lleva varios años de estar disponible hemos decidido hacer el mismo disponible al publico ahora. Hoy añadimos a Mi Portal en el Profile la pestaña de “PKI” a las opciones de Identidad Electrónica.

De que se trata esto. Bueno primero tenemos q aclarar que aun no tenemos la logística de entrenamientos y apoyo técnico disponible para que este servicio pueda ser usado por las masas. Inicialmente este servicio es útil para aquellos con buenos conocimientos técnicos o con la voluntad de aprender por si mismos.  Con esto dicho podemos explicar un poco de que se trata.

El PKI permite que la institución genere un certificado electrónico dando fe de la identidad de un individuo. Con este certificado nosotros podemos firmar digitalmente un documento y nuestra firma puede ser validad. De igual modo se pueden firmar los email que enviamos. Encryptar archivos para que solo personas con una llave los puedan abrir.

Ya existen muchas compañías que ofrecen certificados PKI que pueden ser usados para enviar email y firmar archivos. Productos como Adobe Acrobat nos permiten usar nuestros certificados PKI para firmar documentos en PDF. Con el problema de SPAM y los issues de crimen digital veremos como PKI se convertirá en una herramienta de uso común para los usuarios.

En Mi Portal los usuarios ahora pueden con un interfaz sencillo generar sus certificados. Los certificados se proveen en los formatos X509 y P12. El usuario los puede descargar en cualquier momento junto con su public key.

El Private Key lo mantenemos en nuestros servidores y esta decisión no fue una fácil pero dado el alcance del deployment que deseábamos era imposible hacer al usuario responsables de su private key. Me gustaría escuchar sus opiniones al respecto.

Por el momento entiendo que un punto débil de nuestra implementación es que en la pantalla del profile es donde el usuario asigna su PassPhrase usado por la infraestructura de PKI. Podríamos solicitarle el passphrase al usuario al momento de hacer cualquiera operación con los certificados pero esto no impide que si una cuenta esta comprometida el impostor genere certificados nuevos para robar la identidad del usuario. Esa primera puerta el username y el password aun sigue siendo nuestro punto débil y tenemos que hacer un esfuerzo genuino por educar a los usuarios en como proteger su identidad electrónica.

En http://www.uprm.edu/cti/certificados.html tenemos una pagina de apoyo en la cual aun estamos trabajando.

IT Employees

March 26, 2009 | NEXT  |  Leave a Comment

In general an employee at CTI will be a long term resource investment. Most employees will expend more than 15 years at work. The average employee at CTI will have more than 10 years remaining. The technical expertise of an employee can become obsolete in a matter of as little as year, given this serious issues arise:

a. Employee may not be in their best disposition to learn new technologies.

i. Lack of motivation

x. May have perception that learning will not change things

xx. No monetary incentive

xxx. Will not make a change in his or her job status

ii. Perception that administration lacks the vision, and leadership to make best use of its human resources

iii. Can not replace employee with other of better preparation

iiii. Limited resource to adapt to changes and requirements

iiiii. Budget compromised to a non productive resource or of limited productivity

b. Professional development for IT professional is in average more expensive than that of other employees in campus.

i. Limited availability of in-campus training

ii. Limited resources outside campus

iii. Budget constrain!

c. Campus (Government) requirement/program for professional development lacks the scope required for IT professionals

i. CTI must create their own PDP…

x. Models used in the military seem quite fitted for the problem…

ii. Develop incentives and requirements for employees to engage in PDPs

Que es de una organización que nos impide ser ágiles? Como una institución de educación superior aveces uno asume que el CAMBIO debe ser algo de naturaleza propia para la institución. Pero la realidad es que el CAMBIO es más un proceso evolutivo que un producto de la agilidad institucional. Entonces solo cabe especular de como pretendemos ser líderes cuando solo nos limitamos a evolucionar dado los cambios impuestos en el ambiente. Cuando hablamos de tecnología este problema de agilidad es aun más importante.

La tecnología opera a la velocidad de la luz o como Bill Gates dice a la “velocidad del pensamiento”. En nuestro proceso evolutivo como institución nosotros solo observamos unos snap-shots de estos cambios tecnológicos. Sin embargo estos cambios tecnológicos son casi constantes y cada uno de ellos tiene un impacto en nuestra institución.  Este problema es aun peor si nosotros NO consideramos los cambios tecnológicos como agente catalítico para forzar el cambio evolutivo de la institución. Claro es imposible pretender q exista una organización alguna que pueda “ride” esta ola de cambio tecnológico, pero lo importante no es correr la ola del cambio sino tener la agilidad para seguirla y aun mas importante es ver hacia donde se dirige. Esto es algo complicado porque en la tecnología hay mucho RUIDO. Las compañías son expertas creando necesidades y soluciones, son expertos creando Buzz-Words. Para discernir entre lo que es BUZZ y lo que es una tendencia o estándar se requiere desarrollar un sexto sentido.

pensamiento sin terminar………..

Todos nosotros estamos de paso por esta institución el que más puede estar sobre los 25 años pero no muy lejos.

Development and the social maturity of Puerto Rico will make higher education far more accessible. Students with disabilities will be capable of meeting admission requirements. Hopefully this will not take too long and besides more than issues with laws this is an issue of moral obligation. Thus the challenges to meet this population must be addressed with the upmost priority. Some of these challenges are:

a. An increase use of technology.

i. It can easily become a barrier…

ii. Easy to overlook…

iii. Investments with a long term scope that do not take accessibility into

account

iiii. Increases the complexity of creating policy, managing policy

b. Poor knowledge from technology consumers, end users on accessibility issues

i. technologies deployed improperly

ii. use of technologies that impose barriers

iii. barrier created

iiii. CTI staff must be knowledgeable on accessibility issues and technologies

c. Distance education and virtual mediums/environments

i. is it a barrier?

ii. alternative venues exists for medium.

iii. do we have policy in place

d. Institutional policy lacks depth and scope

i. minimum to meet law requirements

ii. students with disabilities not considered an active population

iii. lack of understanding on the issues

iiii. lack of a pro-active vision

iiiii. Will make it hard for CTI to device and implement policy with the required scope.

e. Do we have the moral character and leadership to become the first Open-Campus in Puerto Rico?

El desarrollo tecnológico del Recinto requiere que exista un entendimiento claro de los aspectos que redefinen la dinámica y ambiente en cual operamos. A continuación listamos algunos de esos aspectos que definen o definirán los límites en el cual debemos de operar para lograr nuestras metas estratégicas.

El desarrollo físico de infraestructura y operaciones más allá de los límites físicos tradicionales del Recinto.

El aumento de la participación de la facultad docente en la investigación, enseñanza y trabajo social a través de múltiples instituciones, agencias, empresas y localidades.

El aumento del tiempo que la facultad docente y estudiantado se encuentra operando fuera de los límites físicos del Recinto.

El aumento de la participación del estudiantado en programas articulados, programas de intercambio, internados, investigación y trabajo social.

El aumento en el numero de acuerdos con otras universidades, industria y gobierno.

El aumento de la participación de individuos de la comunidad, industria y gobierno en las actividades de la institución.

Perfil del usuario.

March 26, 2009 | NEXT  |  Leave a Comment

Al pasar del tiempo la tecnología se ha convertido más accesible este hecho a cambiado la demografía de los usuarios y con ello los retos que debemos superar. A continuación algunas de las características que componen el perfil de este usuario acompañado de una discusión breve de sus implicaciones.

a. Un conocimiento mayor de tecnología, capaz de utilizar varias tecnologías.

El usuario (tech savvy) es uno capaz de utilizar un sin número de tecnologías. El mismo tiene unas expectativas altas con respecto a la disponibilidad y funcionalidad. Este usuario puede adaptarse muy rápido a los cambios en tecnologías. Es capas de auto educarse en el uso de tecnologías.

b. Usuario acostumbrado al uso de tecnologías en su día a día.

Es muy difícil que el individuo pueda evitar el interactuar con la tecnología en su día a día esto produce un usuario que es mucho más receptible al uso de la tecnología. Un usuario que no necesariamente tiene un conocimiento técnico de las tecnologías que utiliza. Un usuario dispuesto a aprender y utilizar tecnología. Un usuario dispuesto a utilizar la tecnología en actividades en las cuales no se utiliza tradicionalmente. Un usuario con una dependencia funcional de la tecnología que utiliza. Un usuario que espera y demanda el uso y disponibilidad de la tecnología. Un usuario que puede operar a un tempo más rápido. Un usuario que consume un mayor número de información. El usuario espera que la institución provea soporte a tecnologías emergentes. Según las tecnologías en el mercado se convierten mas sencillas y accesibles para el usuario casual, los usuarios esperaran ese mismo nivel de sencillez y funcionalidad en la tecnología disponible en el Recinto.

c. Un usuario móvil.

La tecnología móvil tanto de comunicaciones y computadoras permite al usuario realizar una gran parte de su quehacer sin requerir un acceso tradicional al recurso computacional. El usuario móvil puede consumir recursos y servicios fuera de los límites tradicionales del Recinto y mucho más importante en todo momento sin limitarse a los horarios laborales tradicionales. El usuario móvil se convierte en un miembro Ad-Hoc de la infraestructura computacional del Recinto. La métrica de uso, acceso y recurso requeridos por el usuario móvil es difícil de anticipar dada su naturaleza dinámica pero aun así es una variable importante para determinar la capacidad computacional e infraestructura del Recinto. El usuario móvil es uno acostumbrado a tener acceso desde prácticamente cualquier lugar donde su artefacto móvil opere. El usuario móvil es uno que espera que la institución provea el acceso móvil y de soporte a las tecnologías emergentes.

Funding Tecnology

March 26, 2009 | NEXT  |  Leave a Comment

La tecnología carga consigo misma un aura de transparencia que impide a muchos apreciar su complejidad. Es muy fácil asumir que la tecnología es algo dado sin pensar en profundidad los retos financieros que implican la misma. El entender los costos y financiamiento de la tecnología es esencial en cualquier planificación estratégica.

Antes de continuar enumeramos algunos de las circunstancias y condiciones que entendemos limitan la capacidad de la institución para financiar su desarrollo tecnológico.

  1. Disminución de los ingresos provistos por el gobierno.
  2. Una sociedad donde la dependencia en tecnología se encuentra en constante crecimiento
  3. Cambios constantes en desarrollo de tecnología.
  4. Nuevos requisitos de regulaciones que requieren invertir en tecnología.
  5. Incremento en el costo de la tecnología.
  6. La falta de liderato de tecnología en los organismos administrativos y de gobierno en la universidad.
  7. Envolver el alto liderato en la planificación y financiamiento de la tecnología.
  8. Alinear el valor de la inversión en tecnología con la misión y estrategias institucionales.

Posible fuentes de financiamiento son:

– Cuota de tecnología

– Cargos por servicios o chargeback

– Subsidiarias para ganancias

– Donaciones privadas

– Arreglos con Compañías, descuentos, leaseing.

Se tienen que identificar los costos de reemplazos por “Use-Cycle” para la infraestructura de los sistemas de información como parte de los procesos y requerimientos presupuestarios de CTI. Junto con el personal de Servicios Técnicos y Administradores de Sistemas se tiene que establecer un calendario de remplazo que considere el crecimiento en la demanda computacional y el ciclo de vida del equipo. Bajo ese concepto los costos de reemplazo pueden se amortizados durante varios años. Por ejemplo en un calendario de reemplazo de cinco años con un costo de $10,000 puede ser presupuestado anualmente por $2,000. Dinero reservado para “Use-Cycle” puede inclusive servir como fondos para atender adquisición o reparación de equipo en carácter de emergencia. La cantidad de dinero requerido dependerá de que otras medidas de financiamiento para la tecnologías son adoptadas.

Chargeback debe ser explorado como un mecanismo para financiar costos operacionales y la adquisición de recurso computacional. Cargos en la forma de Chargeback pueden ser estimados en base al “costo evitado” para obtener dicho servicio. Servicios tipo “one-time” son excelentes candidatos para “chargeback” dado que evitamos atar el recurso humano. Un buen ejemplo es el Desarrollo de una pagina web. Un departamento u oficina puede emplear a un estudiante durante un semestre por aproximadamente $3,000. Similar servicio puede ser provisto por CTI por aproximadamente $1,000. Servicios rentados es una forma de chargeback que puede proveer un ingreso adicional para aquellos servicios recurrentes para el cual existe un compromiso institucional. En pocas palabras Chargeback es un TAX TECNOLOGICO por servicios prestados pero con el único objetivo de ayudar a sufragar el recurso computacional requerido para proveer dichos servicios a la comunidad. El modelo administrativo actual espera que CTI provee toda una gama de servicios, los cuales tienen un impacto en el recurso humano y en el recurso computacional. Si pretendemos que el recurso humano es omni-poderoso aun tienes el problema de un recurso computacional que solo se degrada más con cada servicio nuevo provisto. Todo esto sin CTI recibir fondos algunos. Ejemplo: Registro como parte de sus proyectos emblemáticos quiere proveer un nuevo servicio. Registro le solicita a CTI la creación de ese servicio nuevo. CTI crea el nuevo servicio. Registro celebra su logro, provee un nuevo servicio pero NO aporta absolutamente nada al costo computacional de ese servicio. CTI tiene que de alguna forma conseguir el dinero para cubrir el costo computacional. Este TAX TECNOLOGICO no es para crear ingresos si no para asegurar que la creación de nuevos servicios NO degraden la infraestructura computacional. Cada dependencia aporta su granito de arena al costo operacional. Nota segun el “Core Data Service” (2005) de Educause reporta un aumento de 5.5% en las instituciones que utilizan algún modelo de chargeback. Las instituciones doctorales logran obtener hasta un 42% de su costo operacional por medio de chargeback.

El Community Source es una modalidad de desarrollo de tecnologías similar al ya famoso “Open Source”. Ambos modelos comparten una filosofía de apertura y colaboración sin embargo el Community Source es más un acuerdo de desarrollo compartido. Bajo el Community Source universidades y organizaciones entran en un acuerdo que garantiza sus intereses individuales pero a su vez pone todo el recurso del agregado de entidades en el acuerdo a trabajar en una meta común. Por ejemplo tenemos “Kuali”, un sistema financiero abierto desarrollado bajo el Community Source. La adaptación de Community Source y Open Source puede traducirse a economías millonarias para la institución.

Welcome

March 26, 2009 | General  |  Leave a Comment

Bienvenidos al blog de Tecnology Ramblings de Jose Cuevas…

« go back