Micro Matt

Micro thoughts and mini posts.

Trying something new today, where I schedule a section of time to do the less fun, but very necessary, tasks of the day. Email is this for me, so I’ve blocked off an “email hour” every day of the week.

Part of the struggle for me there is my overpowering perfectionism, how I read and re-read even the simplest of emails before I can send them. I’ve tried to get better at that, subverting my natural meticulousness for the greater good of letting someone know I got their message. Gone are the days I can drop everything else and quickly fix a bug or add a feature when someone mentions it; now I need to remember, triage, give an update, eventually address their issue, and remember to follow up. The process is more complex and often overwhelming for me, but the communication doesn’t have to be. Hopefully a little more structure will help.

We’ve had a lingering issue with the orientation of photos uploaded to Snap.as that I’ve finally fixed today. When I looked at it a while back, I couldn’t figure out what was causing it. After another go at it today, it turns out the issue was with the Dropzone.js library we’re using to resize images on the client side.

After playing around with Dropzone, and adding a Javascript library to decode EXIF data and fix the image orientation before resizing on the client side, I’ve landed on a server-side fix. Now, we’ll just upload the full-size image, and fix the orientation and resize the image on the backend. This will mean more bandwidth use and processing work on the server, but it permanently fixes the orientation issue as well as another issue with optimized images.

#snapas #bugfix

Just pushed some final changes for #WriteFreely v0.13, specifically the exclusive content feature powered by Web Monetization. I wasn’t going to include this in WF yet, since it previously required setting up an additional receipt verifier server. But now that there’s a publicly available receipt verifier, WF admins and users can enable this feature without any extra setup. Once I do a little more testing, I’ll merge that and then release v0.13!

In case you missed it, last week we welcomed Coil Blogs users to Write.as! As mentioned, this is the project we’ve been focused on for the majority of the last year. Now that most of the work there is done, I’m turning my focus to our other major projects: another large migration, our Team / Publisher product, and Snap.as.

For Snap.as, a solid plan is coming into focus. I’ve been wanting it to turn into a friendly, consumer-oriented product for the nearly-five years it’s existed, but I think it makes much more sense in the short-term for it to become more of a developer-oriented backend platform. Essentially, it’ll quietly power photo uploads in our Classic editor or mobile apps; it’ll be a self-contained component of WriteFreely; and it can serve as the solid backend for any visual publishing product we build — whether made for pros or everyday consumers. I’d like to continue evolving its long-promised photo management features, but really focus on this “backend” future.

The other two items are very involved, and mean rethinking almost everything about the platform. I’ve gotten pretty far designing this basically new product over the last several months. But only a handful of customers are driving the design there, and I think we need a wider range of people interested in using “multiplayer” Write.as so I can feel like we have it right when it rolls out to everyone. If you’re interested in publishing with a team and working closely with us to evolve these features, please get in touch! You can reply to this email if you’re subscribed, or respond in the fediverse: @matt@writing.exchange.

After about 10 months of work, it looks like tomorrow we’ll finally wrap up and announce the major project we’ve been working on this whole time. I won’t spoil the announcement, but I’m excited both for what it means for the platform and because it’ll be a large, successful project largely off our plate — I can turn my attention to our other major project at the moment and all the product development I’ve been waiting to focus on.

Two big, foundational ideas for Remark.as have come to me lately. One is that blog comments should catch up to social media, and you should be able to have control over who can respond to you. There’s a ton of interesting ways we could do this on the open web, and they don’t have to involve some preexisting social graph (though they might).

The second is that all interaction should happen within a social “space,” rather than around a single person. The idea is to introduce wider context and hopefully serendipity, instead of optimizing for addictive loneliness (at best) and narcissism (at worst), as “me”-focused platforms tend to do. Everything is a living room — not Everything is about me.

As I wrote in a recent fediverse thread, I’m working more and more toward splitting WriteFreely (the open source project) from Write.as (the hosted service), so the software project can live more independently.

Among other aspects, WriteFreely funding has been closely intertwined with Write.as — our company provides the funds for all project infrastructure, events, developers we hire, etc. Indeed, we’ve actually recommended that people support the project by paying for a Write.as Pro subscription. This funds the work of course, but it also comes with an entire hosted service attached, at whatever price we set. So I wanted to improve that.

Now, we’ve set up separate funding infrastructure that will be solely dedicated to #WriteFreely, so people can support our work more flexibly, without worrying about getting more than they need (in our case, a hosted service). Donations go to a dedicated place, where they’ll only be used for funding the costs of developing, maintaining, and growing WriteFreely.

If you’d like to support the project, now you can donate on Open Collective or GitHub Sponsors. You’ll also notice a Sponsor button at the top of our GitHub repo, in case you want to donate in the future!

You can now privately comment / reply to this blog via email, thanks to our very first bit of Remark.as functionality, launched today. If you’re an email subscriber, go ahead and give it a shot! Otherwise, now is a great time to subscribe to email updates:

Two new customization options I’d like to add next, which will add some clutter to the Customize page:

  • Remove Write.as branding with one click
  • Let people reply to your posts via email

The first is a convenience feature — people can already remove the branding with a CSS workaround, but they’d have to go digging for it. This brings it to the forefront, gives people an explicit reason to upgrade to Pro, and will be the first in array of new custom branding options, including the ability to update your blog’s favicon on your own (instead of having us update it for you).

Then, email replies will be the first Remark.as feature we release. If you have Email Subscriptions enabled, you’ll be able to supply a “Reply-To” address that readers will reach if they hit “Reply” to one of your emails. This is simple and low-tech, but will serve to enable direct interaction on the platform — a very first for us.

Over the past few days, I developed a variety of spam-fighting tools for Write.as. Where we only had account silencing and IP address banning in place before, now we can actively block user registrations using certain email addresses — whether individual addresses or entire domains. I’ve also combined all possible actions for known spammers — silence, ban email, ban IP — into a single “block” action.

Next, I plan to create a process for human users to go through to verify their status as a non-spammer. This will essentially be a custom captcha test particularly suited for Write.as, which doesn’t rely on any third parties (like Google). If that works well, we should be able to adequately stop spammers through automated filtering (which is working quite well), while allowing real users to slip through and use the platform with minimal interruption.

#spam #dev

Enter your email to subscribe to updates.