Show HN: Muse 2.0 with local-first sync
178 points| adamwiggins | 3 years ago |museapp.com
A little backstory: I’m one of the authors of the 2019 essay Local-first software[2]. (Past HN discussions[3][4].) The thesis is to reclaim some of the ownership over our data that we’ve lost in the transition from filesystems to cloud/SaaS. So I’m excited to bring CRDT technology “out of the lab” and into a commercial product as a chance to prove the value of local-first in real-world usage.
As a developer and computing enthusiast, I care about abstract ideas like data ownership. But for most users I think the benefits of local-first will surface in how it feels to use the software day-to-day. One example is ability to work offline or in unstable network conditions: any changes between devices will be automatically merged when you reconnect to the network, no matter how long you’ve been disconnected.
Another area is performance. The sync backend was written by my colleague Mark McGranaghan who has written extensively about software performance[5][6] and why we think the cloud will never be fast enough to make truly responsive software.
A few technical details:
– Client-side CRDT written in Swift, streaming sync server written in Go
– Sync server is generic, doesn’t have any knowledge of the Muse app domain (cards, boards, ink, etc). Just shuffles data between devices
– Transactional, blob, and ephemeral data are all managed by this one single state system. For example ephemeral data (someone wiggling a card around) for example, isn’t even transmitted if there are no other clients listening in realtime.
More in this Metamuse podcast episode.[7]
We draw heavily on research from people like Martin Kleppmann, Peter van Hardenberg[8], and many others. A huge thank you to this wonderful research community.
Even if you have no interest in the Muse concept of a digital thinking workspace, I’d encourage you to try the free version just to see how local-first sync feels in practice. My opinion is that is fundamentally different from web/cloud software is well as from classic file-based software—and an improvement on both. Would love to hear what you think.
[1]: https://museapp.com/
[2]: https://www.inkandswitch.com/local-first/
[3]: https://news.ycombinator.com/item?id=19804478
[4]: https://news.ycombinator.com/item?id=21581444
[5]: https://www.inkandswitch.com/slow-software/
[6]: https://news.ycombinator.com/item?id=18506170
[+] [-] pvg|3 years ago|reply
https://news.ycombinator.com/item?id=24294397
[+] [-] aeone|3 years ago|reply
When I use a real pen to write notes on real paper, my handwriting is pretty! That generates positive feelings for me both when I create notes, and also when I review notes. In the same way, the apps in which my handwriting looks good create a feedback loop where seeing my own handwriting encourages me to continue to write more, and makes the app more "sticky" for me. At the moment, my handwriting in Muse looks displeasing, which discourages me from writing more. I'm currently getting around this by mostly using the new text note type instead of ink, but it is a more limited kind of expression and note taking than free-form inking, which is a shame.
I understand this behaviour/reaction is unlikely to be universal, or might be a condemning expression of vanity on my part in some way, but still - I might not be alone!
[+] [-] adamwiggins|3 years ago|reply
You'd be surprised how much engineering goes into point simplification, bezier smoothing, etc. One of our team members, Adam Wulf, has worked extensively in this space and even open-sourced a lot of the results: https://adamwulf.me/open-source/
...but point remains that we can make the inking experience better in Muse. It's on our list to work on.
[+] [-] humblehacker|3 years ago|reply
I really hope the good people at Muse make this a priority. That, and search.
[+] [-] jot|3 years ago|reply
It’s so rare to see such attention to detail.
My only wish is that I could pay the team more directly rather than via Apple.
[+] [-] adamwiggins|3 years ago|reply
[+] [-] russelldjimmy|3 years ago|reply
[+] [-] MarquesMa|3 years ago|reply
Really looking forward to see your success, it might move the industry forward and bring better apps for the users.
BTW the app is fantastic!
[+] [-] adamwiggins|3 years ago|reply
That said I hope we (meaning everyone working on CRDTs and local-first) can help make it suitable for production use and perhaps it will be a common, maybe even standard, way to build software five or ten years from now. That's my hope/dream, at least.
[+] [-] hatware|3 years ago|reply
Goodnotes knows how to keep users like me happy. Pay once for core functionality and unlimited "objects," and be smarter about monetization beyond that. I started with Notability, and after barely getting the hang it was already nagging me to pay monthly.
As it sits, I think developers are missing out on some of their best users and best feedback, but they do it to themselves by adopting these models without understanding the risks, and scaring away their best customers.
[+] [-] adamwiggins|3 years ago|reply
GoodNotes is great, hope they can make the one-off payment model sustainable. But the reality is that cost needs to match with value over time, and the industry is moving to subscriptions because that's a sustainable model for productivity software.
[+] [-] skinnymuch|3 years ago|reply
Goodnotes recently switched to free to download and then upgrading with iAP. Before it was always paid upfront. Coincidentally, this free to iAP switch is also a necessary switch to eventually becoming SaaS. If Goodnotes switches to SaaS, sure smaller upstart apps will be there with buy once, but if they get big, they too will become subscriptions. Notability was one time payment just a couple months ago for its entire existence.
OTOH, the other big free apps are run by the enormous monopolistic big brother tech companies. I’d prefer not supporting them and pointing to them doesn’t help because their reasoning for being free is to get people into their own varied walled gardens/ecosystems. A lot of innovations are unlikely to come from these companies apps. They are there to catch the widest net of [casual] users. It’s all business for them.
All of this is like how South Park[0] parodied both Walmart/big box stores, and the consumers who enable this behavior and how it is a cycle that keeps going on.
0. https://southpark.fandom.com/wiki/Something_Wall-Mart_This_W...
[+] [-] olivertaylor|3 years ago|reply
[+] [-] adamwiggins|3 years ago|reply
[+] [-] tmcw|3 years ago|reply
Anyway, I've watched from the sidelines because I don't own an iPad, but now there's a Mac app! Woo
[+] [-] adamwiggins|3 years ago|reply
As another commenter pointing out, the Mac app alone is somewhat limited without the iPad as a kind of ink/annotation accessory--but I'm curious to see if people get use out of it. There are plenty of desktop-focused spatial canvas apps (Scapple and Miro come to mind) so clearly there's potential for utility here.
[+] [-] lstamour|3 years ago|reply
Having briefly played with the iPhone, macOS and iPad apps today for the first time I can definitively say:
1. The iPhone app is confusing - especially when syncing for the first time. There are zero controls, you can't sign in or sign out, and it's not even clear how the app works. The iPhone app lets you collect inbox items, then you can drag them out on an iPad or Mac to a particular board later. But it only synced/kept the items I added after I set up an iPad or macOS app. In fact, items only synced after I set up my iPad. (Which was odd.)
2. The macOS app has weird jerky behaviour when scrolling using a magic trackpad where it tries to "stop" at the right points when I kind of just want to smoothly navigate. The same isn't true of the iPad version, or at least the iPad seemed to perform buttery smooth in general.
3. I created a new board on the macOS app and it didn't seem to prompt me to name the board. I right clicked and renamed the board and the UI that showed up was very ... iOS-like? Big fat modal, tiny input in the middle. Not what I expected. Then I added the name, and it didn't show up until I entered the board then exited the board and maybe resized the board.
4. I went to my iPad after using the app on my mac and the items on the board hadn't resized themselves correctly. They moved - yes - but not perfectly. I had to resize and place items again, which felt a bit odd.
5. I wanted to expand the canvas to the left, and couldn't, because the canvas apparently only expands to the right or bottom of the screen. Okay, but then selecting everything on the Getting Started board and moving it to give myself extra space on the left is both annoying and somehow super-slow to finish redrawing/saving. Perhaps this isn't that noticeable because selecting everything is a simple shortcut on the Mac, but isn't frequently/easily done on iPad.
I actually have a renewed appreciation for apps like Obsidian and Craft and Notion because for all the rough edges (and there are often a lot with these kinds of apps!), they really do "just work" pretty darn well.
I think the app closest in spirit, if not in implementation, might be OneNote, with how you can make and drag text blocks and scribble notes with ink and so on. Obviously Muse has the concept of "infinitely nested boards" but I'm not actually sold on it as a replacement for tagging or infinite canvas. If you can't fluid zoom, you're navigating between "pages" but making me think about where I've placed each page's content within its parent, which is a bit strange. It's like having Finder stuck in "Icon view" and no way to set it to "List" or "Detail" view to sort or browse as I please. I enjoy not having to think about tagging or hyperlinks, but ... I also don't have those features either. Snipping of a PDF or image and seeing the larger view (in context) is great, but the alternative I used to use was to use OneNote's PDF Printout feature, and then when later referring to a slide, I could link to part of a OneNote note to go back to it in the source doc.
I actually don't like/use OneNote often because the interface is so different on every platform and because its feature set needs to keep up with the times. For example, a standout feature of OneNote was that it would perform OCR on images and you could search images for text. Cool. But an M1 MacBook or iPad now does that "for free" and as a bonus, you can select text within the image as if it were actually text (something that OneNote never offered unless you converted or extracted the text from the image) and I think it does column detection and so on, like Preview did for PDFs.
I'd really like to see Apple come up with a generic way to embed snippets or previews of documents in other documents. Bonus points if they can find a way to enable "live editing" like Adobe or Microsoft do in their suites, such that from right inside a macOS app that I've embedded an OmniGraffle diagram, say, I can edit the diagram then finish and go back to the app it is being displayed in. Kind of like how if you edit an Excel file in Word, the UI suddenly changes to Excel, but then you stop and it goes back to Word again.
Is it hard? Yes. Would it probably require a lot of transparent layering to make this work? Yes. Would it be absolutely awesome? Yes.
The way I see it, some apps do outlining really well, some apps do spreadsheets well, some apps do diagramming well... I'd love to be able to embed and/or round-trip a screenshot to the original app and then back to a PNG or PDF export again, all without leaving the document or app it's being displayed in.
I know, I'm asking for Apple to reinvent Microsoft OLE. But they would do it better, wouldn't they? An advanced version could maybe work something like iOS Widgets, but should allow re-use of document edit views. Perhaps the auto-save dropdown could be re-purposed to include options for embedding files and showing the file size including embedded files, as well as listing each of the embedded files.
Anyway... not sure how I got to making a feature request to Apple here.
All I'm saying is Muse is pretty awesome, but it could be even more awesome. :)
[+] [-] dshipper|3 years ago|reply
[+] [-] adamwiggins|3 years ago|reply
[+] [-] kndjckt|3 years ago|reply
Will test.
My current stack is something like -
Noteshelf - ipad notes
Clover - mac notes
Bear - phone / personal notes
You can do ipad notes with Clover but I found the UI a little clunky and pencil responsiveness not great.
[+] [-] adamwiggins|3 years ago|reply
And yeah nested boards[1] and a zooming UI (ala Jef Raskin[2]) is one of the big elements that makes Muse different.
[1]: https://museapp.com/how/nestedboards/
[2]: https://en.wikipedia.org/wiki/The_Humane_Interface
[+] [-] rchaud|3 years ago|reply
Any hope for an Android app?
[+] [-] adamwiggins|3 years ago|reply
We evaluated all the major tablet platforms including Android and Chromebook a few years back[1], and found all of them lacking on hardware or OS capabilities in a way that would prevent build software like Muse.
Hoping things have changed since then or will change in the future. I feel like touch as a platform is too important to be so dominated by one vendor.
[1]: https://www.inkandswitch.com/slow-software/
[+] [-] hamsterbase|3 years ago|reply
I studied CRDT for six months, read many CRDT papers and created my own local fist app.
[+] [-] flappyeagle|3 years ago|reply
[+] [-] hosh|3 years ago|reply
Seeing this app with this kind of local-first sync makes me seriously consider moving off of Evernote.
Does this have a sink I can install on one of my Linux boxes that I can use to backup everything?
[+] [-] adamwiggins|3 years ago|reply
No self-hosted sync service at the moment. At the moment we've got our hands full with making it work well in a production setting. But I'd like to see a world where generic sync services (either as hosted services or self-hosted) is commonplace.
[+] [-] npollock|3 years ago|reply
"Local-first apps can use end-to-end encryption so that any servers that store a copy of your files only hold encrypted data that they cannot read."
Does Muse encrypt the user's data (notes, images, sketches, etc)?
[+] [-] adamwulf|3 years ago|reply
[+] [-] yes_but_no|3 years ago|reply
Still subbed tho.
[+] [-] adamwiggins|3 years ago|reply
[+] [-] divan|3 years ago|reply
[+] [-] adamwiggins|3 years ago|reply
[+] [-] nikivi|3 years ago|reply
I know there exist service like Replicache that I assume does something similar. But one written in Go would be awesome to see.
[+] [-] adamwiggins|3 years ago|reply
> Unfortunately we're not going to be in a position to open source or license the syncing software in the short term. As you noted there's inevitably overhead with that and we can't take that on right now as such a small team. Also I still feel like we need to prove out our approach more in production, starting with rolling out the sync capabilities to the full Muse user base and scaling that userbase up a bit. I'm open to considering open-sourcing in the future but that'd probably be a ways off.
> I was speaking with another developer at an early-stage company recently and he mentioned that he'd been having good results with Automerge, which has come a long ways in the last ~2 years since we looked at it deeply. Importantly the Automerge[2] team is now tackling the storage and network problems in earnest, making it a more viable production option. So you might look into that project if you haven't yet.
[1]: https://markmcgranaghan.com/
[2]: https://automerge.org/
[+] [-] gloosx|3 years ago|reply
[+] [-] ChadNauseam|3 years ago|reply
[+] [-] throwaway743|3 years ago|reply
[+] [-] hjkl0|3 years ago|reply
https://www.kosmik.app/
It’s a “visual tool for thought”. The screenshots look very similar to Muse, but I can attest that in use, the actual experience is much less polished.
Also, not really sure it supports any other platform, but definitely looks like an app that would be on Win/Linux before something like Muse will.
[+] [-] adamwiggins|3 years ago|reply
[+] [-] Fede_V|3 years ago|reply
[+] [-] goerz|3 years ago|reply
If you use it heavily as a daily driver, then the $3.99 or $9.99 should be a drop in the bucket. It scales very naturally between casual use and the paid tiers. Personally, I could probably do with the $3.99, but I'm choosing to pay the $9.99 since I want to support their ongoing research. Their podcast shows the enormous amount of thought they're putting into this, and it shows! Together with Blink (an SSH app with similar focus on UX design) this is by far the most productive iPad app I have.
[+] [-] Arubis|3 years ago|reply
Edit: granted, Muse looks gorgeous and I don’t mind paying for things. Just echoing subscription fatigue.
[+] [-] rchaud|3 years ago|reply
But this one looks like personal app, with little in the way of corporate functionality (Kanban boards, todos, etc). Why not charge a flat fee for 1 year of updates, and make updates optional after that?
I have the same beef with the makers of MindNode, a mind-mapping app for MacOS. It's $2.99/mo which is not much, but I chose to go with SimpleMind Pro because it was a flat 25 EUR.
Developers know the term "write once, deploy anywhere". How about "charge once, use forever"?
[+] [-] tomtheelder|3 years ago|reply
I agree, but unfortunately it's the opposite for most folks. Subscriptions are here to stay.
[+] [-] unknown|3 years ago|reply
[deleted]
[+] [-] fumar|3 years ago|reply