scriptbin News

Atkinson Hyperlegible now available for scripts

scriptbin has long offered overriding the font used to show a script's text, including three variants of two typefaces designed to make reading easier for people with dyslexia: OpenDyslexic, its fixed-width variant OpenDyslexic Mono, and Lexie Readable. The letter shapes of these typefaces have been drawn with special focus on making recognizable shapes and/or avoiding traps that can cause letters to become hard to distinguish.

Today, I came across the Braille Institute's Atkinson Hyperlegible, which comes at a similar problem from a similar angle. It is meant to provide a typeface with distinctive and easy to read letterforms, specifically for low-vision readers (and may also help readers with dyslexia). It has now been added as an option.

To try out any of these alternative fonts (including the newcomer), on any script's page, change to another entry in the dropdown list above the script text, where it at first says "Original font". If you are a low-vision reader, you may already know that scriptbin scales to zooming in or increasing the font size with the browser's default functionality, or that you can use the other dropdowns below the font dropdown to also bump the text size for the script specifically, or widen the script area specifically. Switching to light or dark mode with the switch in the site header may also help.

(As with Lexie Readable and OpenDyslexic at the time they were adopted, a small donation has been made to the Braille Institute as a token of appreciation.)

Now in beta: Passkeys

scriptbin now supports Passkeys, a security thing that you may actually be helped by. It may be easiest to start by explaining what it means.

  • If you use a passkey to log in, you do not have to remember a password.
  • If you use a passkey to log in, no one can look over your shoulder and copy your password.
  • If you use a passkey to log in, someone could take your phone or computer and still not be able to log in as you.
  • If you use a passkey to log in, there is no password for someone to grab out of scriptbin's database, associate with you and try on hundreds of other sites.

Basically, a passkey becomes a login button that only you can push.

To add a passkey to your account, when logged in, go to your account's Passkey page. Then you can use the Passkey login page when you want to log in.

Passkey support on scriptbin is early and still a beta version.

Passkeys is a simple packaging of something that, under the hood, is complicated, so they are not supported by everything. Typically it requires a version of the OS and a version of the browser from 2023 and forward. It is not universally available, but it is accessible to many people, which is why it is now implemented.

The way a passkey works is like this.

When you say you want to create a passkey, scriptbin gives your browser a long string of random information (think of it as a very large number) called a challenge. Your browser invents another very large number called a key, does something to the challenge number (think of it as multiplication), and then sends the result to scriptbin. The browser then stores the key in a secure place, in a way that it requires "authentication" to be retrieved again - this is most commonly a fingerprint or Face ID/Windows Hello-like face authentication, but can also be a super password in a password manager. scriptbin stores away the results of what you did (when given this challenge, it gave this result) and connects it to your scriptbin account.

When you want to log in, scriptbin again gives your browser a random challenge. You enter your username, your browser realizes - hey, I have a passkey stored for this and asks you to authenticate, at which point it retrieves the key and does a similar thing to the new challenge number and sends the result to scriptbin. scriptbin checks if what was done to the number (the multiplication) was the same thing as for one of the passkeys connected with your scriptbin account, and if so it lets you in.

Basically, it is a more complicated version of a password - but in terms of what you have to do and remember, it is much less complicated. And there is no password floating around there that is "just being typed very quickly by the browser", so it can't be intercepted and copied/pasted. Because you need to authenticate, even if someone took your phone or computer, they would not be able to use your passkey without also having your fingerprint, face or super password. (Identical twins with face authentication may want to think twice, for this reason.)

(From a detailed perspective, of course the way I described it is wildly inaccurate. But conceptually it explains how each step works.)

Since passkeys are complicated for the browser and for web sites, they take time to be implemented, and that's why they are not available everywhere yet. There could also be details that are slightly off from one browser to the next, one OS to the next. Please try it out and see if it works for you.

One last thing. Passkeys are often built into password managers. If you save a passkey on one device that is logged into a password manager, it should be available on your other devices that are also logged in. That is a good way to test passkeys and it is one of the few ways to move passkeys from one device to the next securely, but it also does mean that passkeys leave a record of you having an account on scriptbin, which may or may not be what you want.

About the blue book

The absolute first thing to be built in scriptbin history was the logo at the top left: a blue book emoji — 📘 — followed by "scriptbin" in the font Quicksand. This is also why "scriptbin" is spelled with a lowercase "s"; I just thought it looked better that way.

The emoji worked well but did look different on different platforms. In particular, that also made it hard to pin down a "favicon" (the icon shown in browser tabs and address bars) since I would have to choose a particular rendering. And when I had to boil down scriptbin to a logo or a banner, I had to do that too, with the potential risk of the creator of the emoji rendering deciding I should have to stop using theirs. (Not very likely, but not impossible either.)

For all these reasons, I've long wanted to replace the blue emoji book with a better, custom book, just for scriptbin. Yesterday, after seeing interesting work by an artist with an art style that reminded me of what I had in mind, I wrapped up all my thoughts about a drawn blue book, looking a bit more like a writer's notebook than a hardcover print volume, and got in touch with the artist for a commission.

As you can see, the artist Fractal did a great job, and the book now proudly adorns the logo corner. There are details you can't make out at lower sizes, but as with great works of art, you don't have to see all of them to know what it is supposed to look like. And it is distinctive enough, including capturing the fun shading, even in the small, favicon size.

Since this is a large and clearly visible change to the visual imprint of the site, I wanted to write this post to explain what just happened. Many of the scripts here have a definite goal and a clear purpose, in a way that many scripts or pieces of writing of other kinds have. It's possible to look at that aspect and see something perfunctory, to imagine that there is no art or creativity to it but just the shortest path to the goal. Hopefully, many writers, performers and readers of the scripts see something different. In seeing thousands of scripts about similar subjects, they see the details, twists and turns, moods, characters and tone changes that makes ten scripts with ostensibly very similar events judging from afar (or going strictly by, say, a dominant tag) still distinct.

Instead of having "a" blue book — platform's choice — as its symbol, scriptbin now has its own blue book, and that feels neat. Emoji are used across the site to illustrate the user interface, but in the place that is meant to represent the site, I think it is fitting that it is a very special, less perfunctory, less interchangeable blue book, since details matter, details stick with you and details can make all the difference.

(Oh, and so can talent. This is an early sketch of mine and it's not likely the final product would have been much better. Thanks again to Fractal.)

New: Another option for scriptbin donations

I was recently made aware of a platform for accepting donations called Wishtender, which has the interesting combination that it is mutually privacy-preserving for donor and receiver, allows one-time donations and has checked with its payment processor that as long as the transactions are donations, tips or gifts, it does not have qualms about the receiver's businesses.

After some testing, it held up, and so now I am offering the ability to support scriptbin at Wishtender. It works slightly differently than Patreon, which is still an option — read more on the Support scriptbin page.

The big news, and the reason I bothered, is that one-time tips are supported directly, so if you only want to donate once, you do not have to go through the hassle of signing up for a membership and then not cancelling it later, which gets dangerous around the first of each month because of the risk of being billed a second time.

Q: The minimum tip at Wishtender is $4.50, higher than the $3 offered as the lowest tier at Patreon. Is this yet another price hike, the likes of which we're seeing everywhere these days?

No, for at least two very good reasons. Everything that used to be available on Patreon is still available on Patreon. I would have liked to have a $3 tip on Wishtender too, but the platform does not allow progressing to checkout if you have less than a total of $4.50 in your cart. If this limit is lowered, I'll be happy to set it back to $3 there too.

New: Auto-save for new scripts, beta

One of my strongest recommendations for any writer has long been: write in a separate application that preferably automatically saves. Writing something long-form and losing it can be a terrible experience and writing into a text box on a web site is more prone to this than in most other situations. This is one of many reasons why I don't really advise writing scripts directly in scriptbin. (I also think you as a writer deserve better comforts and that they are usually better in other places.)

Recently, someone lost a script written over hours into scriptbin, and this made me reconsider a thing I have been thinking about many times before. So, if you go to your Edit profile page (from your page, clicking "Show other actions" and then clicking "Edit profile"), you can now turn on a beta version of Auto-save.

This has the following caveats:

  • As mentioned, it is opt-in.
  • As mentioned, it is beta.
  • It will only be there for adding a completely new script. It is not integrated into Edit script, primarily because of the conflicts that I think will crop up, and how there's no good way to highlight the differences between them and the current version. Also because I judge the risk of losing a whole script to be the highest when writing a new script.
  • Auto-saving happens to your local device/computer only. If you wrote something on your phone, it will only be able to be recalled on your phone.
  • Due to saving only locally, if you browse with private browsing/incognito mode, there's a risk that it will not be allowed to save. If that is the case, a message is shown.
  • The user interface to pick a version to restore is functional more than pleasant right now. But you are able to choose between versions, see the text restored into the text area as if you'd written it and see word counts and previews update. Restoring also means that the restore function goes away - this is a simplification. To get it back, go to the Add new script page again.
  • Old auto-saves can't be removed manually right now. They are eventually aged out of the list, or removed when they pile up. This will likely be possible later on, but it isn't now.

The goal is not for scriptbin to become the perfect application for writing scripts in. The goal is to try to offer an extra safety net. I'm accepting feedback.

New: Detected fills and GWASI

A feature that I have wanted to build for a long time is a way to see script fills (recordings of the script). As of a few hours ago, this is now in place.

There's no universal registry of scripts being filled, but the site GWASI indexes ongoing activity on several community subreddits in order to let you search for audios and scripts easily. Thanks to a collaboration, scriptbin is allowed to use its index and the additional information about which scriptbin links show up in which script offer. This gives enough information to find the script offer post(s) for a script, and the script fill posts linking to the script offer post.

Since this process relies on GWASI indexing information from Reddit and updating its databases and on scriptbin downloading information from GWASI and updating its index, the effect of posting a script fill and seeing it in the list on the script's page is not instant, but changes should reasonably appear in about 15-20 minutes.

As for privacy: No information is sent from scriptbin to GWASI that could cause it to gain information about private, hidden or unlisted scripts. GWASI simply tallies all scriptbin links it has ever seen in the Reddit posts it has indexed and provides some information about which posts they appeared in.

A final note: This is ultimately best-effort and not magic. For example, if a script has been posted to multiple places (like other script hosts), the connections might not be made. If a fill is a private script fill and doesn't link to the script, the connection usually can't be made. And if the fill is posted somewhere GWASI doesn't look, it will not be picked up in this way.

New: About scriptbin's APIs and export/download file formats

scriptbin is one part of an ecosystem of different sites that can be used to host scripts and audios. The reason for scriptbin to exist was to make a new site, custom-built for script hosting, when such scripts were deemed not acceptable at Pastebin. Luckily, Pastebin offered an export function.

Not only did this mean writers could import those export files and not have to start over or enter everything manually, they could also click Download all scripts and get a similar file. This is an important tradition to maintain for writers to retain control of their script.

But: although scriptbin's export format is slightly better (less lossy) than Pastebin's, it has remained undocumented. And it is optimized to be able to be read by people and published directly if necessary.

Both these things are now addressed on the new About scriptbin's APIs and export/download file formats page, which documents everything, and with the new "Structured export" format.

New: "Remind me"

If you have looked for script offers in one of the subreddits where they are posted, you may be familiar with people using the comments to invoke a bot designed to "remind me in X days", at which point they will be sent a message. Although convenient for them, it is also distracting for writers and ends up spamming their inbox with bot commands instead of feedback or actual reactions. (Writers can theoretically turn off notifications but then also miss out on actual feedback and questions, so this is a bad idea.)

scriptbin already has a function to let you save an interesting script, so as an experiment, there is now a function to add a reminder to a saved script. You pick a time period after which you will be reminded - at that point, the quick button in the top right changes from "📌 Saved" to "⏲️ Saved", to indicate that something has happened. On the Show saved scripts page, all saved scripts where a reminder is due are shown in a separate list at the top. To "silence" the reminder, go to the script and click the button to silence the reminder.

You can also, for any reminder, whether it is due or not, re-set the reminder to a new time. "Unsaving" also removes the reminder.

Reminders complements saved scripts nicely since you can also set a description to remind yourself of what was interested about the script. And the ability to show all saved scripts gives you a good overview. Hopefully, this will cut down a bit on the "remind me" comments.

Update: Prompter mode remote

Prompter mode, where you can click a "🎙️ Prompter" button and get a script shown in a way more optimized for following along during recording, has been available for 4 months now but seems to have flown a bit under the radar. Recently I got a piece of feedback which mentioned that it cut down on the laptop noise (clicking and key clacking) to edit out, which is good, but also got me thinking about the remaining laptop noise.

Now, when already in prompter mode, you can click the "📲" button near the toolbar. It presents a QR code which you can scan with your phone's camera to take you to a "remote" for this prompter. This way, you get the ability to control the autoscroll and movement up/down with your phone or tablet, which should be virtually silent and can be physically better separated.

The remote controls only one specific tab, not the script as it is shown for other people. If two people open the same script in prompter mode, they are separate and can each get a remote. If the same person opens the same script in prompter mode in two tabs, they are separate and can each get a remote.

Since the prompter and the remote are talking to each other through scriptbin's server, they do not have to be on the same network or in the same place, which might make for some fun experiences.

To keep things simple, when a remote is connected, the things it controls are greyed out and can't be used on the prompter page (although it can be scrolled manually), and no further remote can be connected. You can click the button again to disconnect the remote and regain control.

The remote is in beta and may get out of sync if either of the two browsers lose connection. If so, the issue could be resolved by disconnecting the remote and re-connecting it, or failing that, by reloading the page.

FAQ: Will scriptbin be affected by the upcoming Reddit API changes?

Update July 2nd: After the changes were announced to go into effect (and the effects of related changes have been noticed), it appears that everything is continuing to work as previously from scriptbin's point of view.


The short answer: most probably not, with a hint of "I don't know".

The long answer

scriptbin makes, broadly speaking, two kinds of requests to the Reddit API.

The first kind is everything included in handling logging in, which means starting an authentication, getting a response back with a "token" representing someone who's logged into Reddit and then making a request using that token to see which username that account has.

The other kind is done periodically for all accounts that have logged in, to check if they still exist. If they don't, this marks them as "no longer verified to exist", which automatically deploys the "will" functionality where some things can be hidden when the account is deleted. This check is done in the background as parsimoniously as is practical; not one request per second and not even one request per five seconds.

Reddit's upcoming changes include two salient details. First, the requests are rate limited according to new rules. The rate limits at the time scriptbin was created was already 30 to 60 requests per minute depending on circumstance and to the best of my knowledge, scriptbin has never been constrained by this. The new limit is 100 requests per minute.

During a test period a month ago, I measured on average 100 successful logins per day, which is ~0.069 (nice) logins per minute. Taking all views of the login page as an attempted login (which it very likely wasn't, this includes Google indexing it, people just reading and so on), there were 450 login attempts, which is still ~0.31 login attempts per minute.

Now, more and more people do use scriptbin. Assuming the current rate of percentual growth, the number of accounts will roughly quadruple (4x) in two years. Assuming that login attempts go up by 10x, significantly more, this is still ~3 login attempts per minute.

In other words, scriptbin should be well below the number of requests per minute, even if counting each login attempt as 5 or even 10 separate requests. If there should be a paid tier to extend this quota slightly (double or triple) for non-extortionate pricing, I would have no issue footing the bill for this if necessary.

NSFW

The second change is the policy change to not allow "NSFW content". Quoting:

Reddit will limit access to mature content via our Data API as part of an ongoing effort to provide guardrails to how sexually explicit content and communities on Reddit are discovered and viewed. (Note: This change should not impact any current moderator bots or extensions.)

My reading of this is that posts inside NSFW subreddits, or NSFW-marked posts in other subreddits, will no longer be visible through the API. But scriptbin does not deal with posts, it deals with users. There is some amount of uncertainty whether "mature content" will include users who have checked the checkbox in Reddit's setting to "allow access to NSFW subreddits", but this does not make sense. Authenticating every Reddit user but suddenly not the ones who have the setting checked to see porn is not desirable behavior since "mature content" may have nothing at all to do with what you are authenticating them for. So, I am almost certain that the current functionality will remain intact.

To summarize

scriptbin is not in danger of running up against the limits any time soon. But enough has happened over the past few months and past few weeks and days in particular that I will not claim to be certain of Reddit's interpretation. There's also a significant probability that something will change about the current plan either before or shortly after it goes into effect.

And as always, Reddit has always been allowed according to its own terms to choose to stop service to any client at their discretion, supported by or independent of any other provision. One way or another, whether logging in via Reddit will continue to work is ultimately up to Reddit.

Update: Patreon first month

It is now the end of the first calendar month since the scriptbin Patreon was launched and the Support scriptbin page has been updated with a the first month's received support, which can be compared to the monthly expenses. These numbers will be updated around the turn of every new month for the benefit of people who only wish to contribute to help cover the costs.

Some people may wonder: why list the cost each month, isn't it pretty much constant? Much of the time, yes. Most months will see similar expenses, but some prices will rise, there may be additional outlays over time and there may also be periodic additional costs like for TLS certificates or domain names, which are paid for years in advance. If the history had gone two months back, a raise in the base cost would also have been seen. Add to this that part of the costs are in Euro and part in US Dollar, two currencies that are pretty much at par right now but that have been wildly different over time.

New: Prompter mode beta

Last year I received a feature request for autoscrolling on script pages. When using a script, unless you have everything completely memorized, you are reading off of a display or printout or something and having it automatically scroll gives you more hands free to do other things, and avoids noise. At the time I linked to a bookmarklet (which is a tiny javascript program you can put into a bookmark and then activate on any page).

This weekend I thought about doing something more with this. Autoscroll is a common feature of the devices known as prompters or teleprompters, commonly used in broadcast, where the text is scrolled by in a large legible font. Just putting autoscroll on the script page itself would not be very suitable.

So, instead, every script page now has a "🎙️Prompter" button, which takes you to a specialized version of the script page with a few features.

  • The layout is custom, with the text running more or less across the entire width.
  • The color scheme is set to be bright text on a dark background.
  • You can scale the font size with a slider.
  • You can override the font as per usual.
  • There is an arrowhead on the right-hand side. You can click/tap it to move it to 30% or 50% down the page.
  • When a line reaches the arrowhead, it becomes highlighted in yellow. When a line has scrolled past upwards, it fades out. As lines approach it from below, they fade in.
  • All line highlights can also be disabled from the arrowhead's options menu.
  • Another slider at the top gives an autoscroll setting.
  • When autoscroll is enabled, you can click a button to pause/resume autoscroll.
  • When autoscroll is enabled, you can click a button to jump back up a little bit.
  • There are spacers above and below the script so that the script text needs to scroll down a bit to reach the arrowhead, and so that the last line can scroll past it.
  • The exact layout changes a bit depending on the size of the screen or window; phones and tablets should be well taken care of. The best experience is likely achieved on a screen large enough to fit several lines.

The prompter mode is still in beta and has not seen much use in real life. I am eager to hear feedback for what could be done to make it work better.

New: Valentine's day scripts page

There's now a Valentine's day page which lists 10 random Valentine's day-related scripts. It also has the same word count filter from Search; it is basically a special version of Search.

Last year I thought about whether to do something for Valentine's day and came to the conclusion not to, since it is somewhat controversial. As we all know, real love in a relationship is demonstrated continuously and building up external expectations to deliver on or live up to is fraught with problems.

This year I thought differently. Many people live with both the good and bad sides of Valentine's day, and both pillowtalky and NSFW audios provide ways to process and relate to it, no matter what your current circumstance is.

Change: Seed word in "🎲 Generate random script" feature

scriptbin has long had a "🎲 Generate random script" feature, both for individual writers and for multiple, participating writers at once.

This feature works by working out which words follow each other and using this information to pull out combinations that are not random but weighted by which words follow each other. Today, I built out this feature to let you specify a "seed" word which has to be within the first few words of each sentence. This appears to generate some postmodern poetry.

Change: "Other scripts in group" audience/gender tag cross-contamination

Up until a few minutes ago, the "Other scripts in group" listing at the bottom of a script, which lists the other scripts, mistakenly showed the audience/gender tag of the script you were looking at, instead of the listed script. This has now been fixed.

New: Patreon re-launched

Last year, a scriptbin Patreon page was online for a few months with very limited interest and I ultimately took it down.

Now, after asking around a bit, I am trying it again: scriptbin Patreon.

The same things apply this time. There are probably better things for your money to go to, but if you want, some of them can be sent to scriptbin.

scriptbin will not have a paywall, not have members with special status, not have features limited to those who have contributed. So, if not that, what's the idea? It's to be a tip jar to cover the cost of running scriptbin. It's not to be a big campaign to collect money to turn scriptbin into something it's not.

The cost of running scriptbin has crept up a bit over time along with the cost of everything, of eating, breathing, living. I can still cover scriptbin's costs myself each month and I could still do that if they doubled or tripled, but there's nothing like having a margin and being prepared.

(Also, to answer a common question: why Patreon instead of Ko-Fi and the like? Patreon is the only alternative that would not reveal my personal details. Some are able to use PayPal, but PayPal business accounts in my country require being tied to an actual business with publicly registered records, so it is not an option.)

In short: if someone wants to pitch in, I am grateful and thankful. I suspect the vast majority will not, and that is as it should be, and the site will continue to be available for everyone regardless.

New: Notes feature

This was originally added in December.

It is now possible to add notes that only you can see to your own scripts, for example to keep track of script fill discussions or links to fills for future reference.

New: Share link button

On script pages and publicly listed writers' profiles, there is now a "Share link" button which shows the browser's/mobile OS's Share panel, if it implements this functionality.

On desktop/laptop computers, it is nearly always easier and quicker to copy the page address from the address bar, but on phones and tablets, the Share panel can be a quicker way of doing this.

What happened to r/scriptbin?

Unbeknownst to me, at the end of November 2022 it was banned due to being "used for spam". I discovered this on December 17th and promptly submitted an appeal. I have since submitted another appeal, on January 31st (today).

Suffice it to say, there has never been any actual spam on r/scriptbin. The only thing that was ever there was updates on scriptbin's development. As any independent site, Reddit is free to set their own tentpoles for what to host, but I don't think there exists a characterization of "spam" that is both sufficient to cover what r/scriptbin contained and that also overlaps with reasonable people's definition of "spam".

For more information, see this post on r/GWABackstage.