Replies: 1 comment 3 replies
Regarding the UIAmazing work! I like the idea of a table as the main search UI, it would have been my first instinct as well. At first glance it looks quite clean and minimal to me and feels snappy (with the nine devices, lol). Nice things:
Ideas/Critique:
|
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Over the past few days, I've been building a similar DB site specifically for Matter devices, unknowingly of this project. After a quick introduction in the Discord channel, I'd like to share my thoughts here.
I'll start by answering some questions by Matthias:
What was your main aim when you designed your interface (e.g. showing most device info available vs. showing some essentials)?
My primary goal was to make the site as performant as fast as possible so one can easily find a device their looking for. My focus was on searchability and filters. The choice for a table as the central ui was totally random since I'm not a big fan of cards for a DB ui. (I'm not a designer... I'm sure someone here can design such card better than me 😅).
Also since my project is so early, this was just a quick draft of what's possible.
Overall though, my idea was to show more information at once while also keeping it easy on the user (not just text, but badges, colours and icons).
Did you get any feedback so far?
No, not at all.
How did you approach the topic of collaboration?
My idea was to have all data stores ad JSON in the GitHub repo, so anyone could edit the devices while also having a review pipeline through PRs.
While this is not applicable for the Device Database, I do have my thoughts on review pipelines for manual edits - Isn't this going to be a hilarious amount of work? (just a random question btw)
Regarding performance and data modelling do you have suggestions in mind?
Performance was/is my key focus for this (kind of) site since fetching and rendering possibly thousands of items is not applicable (just from a cost perspective). If I'd design the architecture around that, I'd make it a static site with regular updates, even if that meant no "live" updates. This approach however might be complex/hard to do for dynamic content. (I assume the content is dynamic in a way, where edits and new devices from HA instances should be visible right away).
Then I'd probably go hard on caching... I've done projects in the past where a Nextjs app fetched 10000 items server side and aggressively cache then to serve from a CDN while being able to invalidate easily on change.
Maybe that's the best approach.
For those interested, the repo to my matter device db project is here https://github.com/j4n-e4t/matter-device-db and the actual site can be found here https://matter-device-db.vercel.app/.
Please let me know what you think and where I can help.
All reactions