From 793a712ea9c7fa8d1d1d8587443f9a7fa4b8626a Mon Sep 17 00:00:00 2001 From: OGordoo Date: Fri, 3 Jul 2020 16:48:08 +0100 Subject: [PATCH 1/5] real-time-forum --- subjects/real-time-forum/README.md | 77 ++++++++++++++++++++++++ subjects/real-time-forum/audit/README.md | 75 +++++++++++++++++++++++ 2 files changed, 152 insertions(+) create mode 100644 subjects/real-time-forum/README.md create mode 100644 subjects/real-time-forum/audit/README.md diff --git a/subjects/real-time-forum/README.md b/subjects/real-time-forum/README.md new file mode 100644 index 000000000..7f2ff5ab4 --- /dev/null +++ b/subjects/real-time-forum/README.md @@ -0,0 +1,77 @@ +## real-time-forum + +Remember the forum you did a while ago? Well it's time to make one even better also using JS, with chat rooms, private messages, real time actions, live sharing video and live screen sharing too. Well, maybe not the last two. To get things straight there is a list below of what you will have to do. + +### Objectives + +On this project you will have to focus on a few points: + +- Registration and Login +- Creation of posts + - Commenting posts +- Private Messages + +As you already did the first forum you can use part of the code, but not all of it. Your new forum will have five different parts: + +- **SQLite**, in which you will store data, just like in the [previous forum](https://public.01-edu.org/subjects/forum/#communication) +- **Golang**, in which you will handle data and Websockets (Backend) +- **Javascript**, in which you will handle all the Frontend events +- **HTML**, in which you will organize the elements of the page +- **CSS**, in which you will stylize the elements of the page + +You will have only one HTML file, so every change of page you want to do, should be handled in the Javascript. This can be called having a [single page application](https://en.wikipedia.org/wiki/Single-page_application). + +#### Registration and Login + +To be able to use the new and upgraded forum users will have to register and login. This is premium stuff. The registration and login process should take in consideration the following features: + +- Users must be able to fill a register form to register into the forum. They will have to provide at least: + - Nickname + - Age + - Gender + - First Name + - Last Name + - E-mail + - Password +- The user must be able to connect using either the nickname or the e-mail combined with the password. +- The user must be able to log out from any page on the forum. +- The user must be able to consult other people profiles and see everything except the e-mail and the password (obviously). + +#### Posts and Comments + +This part is pretty similar to the first forum. Users must be able to: + +- Create posts + - Posts will have categories as in the first forum +- Create comments on the posts +- See posts in a feed display + - See comments only if they click on a post + +But there is a twist. If some user creates a post, that post has to be created to all users without refreshing the page and the same goes for the comments. You can achieve this with [WebSockets](https://en.wikipedia.org/wiki/WebSocket). + +#### Private Messages + +Users will be able to send private messages to each other, so you will need : + +- A section of the site to show who is online and able to talk to. + - The user must be able to send private messages to the users who are online +- A section of the site that shows the people that the user already texted or that texted the user + +Both of these sections must be visible at all times, in every pages. + +As it is expected, the messages should work on real time, in other words, if a user sends a message, the other user should receive the notification of the new message without refreshing the page. Again this is possible through the use of WebSockets. + +This project will help you learn about: + +- The basics of web : + - HTML + - HTTP + - Sessions and cookies + - CSS + - Backend and Frontend + - DOM +- [Go routines](https://golangbot.com/goroutines/) +- [Go channels](https://medium.com/rungo/anatomy-of-channels-in-go-concurrency-in-go-1ec336086adb) +- [WebSockets](https://en.wikipedia.org/wiki/WebSocket) +- SQL language + - Manipulation of databases diff --git a/subjects/real-time-forum/audit/README.md b/subjects/real-time-forum/audit/README.md new file mode 100644 index 000000000..30a9df6c4 --- /dev/null +++ b/subjects/real-time-forum/audit/README.md @@ -0,0 +1,75 @@ +#### Functional + +###### Do you need to register/login in the forum to use it? + +##### Try registering as a new user + +###### Does the site asks for a nickname, age, gender, first and last name, email and password? + +##### Try to login as an unregistered user. + +###### Did it fail to enter the forum? + +##### Go to the login page. + +###### Does the login requests for a nickname or an email combined with a password? + +##### Try to login as a registered user. + +###### Are you able to login? + +##### After logging in, try to log out at different pages of the forum. + +###### Are you able to log out in every page? + +##### Try to check other people's profiles. + +###### Are you able to see their information (other than email and pass) + +##### Try to create a post. + +###### Are you able to create a post? + +##### Log in as a registered user. + +###### Are you able to see the post you previously created? + +##### Log in as a registered user and try to comment a post + +###### Are you able to comment on the post? + +##### Click on the post you created. + +###### Are you able to see the comment you previously created? + +##### Open two browsers (ex: Chrome and Firefox) and log in with different users in each one. With one user create a post. + +###### Did the other user saw the new post without refreshing the page? + +##### Open two browsers (ex: Chrome and Firefox), log in with different users in each one, click on a post with both users and try to comment with one user. + +###### Did the other user saw the new comment without refreshing the page? + +###### Is there a section designed to show online users? + +###### Is there a section designed to show the people that the user texted or texted the user? + +##### Open two browsers (ex: Chrome and Firefox), log in with different users in each one and with one of them try to send a private message to the other. + +###### Did the other user received the message in real time, without refreshing the page? + +##### Check the project code. + +###### Do you see the use of WebSockets? + +#### Bonus + +###### +Does the project runs quickly and effectively? (Favoring recursive, no unnecessary data requests, etc) + +###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices/README.md)? + +###### +Can the users edit their profile? + +###### +Can the users add a photo to their profile? + +###### +Can the users send images through the private messages? From 7a8329336e644fa0ce539568a8100074cb3c83f0 Mon Sep 17 00:00:00 2001 From: lee Date: Mon, 6 Jul 2020 11:44:22 +0100 Subject: [PATCH 2/5] adding to: private messages and audit --- subjects/real-time-forum/README.md | 17 +++++++++---- subjects/real-time-forum/audit/README.md | 32 +++++++++++++++++++++--- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/subjects/real-time-forum/README.md b/subjects/real-time-forum/README.md index 7f2ff5ab4..d3a81feac 100644 --- a/subjects/real-time-forum/README.md +++ b/subjects/real-time-forum/README.md @@ -51,15 +51,22 @@ But there is a twist. If some user creates a post, that post has to be created t #### Private Messages -Users will be able to send private messages to each other, so you will need : +Users will be able to send private messages to each other, so you will need to create a chat, where it will exist : -- A section of the site to show who is online and able to talk to. +- A section to show who is online and able to talk to: + - This section must be organized by the last message sent (just like discord), if the user is new and does not present messages you must organize it in alphabetic order. - The user must be able to send private messages to the users who are online -- A section of the site that shows the people that the user already texted or that texted the user + - This sections must be visible at all times, in every pages. -Both of these sections must be visible at all times, in every pages. +- A section that when clicked on the user that you want to send a message, reloads the past messages. Messages that where already sent: + - For this you will have to be able to see the previous messages that you had with the user + - Reload the 10 last messages and when scrolled up to see more messages you must provide the user with 10 more messages. **Do not forget what you learned!! (`Throttle`, `Debounce`)** -As it is expected, the messages should work on real time, in other words, if a user sends a message, the other user should receive the notification of the new message without refreshing the page. Again this is possible through the use of WebSockets. +- Messages must have a specific format: + - A **`date`** that shows when the message was sent + - The **`user name`**, that identifies the user that sent the message + +As it is expected, the messages should work in real time, in other words, if a user sends a message, the other user should receive the notification of the new message without refreshing the page. Again this is possible through the usage of WebSockets in backend and frontend. This project will help you learn about: diff --git a/subjects/real-time-forum/audit/README.md b/subjects/real-time-forum/audit/README.md index 30a9df6c4..c074c9e1a 100644 --- a/subjects/real-time-forum/audit/README.md +++ b/subjects/real-time-forum/audit/README.md @@ -4,7 +4,7 @@ ##### Try registering as a new user -###### Does the site asks for a nickname, age, gender, first and last name, email and password? +###### Does the site asks for a nickname, age, gender, first and last name, email and password? ##### Try to login as an unregistered user. @@ -52,15 +52,39 @@ ###### Is there a section designed to show online users? -###### Is there a section designed to show the people that the user texted or texted the user? +###### Are the chat users organized by last message sent (just like discord)? + +##### Try and register a new user that does not have chat messages. + +###### Are the chat users organized in alphabetic order? + +##### Try to send a message + +###### Does the message respect the format, by using the users name and the date that the message was sent? ##### Open two browsers (ex: Chrome and Firefox), log in with different users in each one and with one of them try to send a private message to the other. ###### Did the other user received the message in real time, without refreshing the page? +##### Open two browsers (ex: Chrome and Firefox), log in with different users in each one and with one of them try to send a private message to the other. + +###### Did the other user received a notification? + +##### Try to open a private conversation, that has more then 10 messages. + +###### Is the last 10 messages sent to this user loaded for you to see? + +##### Try to open a private conversation, that has more then 20 messages and scroll up to see the rest of the conversation. + +###### Does it use the scroll event to load more messages? + +##### Try to open a private conversation, that has more then 20 messages and scroll up to see the rest of the conversation. + +###### Does it load just 10 messages, without spamming the scroll event (This can be done using the function [Throttle](https://css-tricks.com/debouncing-throttling-explained-examples/#throttle))? + ##### Check the project code. -###### Do you see the use of WebSockets? +###### Do you see the usage of WebSockets? #### Bonus @@ -73,3 +97,5 @@ ###### +Can the users add a photo to their profile? ###### +Can the users send images through the private messages? + +###### +Is the code using synchronicity (Promises and goroutines/channels) to increase performance? From 0a0c4bd1353b8d4379861c59eee9e198868e0533 Mon Sep 17 00:00:00 2001 From: lee Date: Thu, 9 Jul 2020 17:27:43 +0100 Subject: [PATCH 3/5] optional project : typing-in-progress --- .../typing-in-progress/README.md | 31 ++++++++++++++++ .../typing-in-progress/audit.md | 37 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 subjects/real-time-forum/typing-in-progress/README.md create mode 100644 subjects/real-time-forum/typing-in-progress/audit.md diff --git a/subjects/real-time-forum/typing-in-progress/README.md b/subjects/real-time-forum/typing-in-progress/README.md new file mode 100644 index 000000000..22626d64b --- /dev/null +++ b/subjects/real-time-forum/typing-in-progress/README.md @@ -0,0 +1,31 @@ +## typing in progress + +### Objectives + +You must follow the same [principles](https://public.01-edu.org/subjects/real-time-forum/README.md) as the first subject. + +For this project you must create: + +- A Typing in progress engine + +### Instructions + +A typing in progress engine is the a way that people can see that a user is typing in real time. Allowing you to see in real time that the other user is replying or sending a message. + +The typing in progress engine must work in real time! This meaning that if you start typing to a certain user this user will be able to see that you are typing + +This engine must have/display: + +- A websocket to stablish the connection with both users +- An animation so that the user can see that you are typing, this animation should be smooth (no interruptions/janks) and just enough to draw attention for the user to see (user friendly) +- The name of the user that is typing +- When ever the user stops typing or finishes the conversation, it should not display the animation + +For help displaying the typing in progress you can take a look on the js [event](https://developer.mozilla.org/en-US/docs/Web/Events) list, primarily the **Keyboard events** and the **Focus events** + +This project will help you learn about: + +- [Go routines](https://golangbot.com/goroutines/) +- [Go channels](https://medium.com/rungo/anatomy-of-channels-in-go-concurrency-in-go-1ec336086adb) +- [WebSockets](https://en.wikipedia.org/wiki/WebSocket) +- [Events](https://developer.mozilla.org/en-US/docs/Web/Events) diff --git a/subjects/real-time-forum/typing-in-progress/audit.md b/subjects/real-time-forum/typing-in-progress/audit.md new file mode 100644 index 000000000..f358dc390 --- /dev/null +++ b/subjects/real-time-forum/typing-in-progress/audit.md @@ -0,0 +1,37 @@ +#### Functional + +##### Open two browsers (ex: Chrome and Firefox or private windows) and log in with different users in each one. With one user start typing. + +###### Can you confirm that the typing in progress engine works? + +##### Using the same two browsers, start typing with one of the users. + +###### Can you confirm that the typing in progress has the name of the user that is typing? + +##### Using the same two browsers, start typing with one of the users. + +###### Is there any animation from the typing in progress + +##### Using the same two browsers, start typing with one of the users. + +###### Does the animation work smoothly, without movement interruptions? + +##### Using the same two browsers, start typing with one of the users. + +###### Is the animation from the typing in progress engine user friendly (easy to understand/see)? + +##### Open two browsers (ex: Chrome and Firefox or private windows) and log in with different users in each one. With one user start typing and then stop. + +###### Can you confirm that the typing in progress engine stopped when the user stop typing? + +##### Open two browsers (ex: Chrome and Firefox or private windows) and log in with different users in each one, then start a conversation between the users. + +###### Is typing in progress engine working properly in both users? (each one can see when the other is typing or not) + +#### Bonus + +###### +Does the project runs quickly and effectively? (Favoring recursive, no unnecessary data requests, etc) + +###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices/README.md)? + +###### +Is the code using synchronicity (Promises and goroutines/channels) to increase performance? From 980ee99d31cee039029bec7c1a18e58cc4b9060b Mon Sep 17 00:00:00 2001 From: lee Date: Mon, 13 Jul 2020 10:02:22 +0100 Subject: [PATCH 4/5] adding corrections --- subjects/real-time-forum/README.md | 10 ++++++---- subjects/real-time-forum/audit/README.md | 4 ---- subjects/real-time-forum/typing-in-progress/README.md | 8 +++++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/subjects/real-time-forum/README.md b/subjects/real-time-forum/README.md index d3a81feac..51dbc2397 100644 --- a/subjects/real-time-forum/README.md +++ b/subjects/real-time-forum/README.md @@ -1,6 +1,6 @@ ## real-time-forum -Remember the forum you did a while ago? Well it's time to make one even better also using JS, with chat rooms, private messages, real time actions, live sharing video and live screen sharing too. Well, maybe not the last two. To get things straight there is a list below of what you will have to do. +Remember the forum you did a while ago? Well it's time to make one even better also using JS, private messages, real time actions, live sharing video and live screen sharing too. Well, maybe not the last two. To get things straight there is a list below of what you will have to do. ### Objectives @@ -15,7 +15,7 @@ As you already did the first forum you can use part of the code, but not all of - **SQLite**, in which you will store data, just like in the [previous forum](https://public.01-edu.org/subjects/forum/#communication) - **Golang**, in which you will handle data and Websockets (Backend) -- **Javascript**, in which you will handle all the Frontend events +- **Javascript**, in which you will handle all the Frontend events and clients Websockets - **HTML**, in which you will organize the elements of the page - **CSS**, in which you will stylize the elements of the page @@ -56,7 +56,7 @@ Users will be able to send private messages to each other, so you will need to c - A section to show who is online and able to talk to: - This section must be organized by the last message sent (just like discord), if the user is new and does not present messages you must organize it in alphabetic order. - The user must be able to send private messages to the users who are online - - This sections must be visible at all times, in every pages. + - This sections must be visible at all times. - A section that when clicked on the user that you want to send a message, reloads the past messages. Messages that where already sent: - For this you will have to be able to see the previous messages that you had with the user @@ -79,6 +79,8 @@ This project will help you learn about: - DOM - [Go routines](https://golangbot.com/goroutines/) - [Go channels](https://medium.com/rungo/anatomy-of-channels-in-go-concurrency-in-go-1ec336086adb) -- [WebSockets](https://en.wikipedia.org/wiki/WebSocket) +- [WebSockets](https://en.wikipedia.org/wiki/WebSocket): + - Go Websockets + - JS Websockets - SQL language - Manipulation of databases diff --git a/subjects/real-time-forum/audit/README.md b/subjects/real-time-forum/audit/README.md index c074c9e1a..b7b86b363 100644 --- a/subjects/real-time-forum/audit/README.md +++ b/subjects/real-time-forum/audit/README.md @@ -82,10 +82,6 @@ ###### Does it load just 10 messages, without spamming the scroll event (This can be done using the function [Throttle](https://css-tricks.com/debouncing-throttling-explained-examples/#throttle))? -##### Check the project code. - -###### Do you see the usage of WebSockets? - #### Bonus ###### +Does the project runs quickly and effectively? (Favoring recursive, no unnecessary data requests, etc) diff --git a/subjects/real-time-forum/typing-in-progress/README.md b/subjects/real-time-forum/typing-in-progress/README.md index 22626d64b..4160db4c1 100644 --- a/subjects/real-time-forum/typing-in-progress/README.md +++ b/subjects/real-time-forum/typing-in-progress/README.md @@ -6,11 +6,11 @@ You must follow the same [principles](https://public.01-edu.org/subjects/real-ti For this project you must create: -- A Typing in progress engine +- A [Typing in progress](https://i.insider.com/56996788dd0895a06c8b460c?width=1100&format=jpeg&auto=webp) engine ### Instructions -A typing in progress engine is the a way that people can see that a user is typing in real time. Allowing you to see in real time that the other user is replying or sending a message. +A typing in progress engine is a way that people can see that a user is typing in real time. Allowing you to see the other user is replying or sending a message. The typing in progress engine must work in real time! This meaning that if you start typing to a certain user this user will be able to see that you are typing @@ -27,5 +27,7 @@ This project will help you learn about: - [Go routines](https://golangbot.com/goroutines/) - [Go channels](https://medium.com/rungo/anatomy-of-channels-in-go-concurrency-in-go-1ec336086adb) -- [WebSockets](https://en.wikipedia.org/wiki/WebSocket) +- [WebSockets](https://en.wikipedia.org/wiki/WebSocket): + - Go Websockets + - JS Websockets - [Events](https://developer.mozilla.org/en-US/docs/Web/Events) From 55f91b9e04663c8b9b0f220fcc8a309e93f21406 Mon Sep 17 00:00:00 2001 From: OGordoo Date: Tue, 28 Jul 2020 17:16:22 +0100 Subject: [PATCH 5/5] readmes and audits review --- subjects/real-time-forum/README.md | 17 +++++++------ subjects/real-time-forum/audit/README.md | 24 ++++--------------- .../typing-in-progress/README.md | 6 ++--- .../typing-in-progress/audit.md | 12 ++++------ 4 files changed, 20 insertions(+), 39 deletions(-) diff --git a/subjects/real-time-forum/README.md b/subjects/real-time-forum/README.md index 51dbc2397..5ea66b6de 100644 --- a/subjects/real-time-forum/README.md +++ b/subjects/real-time-forum/README.md @@ -35,7 +35,6 @@ To be able to use the new and upgraded forum users will have to register and log - Password - The user must be able to connect using either the nickname or the e-mail combined with the password. - The user must be able to log out from any page on the forum. -- The user must be able to consult other people profiles and see everything except the e-mail and the password (obviously). #### Posts and Comments @@ -47,20 +46,20 @@ This part is pretty similar to the first forum. Users must be able to: - See posts in a feed display - See comments only if they click on a post -But there is a twist. If some user creates a post, that post has to be created to all users without refreshing the page and the same goes for the comments. You can achieve this with [WebSockets](https://en.wikipedia.org/wiki/WebSocket). - #### Private Messages Users will be able to send private messages to each other, so you will need to create a chat, where it will exist : - A section to show who is online and able to talk to: - - This section must be organized by the last message sent (just like discord), if the user is new and does not present messages you must organize it in alphabetic order. - - The user must be able to send private messages to the users who are online - - This sections must be visible at all times. -- A section that when clicked on the user that you want to send a message, reloads the past messages. Messages that where already sent: - - For this you will have to be able to see the previous messages that you had with the user - - Reload the 10 last messages and when scrolled up to see more messages you must provide the user with 10 more messages. **Do not forget what you learned!! (`Throttle`, `Debounce`)** + - This section must be organized by the last message sent (just like discord). If the user is new and does not present messages you must organize it in alphabetic order. + - The user must be able to send private messages to the users who are online. + - This section must be visible at all times. + +- A section that when clicked on the user that you want to send a message, reloads the past messages. Chats between users must: + + - Be visible, for this you will have to be able to see the previous messages that you had with the user + - Reload the last 10 messages and when scrolled up to see more messages you must provide the user with 10 more, without spamming the scroll event. **Do not forget what you learned!! (`Throttle`, `Debounce`)** - Messages must have a specific format: - A **`date`** that shows when the message was sent diff --git a/subjects/real-time-forum/audit/README.md b/subjects/real-time-forum/audit/README.md index b7b86b363..318ac206f 100644 --- a/subjects/real-time-forum/audit/README.md +++ b/subjects/real-time-forum/audit/README.md @@ -22,10 +22,6 @@ ###### Are you able to log out in every page? -##### Try to check other people's profiles. - -###### Are you able to see their information (other than email and pass) - ##### Try to create a post. ###### Are you able to create a post? @@ -34,7 +30,7 @@ ###### Are you able to see the post you previously created? -##### Log in as a registered user and try to comment a post +##### Log in as a registered user and try to comment a post. ###### Are you able to comment on the post? @@ -42,14 +38,6 @@ ###### Are you able to see the comment you previously created? -##### Open two browsers (ex: Chrome and Firefox) and log in with different users in each one. With one user create a post. - -###### Did the other user saw the new post without refreshing the page? - -##### Open two browsers (ex: Chrome and Firefox), log in with different users in each one, click on a post with both users and try to comment with one user. - -###### Did the other user saw the new comment without refreshing the page? - ###### Is there a section designed to show online users? ###### Are the chat users organized by last message sent (just like discord)? @@ -58,17 +46,17 @@ ###### Are the chat users organized in alphabetic order? -##### Try to send a message +##### Try to send a message. ###### Does the message respect the format, by using the users name and the date that the message was sent? ##### Open two browsers (ex: Chrome and Firefox), log in with different users in each one and with one of them try to send a private message to the other. -###### Did the other user received the message in real time, without refreshing the page? +###### Did the other user received a notification? ##### Open two browsers (ex: Chrome and Firefox), log in with different users in each one and with one of them try to send a private message to the other. -###### Did the other user received a notification? +###### Did the other user received the message in real time, without refreshing the page? ##### Try to open a private conversation, that has more then 10 messages. @@ -88,9 +76,7 @@ ###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices/README.md)? -###### +Can the users edit their profile? - -###### +Can the users add a photo to their profile? +###### +Does the users have profiles? ###### +Can the users send images through the private messages? diff --git a/subjects/real-time-forum/typing-in-progress/README.md b/subjects/real-time-forum/typing-in-progress/README.md index 4160db4c1..ed65af213 100644 --- a/subjects/real-time-forum/typing-in-progress/README.md +++ b/subjects/real-time-forum/typing-in-progress/README.md @@ -12,16 +12,16 @@ For this project you must create: A typing in progress engine is a way that people can see that a user is typing in real time. Allowing you to see the other user is replying or sending a message. -The typing in progress engine must work in real time! This meaning that if you start typing to a certain user this user will be able to see that you are typing +The typing in progress engine must work in real time! This meaning that if you start typing to a certain user this user will be able to see that you are typing. This engine must have/display: - A websocket to stablish the connection with both users - An animation so that the user can see that you are typing, this animation should be smooth (no interruptions/janks) and just enough to draw attention for the user to see (user friendly) - The name of the user that is typing -- When ever the user stops typing or finishes the conversation, it should not display the animation +- Whenever the user stops typing or finishes the conversation, it should not display the animation -For help displaying the typing in progress you can take a look on the js [event](https://developer.mozilla.org/en-US/docs/Web/Events) list, primarily the **Keyboard events** and the **Focus events** +To help with the display of the typing in progress you can take a look on the js [event](https://developer.mozilla.org/en-US/docs/Web/Events) list, mainly the **Keyboard events** and the **Focus events** This project will help you learn about: diff --git a/subjects/real-time-forum/typing-in-progress/audit.md b/subjects/real-time-forum/typing-in-progress/audit.md index f358dc390..b590bb235 100644 --- a/subjects/real-time-forum/typing-in-progress/audit.md +++ b/subjects/real-time-forum/typing-in-progress/audit.md @@ -2,23 +2,19 @@ ##### Open two browsers (ex: Chrome and Firefox or private windows) and log in with different users in each one. With one user start typing. -###### Can you confirm that the typing in progress engine works? +###### Is there any animation confirming that the typing in progress is working? ##### Using the same two browsers, start typing with one of the users. -###### Can you confirm that the typing in progress has the name of the user that is typing? - -##### Using the same two browsers, start typing with one of the users. - -###### Is there any animation from the typing in progress +###### Does the animation work smoothly, without movement interruptions? ##### Using the same two browsers, start typing with one of the users. -###### Does the animation work smoothly, without movement interruptions? +###### Is the animation from the typing in progress engine user friendly (easy to understand/see)? ##### Using the same two browsers, start typing with one of the users. -###### Is the animation from the typing in progress engine user friendly (easy to understand/see)? +###### Can you confirm that the typing in progress has the name of the user that is typing? ##### Open two browsers (ex: Chrome and Firefox or private windows) and log in with different users in each one. With one user start typing and then stop.