Mappy es un personaje con forma de mapa plegado que flota sobre una aplicación de Experience Builder y responde preguntas sobre ella. Piensa en el antiguo asistente del clip, pero convertido en mapa, que sí conoce tu aplicación y sin que nada salga del navegador. El widget es gratuito y el código fuente está en GitHub.
QUÉ HACE MAPPY
Mappy es un widget personalizado para Experience Builder 1.21. Sabe qué hay en la aplicación (widgets, páginas, capas, marcadores y guías de ayuda) y en el mapa (capas, campos y listas de códigos). La gente escribe o dice cosas como «activa las parcelas», «¿dónde están los parques?», «¿cuántas parcelas tienen más de 2 acres?» o «¿qué significa R-4?», y Mappy lo hace o responde. Si una herramienta está escondida en una barra lateral o en un controlador, Mappy va hasta allí, la abre y la señala.
Todo se ejecuta en el navegador. No hay LLM, clave de API ni servicio externo, y no hay que pagar nada. Es un asistente local de comandos y recuperación de información que funciona con los propios servicios de ArcGIS de la aplicación.
Pregunta qué significan las cosas. Incluye un glosario integrado de unas 70 palabras sobre mapas y ciudades, explicadas en lenguaje sencillo (servidumbre, llanura aluvial, derecho de paso, parcela), y códigos obtenidos de las propias listas de códigos del mapa, así que la respuesta a «¿qué significa RM-8?» proviene de tu capa de zonificación, no de una lista genérica.
Preguntas sobre lugares. «¿Quién es el propietario de 250 N 5th St?», «¿en qué zona está?», «¿cuál es el hidrante más cercano a mi dirección?», «¿cómo llego al ayuntamiento?» o «compara dos direcciones». Funciona con el pequeño servidor MCP de solo lectura del repositorio (Python, se ejecuta en IIS y se comunica con tus servicios de ArcGIS) o con cualquier servidor MCP que tenga herramientas para direcciones o puntos. Se podrá usar el servidor MCP de Esri cuando esté disponible.
Preguntas sobre datos en lenguaje natural. «¿Qué zonificación tiene más parcelas?», «la parcela más grande», «parcelas de más de 5 acres», «hidrantes instalados antes de 1990» o «parcelas cuyo propietario es Smith». Los resultados pueden enviarse directamente al widget Table de la aplicación.
Tu lugar. Nada de Mappy está ligado a una ciudad en particular. Una sección de configuración permite indicar el nombre de tu organización (la ciudad, el condado o el distrito de agua), tu localidad, tu sitio web y una colección de datos curiosos locales. Un botón crea una lista inicial de datos a partir de Wikipedia sobre el lugar que indiques (ciudad y estado, o ciudad y país); puedes revisarlos y eliminar los que sobren antes de guardarlos. La forma de expresarse, los datos y los chistes de Mappy se adaptan a esa configuración.
Perdona los errores tipográficos. Antes de leer una solicitud, Mappy corrige errores: letras intercambiadas, teclas vecinas, letras repetidas o ausentes y palabras escritas juntas. Una actualización semanal del paquete de idioma en GitHub mejora constantemente su comprensión, y hay una plantilla de incidencia que se completa con un clic para informar de cualquier cosa que no entienda.
Guías de ayuda integradas. Mappy incluye la ayuda de los widgets estándar de Esri, puede leer tus propios archivos de ayuda al explorar una carpeta y utiliza las preguntas y respuestas que añadas en la configuración, que siempre tienen prioridad.
Indicaciones útiles. Para las cosas que un mapa no puede responder (horarios de oficina, facturas, reuniones, permisos y baches), ofrece una respuesta breve y amable que dirige a la gente a tu sitio web o a la herramienta «Reportar un problema», en lugar de decir «No he encontrado nada».
Y MAPPY ES DIVERTIDO
Un atuendo para 80 días del año. Día de Pi, Día de la Tierra, Día del SIG, Día del Taco, temporada de calabazas y mucho más, con ilustraciones de cuerpo entero, sombrero, algo en la mano y un compañero al lado. Nada religioso, político ni de marca, para que sea agradable para todos los residentes. Pregunta «¿por qué la calabaza?» y Mappy te lo contará.
Pequeñas actuaciones. Golpecitos con los dedos, rascarse la cabeza, plegarse y convertirse en un avión de papel que da vueltas, salir pedaleando en bicicleta, ponerse gafas de lectura, hacer girar engranajes mientras se ejecuta una llamada al servidor, llamar al cristal cuando hay un consejo y zambullirse en un contenedor de reciclaje cuando restableces el mapa. Chistes, acertijos, «toc toc», piedra, papel o tijera y una brújula mágica. Efectos de sonido opcionales, desactivados de forma predeterminada. Todo el arte es original; no se ha copiado nada. Todo se puede desactivar para una aplicación formal.
Accesible. Mappy es un botón de verdad, el chat es un cuadro de diálogo y todo funciona con el teclado y con la opción de movimiento reducido. WCAG 2.2 AA.
Repositorio y versiones:
https://github.com/brianmcleer/mappy-widget
El repositorio incluye todo el código fuente, incluido el servidor MCP y el conjunto de pruebas. ¡Se agradecen las preguntas y las ideas en los comentarios!