Code Monkey home page Code Monkey logo

npi's People

Contributors

mx-psi avatar fjmpiq avatar jojelupipa avatar

Watchers

 avatar  avatar  avatar

npi's Issues

Mejorar uso del sensor de proximidad

El sensor de proximidad ahora mismo sólo detiene la narración. Quizás sería interesante oscurecer la pantalla cuando se detiene la pantalla de la misma forma que hace Telegram. No parece muy difícil de hacer según esta pregunta de SO.

Ajustar la sensibilidad del detector de agitación

Parece que para que se detecte la agitación en el dispositivo hay que sacudirlo demasiado fuerte en unos casos y se activa con sacudidas demasiado leves en otros. Se podría dar la opción al usuario de que ajuste este umbral a su preferencia.

Escribir memoria

Escribir "mínima documentación técnica" con las clases y métodos.
Hay que acordarse de mirar las issues cerradas.

Integrar giroscopio

  • Eliminar fuente de luz
  • Añadir menú superior que muestre el nombre de la obra
  • Eliminar bounding box
  • Atribuir fuente
  • Probar a usar matriz inversa (es decir, la transpuesta) para que el movimiento sea más natural.
  • Arreglar saltos visuales

Mejorar la manera en la que la app espera a terminar de hablar para empezar a escuchar

Actualmente cuando la app se inicia, al ser pulsado el botón para grabar reproduce el mensaje de bienvenida, espera unos segundos (número fijo de segundos) y luego empieza a grabar.

Esta es la solución al problema que causaba la solución original. Antes se empezaba a escuchar cuando el TTS había terminado, esto causaba que el bot entrase en bucle, pues cuando terminaba de sintetizar una respuesta grababa inmediatamente la siguiente pregunta, sin dejar que el usuario decidiese por sí mismo.

Sería ideal encontrar algún método menos rudimental para esperar a que termine de hablar en lugar de hacerlo “a ojo”

Compartir bot con Zoraida

Nombrad el bot:NPI18GrupoPXYY donde XYY es el número de vuestro grupo de prácticas, por ejemplo P111 sería el grupo 11 de los lunes, P203 sería el grupo 3 de los viernes.
Añadidme a vuestro bot en DialogFlow con el correo [email protected]

Interfaz textual

Ideas para la interfaz textual:

  • Enséñame más obras relacionadas con $obra
  • Dime obras de $autor
  • Dónde está $obra
  • Cuéntame algo sobre $obra
  • Qué tamaño tiene $obra
  • Cuándo se hizo $obra
  • Quién hizo $obra
  • Historia de $obra
  • Género/movimiento de $obra
  • Qué representa $obra

Mejorar la consulta al leer de un QR

Actualmente lo que realiza es una consulta con las palabras "Quién pintó X", siendo X el resultado del código QR escaneado. Se podría mejorar para preguntar sobre los sucesos asociados a una obra o alguna otra pregunta que sea capaz de resolver acerca de una obra o un artista.

Fallback a etiquetas en inglés

Cuando una label de una entidad de Wikidata no está disponible en español las consultas actuales devuelven la id de la entidad. Para evitar esto podríamos:

  1. hacer que si la label no está disponible en español que use la de inglés, que casi siempre está disponible o
  2. Filtrar resultados sin label

Base de datos y documentación

Comparar información disponible en distintas bases de datos.
Investigar acceso a la información mediante WebHooks y sobre qué obras hay información.

  • Comparar bases de datos
  • Mirar qué información tiene disponible Wikidata
  • Lista de obras de arte que tengan información disponible
  • Investigar uso de WebHooks

Crear objetos 3D para giroscopio

Los objetos con los que provee Wikidata son demasiado pesados y la app se ralentiza en mi móvil y tarda ~20 segundos en cargar. Además sólo tenemos implementada la carga para objetos .obj.

Mi propuesta para solucionar esto es tomar modelos 3D de Scan The World y usar Blender para cambiar el formato a .obj y decimar los objetos.

Es decir habría que:

  • Elegir obras de arte
  • Decimar obras de arte
  • Exportarlas y meterlas en la app

Modificar UI

Modificar UI para que se pueda:

  • Utilizar un botón para empezar a grabar.
  • Leer la pregunta que ha hecho el usuario.
  • Leer y escuchar la respuesta que ha dado el asistente. En caso de existir alguna imagen se puede mostrar o dar una breve descripción y ofrecer ser mostrada. (p.ej. "Muéstrame el Guernica" y la respuesta sea... ¿Quieres ver... Guernica... de... Picasso? Y que muestre alguna imagen y descripción)

Concordancia de géneros

En algunas consultas para formatear correctamente las frases hay que saber el género de lo que se habla. Para autores podemos consultar el género en Wikidata, pero para otras palabras no se puede :(

Creo que es algo menor así que lo dejo como algo aquí con la consulta para obtener el género por si tenemos ganas de ponernos al final.

SELECT ?gender ?itemLabel ?creatorLabel WHERE {
  SERVICE wikibase:mwapi {
      bd:serviceParam wikibase:api "EntitySearch" .
      bd:serviceParam wikibase:endpoint "www.wikidata.org" .
      bd:serviceParam mwapi:search "${any}" .
      bd:serviceParam mwapi:language "es" .
      ?item wikibase:apiOutputItem mwapi:item .
  }
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "es" .
   }
  ?item (wdt:P279|wdt:P31) ?type.
  VALUES ?type {wd:Q3305213 wd:Q18573970 wd:Q219423 wd:Q179700}
  ?item wdt:P170 ?creator.
  ?creator wdt:P21 ?gender. 
} LIMIT 10

La aplicación crashea en modo apaisado

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: conversandroid.talkback, PID: 17525
    java.lang.RuntimeException: Unable to destroy activity {conversandroid.talkback/conversandroid.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.speech.SpeechRecognizer.stopListening()' on a null object reference
        at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3911)
        ...
D/AppTracker: App Event: crash

Decidir lenguaje para Leap

La documentacion principal está aquí.
Entiendo de la documentación que recomiendan Unity o Unreal (hay otras APIs pero recomiendan no usarlas).
Desarrollar en Unreal parece que sólo está disponible para Windows, así que la decisión es entre Unity o API legacy.

También hay que decidir qué SDK utilizar. Están las versiones V2, V3, V4. V3 y V4 están más optimizadas para VR. Sobre V2 dice:

many of the development assets associated with V2 are outdated, and the software is no longer supported.
We strongly recommend using the more recent software version

pero creo que Marcelino dijo que usáramos la 2.

Interacción interfaz oral y visor 3D

Estaría bien que pudiera abrirse el visor 3D a partir de la interfaz oral, con algo como "Enséñame El Pensador". Mi idea inicial para esto sería:

  • Guardar los modelos 3D junto con su id de Wikidata y un nombre.
  • Usar Dialogflow para devolver en el caso de que sea "Enséñame El Pensador" una string especial que se compruebe en la aplicación y la ID de la entidad detectada.
  • Si la entidad detectada tiene modelo 3D guardado en la app, ejecutar el visor 3D con el modelo.

Una posibilidad es unificar esto con algo que muestre imágenes que podríamos usar para cuando agitamos el dispositivo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.