• Bloqueo de escenas en Java

    Aproximadamente en en enero de 2013 Oracle, como desarrollador de Java, introdujo a partir de la versión 7.13 estrictos filtros de seguridad que procedieron al bloqueo de las escenas. Esto acontece en sistemas Windows y Mac. También ocurre en Linux salvo que se use Open Java. Apoyándonos en esto último le planteamos una alternativa de trabajo basada en una máquina virtual con la que podrá trabajar con las escenas construidas con Java sin problema. Aquí tiene un enlace.

    mv

    El bloqueo de las escenas aconteció en un momento en el que en Descartes ya teníamos bastante avanzado el intérprete DescartesJS por lo que lo que se hizo fue acelerar su desarrollo. No obstante, también se introdujo la versión 5 de Descartes en Java utilizando la firma del applet, y la certificación del mismo por una empresa externa (Symantec), mediante la que se introduce una garantía al usuario y se salva dicho bloqueo.

     

  • Versión DescartesJS

    La aparición en enero del 2010 del iPad de Apple, patrón conceptual de todas las tabletas digitales posteriores, trajo consigo un veto explícito e implícito a determinado tipo de software que ampliamente era y es utilizado en el contexto de los ordenadores. En concreto el sistema operativo iOS no permitía el uso de Java ni de Flash Player, dos herramientas intensivamente utilizadas, entre otros objetivos, para la elaboración de recursos educativos interactivos. Puede debatirse el por qué de esta decisión estratégica y con seguridad puede elaborarse un conglomerado y una amalgama polifacética de motivos que oscilaría desde la mera competencia empresarial, a la existencia de un nuevo estándar, el HTML5, cuyo nacimiento puede ubicarse en 2009 auspiciado por Apple, Mozilla y Opera. La decisión aparecía extraña para los miles de usuarios de dichas herramienta, pero HTML5 contemplaba el soporte nativo de multimedia y por tanto hacía innecesario la utilización de plugins. Con la aparición de Android hay algunos intentos de incluir Java, pero esa línea rápidamente se abandona y se alcanza la paradoja efectiva de que algo desarrollado usando librerías de Java veta posteriormente a Java. A esa tendencia se une el hecho que desde enero de 2013 Oracle, desarrollador de Java, para solventar deficiencias de seguridad introduce filtros que bloquean los applets en Windows y en Mac y, con ello, adentran al usuario y al desarrollador de recursos con base directa o indirecta en Java en un complejo entorno técnico que desmotiva su uso, cuando no lo impide.

    Desde 2011 desde RED Descartes ya se tomó la decisión estratégica de migrar al estándar HTML5 y se contó con el primer prototipo. A esta nueva versión se le denominó DescartesJS, donde con el sufijo JS se señala que el intérprete está en escrito en javascript.

    Con DescartesJS todos los recursos de nuestra RED son accesibles y completamente operativos en ordenadores, como antes ocurría, y también en tabletas y smartphones, independientemente del sistema operativo que porten.

    Una muestra representativa de una escena de DescartesJS es la siguiente en la que se puede construir la cardiode, curva que es la base del logotipo de Descartes.

    Antes la escena interactiva y a continuación la imagen animada del logotipo.

    Logo de Descartes Matemáticas interactivas
  • Versión 5 de Descartes

    En la versión 7.13 de Java (enero de 2013), Oracle como desarrollador de este software, introdujo filtros y protecciones de seguridad entre las cuales limitaba el acceso a esos directorios. Ello provocó el bloqueo de las escenas de Java (en Windows y Mac, no en Linux) y el abandono por parte de RED Descartes de la versión instalada (plug-in). El trabajo en la RED se centró en la versión DescartesJS. No obstante, también se introdujo la versión 5 de Descartes en Java utilizando la firma del applet y la certificación del mismo por una empresa externa (Symantec).

    El gestor de escenas aporta el código necesario para el uso de una escena de la versión 5 en Java.

    Cuando se abre con el navegador una página que contenga una escena de la versión 5 en Java se le indicará este hecho y le pedirá su confirmación para ejecutarlo. Mostramos a continuación lo que acontece en Chrome y situaciones análogas podrán observarse en otros navegadores. La ejecución puede ser sólo para esa vez o puede autorizarse permanentemente para un sitio web.

    Petición de permiso par ejecutar Java

    Petición de permiso par ejecutar Java

    Al dar la autorización se abre una ventana en la que se le requiere confirme si desea ejecutar el applet de nombre Descartes, cuyo publicador es “Red Educativa Digital Descartes” y que se ubica en http://arquimedes.matem.unam.es informándose del riesgo que implica en caso de desconocer al publicador.

    Applet firmado y certificado Descartes

    Applet firmado y certificado Descartes, petición de permiso para ejecutarlo

    Se aporta una casilla de verificación para que la autorización sea permanente siempre que sea el mismo publicador y la misma ubicación la que se use.

    También puede recabarse más información pulsando el enlace “Más información” donde se explicita que ha sido verificado el publicador (RED Descartes) y se muestran todos los detalles de la firma y certificación del applet.

    Detalle del certificado de Descartes

    Detalle del certificado de Descartes

    Una vez autorizada la ejecución del applet Descartes podrá ver e interactuar con la escena

    Escena Descartes5 en Java

    Imagen de una escena Descartes5 en Java

    La imagen anterior se corresponde con la siguiente escena en la que le acontecerá lo antes descrito.

    Si ha autorizado la ejecución podrá observar dicha escena en cualquier ordenador que tenga instalado Java. Esa escena no puede verse ni en tabletas, ni en smartphones.

    La misma escena pero con el código interpretado por DescartesJS puede verla a continuación:

    Esta escena puede verse en cualquier ordenador y en tabletas y smartphones.

  • Ítems de Descartes

    Entre las diferentes acepciones que el diccionario de la RAE da al término ítem, en este artículo, nos referiremos a la acepción quinta: “Cada una de las partes o unidades de que se compone una prueba, un test, un cuestionario.

    Significado de ítem

    Significado de ítem

    Un ítem de Descartes es un tipo especial de escena que puede guardarse en el sistema de evaluación a distancia de Descartes (SE@D). De éste evaluador se elaboró una primera versión para el CIDEAD del Ministerio de Educación español, pero, por ahora, su desarrollo está descontinuado.

    Estructural y técnicamente cada ítem es un discurso de Descartes.

    Los ítems son interpretados por DescartesJS, pero la funcionalidad en este caso no está cubierta totalmente, en particular en los campos de texto donde:

    • no es posible incorporar los botones de edición de contenido,
    • no es posible la edición de fórmulas,
    • no se interpretan las fórmulas que se introdujeran en estos campos en el editor de ítems.

    Para tener una referencia histórica y documental se incluye aquí:

     

     

  • Discursos de Descartes o Arquímedes

    Cada escenas de Descartes es una estructura de datos que se codifica en código html y que se incluye en una página escrita en ese lenguaje.

    escena Descartes en una página html

    Escena Descartes en una página html

    por ejemplo, a continuación tenemos una escena desarrollada en Descartes5 y que se ha guardado para que sea interpretada por DescartesJS

    En la escena anterior observamos la gran diversidad de objetos cartesianos. Podemos ver textos, gráficas bi y tridimensionales, vectores, controles gráficos, campos de texto, aleatoriedad, corrección automática,… y ¡Fórmulas matemáticas! Sí, desde la versión 3 de Descartes, que surge allá por el año 2002, se cuenta con un editor de fórmulas matemáticas. Un editor intuitivo y fácil de aprender que permite la elaboración de expresiones tan complejas como deseemos. Expresiones del tipo a las que tenemos reflejadas en la siguiente imagen:

    Edición de fórmulas con Descartes

    Edición de fórmulas con Descartes

    E incluso la interactividad y el dinamismo intríseco a Descartes también se puede trasladar a las fórmulas, es decir, estas pueden estar parametrizadas y pueden variarse los valores y expresiones que se representan a través de controles numéricos o gráficos.

    Pero es bien conocido por los  usuarios de la Informática y de Internet la problemática que entraña la inserción de fórmulas o expresiones matemáticas en una página web. A pesar de los esfuerzos realizados para construir un estándar que facilite la edición de fórmulas la realidad es que actualmente las fórmulas y el lenguaje html mantienen una convivencia difícil, posiblemente no tan caótica como la página de Galois, reflejada en la imagen siguiente, pero sí ciertamente difícil. Así pues, en general, lo que se hace es insertar imágenes cuyo contenido es la fórmula que se quiere reflejar.

    Página de Galois

    Página de Galois

     

    Y en este contexto fue como surgió la idea de aprovechar el editor de textos y fórmulas de Descartes para desarrollar un editor que posteriormente se denominó “editor de discursos de Descartes” o “Arquímedes”. Una herramienta en la que en un sentido figurado lo que se hace es “darle la vuelta al calcetín”, ya que si antes se contaba que en una escena un objeto cartesiano que podía incluirse eran textos y fórmulas, ahora lo que se planteaba es que un entorno de edición de textos y fórmulas se pudieran incluir los objetos cartesianos. Y con este planteamiento se conforma un entorno único de edición que contempla textos, fórmulas, controles numéricos, gráficos y de texto, gráficos bi y tridimensionales. Todo integrado y con la interactividad característica de Descartes. ¡Surgió Arquímedes y/o los Discursos de Descartes!
    Veamos un ejemplo de discurso de Descartes, donde se muestra la funcionalidad y donde se describe parte de lo que se puede hacer.

    Sobre la barra de scroll en los discursos

    Hasta la versión 4 de Descartes los discursos, cuando era necesario, incluían unas barras de scroll o desplazamiento con objeto de poder acceder, ver e interactuar con todos los contenidos del mismo. En la versión 5 y especialmente para el intérprete DescartesJS las barras de scroll no se dibujan. Ésta fue una decisión de diseño y funcionalidad, ya que las escenas del tipo discurso están pensadas para que sea algo así como documentos html, es decir, documentos donde la altura no esta limitada, y que presentan el contenido de una lección (el texto) y algunas escenas interactivas dentro de ese texto.

    Para hacer algo similar a un scroll en las escenas de tipo discurso es necesario incluirlas en un iframe o un espacio HTMLIFrame, esto con la finalidad de que sea el iframe el que limite el área que muestra el discurso. No obstante esto no funciona en dispositivos táctiles (con touch) porque los eventos de touch los necesita manejar DescartesJS y consecuentemente se bloquea su comportamiento, esto es necesario para determinar diversos eventos, de clics sobre algunos objetos y por ejemplo para espacios que no están fijos, mover el espacio cartesiano. Así pues al bloquearse los gestos de los dispositivos con touch  sobre los espacios que definen una escena de Descartes es por lo que ni el scroll, ni el zoom funcionan sobre ellos. En el escritorio de un ordenador todo esto no es problema, porque los navegadores son bastante amables y colocan gráficamente una barra de scroll, y además si se cuenta con un ratón con un botón de scroll, se puede utilizar sin problemas. Sin embargo los navegadores de dispositivos móviles no dibujan de ninguna manera scrolls (al menos no scrolls utilizables, solo una marquita que indica la posición en el documento) por razones estéticas y de usabilidad. Para solventar todo esto, cuando se quiere usar una escena de tipo discurso y que se pueda navegar por medio de scroll, se opta por una solución como la que se utiliza en los recursos del proyecto Un_100, que consiste en crear una escena de un cierto ancho, pero el espacio donde se presenta el texto es mas pequeño; para el caso de los recursos de Un_100, el ancho de la lección es de 970 mientras que el ancho del espacio es de 950, estos 20 píxeles que hay de espacio entre el tamaño de la lección y el espacio, son el área gris que se muestra en las tabletas, que tiene la característica de que no bloquea los eventos de touch, lo que da como resultado que se pueda hacer scroll sobre ese espacio, de hecho también se podría hacer zoom desde ahí si se logra colocar dos dedos sobre ese espacio y se acercan o alejan estos.