Why Is SetFN Fast
With SetFN, files appear instantly without a refresh, and your teammates' locations are shown in real time. This document explains the WebSocket communication and internal network transfer behind this.
Difference in Communication Method
Q: How does SetFN's communication method differ from typical web services?
With HTTP polling, the client periodically sends the server a request asking "any changes?" and waits for a response.
SetFN uses WebSockets. Once the server and client connect, that connection is kept open and data flows in both directions over it.
| Item | HTTP polling | SetFN (WebSocket) |
|---|---|---|
| Connection | Connects per request | Connects once and stays open |
| Change delivery | Delayed until the next poll | Delivered as soon as it happens |
| Server load | High (repeated requests) | Low (sends only on changes) |
Q: What's a simple analogy for this difference?
HTTP polling is like text messaging. You have to check yourself to find out if there is any news.
User: "Any new files?" (request)
Server: "Not yet." (response)
[A moment later]
User: "How about now?" (request again)
Server: "One was just uploaded." (response)
SetFN's approach is like a phone call. Because the connection stays open, you're notified the moment something changes.
[Connection stays open]
A teammate uploads a file -> Appears on my screen instantly
A teammate renames a file -> Reflected on my screen instantly
A teammate moves to another folder -> Their location in the chat participant list updates instantly
Advantages of a Local Network
Q: Why is it faster when used on an internal network?
Because communication happens directly within the same network instead of going out over the internet. With the cloud, data has to make a round trip to an external server, but with SetFN, data moves within the same building.
Cloud: My PC -> Internet -> External server -> Internet -> Colleague's PC
SetFN: My PC -> Internal network -> Colleague's PC
Q: Is large-file transfer fast too?
Because SetFN makes full use of internal network speed, the difference is even greater for large-file transfers.
Time to transfer a 10GB file:
- 1Gbps internal network (SetFN): approx. 80 seconds
- 100Mbps internet (cloud): approx. 13 minutes
Real-World Impact
Q: How does real-time synchronization help with actual work?
Every change — file uploads, comments, renames — is reflected on teammates' screens instantly. There's no need to hit refresh or separately tell someone "I uploaded a file, go check it."
Q: How are editing conflicts prevented?
Which folder a teammate is currently working in is shown in real time. While someone is editing a file, an edit lock prevents other users from editing the same file. The lock indicator shows who is editing, which prevents work from being lost when two people edit the same file at the same time.
Traditional approach:
Person A: Edits file -> Saves
Person B: Edits the same file -> Saves
Result: Conflict occurs, one person's work is lost
SetFN:
Person A: Starts editing a file (edit lock)
Person B: Sees Person A's edit lock indicator
Person B: Works on a different file first
Result: No conflict