Skip to content
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

frontend UX #7

Closed
ArtificialOwl opened this issue Oct 1, 2018 · 18 comments
Closed

frontend UX #7

ArtificialOwl opened this issue Oct 1, 2018 · 18 comments
Labels
design enhancement New feature or request
Milestone

Comments

@ArtificialOwl
Copy link
Member

We need to start some editing on the frontend:

  • On user's first use of the Social app, we need an empty screen that ask for a username (no space and let's start with only numeric/alpha chars). Example if my username is maxence my ActivityPub handle will be @maxence@cloud.example.com

  • Once the username defined, we need to add a way to post something from the UI, also to display posts (post should be displayed in a timeline and in some notification)

@juliusknorr
Copy link
Member

On user's first use of the Social app, we need an empty screen that ask for a username (no space and let's start with only numeric/alpha chars). Example if my username is maxence my ActivityPub handle will be @maxence@cloud.example.com

Shouldn't we just use the username for that? it should basically be the same as the federated cloud id in my oppinion. cc @jancborchardt

Once the username defined, we need to add a way to post something from the UI, also to display posts (post should be displayed in a timeline and in some notification)

As the screenshot from the readme already shows, this should look somehow like the talk ui: https://github.com/nextcloud-gmbh/social/raw/master/img/screenshot.png

@nickvergessen
Copy link
Member

Shouldn't we just use the username for that? it should basically be the same as the federated cloud id in my opinion.

Yes, otherwise it get's too complicated.

@ArtificialOwl
Copy link
Member Author

Was thinking about this, but some userId might not really reflect the username ?

We can always add an option so that admin can limit the username to userId.

Now even if we don't let the user to choose his handle, we would need a 'first-use' page with some description, and a button so that we generate the account (public/private keys)

@nickvergessen
Copy link
Member

Was thinking about this, but some userId might not really reflect the username ?

We can always add an option so that admin can limit the username to userId.

It's the same with federated shares right now, there was a loooong discussion for multiple releases but we didnt go for it yet.

@ArtificialOwl
Copy link
Member Author

The app right now allow to set a different activitypub-username for a userid so we'll keep it this way and just add an option to lock to userid=username !

The thing is that once an handle is set on the network, there is not so much that can be done.

@nickvergessen
Copy link
Member

So, if I'm quicker than you, I can take @your-user-id@our-shared-instance as my activitypub-username, sounds great...

Please lets not use something else then the federation id. Otherwise it will get messed up hard when we publish federated shares/calls/whatever together with this, since there are 2 similar names involved.

cc @schiessle

@ArtificialOwl
Copy link
Member Author

As said before, this can/should be locked by admin.

@juliusknorr
Copy link
Member

Now even if we don't let the user to choose his handle, we would need a 'first-use' page with some description, and a button so that we generate the account (public/private keys)

I would just go for that solution. We show the activitypub username and allow the user to just set a description to get started. We still can extend this later and allow setting custom user names, if that is realy an issue.

@jancborchardt
Copy link
Member

jancborchardt commented Oct 2, 2018

Basically what @juliushaertl said:

Let’s please keep it dead simple. We can always see what to add later. Username should simply be the Nextcloud username, so your ID comparable to Mastodon is your federated share ID.

And then the first run is also as seamless as just opening the app.

@juliusknorr
Copy link
Member

Ok, so we just generate the keys in the background on the first run and show the timeline view with the input for new posts.

@ArtificialOwl
Copy link
Member Author

This is now the case: 0ab2dcd

For the record, this is not a good approach, but I am just a developer in here.

This is not good because (imho):

  • We don't tell the user that his account is created. Extrapolating this situation, on a big instance of Nextcloud, anyone would think that everyone have an already valid account of Social.

  • We don't let the user the choice to not create a Social account. As soon as the app is open (even from an external link, no CSRF check), the account will be created.

  • There is no hint about what the app does.

@juliusknorr
Copy link
Member

We don't tell the user that his account is created. Extrapolating this situation, on a big instance of Nextcloud, anyone would think that everyone have an already valid account of Social.
There is no hint about what the app does.

We can easily work around that by showing a nice introduction view once the user opens the app. This should then show the social user id.

We don't let the user the choice to not create a Social account. As soon as the app is open (even from an external link, no CSRF check), the account will be created.

I think we can improve on that later, to just create the account once the user activly opens the social app view.

@jancborchardt
Copy link
Member

@daita they already have an account, it’s their Nextcloud account. :) People also don’t have separate accounts for Calendar, Contacts, and they can’t choose their federated cloud ID either. It would make it absolutely complicated.

Otherwise what @juliushaertl said. :)

@ArtificialOwl
Copy link
Member Author

However, not sure the Calendar and Contact app is using the ActivityPub protocol to communicate with remote network.

@juliusknorr
Copy link
Member

@jancborchardt I thought a bit more about the view navigation hirarchy we have inside of the social app. Since navigating between the users timeline, individual profiles and their post timelines can go be in any level of depth, it might make sense to not use our usual 3 column based layout and instead use a regular page based navigation. The left sidebar would then act as some kind of quick access menu for specific pages, but the main content area is not structured with a list and details view.

Here is my idea visualized with some quick mockups:

You start in your account view
ownprofile

you click on a different user inside the following list of the account view:
following

You end up in the account view for the selected user, which is basically the same screen as the first one. We just take away the highlight of the "Your account" entry in the app navigation.

@jancborchardt
Copy link
Member

jancborchardt commented Oct 23, 2018

I initially looked at your mockup for the public page #3 (comment) and there the layout looks a bit better. With the #app-navigation on the left it’s a bit much though. And we also need to keep in mind that we will probably have profile background images in the future.

What do you think about this? For me this feels much simpler in general, less an interface you are looking at, and more content. (And this is also what others like Mastodon and Twitter go with more.)
social

@juliusknorr
Copy link
Member

What do you think about this? For me this feels much simpler in general, less an interface you are looking at, and more content. (And this is also what others like Mastodon and Twitter go with more.)

Yes, that looks way cleaner and makes it easier to focus on the relevant parts. 👍

@juliusknorr
Copy link
Member

So the basic UI is in. Let's continue with discussions in separate issues/prs.

@jancborchardt jancborchardt added this to the 0.1 🥚 milestone Dec 2, 2018
@jancborchardt jancborchardt added the enhancement New feature or request label Dec 3, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants