Tags: posse

43

sparkline

Sunday, May 15th, 2022

Image previews with the FileReader API

I added a “notes” section to this website eight years ago. I set it up so that notes could be syndicated to Twitter. Ever since then, that’s the only way I post to Twitter.

A few months later I added photos to my notes. Again, this would get syndicated to Twitter.

Something’s bothered me for a long time though. I initially thought that if I posted a photo, then the accompanying text would serve as a decription of the image. It could effectively act as the alt text for the image, I thought. But in practice it didn’t work out that way. The text was often a commentary on the image, which isn’t the same as a description of the contents.

I needed a way to store alt text for images. To make it more complicated, it was possible for one note to have multiple images. So even though a note was one line in my database, I somehow needed a separate string of text with the description of each image in a single note.

I eventually settled on using the file system instead of the database. The images themselves are stored in separate folders, so I figured I could have an accompanying alt.txt file in each folder.

Take this note from yesterday as an example. Different sizes of the image are stored in the folder /images/uploaded/19077. Here’s a small version of the image and here’s the original. In that same folder is the alt text.

This means I’m reading a file every time I need the alt text instead of reading from a database, which probably isn’t the most performant way of doing it, but it seems to be working okay.

Here’s another example:

In order to add the alt text to the image, I needed to update my posting interface. By default it’s a little textarea, followed by a file upload input, followed by a toggle (a checkbox under the hood) to choose whether or not to syndicate the note to Twitter.

The interface now updates automatically as soon as I use that input type="file" to choose any images for the note. Using the FileReader API, I show a preview of the selected images right after the file input.

Here’s the code if you ever need to do something similar. I’ve abstracted it somewhat in that gist—you should be able to drop it into any page that includes input type="file" accept="image/*" and it will automatically generate the previews.

I was pleasantly surprised at how easy this was. The FileReader API worked just as expected without any gotchas. I think I always assumed that this would be quite complex to do because once upon a time, it was quite complex (or impossible) to do. But now it’s wonderfully straightforward. Story of the web.

My own version of the script does a little bit more; it also generates another little textarea right after each image preview, which is where I write the accompanying alt text.

I’ve also updated my server-side script that handles the syndication to Twitter. I’m using the /media/metadata/create method to provide the alt text. But for some reason it’s not working. I can’t figure out why. I’ll keep working on it.

In the meantime, if you’re looking at an image I’ve posted on Twitter and you’re judging me for its lack of alt text, my apologies. But each tweet of mine includes a link back to the original note on this site and you will most definitely find the alt text for the image there.

Thursday, August 27th, 2020

Autonomy Online: A Case For The IndieWeb — Smashing Magazine

A wonderful introduction to the indie web—Ana really conveys her sense of excitement!

Friday, July 31st, 2020

Why Medium is Not the Home for Your Ideas – The Hulry

Some good blogging advice.

Building a blog for the long run? Avoid Medium.

Tuesday, October 22nd, 2019

Sunday, October 20th, 2019

Own Your Content on Social Media Using the IndieWeb—zachleat.com

A terrific—and fun!—talk from Zach about site deaths, owning your own content, and the indie web.

Oh, and he really did create MySpaceBook for the talk.

Tuesday, October 15th, 2019

Manton Reece - Saying goodbye to Facebook cross-posting

Facebook and even Instagram are at odds with the principles of the open web.

Related: Aaron is playing whack-a-mole with Instagram because he provides a servie to let users export their own photographs to their own websites.

Monday, October 14th, 2019

Ne vous laissez plus déPOSSEder de vos contenus !

I saw Nicholas give this great talk at Paris Web on site deaths, the indie web, and publishing on your own site. That talk was in French, but these slides are (mostly) in English—I was able to follow along surprisingy easily!

Thursday, August 2nd, 2018

New Facebook Platform Product Changes and Policy Updates - Facebook for Developers

Welp! As of today, none of my posts, links, or notes can be syndicated to Facebook:

The publish_actions permission will be deprecated. This permission granted apps access to publish posts to Facebook as the logged in user. Apps created from today onwards will not have access to this permission. Apps created before today that have been previously approved to request publish_actions can continue to do so until August 1, 2018.

If you’re reading this on Facebook: so long, it’s been good to know ya.

Tuesday, July 31st, 2018

Sharing Options from WordPress.com to Facebook Are Changing — The WordPress.com Blog

Um …if I’m reading this right, then my IFTTT recipe will also stop working and my Facebook activity will drop to absolute zero.

Oh, well. No skin off my nose. Facebook is a roach motel in more ways than one.

Sunday, July 1st, 2018

Keynote: The Building Blocks Of The Indie Web - YouTube

Here’s the video of the talk I gave at Design4Drupal last week in Boston. There’s a good half an hour of questions at the end.

Keynote: The Building Blocks Of The Indie Web

Friday, May 4th, 2018

Webstock ‘18: Jeremy Keith - Taking Back The Web on Vimeo

Here’s the talk I gave at Webstock earlier this year all about the indie web:

In these times of centralised services like Facebook, Twitter, and Medium, having your own website is downright disruptive. If you care about the longevity of your online presence, independent publishing is the way to go. But how can you get all the benefits of those third-party services while still owning your own data? By using the building blocks of the Indie Web, that’s how!

Tuesday, April 17th, 2018

An Introduction to the IndieWeb

A thorough run-down of the whys and wherefores of being part of the indie web, from Chris.

Wednesday, April 4th, 2018

Sunday, February 11th, 2018

To PESOS or to POSSE? | Dries Buytaert

In trying to decide on his indie web approach, Dries gives an excellent breakdown of the concepts of PESOS (Publish Elsewhere, Syndicate to Own Site) and POSSE (Publish to Own Site, Syndicate Elsewhere).

There are some great responses in the comments too, like this one from Chris and this one from Tantek (syndicated from their own sites, obvs).

Saturday, February 10th, 2018

Jeremy Keith on your content, failing well, and the Indie Web Movement - YouTube

I had a chat with some people from Name.com while I was in Denver for An Event Apart. Here’s a few minutes of me rambling on about web development and the indie web.

Jeremy Keith on your content, failing well, and the Indie Web Movement

Thursday, February 1st, 2018

How to cross post to Medium

Remy outlines the process he uses for POSSEing to Medium now that they’ve removed their IFTTT integration.

At some point during 2017, Medium decided to pull their IFTTT applets that allows content to be posted into Medium. Which I think is a pretty shitty move since there was no notification that the applet was pulled (I only noticed after Medium just didn’t contain a few of my posts), and it smacks of “Medium should be the original source”…which may be fine for some people, but I’m expecting my own content to outlast the Medium web site.

Wednesday, January 24th, 2018

The IndieWeb outside of Facebook is full of opportunities - The Garage

A nice description of syndication via POSSEing.

(I never thought I’d find myself linking to quality content on Go Daddy.)

Saturday, January 20th, 2018

Fears of the IndieWeb

Most of my online friends and acquaintances will never understand or participate in the IndieWeb, and so I require a bridge between these worlds. On one side I choose what content to post and how it is stored, and it exists mainly on an island that few visit regularly. On the other side is nearly everyone I know, blissfully ignorant of my real home on the web and unable to see any content shared there without manual intervention or working plugins.

This does not all seem bad, though. Maintaining control will require more attention be placed on managing my content, and this time must come from somewhere. I imagine that I’ll slowly begin using social media less, writing more, and learning more about how to develop solutions to problems that arise within my setup.

Friday, December 1st, 2017

Medium is only an edge server of your POSSE CDN, your own blog is the origin

Medium, Twitter, Facebook and others are edge services for your content … Your platform is the origin.

Monday, September 25th, 2017

The Decentralized Social Web

Excellent presentation slides on all things Indie Web.