cabal-club / cabal-desktop

Desktop client for Cabal, the p2p/decentralized/local-first chat platform.
https://cabal.chat
GNU Affero General Public License v3.0
843 stars 77 forks source link

Open design discussion #73

Open simbolo opened 6 years ago

simbolo commented 6 years ago

I have been reading through all these issues on the repo (Also some comments/suggestions on cabal's public channel) and I believe that the initial UI design it's slowly becoming a bottleneck for the current state of the project. I have created this issue to start an open discussion around UX/UI & design ideas for the desktop client and to start addressing all of them.

When I designed the user interface (PR/28) all I had in mind was to create a very basic starting point for the client. I didn't plan it at all; It all started with a simple draft on sketch and a one-day-marathon of getting this simple sketch done with some basic html/css. It was just and empty shell but y'all converted it into a living piece of awesomeness — Every time I pull down an update something magically gets better. You all rock!

I have started to mockup some ideas to address some of the pending issues and discuss ideas to support all the upcoming/blocked features for the desktop client.

So let's dive onto the mockups (Some of these are very raw so let's try to focus on the content/function rather than the UI which is not very polished)

Onboarding Nothing fancy here, all I care at this step of the user flow is the following (Unless something else is planned)

chatinterface 0 2x chatinterface 1 2x

Cabal's Main UI First of all: The UI needed an overhaul to make it harmonize with the chromeless window; I tried to keep a familiar design but I got rid of most of the chrome UI elements and separators. I tried to make it very clean and very focused on the conversations.

chatinterface 2 2x chatinterface 3 2x

Cabal's Sidebar Having a collapsing sidebar could be used to implement threaded conversations, and a lot of other useful features. I am working on a prototype as I am writing this to visually explain how it works.

Basic modal elements were also considered (nothing fancy here)

chatinterface 4 2x chatinterface 6 2x

Settings Inspired by Atom's settings screen I tried to reuse components from the main chat screen to design this mockup. Hopefully easier to implement — This screen still needs more work and more planning.

chatinterface 7 2x

System messages Very simple messages: I was thinking that some users might want to use cabal's conversations offline so these screens might need further work… They also need graphic content such as illustrations/icons and simple/straightforward copy.

It would be great to have a list with all the current defined use cases to design all the needed screens.

chatinterface 8 2x chatinterface 9 2x

And a to wrap up… a dark theme. Just because… why not? ;)

chatinterface 10 s 2x

I have started using Inter UI as the main typeface for cabal's UI. I think it works great and i'd love to have a congruent typeface on different operating systems (unlike the current implementation) – Thoughts on this?

I am working on a small design system as well wich borrows some cues and ideas from the macOS user interface guidelines, I'll be posting some WIP's here pretty soon.

So, just to wrap up: All of these screens are just mockups and ideas to start a constructive conversation about design. Comments, critique and ideas/wishlists are more than welcome (They are very needed!)

Let me know what do y'all think about all these ideas :)

Pd. Please forgive any typos or rubbish english, it's 4:23am and my brain is kind of skewed.

cblgh commented 6 years ago

omfg @simbolo THIS IS AMAZING 😭

I am too excited to write proper sentences so I'm just going to spout out my first few thoughts lol

+1 on Inter UI

I love the sidebar for threaded conversations / DMs. Honestly I agree with everything you've written lol. I'd be interested in seeing how you would design UI for https://github.com/cabal-club/cabal-desktop/issues/66#issuecomment-413981122 and the sharing of a cabal; this might be what you mean by micro-interaction though :3

I like the indicator of a peer being online

Here are some immediate thoughts for a first few things for the settings screen

Settings

seriously you've blown me away hoooly moly

hackergrrl commented 6 years ago

@simbolo Wow! I am blown away by your effort & quality, and just very honoured to see cabal be the recipient of your skilled attention & crafting. :heart: Having you appear on the project and offer your skillset has helped cabal make massive strides in UI/UX quality. Thank you.

My thoughts:

Beautiful designs @simbolo! :tada:

cinnamon-bun commented 6 years ago

Beautiful!

About the peer list -- peers come in several varieties:

That could be further filtered by channel, but channels don't know who has "joined" them like in Slack. You can only know who has posted in a channel but not who is reading it.

To display this I'd propose 3 ways of showing peers in the sidebar:

simbolo commented 6 years ago

Thanks everybody for your comments, I will take them into consideration to polish all the rest of the mockups. I have been busy at work but yesterday I had some free time to polish the UI just a bit more:

cabal prototype copy 6 2x cabal prototype copy 7 2x

I have way too much to explain of what I am doing here, but I will find some time to write more about it pretty soon.

Looking forward to weekend to contribute with more stuff!

todrobbins commented 5 years ago

@simbolo 🎉🎉🎉

What did you make your comps with? I'm ready to pitch in with building the UI/markup.

simbolo commented 5 years ago

Hey y'all! My job has been very demanding this month and I haven't been able to continue working on the mockup concepts at all. I am really sorry :/

@todrobbins All these designs were done in Sketch, I can upload them somewhere if you wanna pick this up! 🖖

nikolaiwarner commented 5 years ago

@simbolo <3 I think we're all in the same boat. lol When i have time soon (like soon for real :D) I'm going to make an inventory of all of the screens/ui i feel we'll need for the whole app and I'll post that here for discussion. Soon!

@todrobbins Just a heads up, I may go ahead and hack in and wire up a settings screen so that it's not blocking other features. And then if you want to make it pretty and fit our style guide go for it! 💅