This week, due to some much-needed rest, I barely dove into any functional development. It was mostly about patching existing bugs and refactoring the code, for the open-sourcing of the server-side code.

I also took out some extra work to organize quail-ui – the UI library that Quail is currently using.

By the way, I've put together a demo page which you can check out here.

An image to describe post Quail Weekly #16

The demo showcases includes styles for:

  • Buttons
  • Forms

And also includes the following components:

  • Text fields & text areas
  • Switches
  • Text fields with attached buttons
  • Fences
  • Loading progress indicators
  • Menus
  • Dropdown menus
  • Date-time pickers
  • Dialogs

All these styles/components are built with Vue 3, so they're reserved for Vue projects only. If you're curious about the details, feel free to dive into the source code of the demo.

Creating this UI library wasn't a random decision. With Quail having multiple front-end projects, splitting off a component library from them makes maintenance a tad easier. Since I'm not aiming for a universal component library, I'm skipping the part where I have to consider usage scenarios and compatibility for other projects (refreshing!).


As for the open-source part, I had a chat with @nishuang a couple of weeks ago. Nishuang-san was curious about the rationale behind open-sourcing Quail as a service. He pondered, given it's a service, how many people would really have the motivation to set it up themselves.

I don't have a clear answer. It's sometimes a puzzle – what's the exact commercial objective behind open-sourcing?

If anyone has any thoughts on this, I'd love to hear from you in the comments. Thanks! :)