Ubuntu

Los 6 mejores proyectos de nuestro Hackathon

Los días 4 y 5 de octubre de 2021, el equipo de Diseño y Web llevó a cabo un Hackathon remoto. El tema era crear herramientas que nos hicieran la vida más fácil en Canonical.

La creatividad y la colaboración están en el corazón de cualquier Hackathon. 26 diseñadores visuales y UX, desarrolladores y gerentes de proyectos divididos en 6 grupos participaron en esta aventura. Aquí hay un punto destacado de lo que se construyó en el transcurso de esos dos días.

Google Meet para Webbot

Como equipo distribuido globalmente, hacemos un uso extensivo del chat y las videollamadas; la mayoría de nosotros estamos en llamadas varias veces al día.

Organizar llamadas ad-hoc puede ser complicado y, a menudo, es un poco así:

Will: Quick call to discuss the thing?
Ana: Sure? Which Meet?
Will: Standup?
Ana: https://meet.google.com/….
Will: Oh I’m in Standup
Ana: Ok I’ll join
Will: Oh, I left Standup
Ana: So which Meet?

Nuestro objetivo era crear un comando simple para Importa más (nuestro sistema de chat) que permitiría a los usuarios generar instantáneamente una nueva URL de Meet y publicar el enlace al canal. Sin exchanges ni confusión sobre a qué Meet unirse.

Extendimos webbot para agregar un nuevo comando ‘conocer’, el código fuente está aquí.

Ahora nuestros usuarios pueden escribir /meet seguido de algunos nombres de usuario y ver algo como esto en Mattermost

Esperamos que esto les ahorre a todos nuestros usuarios algo de tiempo en la organización de reuniones con colegas.

¿Dónde está el calendario de vacaciones?

Uno de los desafíos de un equipo remoto es tener una idea tangible de quién entra y quién sale. No sabía que era una fiesta nacional en Polonia. Martin está en el dentista y Jeff se ha tomado un día libre.

Las ausencias se marcan en un calendario del equipo de diseño centralizado que debe actualizarse manualmente, un calendario de recursos humanos que mantiene el registro oficial de licencias, días por enfermedad, licencia por maternidad y conoce los días festivos del país, y calendarios individuales de Google, que manejan los rebotes de correo electrónico de OOO y cancelaciones de reuniones.

Nuestro truco consideró primero, si toda esta información podría recuperarse sistemáticamente y, en segundo lugar, dónde podría mostrarse de manera útil.

Nuestro prototipo de prueba de concepto, arriba, otorga a webbot la dónde está mando. @webbot, ¿dónde está toto? ¿Dónde está Beth? dónde está ¡todo el mundo!

Realizamos una encuesta de usuarios para comprender el problema. El equipo es ciertamente levemente gruñón por tener que buscar información de presencia en más de un lugar, por la falta de confiabilidad de algunos de los datos y por el esfuerzo manual requerido para mantenerlos.

Técnicamente, necesitaríamos claves para el sistema de recursos humanos, una forma segura y ética de presentar esa información, acceso de lectura a calendarios individuales para recuperar información de Fuera de la oficina y acceso de escritura para crear un calendario de disponibilidad del equipo sin cortar y pegar, desafortunadamente más allá del paisaje temporal de este hackday.

Nuestro prototipo de UX aprovecha el hallazgo de que el chat de Mattermost es exactamente el lugar al que la gente va por primera vez para buscar a sus colegas, y que enseñar al webbot a saber dónde están todos sería valioso. El proyecto ha entrado tentativamente en la acumulación de trabajos de ingeniería en el lugar de trabajo. Webbot ahora quiere un día libre.

Selector de presentador Canonicool

Cada semana, un viernes por la tarde, el equipo de Web & Design tiene una pequeña y divertida reunión llamada Canonicool, donde todos nos reunimos y escuchamos a tres colegas elegidos al azar dar una breve charla sobre lo que les gusta.

Anteriormente, la forma en que seleccionamos a esos tres colegas era completamente aleatoria, se hacía con un par de meses de anticipación y se anotaba en una hoja de cálculo. Esto quedó desactualizado muy rápidamente a medida que los miembros del equipo se unieron y se fueron, y podría significar que se le pediría a la misma persona que presente dos semanas seguidas.

Para este día del truco, ¡decidimos que haríamos el proceso un poco más inteligente! Escribimos un script que se ejecuta una vez a la semana y busca la lista más actualizada de miembros del equipo, verifica su disponibilidad, nos aseguramos de que no se hayan presentado recientemente y los agrega a una hoja de cálculo.

Una vez que tuvimos la fórmula para seleccionar presentadores, queríamos presentar la información de una manera más agradable que como una fila más en una hoja de cálculo, por lo que creamos una API para exponer los datos y creamos una página de aspecto encantador con información sobre la semana actual. Sesión de Canonicool, las sesiones de las próximas tres semanas y una lista paginada de sesiones anteriores. Et voilà!

Una bola 8 mágica

Al final de cada iteración, tenemos una reunión en la que cada escuadrón demuestra en qué han estado trabajando durante las últimas dos semanas. Por lo general, el presentador solo llama a los escuadrones al azar, pero pensamos que podríamos hacer que este momento sea más divertido e interactivo.

¡Presentamos Canoniball!

Esta aplicación te permite crear tus propias ocho bolas mágicas para responder a todas tus preguntas.

Las bolas creadas se pueden compartir y marcar fácilmente para uso futuro. También agregamos una opción para respuestas no repetidas para que un escuadrón no se quede atrapado en un bucle infinito de presentaciones.

Este proyecto, aunque es un poco más simple (¡y más tonto!) Que los otros, tiene el tamaño perfecto para probar un nuevo marco de javascript: Esbelto. También nos permitió volvernos locos y ejercitar nuestro músculo de animación CSS.

Extensión Vanilla VS Code

Marco de vainilla es una biblioteca CSS utilizada en todos los proyectos web de Canonical. La idea del Código VS La extensión es proporcionar un conjunto de características que ayudan a los desarrolladores durante sus sesiones de codificación.

Sabíamos que este proyecto tardaría más de dos días en completarse, por lo que comenzamos a trabajar en una extensión básica que contiene todas las partes necesarias. En el día de la piratería, teníamos una extensión de trabajo que proporciona clases de autocompletado en archivos HTML. Aquí está la lista de las nuevas características que le agregamos durante el hackathon:

  • Insertar fragmentos: la idea es proporcionar fragmentos basados ​​en los ejemplos que son mantenidos por el equipo de vainilla. Rastreamos todos los ejemplos de la página de documentación y los mostramos como fragmentos.

  • Reaccionar soporte: el equipo de Vanilla mantiene una biblioteca de componentes de reacción que se utilizan en nuestros sitios. Queríamos ayudar a los desarrolladores que contribuyen a ello agregando también soporte de autocompletado de React (.jsx, .tsx).

  • Variables SCSS: El marco de Vanilla se envía con variables SCSS personalizables que tienen valores predeterminados. Agregamos soporte para el autocompletado de variables dentro de un archivo de estilo (.scss). Esto permite poder encontrar fácilmente la variable que desea personalizar, así como ver una vista previa del valor predeterminado de la variable.

  • Enlace a los documentos: al abrir la descripción de un nombre de clase dentro de un archivo React o HTML, puede encontrar un enlace a la página de documentación que explica cómo funciona esta clase y algunas buenas prácticas a seguir

Logramos producir muchas características interesantes durante el día de Hack gracias a las increíbles ideas y al increíble trabajo del equipo. Todavía hay margen de mejora y, por supuesto, más funciones para agregar. Puedes probar la extensión en el mercado de Visual Studio!

Zona horaria en Mattermost

Nuestro equipo está distribuido en varios continentes y zonas horarias, por lo que a veces saber si es por la mañana, por la tarde o por la noche para otra persona puede ser un problema cuando necesita enviar un mensaje o programar una reunión. Decidimos escribir un Importa más bot (en realidad, dos bots) para abordar esto

Muchos de nosotros usamos el directorio interno de Canonical para encontrar rápidamente información de contacto y zona horaria de colegas. Nuestro webbot / dir El comando genera una URL de directorio basada en un nombre o consulta de búsqueda. Corriendo /dir mrgnr y /dir name Morgan generará los siguientes enlaces

Para mostrar directamente la zona horaria y la hora local de un colega, también escribimos un / tz mando. Corriendo /tz mrgnr Mostrará:

Ultimas palabras

¡Estamos muy emocionados de ver lo que saldrá del próximo hackathon! Si te gusta lo que ves y quieres participar en el próximo, estamos contratando.

Con ♥ del equipo web de Canonical.

Siga con nosotros Instagram y en Gorjeo

Leave a Comment

You may also like

Más