k7d

Joined 17 years ago

Karma
501
Submissions
134
Member since
Dec 9
http://kaspa.rs
View on Hacker News

Recent submissions

Comment · 1 year ago
Comment · 7 years ago
You can pan by holding down Space key (and then use mouse to drag the board). In general Whimsical's UX patterns are quite similar to Figma, Sketch and other UI design tools.
Comment · 7 years ago
Comment · 7 years ago
Thanks for the mention! We built Whimsical for a simple reason - all the existing diagramming apps had poor UX. It didn't feel like any of them were really optimized to visualize ideas as quickly as possible while make the result look decent.
Comment · 8 years ago
Comment · 8 years ago
It's an extension to re-frame that we built. It addresses some of the (subjective) shortcomings of re-frame, mainly the over-reliance on keywords. We'll be open-sourcing it soon.
Comment · 8 years ago
Indeed, most of the application logic is in client side. In fact it's built in a way that it could function as a standalone application without backend. Currently it doesn't persist the data locally but that could be easily added.

The backend serves as a fairly generic datastore with an API that allows data to be easily synced back and forth. It implements a logic (again non-specific to Whimsical) for how to handle concurrent updates (basically it implements CRDTs). I believe it's pretty similar to Google's Cloud Firestore - we might have chosen that if it was out of beta and we didn't mind the lock-in.

Two main reasons we did this: 1) to be able to easily add offline mode - we don't have it yet but it's fairly easy to add now 2) to minimize effect of network latency on user experience

As for less load on server & cheaper infrastructure costs - you are right, that is another benefit.

Comment · 8 years ago
We use combination of Redis pub/sub and Websockets. Each document has a unique key and whenever any of the users/clients make a change to it, it's published via that key. Other clients connect via WebSockets to backend and subscribe to the same key in Redis. The notifications are fairly simple.

The complex part is how we sync actual data from clients to server while ensuring consistency. We basically store all data in a tree format and having a diffing logic how concurrent changes can be applied conflict-free in most cases. I'm considering writing a separate post on that.

Comment · 13 years ago
HackFwd was one of the rare accelerators that was actually pushing the envelope instead of being copycats. Besides they had another rare trait in this space - integrity and deep commitment to companies they fund (disclaimer - I'm the founder of one of those companies).
Comment · 14 years ago
Actually we did an extended A/B testing on this and video only version outperformed the one with text and illustrations.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton