Some new Sill features

Hello Sill users! It's been a while, but I've finally landed a slew of new features and improvements, including taggable bookmarks on ATProto! I have also significantly improved the link metadata gathering process, so your Sill feed should have fewer contextless links.

ATProto bookmarks

Sill has had a very basic bookmarking feature for a while. By clicking on the bookmark icon on a link in your feed, you can create a bookmark. But they were private bookmarks, stored only in your user account with Sill, with no way to get them out. This didn't match the spirit of open social media, and promoted lock-in to Sill. Now, for users with Bluesky accounts connected, you can publish your bookmarks to your PDS. Bookmarks are structured in your PDS according to the community bookmark lexicon.

If none of that makes sense to you, let me explain. When you signed up for a Bluesky account, you were given a personal data server (PDS), hosted by Bluesky. A PDS stores all of your Bluesky data, like your posts and your likes, but it can also store data from other projects that operate on the same protocol (ATProto) as Bluesky. That includes amazing new products like Leaflet, Tangled, Germ Network, Stream.place, and many others.

While Bluesky hosts the vast majority of PDSes right now, it is possible to migrate your PDS to something you host yourself (I do) or move to alternative PDS hosts and still interoperate with Bluesky and all the other ATProto applications, including Sill. This is incredibly important to the fundamental promise of Bluesky and ATProto: you can take your data with you!

When you bookmark a link with Sill, you can optionally publish that bookmark to your PDS. When you publish it, you have more control of that data. If Sill ever goes away, you still have all your (published) bookmark data in your PDS, and other bookmark applications (like Kipclip) can pick up where Sill left off. In fact, you can use multiple bookmarking applications simultaneously, and they will all work with each other.

There are three important clarifications to make about bookmarks.

First, all data in your PDS is public. This is why Bluesky doesn't have private accounts or posts. For this reason, you must opt-in to publishing a bookmark to your PDS every time, and is why I chose the verb "publish." If PDSes ever gain the ability to host private data, I will change this behavior so you can publish all bookmarks, private or public, to your PDS. For now, private bookmarks will remain in Sill's database.

Second, these bookmarks are not the same as the bookmark feature added to Bluesky. Bluesky chose to implement their bookmarks as a private feature exclusive to the Bluesky app, so they are not available in your PDS. That means Sill can't see them at all.

Third, if you only use Sill with Mastodon, bookmark publishing is not available to you. You can still use bookmarks as you have been able to (now with tags!), but they will remain private in Sill. As far as I know, there is no way to use your Mastodon identity to publish bookmarks via ActivityPub. (Please correct me if I'm wrong!)

Enhanced link metadata

One of the biggest pain points with Sill is getting accurate link metadata for all the links shared in your network. Sometimes, you would just see a URL in your Sill feed, with no title, description, or additional context.

I added a few new ways for Sill to get link metadata that greatly improve the accuracy of metadata across the application. Sill can now sometimes get publish dates and authors from articles, so you have even more information about the links in your feed. This won't work 100% of the time, but it should greatly increase the hit rate.

Light redesign

This release also contains a slight redesign of Sill, particularly around link cards and around various settings pages.

First, link cards have a sleeker look to accommodate the enhanced link metadata. You will now get the site name instead of the domain, when available, as well as a new set of data showing the author and how long ago the article was published, when available.

Second, you'll find that the navigation has been restructured. Under Settings, you'll find a few different tabs: account, connections and moderation. Connections is now where you can configure your connected accounts. Moderation is where you manage your mute phrases. Your digest archive and settings now operate under a similar tabbed interface.

Rearchitecture

This should have no impact on your usage of Sill, but a major part of this release is a complete rearchitecture of the application. Where the original Sill was a monolithic React Router application, now React Router is only responsible for display logic, and all business logic has moved to a separate API layer.

What's next?

There is more to do to round out the bookmarking feature. Obviously, links bookmarked by the people you follow should end up in your Sill feed. And you should have more ways to get bookmarks into Sill, like bookmarklets and iOS shortcuts.

Beyond that, I want to take advantage of the growing ATProto landscape to get more high-value data into your Sill feed. In addition to links in Bluesky posts, I also want to find links in Leaflet publications, Tangled stars, Semble cards and more.

Thanks for using Sill!