-
Notifications
You must be signed in to change notification settings - Fork 490
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reusable Components + New UI #618
Conversation
@olizilla @diasdavid I need your help to list the features WebUI had before and add them under "Re-build other features WebUI already had:" on Goals, please. 😄 Could you do me that favour? |
Hi @hacdias o/ Cool to see that you got started in improving the WebUI. It seems that you decided to take the hard route of rewritting the WebUI from scratch which although a noble endeavour, it might make your quest a difficult one to attain. The best way to start such project is to first ask "What are we looking to do" and "How does success look like", once you have those two figured out then you can start outlining the path. In CS and complex system in general, it is pretty much always better to have incremental improvements than destructive refactors.
Me an @olizilla are always happy to help but this task should be your responsibility as the owner of this endeavour.
This is not an accurate description. Let's bring this to the next IPFS in Web Browsers sync up, I'm sure @olizilla @lidel and others will have thoughts too :) |
@diasdavid sure! Btw, when is the next sync up? The event disappeared from my calendar! |
It doesn't seem to be that hard to do. 😄 Edit: although it is built from scratch, I'll be taking ideas and code from the previous version.
Let's say then... "WebUI interface should be like an augmented version of Desktop with more functionality and administrative stuff"? |
Is there a list of the main things we don't like about the current web-ui? I think that'd really help me get a handle on how to approach a rewrite.
That's a good point! For me, success would include
I'd like to focus on making Desktop as good as it can be. When we have one app that we agree is an example of a really great IPFS user experience, we'd be in a good position to start extracting patterns and components that are worth reusing... once they've been tested out by a bunch of users and gone through a few iterations and experiments. |
Good points @olizilla. What do you think about the interface? Do you think it should be relatively similar across Desktop and WebUI? What is keeping me from continuing this PR with the reusable components if the following:
Success would include:
It makes me a bit confused whether I should start by trying to improve the existent features or to start building the new design. |
Btw, I think this is a very nice lib for in-app notifications 😄 [Noty] |
@olizilla thank you for mentioning accessibility! It should always be on our mind. I created ipfs/ipfs-gui#28 to track it across all UIs (feel free to update the list of tasks or add relevant reading material etc) @hacdias it is expected that our existing apps will look different for some time as we work in Q1, but if something new needs to be designed try to get loose inspiration from initial work at ipfs-inactive/ipfs-ui-style-guide#3 :) We will be dogfooding our Style Guide so if you you stumble uppon unknowns, or would like to propose how to solve a design problem, raise questions/proposals as actionable issues in ipfs-ui-style-guide. |
@lidel right now I'm going with a Desktop like design for WebUI but then we can tweak it better to feel like a better web app. I'll put some screenshots here today. As for the Style Guide, I think we should take a look at Desktop's and WebUI's color scheme and make it look more like the ones we have on Style Guide. Right now, Desktop's basically offers a Light and a Dark mode, being the Dark one the default. My suggestion is the following:
|
Another point is: @dignifiedquire suggested using Preact (previous discussion here: #255), which is a very similar framework to React, but much tiny. I just have some questions regarding its compatibility with React router and other react plugins we're using. |
So, @olizilla @dignifiedquire and I talked a bit and decided for me to focus now on IPFS Desktop PR ( ipfs/ipfs-desktop#596) because:
Then, after having Desktop with a nice UI for everyone, we could start porting those components to WebUI through this PR. Focusing on only one thing right now enables me to make it awesome (I hope) and I can keep using the |
I'll be closing this for now, but will not delete the branch until I feel it is necessary. When my focus moves to WebUI, I'll open a new PR or reiterate this one. |
THIS IS A WIP
Before reading the description, notice that:
Related:
ipfs-react-components
- common React Components that are used on WebUI and Desktop.Goals