Show HN: Muse 2.0 with local-first sync (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
161 comments
[ 3.0 ms ] story [ 217 ms ] threadStill subbed tho.
Some other apps in the "spatial canvas" realm I can recommend are Kinopio, Clover, and FigJam. But most are paid with some sort of freemium setup.
I’ve been using GoodNotes 5 for a while now and am really satisfied.
One time purchase with iCloud sync with all devices.
https://apps.apple.com/us/app/goodnotes-5/id1444383602
On paying for software, here's some rationale: https://adamwiggins.com/making-computers-better/pay
Developers: you want recurring income? Welcome to the club. Your income is not my problem.
Quoting from https://museapp.com/memos/2021-06-pricing/ :
> You might be used to software from growth-at-all-costs startups: free at the start (funded by venture capital) but eventually your attention in monetized with ads, your personal data is monetized by selling to third parties, or the personal product takes a back seat to the “enterprise” product.
> Muse is following a different path: personal software, made for you and your unique tastes and needs, and funded by direct payment from you and other members. Because our funding comes from you, the customer, rather than investors with their sights on mass-market adoption, our incentives are better aligned with yours.
> By paying for Muse, you help us stay niche, opinionated, and focused on your needs over the long term.
I think it's worth thinking about where the products and services we consume in our daily lives come from and how the incentive models work. And that definitely includes software.
In the Apple ecosystem that's tough because they roll out breaking API changes in the OS every few years. So if you buy a new computer, upgrade your OS, or otherwise try to keep up with a changing world your software will stop working.
My thoughts on software longevity and why it's a problem for our industry: https://museapp.com/podcast/49-software-longevity/
New architectures do break old apps once in a while. But even then apps do survive several years without touching. And if someone wants to keep using apps after that… IMO it’s fair to put some burden on user - they have to stick to old OS too.
But if app is subscription, then Even sticking to old OS won’t help…
Free trials are another solution, but time also ends up being a bit arbitrary.
In the end, storage is a good metric that doesn't require complex feature gates. We borrowed this model from Notion: they had 1000 blocks free in their original product, but once they started getting those sweet enterprise dollars they were able to give more away for free to individuals. Dropbox and GitHub are two other examples.
Our service still does a lot of work proportionate to data size, so in that sense it's still SaaS and has the same cost dynamics at work. But in the end the real cost of software is engineering salaries, not infrastructure, so that whole discussion is sort of a red herring.
Obviously it remains a problem to solve that our industry can't find a pricing model that is both (1) healthy and sustainable for the business and (2) people find amenable.
But we felt like sync is a core feature and we really want to give it away for free so that people can experience it. Time will tell if that was a good call.
https://museapp.com/how/ipadmac/
Those same users in a year: Where's the support for all these new features in the OS release just announced? Why haven't there been any free updates to this app I paid you 5 dollars for a year ago? This app sucks, I'm switching to something else. 1 star.
Instead of "cloud storage" which might incur ongoing charges, apps can very well hook onto my GDrive/OneDrive to persist data. Also, games have done this "free updates to this app I paid" for years now.
There are still some apps that do this, Things is a good example. But that creates all kinds of other challenges when a big part of the product is a service (like ours) if you want to support all versions of the client in perpetuity.
Why would maker take away old version from me if I don’t like the new version?
I don’t know what Figma or Notion is. But I dropped beloved Tower git client when they went subscription-only. I still sometimes use their last purchasable version though.
Regarding iOS, It’s possible to refuse updates. I also used iPhone 6 for a looong time and went several years without upgrading OS. I also still use old iPad 4 that receives no updates for years. What can I say… it was a good stable ride!
I don’t care about novelty for the sake of novelty. Once I find a tool I like, I’ll use it as long as possible.
And I’m happy to pay through the nose for quality tools. Be it kitchen utensils or gardening tools or electronics.
I do want to see a world where there is a generic syncing service (maybe AWS can run one, but open standards / open source) similar to Dropbox or iCloud. I can pay one lump sum for all my storage and all my apps will connect through it. But so far no such thing exists outside of the crude file-based syncing of Dropbox, and that's not suitable for building realtime apps on top of.
Personally I'm fed up with syncing both as a user and as a developer.
As a developer, I don't want to deal with infrastructure for an app. It's a massive headache to have 24/7/365 responsive system. I want to make apps, not be on-call sysadmin.
As a user, I don't want to worry who is going to sell my data after going bankrupt. And I'd prefer small dev shops don't waste their time on keeping network infrastructure up and running with security patches.
I'd love that. Ink & Switch has done extensive research on how to enable this with p2p technology etc. Our industry isn't there yet... but lots of good folks are working on it. The Muse sync setup is a step in that direction.
> As a developer, I don't want to deal with infrastructure for an app. It's a massive headache to have 24/7/365 responsive system. I want to make apps, not be on-call sysadmin.
Oh yes. I spent many years carrying a pager for Heroku's infrastructure. Part of the appeal of local-first is the sync infrastructure is necessary to transmit data between devices, not for every single keystroke or gesture the user makes.
It does export a Muse bundle which is a ZIP archive containing a JSON with the position of the cards and, more usefully, flat files for all the media. PNG, TXT, PDF, SVG for the ink, etc. I regularly drop backups of this into Dropbox or iCloud.
Version control would be tricky because one of the big features is realtime streaming sync. Could be an interesting research problem to find a way to combine Figma-style realtime documents with something that can be checked into Git.
Better than export a zip and store in Dropbox imho.
1. I sign up for niche but well-made service
2. I pay $50/year or whatever. I'm fine with that because I'm going to rely on this.
3. Not enough other people do. The service shuts down in 2 years with 30 days notice and I have to find a way to get my data out and into a sustainable format
Muse is built local-first; all your data is kept locally on device, with the sync server merely a second-tier backup. If we go out of business, you keep all the data on your local device.
That said, apps in the App Store tend to stop working if they don't get regular maintenance[1]. This problem and the one you name is a big one for our industry to improve on IMO. Mark and I talked about that in depth in our podcast on software longevity[2].
[1]: https://9to5mac.com/2022/04/24/apple-now-removing-outdated-a...
[2]: https://museapp.com/podcast/49-software-longevity/
1. I sign up for niche but well-made service
2. I pay $50/year or whatever. I'm fine with that because I'm going to rely on this.
3. Not enough other people do. The service wants to make more money and pivots to enterprise. They don't grandfather old users and the minimum price is now $9.99/mo for a limited feature set, and $14.99/mo (min 3 seats) for the features I used to have
I know there exist service like Replicache that I assume does something similar. But one written in Go would be awesome to see.
> 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/
Are these types of pricing models aimed at professional users? I just can't fathom having to pay a monthly fee to be able to additionally invest my private time for some slightly increased utility in my life.
The barrier to use these kind of apps these days is just too high. Its no longer possible to buy this on a whim and use it now or in five years or whenever. Simply using such an app now feels like a work project, because I feel like I have to carefully plan for how long I will need such an app and that I must truly commit in order to reach this time frame. I can no longer have a casual hobby in which I just decide to use this tool for a bit and finish the project in 3 weeks or 3 years, depending on how I feel.
/Sorry for the rant. I'm just disappointed because this looks up my alley.
But sorry to hear this means you get left out. We do have a free version that's extremely capable and a lot of people use for years, mainly by archiving older boards to a backup location.
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.
I trust the team more than Apple at this point. I’d rather they had more control over our billing relationship.
Additionally, I consider this a business purchase. I prefer to keep my expenses separate. Most of my spending via my Apple ID is on personal/consumer stuff. Apple don’t make it easy to switch between IDs for different purchases.
We tried implementing Apple sign-in but found the experience pretty weak, both for the end user and for us on the business side.
In the future would like to implement some kind of disconnected mode to remove this friction. But email is needed for the sync aspect, which is one of the biggest selling points (and wow moments) of the product.
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.
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
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.
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.
I bought Typora, and would buy a paid upgrade for it. Same for Things. When the software needs improvement I’ll pay for that value. I will not pay monthly for the privilege of using the software that isn’t changing.
I absolutely will not even consider paying for a subscription to access my own research. When I don’t pay Typora, I can still access every document I’ve written. It’s unclear to me from the information presented if I will even be able to access my Muse boards if the company goes out of business.
> In an ideal world, a software subscription will let you pay just when you’re getting value from a product, and stop paying when you aren't getting value any more. In practice, many subscriptions feel bad because they are hard to cancel; or worse yet, they require you to pay forever to keep accessing the content you’ve created in the app.
> Muse is different. We never want to hold your data hostage. You should pay for it only when you’re getting active use out of the app.
> Once you cancel your membership (after a month, a year, or ten years) all your cards will still be fully accessible. You can still navigate around, doodle on your boards and PDFs, move cards, and export a subset or all of it as a Muse bundle or PDF. You can search by label, change labels, edit text.
> The only thing you can’t do? Add new content.
> You never need to worry that your data is locked up. We want you to pay for the value you’re getting from the tool, not for the data storage.
I am not actually in fear of something happening that suddenly. I defended the general concept of subscriptions elsewhere. Still I am interested to know what happens in such a scenario
In keeping with local-first values the complete and canonical dataset resides on your devices (Macs/iPads). Sync service outage or total shutdown would result in your no longer being able to sync between devices, but all the devices would have whatever data they had at time the service went offline, and you can continue to make local edits until the end of time.
You can test this out: just put some stuff into Muse, then turn off your wifi / go into airplane mode / shut off the network in some other way. Keep working with your data and watch the sync indicator; it will show that you have a lot of unsynced changes, but never will your ability to work be interrupted.
Thanks for the replies. I actually did try out Muse after reading them!
I too dislike being locked out if I stop paying.
Muse allows both reading and exporting still. Going out of business is a concern, but isn’t that an issue with Typora too? If it stops being updated, eventually it will stop working on newer OSes.
As another commenter suggested, I never said I don't want to pay for software. I would probably pay a lot for software with functionality like Muse, just never on a monthly basis.
Why are you losing your best customers with a subscription model? I can give you two examples.
1. I recently started using a tool called Homechart, and I was pretty excited to use it, replacing Notion and Clubhouse for task management and organization of thoughts. It has other useful features like inventory, chores, budgeting, recipes... But I was mostly in it for task management.
Unfortunately, Homechart has an obnoxious "buy premium" banner that takes up half of the page _every time you refresh or open the app._ I'm sure you can agree this is a bit too frequent. I asked nicely if this reminder could be reduced on the developer's forum, I was just told "Buy premium to get rid of the banner." It's funny, because I was on the fence with Homechart's $99 lifetime subscription. It's something I would have purchased after seeing the app develop and grow more of a user base over 3-6 months. That developer lost out on more than my $99. I was happy to contribute more than just money to the development of the app, but the developer made their impression and that was that.
2. I really appreciate your enthusiasm in helping to develop this app, but you come off closed-minded when you talk about the economics of the subscription model, or reference your own blogs in response to feedback from would-be customers. I get the need to defend your choices, you just seem not very eager to understand the blind spots that may exist within those choices. Ultimately, subscription models are lazy monetization, especially so when the product is static software. I want what Muse can offer me today, not a promise of what it could be tomorrow (next month) in exchange for more of my money. That's essentially what you're asking for with a perpetual subscription model, and it's why Goodnotes was easy for me to buy. I would go so far to say that subscription models are not transparent and frankly, not consumer centric at all.
I have empathy for your situation. The subscription model is only tired because everyone and their mother is doing it. Netflix was supposed to replace cable, now every cable station has its own Netflix. It's entirely out of your control that people are fed up with adding another line item. You are missing critical feedback from the type of user who doesn't want to make a knee-jerk decision and forget about their subscription for months at a time. Users like that, who know what they want, are pretty valuable in my experience.
Very few companies/apps with monthly subscription actually provide $X of new value each month for each of its users. It is incredibly hard to do this across your entire user base consistently.
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...
https://news.ycombinator.com/item?id=24294397
I have an iPad I use for testing that cost me $250 on Amazon back in 2019! But watch out for Pencil versions, not all are compatible with every iPad model.
For some, the best "tool for thought" is something that tries to replace paper as directly as it can, because writing/drawing on paper is how some people think best.
So I don't think it's quite fair to say this is unrelated. Perhaps the feature sets are different, but the underlying goal of the end user might not be.
Guess my point here is that Muse is not an attempt to translate paper into the computer, other than some superficial elements like using a stylus to ink. IMO software and computers can go so much further than that.
http://worrydream.com/MagicInk/
Plus it supports images, and drag-n-dropping them directly from other apps in a iPad split mode makes it a joy to use often.
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!
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.
(I've been puzzling over that question during some local-first dabbling; I have a feeling that lenses[1] -- or something like them -- may provide a route towards schema version upgrades without any peer synchronization guarantees)
[1] - https://www.cis.upenn.edu/~bcpierce/papers/lenses-etapsslide...
The foundation of our approach is to have a versioned, documented schema shared among clients. Every write down to the individual attribute level is persisted with a schema version. We're already several versions in, and indeed think it's healthy to get experience with version updates frequently so that it's not an unusual occurrence.
Currently we use this schema to interpret / coerce values as needed at read-time. For example we see an attribute has schema version 1, and know that it should be interpreted in the sense that we meant as of version 1. In the future, we may also choose to write out updates for "migrations" where that'd be helpful. So that e.g. instead of having to re-interpret values for older version 1, we'd right out an update to he attribute that overwrites the old value and updates the version tag to e.g. 3.
We do think lenses are interesting and the lab from which we spun out has done some good work with them: https://www.inkandswitch.com/cambria/. They're just a bit complex for our modest needs re: schema versioning at this time.
It's fine if those comments don't make their way back to Muse, but some way to share a static view of a Muse board would be helpful.
In the meantime, one enterprising customer has already written a Muse bundle (zip/json) to HTML converter: https://twitter.com/jimmyhmiller/status/1449761294589087752
Edit: granted, Muse looks gorgeous and I don’t mind paying for things. Just echoing subscription fatigue.
I have documents I wrote 30 years ago. Looks like this allows export as PDF, at least, but there is no planet on which I will voluntarily rent access to my own documents.
(^^ parent cofounded Heroku)
Thanks for the note.
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"?
And yes, like anything in life there are top-quality options which tend to be more expensive and lower-quality options which fit a smaller budget. MindNode is a lovely app and worth paying for IMO.
I agree, but unfortunately it's the opposite for most folks. Subscriptions are here to stay.
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.
Lots of folks use Muse together with Roam, Obsidian, or LogSeq just using standard OS tools like drag-and-drop. LogSeq example: https://twitter.com/itsjustmath/status/1527410705820839937
But I think there's a lot more we could do here with deeper integration--deep bidirectional links etc.
Obsidian has a great pricing strategy - license fee (not needed for most people), no lock in, and optional but valuable services on top that are subscription based.
We felt that local-first sync is a core feature of the product, and to exclude free users from that would be leaving out a huge amount of the value. So we opted to include it for everyone, but limit the amount you can store.
I can load my notes in vim and keep going should Obsidian disappear.
I can also bring my own sync, via Dropbox or Syncthing or what have you.
The same is true for Muse. When your membership expires (or you cancel it) the app reverts to free mode, which allows you to read, copy, and export all your data. But if you're over the free card limit then you can't create new content.
That said I have total respect for the Obsidian model. They're really successful for very good reason.
Is it really though? Obsidian notes are plain text. I can open them in any plain text editor I want without needing to export anything, edit them and have the changes reflected in Obsidian later. The files are located in a folder on my machine - no conversion necessary.
Not the same at all.
But yes, this is due for improvement / upgrade and is on our roadmap.
Any hope for an Android app?
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/
TBH I'm not really thrilled about being locked into iPad+Pencil either. But so far, Apple is the only one that has been able to cross the latency threshold with their hardware and OS. Hoping that will not be the case forever.
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.
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?
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.
I’ve done a lot of thinking about an ideal tool for capturing and organizing thought and Muse appears to have addressed my own ambitions and those of experts in the field. Congrats on the great work. With this release I won’t need to get an iPad to try it, but after reading this post I sure want one.
To that end, I’m curious about user stories from desktop-first, and/or desktop-only Muse users.
That said, I've used Muse for Mac heavily for the past six months and find it's strongest when I am doing more text-oriented work. I'll also be curious to see how people use in practice and whether the value prop is really all your devices used in tandem (desktop, tablet, phone) or whether there are strong uses cases for just one at a time.
Not necessarily a self-hosted sync service so much as an always-on device running this app in the background that accepts changes and stores it locally. That way, if I lose my phone, I have the data backed up on that device, and I should be able to just connect to the sync service and restore from backup. The sync service could still be hosted elsewhere.
I also believe that in the future we'll have these generic sync services you're talking about, just like today we have file syncing services. I actually believe we could start having them today and get most of the benefits of having a local-first sync service. I think we could have a relational database server (something which most devs are used to) running somewhere, paid/hosted directly by a user/company, together with a protocol implemented by a local daemon that allows apps to find that database server. This local daemon could be provided by a service (e.g. Apple Business, Syncthing) that provides group membership, so a set of users and devices could access the same database server (and corresponding database). This solution would always require internet access to be able to use the app, but that's already the normal today, and looking at how the technology is advancing (thinking Starlink, 5G), I can only see that becoming less of a problem.
For completeness, I also don't think a local-first sync service can be implemented with file syncing services + SQLite today, even if you only allow changes when online. First there are still chances of multiple people changing the database at the same time, which is not ok because file syncing services only see conflicts at the file-level and they would not be able to recover from them automatically. Finally, it'd probably also be weird to see a SQLite file in a folder somewhere in the file syncing service which could be accessed by any app that used this protocol. I would love to see SQLite being part of a local-first sync solution though.
You removed the app from Russian App store. Do you have any policy for existing accounts?
For some context: I can still download the app from Purchased section of the App store and use in-app purcahse (apple payments via cellular providers work in Russia).