dev3lopcom, llc, official logo 12/8/2022

Connect Now

Real-time presence indicators is a cool feature request coming to your backlog. If you need to improve your companies software, DEV3LOP is here to discuss real-time presence indicators!

I spent many nights creating a new software Vugam, but now I need to make my software better. What do I do? Real-time presence indicators could be the next step in the equation.

However if you’re like me, you’re calling this multiplayer, or tracking cursors. Perhaps it’s the ability to see someone is typing in slack, or that there’s a green icon in zoom if you’re online. Some people are never online, and it’s really obvious via zoom icon indicator.

Does your software need multiplayer?

  • Do you want multiple users working together in a collaborative environment?
  • Are users working together on similar problems?
  • Are users using single player software that is built to collaborate with other people?

My first time seeing real-time indicators was while using GoogleSheets and GoogleDocs in college, however no cursor indicators and limited capabilities had me wondering, what’s next… But not being in the software engineering path, being focused on information system, I felt a little disconnected from the technology.

This blog discusses improving user experience with collaboration, the differences between what to stream real-time and what to store in storage, and the balancing act of how to manage real-time data flows.

Learn the history of websockets here, the journey to websockets.

I need to create a user experience that allows end users to come together.

But once that software is done, how do I improve? Perhaps, real-time presence indicators… Using websockets.

Hi, I’m Tyler, I’m interested in adding real-time presence indicators into new projects and in our future software releases. One in particular is creating a multiplayer analytics software, however how the heck do I make a software multiplayer? Friends have told me this is a stretch and a lot of work…

I’m naive, I didn’t believe them. Created websockets/multiplayer in a day, and created a bit of a problem. I wasn’t thinking about what should be persistent between sessions VS streaming. This caused a lot of bugs. But lets take these lemons and create a drink.

Javascript VS HTML (legacy) in this screenshot.

an image from websockets.org that shows the differences between old tech and new tech, showing how Real-Time Presence Indicators are truly working today

Why a Server and a Database Are Essential (and Why the Cursor COULD stay Ephemeral)

When building real-time web applications, one of the biggest decisions is how and where to store data. Not knowing how to do this yourself is a cool maze of learning that I’d like to explain to you, for business users, and technical people who are interested in transitioning into a more technical space!

Some might assume that a websocket alone can handle everything, but this misses a crucial point: you need a server and database layer to keep important data secure, consistent, and reliable. Some may even start learning “acid compliance” to further explore the rules of a database.

Following down a path of creating a websocket software that didn’t consider what should be persistent in a file or database, VS streaming in websockets is where I have fallen a victim, but in the mistake I found this is likely not common sense to business users who desire this request…

Real-Time Presence Indicators: The server acts as the backbone, ensuring everything runs smoothly and logically

Again, the server acts as the backbone, you’ll need a server to use websockets and the backbone is used to ensure everything runs smoothly and logically!

The database (or perhaps document storage) preserves what actually matters—data that should last beyond a single session or connection. But not everything belongs in the database. Take the cursor: it’s a dynamic, real-time element. It doesn’t need to be saved, tracked, or tied to a user’s identity. Let it stay ephemeral, moving freely through the websocket.

This approach doesn’t just streamline the system; it respects user privacy. By not storing or analyzing every cursor movement, users can trust they aren’t being monitored at this granular level. It’s a small but meaningful way to give control back to the user.

Why real-time cursor tracking Has Stuck with Me

My goal is to make real-time cursor tracking and communication a cornerstone of the web applications I build in the future. It’s a tool I’ve come to value deeply, largely because of the success I’ve seen with platforms like Figma.

Real-time collaboration is more than just a feature; it’s a way of thinking. Working with it teaches lessons about system design that stick with you—lessons that make you better at building solutions, even if you’re not the one writing the code.

The nice thing about creating a real time cursor tracking software yourself is that you run into the troubles of not knowing better, and this is the best teacher. Whether to use express or websockets, an exciting time.

There’s also a balancing act here that matters: Real-Time System Management

Real-time systems shouldn’t come at the expense of user privacy.

Knowing when to store data and when to let it flow naturally is key—not just for performance, but for creating systems that people can trust. Perhaps that system is one that doesn’t LEARN on your users and create a product within the gray area.

For me, this isn’t just a technical challenge—it’s an opportunity to build better, smarter, and more thoughtful applications. Want to learn more, simple, contact us now.