happyborg / p2p-git-portal-poc

p2p git portal proof-of-concept using Svelte Golang/WASM (experimental)
http://gitch.happybeing.com
GNU General Public License v3.0
33 stars 5 forks source link

Style the HTML/CSS to suit a git portal #1

Open happybeing opened 3 years ago

happybeing commented 3 years ago

The app runs and uses default Svelte HTML/CSS styling, but initially it should mirror github to highlight its aim to replicate key features of a git portal like github. Later it can differentiate itself, but initially I think it will help to demonstrate the purpose of a proof-of-concept, what is working at any stage and where work is still needed.

As a starting point, we might look at using parts of the git-bug web UI, or build something from scratch for this Svelte framework.

tylerchilds commented 3 years ago

Took some time this morning to sketch out my initial thoughts on how I'd tackle this issue. I'm thinking a classic sidebar with the main content area being a sort of well.

Discrete concepts such as uploading, cloning, commit history, etc can be represented as cards. Any feedback before I proceed will be greatly appreciated :)

PXL_20201121_200011142

JPL1 commented 3 years ago

Looks good - a bit like Gitlab

happybeing commented 3 years ago

You're way ahead of me Tyler, which is good!

I'd like you to feel free to explore and innovate, particularly for the longer term view. My feeling, and it's only that at this stage, is that to illustrate the goal which is to create an alternative to github on a p2p platform, we might begin by creating something that looks and works very similar to github (copyright etc permitting). The idea being to make clear this is a project offering both what we like about github, and something that is free from the risks and downsides of a service provided to further the aims of a massive corporation, rather than centered on and for the benefit the community which produces value for other reasons, both to share together and for our infinitely diverse individual goals.

So I think it's also good to be thinking differently. Github was designed with particular goals, initially to further the interests of first the founders and is now transitioning to further the interests of its new owner Microsoft. We see this already, and at all times the service is vulnerable to the rest the wind blows, in the jurisdiction in which its owner operates.

"Our" goals are different, although of course the core functions are in common. I'm not great at envisaging truly innovative stuff though so I welcome input on that and I'm not going to say don't look at things you think will improve this, but maybe we can have two tracks? And a bigger discussion in the longer term than what's needed short term.

I realise that I'm not giving clear guidance here, because I'm keen for this to be a collaboration, but will do so when needed or requested.

Those are just my thoughts at this time and as first collaborator, I'm keen to hear from you what you think about these issues, as well as your ideas for where to proceed on UI short and long term. I've not done much collaboration yet so feel free to give feedback and suggestions anywhere you think you can help.

I'll have a think about the above, but at first sight its exciting to see. I'd love to get into thinking about longer term but right now am focused on demonstrating that this thing can fly.

For the proof of concept, anything will do, but we can carry over what you create to the app once the proof has been obtained. Later our considerations will broaden (innovative features, responsive design etc), we'll have discussions on project goals, long and short term milestones etc.

So I'm keen to hear your thoughts on this, and if you're interested, putting ideas on the safenetforum.org is also a good place to get feedback and ideas on all aspects. It's a friendly place :smile: but up to you what you wish to put out there.

JPL1 commented 3 years ago

To comment, I think GitHub has a terrible UI/UX and is ripe for improvement. I like the sidebar layout, it's similar to VS Code and also GitHub alternatives like GitLab. Very comfortable and familiar.

tylerchilds commented 3 years ago

@happybeing I've been thinking a bit more about this and long term what we'd need from an alternative to GitHub, at least from the UI perspective.

So just thinking through this by typing out loud. But I think having the type of hierarchy like below, should satisfy most future use-cases. I'm also thinking about responsive design at the outset, so we'll look and feel good on mobile too :) As we grow, there might be other contexts besides "Repositories" but since that's TBD, I think this pattern is generic enough to satisfy whatever might be the same level of hierarchy as repositories.

P2P Git Portal

Repositories
  * Repository 1
  * Repository 2
  * Repository 3 (active)
     * commits
     * issues (active)
     * pull requests
     * wiki
  * Repository 4

I don't think this is particularly ground-breaking in approach, but I think it matches what someone coming from GitHub or GitLab would expect. I think the P2P aspect is innovative enough on it's own legs and the UI just needs to enhance what's already really good about what you're building.

I'll keep thinking through this and sketch up a little on what I think mobile could look like too and share on the forums for feedback before getting into writing actual code.

happybeing commented 3 years ago

Sounds perfect. I'm thinking three goals that relate to UX, which we don't necessarily have to do but that never stops me:

  1. Showcase - github lookalike. Purpose: to show both what this brings (p2p et al) and what's not there yet compared to github (eg PRs, notifications, social). Helps people think: why p2p? For those that get it, encourages thinking about how to build what's missing and what else it can be. This would be a stepping stone, to help adoption and bootstrap the project and its community of developers and users. It's also probably the easiest thing to deliver while we have limited resources.
  2. Product v1.x - better github UX (needs a name). Purpose: allow adopters to get the best out of what we can deliver as we go. Shows that github can be improved upon, and hopefully we can ourselves begin to see where the goals of the owners of that product are in conflict with the needs and wants of the community of its users.
  3. New Ways - breaking new ground and letting go. Purpose: create new and better ways for individuals and groups to build, share and create in ways that improve and extend the current competences. Features, ways of working, and new kinds of UX will evolve together. This may start with a product but pave the way for a p2p platform, and an ecosystem that we are part of rather than leading.

Just thinking out loud while trying to help us create a common understanding of what we're doing. Other ideas welcome. It's helpful and healthy to have someone interested in the detail to discuss this with and bounce ideas off.

happybeing commented 3 years ago

@tylerchilds FYI: someone sent me a link to this p2p code collaboration system: https://codefuse.eth.link I've reached out to the author to find out more. UI is very github but other wise I don't know much about it.