Wikipedia abstracta/Maquetas preliminares

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search
This page is a translated version of the page Abstract Wikipedia/Early mockups and the translation is 100% complete.
Tracked in Phabricator:
Task T258902

Aquí están algunas maquetas muy tempranas en su desarrollo para la wiki Wikifunciones.

Funciones

La función multiplicar (multiply)

Definición de función

Wikilambda early mockup multiply function.png

El encabezado muestra la etiqueta y el tipo de objeto (en este caso, una función). Una función incluye su firma así como su tipo. Debajo de eso vemos la documentación.

A continuación se encuentran los argumentos de la función multiplicar, el tipo retorno y una lista de implementaciones disponibles. Debajo vemos una lista de pruebas con una matriz de las implementaciones, y al final un formulario donde el lector puede evaluar la función establecida.

Implementación en Javascript

Wikilambda early mockup multiply javascript.png

Esta es una de las implementaciones de la función multiplicar definida anteriormente, aquí en JavaScript.

Composición

Wikilambda early mockup multiply recursive addition.png

Esta es otra implementación de la función multiplicar, esta vez compuesta de otras funciones en la wiki.

Prueba

Wikilambda early mockup multiply test.png

Aquí esta un ejemplo de una prueba de la función multiplicar.

Sucesión

Tenga en cuenta que todos los objetos NLG codifican algún enfoque específico. Esto no tiene la intención de tomar una decisión con respecto al enfoque específico de NLG por adelantado, solamente es para ilustrar y visualizar ideas. El enfoque concreto de NLG que adoptaremos aún no está decidido.

Constructor

Wikilambda early mockup succession constructor.png

Este es el constructor de sucesiones. Muestra un constructor bastante complejo que conduce a una cláusula.

Intérprete de inglés ("Renderizador")

Wikilambda early mockup succession renderer english.png

Este es un intérprete o representador/renderer para el idioma inglés propuesto para el constructor de sucesiones. Está demasiado simplificado y solo está diseñado para representar la idea de forma aproximada.

Conjunción

Tenga en cuenta que todos los objetos NLG codifican algún enfoque específico. Esto no tiene la intención de tomar una decisión con respecto al enfoque específico de NLG por adelantado, solamente es para ilustrar y visualizar ideas. El enfoque concreto de NLG que adoptaremos aún no está decidido.

Wikilambda early mockup conjunction renderer.png

Este es un interprete o representador al inglés para el constructor de conjunciones. Igualmente está muy simplificado y solo está diseñado para representar la idea de forma aproximada.

Wikilambda early mockup conjunction renderer oxford.png

Aunque es básicamente lo mismo, hay una opción sobre el manejo de la coma en serie o coma de Oxford.

Página principal

Wikilambda early mockup title page.png

Crea un objeto

Al momento de crear un objeto, es necesario primero seleccionar el tipo de objeto.

Wikilambda early mockup create object 1.png

Elegimos el tipo "Prueba". Automáticamente, se muestran las teclas relevantes.

Wikilambda early mockup create object 2.png

En la primera tecla, "llamada de función", comenzamos a escribir y seleccionamos una función, "multiplicar". Automáticamente, se muestran los argumentos relevantes para multiplicar.

Wikilambda early mockup create object 3.png

Comenzamos ingresando el primer valor. Esto se analiza como un literal de tipo entero positivo.

Wikilambda early mockup create object 4.png

Ahora en el segundo argumento escribimos "agregar". Esto se reconoce como una función. Se están agregando campos para los argumentos apropiados. Agregamos literales.

Wikilambda early mockup create object 5.png

La condición de resultado es la segunda tecla del objeto de prueba. Comenzamos a escribir el nombre de una función y la seleccionamos. La condición de resultado es el tipo de función que toma un objeto y devuelve una lista de errores. Escribimos "igual a un entero" y eso imprime el único argumento para esta función.

Wikilambda early mockup create object 6.png

Ahora que ya sea ingresado una literal, el objeto está completo y se valida. Se muestra el botón publicar.

Wikilambda early mockup create object 7.png

Ver un objeto

La siguiente es una vista del objeto de prueba recién creado. La suposición es que el nombre es una representación o interpretación de la prueba. Realmente no es agradable a la vista, pero se puede hacer automáticamente. Tenga en cuenta que la vista del objeto es una vista específica para las Pruebas.

Wikilambda early mockup view object 1.png

Esto está utilizando la vista genérica para Objetos Z, asumiendo que no habría una vista específica para los objetos de prueba.

Wikilambda early mockup view object 2.png

Esta es la vista después de que alguien hizo el esfuerzo de crear una etiqueta más agradable, escribir un poco de documentación (el por qué es relevante esta prueba) y agregar la Prueba a la función multiplicar.

Wikilambda early mockup view object 3.png

Edita un objeto

Esta es la interfaz con la que terminamos al editar el objeto de prueba. No es que esto no permita editar la etiqueta del objeto o la documentación. Esta es la interfaz de edición genérica de los Objetos Z. Tenga en cuenta que es básicamente lo mismo que la interfaz de creación.

Wikilambda early mockup edit object 1.png

Los Objetos Z puede llegar a ser muy extensos. Es posible colapsar las ramas de un Objeto Z. Aquí colapsamos la parte haciendo la suma en el segundo término de la multiplicación.

Wikilambda early mockup edit object 2.png

Caja de entrada mágica

Una parte fundamental de la experiencia de usuario anterior es el cuadro de entrada mágica. ¿Por qué decimos que hay magia en estas cajas de entrada? Echemos un vistazo más de cerca a lo que pueden hacer: pueden tomar cuatro tipos de entrada. Cada cuadro de entrada tiene un tipo esperado (en el peor de los casos, el tipo esperado es "Cualquiera").

  • Esta es una referencia a un Objeto Z teniendo el tipo esperado, es decir, un ID Z elegido por su etiqueta o alias (o ID) y usando una selección desplegable (como cuando se elige un elemento en Wikidata).
  • Una llamada a función que da como resultado un Objeto Z del tipo esperado. Esto se inicia eligiendo una referencia a un Objeto Z de una función cuyo tipo de retorno tiene el tipo esperado, y tan pronto como se elige, la interfaz de usuario se actualiza para permitir especificar los argumentos.
  • Un literal. Si el tipo esperado se puede representar como un literal (por ejemplo, para una cadena o un entero), ese literal se puede escribir en el cuadro de entrada. Si el literal también es posiblemente una referencia del tipo correcto, el menú desplegable enumera el literal como la primera opción. (Que el tipo esperado se puede representar como un literal depende de si se especifica una función para analizar valores que toma una cadena y devuelve una instancia del tipo esperado).
  • Un usuario avanzado puede cambiar cualquiera de estos cuadros de entrada mágicos incrustados en un campo de texto más grande y realizar la edición sin procesar. Vea la maqueta después de esta para eso.

Dado que la magia a veces lo hará mal (por ejemplo, tener un tipo de función esperada (cualquiera, cualquiera), es decir, una función arbitraria, siempre no estará claro si realmente está haciendo referencia a una función, o si está haciendo una función de llamada para producir una función y, por lo tanto, podríamos terminar en el modo incorrecto. El cuadro de entrada mágica viene con una "palanca" 𝌹 que permite bloquear uno de los cuatro modos explícitamente (el número de modos puede variar ligeramente según el tipo esperado, es decir, si el tipo esperado es función o cualquiera, no hay modo literal, etc.) así como cambiar el tipo esperado.

Wikilambda early mockup create object 7.png

Esto muestra una sintaxis funcional para la edición sin formato. Tenga en cuenta que esto es solo una cosa de UX: la entrada se analizará y canonizará antes de almacenarla. Pero especialmente para la codificación, muchas personas no pueden prescindir de copiar y pegar, etc., y ninguna interfaz de usuario lo ha hecho bien de otra manera, por lo que ofrecemos esta opción.

Wikilambda early mockup magic input box text.png

Esto es lo mismo que en la maqueta anterior, pero en lugar de usar una sintaxis de función y contenido etiquetado, esta tan crudo como puede ser y usa JSON y los ID Z. Bueno, eso debería seguir siendo una posibilidad.

Wikilambda early mockup magic input box json.png

Alternativas de diseño

Las siguientes dos maquetas muestran algunas ideas de diseños alternativos para hacer más explicita el agrupamiento de los formularios, aquí se coloca un cuadro punteado alrededor de los subformularios que van juntos. Además, esto muestra claramente los subformularios que se contraerían si se cliqueara colapsar.

Wikilambda early mockup with box collapse right.png

Aquí se movió el icono para colapsar un cuadro a la izquierda.

Wikilambda early mockup with box collapse left.png

Maquetas móviles

Estas son maquetas para la interfaz móvil. Como hay mucho menos espacio horizontalmente, agrupar el árbol de formularios por sangría puede resultar problemático.