RealTime

RealTime Used AI

24 devlogs
18h 51m
•  Ship certified
Created by Marco

The goal of RealTime is to see what is being written character by character: you can almost double the speed of communication!

RT wants to go beyond this and make you feel in front of your interlocutor. Thanks to its human-centered design, animations and its "organic interface". RealTime doesn’t aim to replace existing and widely
used messaging systems but rather to be an extension to them.

Features:
1. Real-time typing
2. Physical proximity for contact
3. Open source and well documented

Coming features:
1. Live voice messages
2. Live images
3. E2E encryption
4. Export JSON and nice PDF

Timeline

Ship 1

1 payout of shell 284.0 shells

Marco

5 days ago

Marco Covers 24 devlogs and 18h 51m

Improved readme and other stuff for the ship.
Not 5 minute for this but i don't used the code editor much for this.

Update attachment
Marco
Marco
1h 22m 6 days ago

Worked on the chat screen: auto scroll and mobile keyboard behavior.

The mobile virtual keyboard it's a difficult thing to deal with

Update attachment

I've completed styling the chat page.

I still need to figure out how to make the virtual keyboard work properly, synchronize timestamps between client and server (perhaps I could include a timestamp in the ACK), and implement encryption.

Update attachment
Marco
Marco
2h 37m 7 days ago

Worked on the style of the chat windows: added chat bubbles.

The colors are based on a username ash, so the same username will always have the same color on all clients without needing to transmit additional data.

If you like, take a look at the subtle color gradients: what looks like gray/black isn't!

Now i will style the text input, for now I'll put it at the bottom, then I'd like to put it inside the bubble I'm writing in (maybe).

Update attachment

Refactored files and folders, cleaned up lots of code, made lots of little improvements.

Now i will be make the graphic of the chatroom page (see the attached screenshot for what is the chat screen right now)

Update attachment

Fixed the scanner not obtaining privileges on Android, trying obtaining the 'normal' camera on phones and styled the scanner.

Now i need to syle well the chat and better form the labels in the chat list

Update attachment

Onboarding form style.

Now i need to better organize folder structure and then make the chat screen style.

And the cryptography but that after finishing the style.

Update attachment

Chat list new style with cool buttons following the navbar back button

Update attachment

Working on graphic design.

I think the navbar and QR code page came out really nice.

I'm attaching a video: hope that the blurr will be good in video.

Now you can create and join rooms all with QRCODES!
(You can see a demo with real phones in the video attached)

Also i'm starting doing some graphical stuff.

This version still doesn't include encryption. When i will put the encryption the QRCODE part will be in both way: i want to use a hybrid encryption.

There are still lot's of other improvements to do but i can say that this is the first really usable version of the client!

Graphic design is my passion

Update attachment

Now you can Joina room via QR Code!

Auto update of the room list

Update attachment

Added IndexDB support for local storage of rooms, messages and users.

Now i have to:
- automatically refresh room list in a cool way
- encryption
- graphics
- qr code

Translated comment and displayed elements of the client in English and made some UX improvement:
- disable the create account button while the process is happening
- put a button to refresh chat list

Update attachment

Wrote down the schema of the IndexDB

Update attachment
Rei Rei 10 days ago
Good work :D

I decided to deploy the client. Easy, right? But no, because I decided to do something cool and not include the file name in the URL, so I'd get client.chatinrealtime.com/chatlist and not client.chatinrealtime.com/chatlist/index.html. But there was a problem: when I was working with the local live server, the scripts were served correctly (as I intended), but when I used render, the ./ from client.chatinrealtime.com/chat_list was the root and not /chat, so the script always needed to be in the root.

After about thirty minutes of debugging and four merges on GitHub, I figured out what the problem was and fixed it.

As you may have read, I registered the subdomain where I host the client if you want to use the hosted client and not a local one or your own.

You can reach him at client.chatinrealtime.com

I hope to implement message storage in the client soon so I can then focus on:
1. encryption
2. graphics
3. improved UX (I'll work on the QR code join later)

I'm sorry it only shows 6 minutes of work, but that's the time I spent writing code, not all the rest of the time I spent debugging :(

Update attachment

Understanding how to permanently store data in the browser:

I read the mdn page about the various ways to store data in the browser, and I decided to use IDB. I then read and re-read the mdn tutorial step by step to understand how to use IDB.

This is my result :D

Update attachment

Now i render both received and send messages in the chat

Update attachment
Marco
Marco
1h 28m 10 days ago

Incapsulated the chat code in a class
Now the web client can send and recieve messages (typing and finish)

The next things will be:
1. proper visualization of messages outgoing and ingoing
2. memorization in local db of messages, rooms and users
3. encrypting and decrypting of message payload

Started writing the socket client.

Now the client can connect to the server websocket and and authenticate by sending as first message the api key.

I will incapsulate things in a class as next thing to better manage the code.

The next steps will be:
- refactor the current socket code in a class
- write and recieve messages
- store messages in a local database

bye for today :)

Update attachment

Added approve and deny possibilities for the join requests

Update attachment

Now you can send a join request to a room from the web client.
The next thing will be working on showing to members the join requests and let them accept o deny them.

Update attachment

Started writing the Web App to use my previously written API for real-time chat.
Before i wanted to write an Androdi Client but the Android ecosystem was too demanding.

This first part of the web app allows you to create your own user account and create a room.

The next thing I'll work on is joining a room, and then I'll start working on the page that allows you to write and receive messages within a room.

For now, the web app will be as graphically simple as possible: I want to focus on creating a deployable version as quickly as possible.

Update attachment