[PLUGIN] User Online Monitoring - 0 WU!

We are excited to announce the release of a new WU optimized plugin on Bubble marketplace!

Now you can see whether the user is online, and track how many users are in your app right now.
WITHOUT ANY WU CONSUMPTION!

Key Features:

  • Real-Time Data: Track user activity within your application in real-time.
  • User Presence: Log specific pages where users are located.
  • Unique User Count: Record the number of unique users currently active in your application.

Creating features such as live chat has always been a problem, because when it comes to tracking if the user is online right now, usually developers had to set repeating actions which create load on the server and consume many workload units.

With this solution, it’s no longer a problem. You can see:

  • how many users are online
  • who are they
  • what pages they’re on

And all this by installing a single plugin element.

Check this out:

Plugin Page: Online User Statistics Plugin | Bubble
Demo Page: https://plugindepartment.bubbleapps.io/version-test/user-online

3 Likes

Have any idea how to make this plugin even better? Any statistics that you need to monitor in addition to user sessions?

We got you covered! Please share if you have any ideas for improvement and we’ll be happy to bring them to life. :wink:

Nice one!
Can it also retrieve the last activity for a specific user? That’d be a nice use case for chats.

Also, curious, does it uses API calls or WS?

1 Like

Hi @vnihoul77,

Thank you for interest in our product!

For now the plugin is able to reflect the current state of users activity in your application: the users online, which pages they are on and the unique number of users online. Right now we’re working on implementing a system to collect more information about users (their devices, countries etc.), that is going to be in the next update. Also our plan is to store such information to be able to get a statistic for the previous day or any other range of time.

Right now there’s no functionality to check user’s last activity in this plugin, but we love the idea. We’ll consider adding it as well!

As for technical implementation, the plugin utilizes a websocket connection which allows it to collect and display the information in a real time without a need to update a page, which helps to avoid WU consumption. Also the plugin has the API actions to get the information on demand.

Feel free to reach out if you have any other questions!

Nice, good idea on using WS!

1 Like

@TheSimpleLabs this plugin looks promising!

Just to be clear, does this use 0 WUs or the amount showed on the demo page?

I would like to know if its possible to have an event, whenever a user logs in. The feature I’m trying to build is display an Alert message to admins in my Admin dashboard whenever a user logs into the app.

Something like ‘Jane Doe just logged into x page/x dashboard’

Hi @autom8!

Thank you!

The tracking of user sessions itself does not consume any WUs. The amount displayed on the demo page is the number of WUs consumed by regular app operation.

As for the event for when a user logs in, I think we can add this functionality, but just wanted to check on what exactly you need here. Do you want to:

  • Fire this event every time when user logs into the application? (in this case if they had an active session and just opened the app, we won’t track this event)
  • Or fire it every time when user opens the application after being inactive? (e.g. Jane opened dashboard page, we check that she was not active on any other pages at the moment, so we fire the event).
  • Or do you want to fire an event each time someone opens any page in the application?

Please let us know what works best for your use case :raised_hands:

@TheSimpleLabs

Upon further thinking, I guess this can be achieved simply by adding an extra action to the Login workflow by creating a new Login or Session datatype for my use case. This way, I can check a list of all login sessions for my users.

What I’m then trying to track is how long a session lasts, accurately, and save a list of ‘Activity’ datatypes under the current session. The problem I come across is sometimes users get logged out of the app after some inactivity or they simply close the tab/window without triggering the logout workflow, so I’m unable to update the current user’s latest login session to mark the ending of that session.

Also, I want to accurately track when a user was last active inside my app/pages. For example, Last active: date and time.

I opened your demo page from my laptop and mobile, and it accurately and near instantly showed the 2 unique sessions. However, I put my phone down and only used the laptop, but the unique user count was still reflecting as 2. While technically correct, practically the mobile session was inactive. What I think would help is having an isActive option to track if a given session’s app is actually opened and when its last action was?

Adding the device login and IP location would make this a super useful app and I’d subscribe right away.

Any idea if the above is possible and if so, when we could expect to see any update?

Thanks a lot!

Hi @autom8,

Thank you for waiting. Based on your suggestions, we have implemented the following improvements:

  1. Handling Inactive Sessions: To address the issue of users being inactive, we’ve introduced an isActive option. This tracks whether a user is actually active in the app and marks sessions as inactive after 10 seconds of inactivity.
  2. Device Login and IP Location: We have added the feature to log the device and IP location for each session to provide additional context about the user’s login environment

Please check the updated system (Demo Page) and let us know if these changes meet your requirements. Your feedback is crucial for us, and we want to ensure that the solution works perfectly for your needs. If there’s anything more you’d like to see, feel free to reach out.

Thanks again for your input!

1 Like

Thank you @TheSimpleLabs !

Will purchase the plugin and share my feedback after testing it out.

Is it possible to group users on a page by a dynamic database value? I have a page called ‘classroom’ but different students from different classes will be on the same page. How do I know how many ’ class x ’ and ’ class y ’ students are online on the classroom page?

1 Like

I found the real browser name is not mentioned, instead the whole user agent string is returned. When I check with https://www.whatsmybrowser.org/ it shows the actual browser name and not the full user agent string.

It will be very good to have the accurate browser details returned so we can determine when bugs are occurring on different browsers.

1 Like