Browsee (https://browsee.io) is a tool that helps in improving the user experience of your website. With Browsee integrated into your website, you can watch the session recording as well as heatmaps to see where users are facing an issue or where they are engaging. It gives you tonnes of visual insights that help you in improving your product, navigation, new user onboarding, and much more.
4. Mutation Observers
● Starts with the initial page HTML
● Record all changes on a page
● Record all mouse movements, scroll and
clicks with their elements and positions
https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
5. Websockets vs HTTP
● Even transmitting this
information over HTTP would
have significant overhead
● Websockets allow fast
transmission of this data over
a persistent connection
Source: http://blog.arungupta.me/rest-vs-websocket-comparison-
benchmarks/
6. Data for User Experience
● About a few PBs of recordings data every
day persisted upto a year
● For every heatmap, we aggregate every
click and every scroll along with time
spent by the user in their heatmaps along
with.
● About a few TBs of time series data
● About a few PBs of Full Page snapshots
7. Data Storage
● Initially we used Cassandra as our
primary storage for replay data
● We soon moved to ScyllaDB and
were getting better throughput per
node as well as read latency. Source: https://www.scylladb.com/2021/08/24/apache-cassandra-4-
0-vs-scylla-4-4-comparing-performance//
8. Size Tiered Compaction
● The default replication strategies is
the Size Tiered Compaction
Strategy
● This is the oldest and the default
strategy for both ScyllaDB and
Cassandra.
9. Size Tiered Compaction
● Major Drawback is it requires about
25-50% free space for compaction.
● Storage is one of our largest cost
head.
● 25-50% disk wastage directly impacts
cost
10. Level Tiered Compaction
● Keeps small SStables each of size
160MB
● Keeps adding data to next level
sstables. Creates new table if size
is breached.
11. Level Tiered Compaction
● In our experience it significantly
increased the write processing.
● No improvement in read latency
● The cost we were saving in disk
was getting lost in compute cycles
12. Incremental Compaction
Strategy
● A variant of Size Tiered Compaction. It
only addresses the largest compaction
step which requires free space.
● At that step, it breaks the compacting
sstables into runs and keeps compacting
the runs while deleting the completed
ones. So much lesser.
13. Data Security at Rest
● Users can choose which data
center to save and process their
data.
● We also have blacklist caches at
queueing as well as rest to
immediately respond to Data
cleanup requests.
14. Session Tagging
● Browsee marks several user insights
on session recordings depending on
the user’s Behavior
● Temporal click events like rage clicks
● Repeated events or quickly browsing
through several pages
15. Live Sessions
● Kafka’s Real time processors allow us to
process session tagging in near real time.
● Users need real time session views
● We also need incremental session
updates on client side to fetch new data
as the users are watching a live session
16. Roadmap
● Navigation graph - A graph based time series data which scales
exponentially with site’s pages
● Bot Detection Models
● More User Behavior Models like Multi User Analysis, User Defined Tags