Self-hosting TiddlyWiki with GitHub Pages

TiddlyWiki is most often used as a private wiki for personal note taking and creating private journals.

Because it is a single text file usually named index.html written in HTML, CSS and some JavaScript, I thought it would make an ideal candidate for a simple-to-use personal website that can be hosted on one’s own domain. As a researcher who appreciates the IndieWeb and Domain of One’s Own philosophies and uses my personal website as a commonplace book for both work and personal reasons, how could I resist?

TiddlyWiki

TiddlyWiki is easy to use, highly flexible, modifiable, and can be easily copied, backed up, and shared. There’s an active community of users and developers for the platform which dates back to 2004. There are a variety of examples and documentation online and plugins are literally as simple as dragging and dropping some files from one source directly into your own Wiki. For those interested in the OER movement, individual Tiddlers (TiddlyWiki’s name for cards or discrete entries within the wiki) can be easily dragged and dropped from other TiddlyWikis to copy them!

There are some useful instructions for hosting it almost everywhere–except on one’s own domain name.

The few easy options I’ve found for hosting a TiddlyWiki publicly online as a website were rely on someone else’s service as a subdomain. As much as I like the idea of TiddlySpot I really wanted to use my own domain name (not to mention that it’s non-obvious how to host a newer TiddlyWiki version 5 (TW5) instance there). I’d also seen TiddlySpace shut down a few years ago and didn’t want to deal with that potentiality—though I will admit that exporting would be as simple as downloading and moving a single file!

So after a month or so at tinkering around at several complicated solutions that always seemed beyond my grasp, I went back to IndieWeb basics. What is their recommendation for the easiest way to get a website up and running? The fact that an empty TiddlyWiki file is named index.html gave me my answer: set up a GitHub Pages-based website and simply connect it to my domain!

However, as simple as this pathway may seem to some, I thought I’d briefly document the process I took so others can do the same for themselves.

First I’ll presume you’ve got a domain name and a host that will allow you to change the CNAME for where your domain name is pointed. (If you don’t, check out https://indieweb.org/personal-domain for details.)

In short, you’re going to upload a single file to your GitHub account and then point your domain name at it.

The idea of GitHub may scare a lot of people, but you won’t need to use git, know any git commands, or even know how git works since I’ll describe steps that entirely use the graphical user interface and don’t come anywhere near using the command line or any complicated GitHub applications. It’ll be as easy as dragging and dropping.

Let’s start!

Step-by-Step Tutorial

Get TiddlyWiki

  • Go to https://tiddlywiki.com/ and click on the “Download Empty” button on their homepage. This will allow you to save a file called index.html to a convenient place on your computer.
  • This one file is the entirety of your future website! Guard it well.

GitHub

  • If you don’t already have one, create an account at https://github.com/
    • You’ll use this account and their free GitHub Pages service to host your website for free as long as the project folder (also known as a repository) you are hosting is public.
  • At GitHub create a new repository.
    • Name it username.github.io, where username is your username (or organization name if you’re doing it for your organization) on GitHub.
    • Give your repository an optional descriptive name. I named mine “A TiddlyWiki commonplace book”
    • Choose the “Public” option, otherwise no one will be able to visit your new website.
    • Click “Create Repository”
  • Upload your TiddlyWiki to your new repository
    • In the Quick Set Up box click on the link for “uploading an existing file”.
    • On the subsequent page you can either drag and drop the empty TiddlyWiki index.html file you saved on your computer or you can click “choose your files” to find and upload the file.
    • If you like, you can optionally add any additional README, License, or gitignore files as necessary. If you don’t know what these are you can safely skip them or revisit doing this later.
    • Under “Commit changes” give your upload a short title; the suggested “Add files via upload” is fine. You can add an optional extended description if you like.
    • Click on the “Commit Changes” button.
      • P.S.: If you haven’t done so before you’ve just made your first Git commit. Congratulations!!
    • Your https://github.com/username/username.github.io repository folder should now be ready and have your index.html file in it.

Setting up your domain

Setting up your website

  • It may take a while for the DNS system to propagate the changes from your host, but you should be able to visit your website and see your empty TiddlyWiki online. Congrations! You’ve got a new website.
  • You’ll notice in the TiddlyWiki documentation that the first rule of TiddlyWiki is to always save or back up your wiki!
    • (The second rule, in true Fight Club fashion, is–let’s say it together–to always save or back up your wiki!)
    • Since our wiki is on GitHub, we’ll want to use the Save to a Git Service instructions. Once set up, the changes to our TiddlyWiki should automatically self-save (this can be changed within your wiki’s Control Panel too) or they can be saved manually using the TiddlyWiki checkmark save functionality.
    • I’ll note that you can presently use your GitHub password in these settings, but this isn’t quite as secure as generating a custom token (or password), and sometime in late 2020, GitHub won’t allow you to use your basic account password this way, so you may as well set up the personal access token now.
  • Setting up Personal Access Tokens
    • You will need a Personal Access Token (essentially a password that will be specific to your TiddlyWiki account) in order to save your TiddlyWiki file.
    • On GitHub, click on your user icon, select “Settings”, then “Developer Settings”
    • Next click on the “Personal Access Tokens” tab and then click “Generate new token”
    • Give your token a descriptive name like “TiddlyWiki”
    • Under scopes, select “repo” (and all of its sub-scopes)
    • Click the “Generate Token” button at the bottom of the page.
    • Once created, immediately copy this string somewhere safe since navigating away from the page will not allow you to recover it. (If you do, you’ll need to regenerate a new token.)
    • Finally copy the text of your token into the Tiddler noted above in place of your password. There’s no explicit save button, just ‘X’ out of the settings control panel and click your TiddlyWiki’s main save button.
    • Your token value should be stored in browser local storage.
    • Now you can edit any Tiddler and save it.
      • After edits to your wiki, you’ll see that the checkmark icon on the page is red (depending on your theme), indicating changes to save. You can click on it to force a save.
      • I’ve found it convenient to wait for the TiddlyWiki to schedule the save on its own, however, make sure you’ve saved any changes you want before closing your browser tab.
      • Sometimes saves aren’t always successful and you’ll see error warnings, but usually they’ll clear themselves up on subsequent auto saves.
      • If necessary, you can visit your GitHub repository for your wiki and it will indicate the interval of time since the last save.

We’re done!

  • Everything after this you may be able to either handle yourself by poking around your new wiki or you can find lots of help in the two Google Groups listed above or by searching around online, in fora, or even step-by-step videos on YouTube.
  • If you’ve done this as part of the IndieWeb or A Domain of One’s Own, be sure to log yourself into the IndieWeb wiki and add yourself to the examples on their TiddlyWiki page where you might also find some other useful ideas.
  • If you like, you can delve deeper into GitHub and use one of their apps or command line functionality to regularly back up your website to your desktop, or you can make branches of your site on your local computer and then push those changes up to the cloud.
  • If you find problems or encounter issues, feel free to drop me a line or catch me or others in the IndieWeb chat.

Review of Typlog as a turnkey platform for IndieWeb as a Service

Yesterday I ran across a tweet in the IndieWeb chat announcing that Typlog, a hosted website/blogging platform, now supports Webmention.

I looked at their website, and it also looks like they support a few other IndieWeb building blocks including WebSub and RelMeAuth by leveraging Twitter and GitHub. (The developer indicated they supported IndieAuth, but I highly suspect it’s just RelMeAuth, which is still a solid option for many IndieWeb tools.) 

Having just put together a Quick Start IndieWeb chart that includes services like micro.blog, i.haza.website, and pine.blog, I was immediately intrigued. This new platform (proprietary and not self-hostable, but very similar to the others) looks like a solid looking little platform for hosting one’s personal website (or podcast) that includes some IndieWeb building-blocks.

It’s got a 7 day free trial, so naturally I spun up a quick website. With just a few simple defaults, I had something pretty solid looking in only a few minutes with a pleasant on-boarding experience.

I’ll note that some functionality like importing content from WordPress, Tumblr, Ghost, or a podcast feed requires an actual subscription. Once you’ve finally subscribed, there are instructions to set it up to use your own domain name. However, most of the basic functionality is available in the trial. Another important indie feature is that it has a built-in export using JSON format, so that one can take their domain and content to another service provider if they wish.

It looks like it’s got a ton of common useful features! This includes support for podcasting, password protected posts, scheduling posts, membership posts, and integrations for Stripe, CloudFlare, Google Analytics, and MailChimp among many others. The platform is built with some basic and beautiful page templates and prefers to have markdown in the editor, but seems to work well with raw HTML.

They also allow adding custom code into <header> and <footer> so it should be straightforward to add support Microsub to one’s site using a service like Aperture so that you can have (feed) reader support.

Unfortunately it looks like there’s no Micropub support yet. I suspect that Typlog would be quite pleased to have a number of posting applications for both desktop and mobile available to it by adding this sort of support.

Also on testing, it looks like while the platform supports incoming Webmention, it doesn’t seem to be sending webmentions to links within posts. (Perhaps they’re batch processed asynchronously, but I haven’t seen anything yet.)

The platform seems to do really well for posting articles and podcasts and even has a custom template for reviews, but all of the user interface I’ve seen requires one to add a title on all posts, so it doesn’t lend itself to adding notes (status updates) or other indie-like posts like bookmarks, likes, or simple replies. It has a minimal built in h-card, but it could be expanded a bit for sending webmentions.

The pricing for the service starts at a very reasonable $4/month and goes up to $12/month with some additional discounts for annual payments.

In sum, I love this as another very indy-flavored web hosting service and platform for those looking to make a quick and easy move into a more IndieWeb way of hosting their website and content. While services like micro.blog and i.haza.website may be ahead of it on some technical fronts, like pine.blog, Typlog has a variety of different and unique features that many are likely to really appreciate or wish that other services might have. I imagine that over time, all of them will have relative technical parity, but will differentiate themselves on user interface, flexibility, and other services. I could definitely recommend it to friends and family who don’t want to be responsible for building and managing their websites.

One of my favorite parts of Typlog is that the company building it is based in Japan, where I’ve seen a little bit of development work for IndieWeb, but not as much as in portions of Europe, America, or Australia. It’s been great seeing some growth and spread of IndieWeb philosophy and platforms in Asia, Africa, and India recently.

And of course, who couldn’t love the fact that the developer is obviously eating their own cooking by using the platform to publish their own website! I can’t wait to see where Typlog goes next.

Notes from WordPress Pasadena General Meetup, March 2020!

For those searching for links and help from tonight’s online meetup. If Meetup.com isn’t up to the task, I happen to have a WordPress website that can do the job.

19:02:08 From Jason Orellana : Hey Everyone!
19:02:22 From Connie Nassios : Hi!
19:02:22 From Wafic : Hi everyone
19:03:56 From BreAnn Mueller : Hi!! 🙂 🙂
19:04:27 From Grace C : Hello!!
19:04:32 From J.H. : Hi all
19:06:23 From Connie Nassios : You can do it, Alex!!
19:06:34 From Chris Aldrich : I’m hosting an online WordPress Homebrew Website Club meetup on Thursday: https://events.indieweb.org/2020/04/wordpress-indieweb-online-meetup-NjCeyH2w2kSI
19:06:43 From Sean Conklin : WordCamp Santa Clarita (virtual being planned for two weeks out) http://2020.santaclarita.wordcamp.org
19:06:48 From Grace C : Don’t see raise hand function
19:07:50 From Sean Conklin : WP Santa Clarita Meetup is here (March meetup postponed): https://www.meetup.com/wordpressscv/
19:08:53 From BreAnn Mueller : Grace—click on “participants” on the bottom, and a side-panel will pop up with a list of all the people on the call—and look on the bottom and there is a “raise hand” option there
19:09:38 From BreAnn Mueller : Alex—btw, I think if you stop sharing your screen, we have the ability to change our view so we can see everybody in a big grid
19:09:40 From Saied Abbasi : Wafic will not be silenced
19:10:19 From Grace C : Thank you BreAnn
19:10:25 From James White : Can we see all the participants at once? Maybe if Alex makes the presenter area smaller?
19:10:59 From Wafic : Saied, That’s Right. You cannot silence the Media!!! Or silence the truth!
19:11:50 From Chris Charlton : Zoom attendee “gallery” view is only available when no screen is being shared.
19:12:38 From Chris Aldrich : You should be able to stretch the screen from the share to see everyone in gallery view.
19:13:02 From Chris Aldrich : (Though that may require the client and not the webbrowser version.)
19:13:42 From BreAnn Mueller : Alexxxxx! stop sharing your screen (pretty please) 🙂
19:14:21 From James White : There we go!
19:14:23 From James White : ty!!!
19:14:30 From BreAnn Mueller : Thank you!! Hurray!!
19:16:18 From Chris Aldrich : Here’s the non CMS specific HomeBrew Website Club tomorrow night: https://events.indieweb.org/2020/04/online-homebrew-website-club-west-coast-JsujusQZLM7Z
19:17:19 From Ray Scarpa : I’m Ray with NINJA Mobile, so high tech I haven’t figured out how to get my 10 year old webcam mic to work after installing it 15 minutes ago. We’re just building wordpress sites for clients to supplement mobile apps and Roku/Amazon Fire TV channels. Sure that I’ll learn something just listening in. Thanks for doing this!
19:21:00 From Chris Aldrich : Anyone notice that https://alexhasnicehair.com/ doesn’t seem to be diminished at all by the headphones? 🙂
19:22:23 From Grace C : haHaha…very true about Alex’s hair 🙂
19:23:17 From Alexander vasquez : haha
19:23:20 From BreAnn Mueller : hahaha Chris!
19:24:18 From Wafic : Where is Saied? He seems to be in a remote area in the mopuntains
19:24:32 From Wafic : Hello, what about ME?
19:27:31 From Joe Davenport : Matomo
19:28:49 From steve : I use StatCounter.com
19:29:50 From Chris Aldrich : There’s a handful of ideas for analytics here: https://indieweb.org/website-analytics (I’ve run piwik/matomo before, but not really using much now.)
19:30:16 From Chris Charlton : Thanks, Steve
19:30:21 From Chris Charlton : Thanks, Chris
19:31:09 From Chris Aldrich : Woo(t) Woo(t)!
19:31:18 From Wafic : Hi Sean
19:31:38 From Joe Davenport : https://matomo.org/
19:31:53 From Chris Aldrich : It’s never too late to have a child theme!
19:32:09 From Joe Davenport : https://goaccess.io/
19:32:19 From Linda Horan : Where is the icon to raise hand?
19:32:47 From Chris Charlton : The ‘Raise Hand’ button is available in the Participants window, if that helps
19:33:01 From Sean Conklin : Or use Customizer to add CSS and code snippets to activate custom PHP functions. Child themes are necessary when overriding template files from plugins.
19:34:31 From Jason Orellana : Alex, I believe you can mute everyone and use the zoom push to talk feature which I believe is just press the spacebar.
19:35:09 From Sean Conklin : Code Snippets plugin https://wordpress.org/plugins/code-snippets/
19:35:29 From Joe Davenport : Woody snippits
19:35:34 From Joe Davenport : https://wordpress.org/plugins/insert-php/
19:38:32 From Connie Nassios : https://wordpress.org/plugins/child-theme-configurator/
19:38:57 From Linda Horan : For a newbie, is it recommended to stick with a WordPress them as opposed to a third party theme?
19:39:05 From Linda Horan : WordPress theme…
19:39:20 From Alexander vasquez : Linda, we’ll get to your q question.
19:39:24 From Connie Nassios : Yes – stick with a WP theme….my 2-cents
19:41:13 From Sean Conklin : I’ve heard it’s required in UK to not track until agreed, but for here CCA only applies to larger entities.
19:41:33 From Chris Charlton : Best to be safe, right, Sean
19:42:01 From Steve Shorr : https://www.npr.org/2019/12/30/791190150/california-rings-in-the-new-year-with-a-new-data-privacy-law
19:42:17 From Wafic : Cookies from me to all of you. Who wants to offer coffee?
19:42:18 From Steve Shorr : https://oag.ca.gov/privacy/privacy-laws
19:42:28 From Steve Shorr : https://en.wikipedia.org/wiki/Online_Privacy_Protection_Act
19:42:32 From Connie Nassios : Chocolate chip?
19:42:55 From ferrisgluck : where is the hand raising function? I don’t see it
19:43:58 From Ray Scarpa : Seeing the Raise Hand on my window it’s right above the chat to the left, along a set of icons
19:44:39 From Sean Conklin : Free official themes: https://github.com/Automattic/themes
19:44:48 From ferrisgluck : definitely not on my screen; oh well 🙁
19:45:02 From BreAnn Mueller : Ferris—if you click on “participants” on the bottom, a panel pops up on the right side with a list of all the people—and on the bottom there is a raise hand optin
19:45:34 From Alexander vasquez : https://wordpress.org/themes/
19:45:56 From ferrisgluck : Aha!! Thanks, BreAnn!!! 🙂
19:46:06 From BreAnn Mueller : No prob! 🙂
19:48:20 From Steve Shorr : https://www.keycdn.com/support/wordpress-retina
19:48:52 From Grace C : https://www.greengeeks.com/tutorials/article/support-retina-display-images-wordpress/
19:49:01 From Steve Shorr : https://premium.wpmudev.org/blog/make-images-retina-ready/
19:49:16 From Alexander vasquez : Thanks, BreAnn!
19:50:36 From Chris Gomez : https://premium.wpmudev.org/blog/make-images-retina-ready/
19:52:52 From Linda Horan : Should 2020 be avoided?
19:53:04 From Chris Aldrich : No, it’s a great little theme.
19:53:13 From Alexander vasquez : The theme is great.
19:53:17 From Alexander vasquez : The year not so much. =)
19:53:38 From Chris Charlton : I’m in the future: my theme is 3020
19:54:58 From Steve Shorr : I thought Open graph was only for Facebook
19:55:39 From Grace C : https://en.wikipedia.org/wiki/Open_Graph
19:57:21 From Chris Charlton : OpenGraph is NOT only for Facebook. It’s used for many sites, any engine that displays “Rich Snippets” (previews) of your content (image, headline, summary, etc.)
19:58:02 From Grace C : https://www.computerhope.com/jargon/o/open-graph.htm
19:58:26 From Wafic : Who are the SEO folks in the room?
19:59:07 From Chris Aldrich : http://www.kevinmarks.com/partialsilos.html
19:59:43 From Chris Aldrich : That post is a good example of the sorts of tricks one can play with various meta data ^^
20:04:27 From BreAnn Mueller : Gotta jump off the call here! Thanks so much alex and everybody, great to see you all! 🙂
20:04:47 From Wafic : Bye BreAnn
20:05:12 From Ray Scarpa : Same here, really appreciate everyone’s time!
20:05:23 From Alexander vasquez : By BreAnn!
20:05:42 From Connie Nassios : https://wordpress.org/plugins/getwid/
20:05:56 From Sean Conklin : I used Gutenberg on my home page https://codedcommerce.com along with the JetPack blocks (contact form) and WooCommerce blocks (product categories). I recommend installing the Gutenberg plugin so you get the latest version.
20:06:07 From Connie Nassios : https://wordpress.org/plugins/kadence-blocks/
20:07:03 From Jason Orellana : WordPress.org/plugins/ultimate-addons-for-Gutenberg/
20:07:13 From Alexander vasquez : https://woocommerce.com/storefront/
20:07:38 From Grace C : https://www.wpbeginner.com/showcase/gutenberg-friendly-wordpress-themes/
20:07:47 From Jason Orellana : https://plugins/atomic-blocks
20:07:58 From Connie Nassios : https://www.kadencewp.com/product/virtue-free-theme/
20:11:31 From Alexander vasquez : https://wordpress.org/plugins/social-media-auto-publish/
20:11:48 From Chris Aldrich : Here you go Wafik: https://wordpress.org/plugins/social-networks-auto-poster-facebook-twitter-g/
20:17:46 From Wafic : NextScripts: Social Networks Auto-Poster is untested with the current WordPress version
20:18:48 From ferrisgluck : Thank you Sean!!!!
20:19:40 From Chris Charlton : @Jason I would consider an LMS = Learning Management System over a CMS
20:20:40 From Chris Charlton : I rescind my answer; Alex’s suggestions were good
20:21:05 From Sean Conklin : https://senseilms.com is by Automattic, worth a look.
20:21:10 From Steve Shorr : bye great meeting and I saved 2 hours driving
20:23:36 From Grace C : https://alternativeto.net/software/meetup/?license=opensource
20:25:40 From Grace C : Thank you all, this was all very informative.
20:26:21 From Wafic : Are we going for tacos?
20:26:38 From Sharon Stuewe : I really enjoyed this type of meeting! Let’s Zoom again.
20:26:38 From Wafic : 🙂
20:26:47 From Linda Horan : I got a lot of really helpful info that I’ll be following up on for a while
20:26:51 From Jason Orellana : virtual tacos and beer
20:26:55 From Connie Nassios : Alex – you’re the best!!
20:27:01 From Saied Abbasi : Thank you Alex!! And everybody
20:27:03 From Wafic : Great hair Alex
20:27:14 From Grace C : Thank you, Alex for putting this together.
20:27:16 From ferrisgluck : Thank you Alex & everybody else! Alex rocks!!
20:27:29 From James White : 👋🏼
20:27:31 From Michael Kieley : Thanks, Alex
20:27:34 From Sean Conklin : Great leading Alex! It’s not easy, and we appreciate you 🙂
20:27:34 From Chris Gomez : thank you!
20:27:52 From Alexander vasquez : https://github.com/ahmadawais/corona-cli
20:28:40 From Wafic : https://www.coloradoboulevard.net/updated-covid-19-cases-amongst-our-neighbors-friends-and-families-in-greater-pasadena-area/

Webmentions with WordPress for Open Pedagogy

Abstract: With growing support for the W3C Webmention spec, teachers can post assignments on their own websites & students can use their sites to respond and interact. Entire classes can have open discussions from site-to-site owning all their data and eschewing corporate surveillance capitalism.

Missed my presentation for PressEdConf20 on Twitter earlier and want to read it all bundled up instead? The “article” version appears blow. You can also enjoy the Twitter moment version if you like. 


ONE

Chris Aldrich
Chris Aldrich

Hello everyone! My name is Chris Aldrich. I’m an independent researcher in a variety of areas including the overlap the internet and education. You can find more about me on my website https://boffosocko.com

Today I’ll be talking about Webmentions for open pedagogy. 


TWO

For a variety of reasons (including lack of budget, time, support, and other resources) many educators have been using corporate tools from Google, Twitter, Facebook, and others for their ease-of-use as well as for a range of functionality that hadn’t previously existed in the blogosphere or open source software that many educators use or prefer.

This leaves us and our students open to the vagaries and abuses that those platforms continually allow including an unhealthy dose of surveillance capitalism.

Wall of security cameras looking down at two women
Photo by Matthew Henry on Unsplash

THREE

In the intervening years since the blogosphere and the rise of corporate social media, enthusiasts, technologists and open source advocates have continued iterating on web standards and open protocols, so that now there are a handful of web standards that work across a variety of domains, servers, platforms, allowing educators to use smaller building blocks to build and enable the functionalities we need for building, maintaining, and most importantly owning our online courseware.


FOUR

Some of these new W3C specs include Webmention, Micropub, WebSub, IndieAuth, and Microsub. Today I’ll talk abut Webmentions which are simply site-to-site @mentions or notifications which don’t involve corporate social media silos.

For those who’d like more information about Webmentions and how they could be used, I’ve written a primer for A List Apart entitled Webmentions: Enabling Better Communication on the Internet.

Cartoon of baseball player hitting a ball with a bat to a waiting player with a tennis raquet
Illustration by Dougal MacPherson
Image courtesy of A List Apart

FIVE

Many common content management systems support Webmention either out of the box or with plugins including: our friend WordPress, Drupal, WithKnown, Grav, and many others.

Webmention rocks logo
Webmention rocks

SIX

WordPress can use this new standard with the Webmention plugin. (Surprise!) I also highly recommend the Semantic Linkbacks plugin which upgrades the presentation of these notifications (like Trackback, Pingback, or Webmention) to more user-friendly display so they appear in comments sections much like they do in corporate social media as commentsrepostslikes, and favorites, detected using microformats2 markup from the source of the linkback.


SEVEN

Another plugin I love is Post Kinds Plugin (Classic editor only at present) which automatically parses URLs I want to reply to, like, bookmark, etc. and saves the reply context to my website which helps prevent context collapse. My commentary and notes then appear below it.

(I also use a plugin that saves the content of URLs on my site to the Internet Archive, so I can reference them there later if necessary.)

Example of a reply context with author name, image, title, and short synopsis


EIGHT

These plugins with WordPress allow teachers to post course content and students can then post their responses on their own sites and send notifications that they’ve read, listened to, or watched that content along with their ideas and commentary.


NINE

Examples of webmentions in a course setting: Greg McVerry and I ran an experiment with Webmentions in a class in 2018. 

Example assignment: https://archive.jgregorymcverry.com/5570-2/

Notice the replies underneath which came from other sites including my response which is mirrored on my site at https://boffosocko.com/2018/08/04/highlighting-some-of-my-favorite-edtech-tools/

Example podcast post for a class: https://archive.jgregorymcverry.com/2toponder-episode-one/

Notice the listen webmention in the comments which links to my listen response at: https://boffosocko.com/2018/08/06/2toponder-episode-one-intertextrevolution/ where I own a copy of the context and my own response. As a student, even if the originals disappear, I’ve got the majority of the important content from the course.


TEN

When the course is over, the student has an archive of their readings, work, and participation (portfolio anyone?) on a site they own. They can choose to leave it public or unpublish it and keep private copies.

[Copies for Facebook, Google+ or Big EdTech Giants? They can ask for them nicely if they want them so desperately instead of taking them surreptitiously.]


ELEVEN

As a concrete example, I now have tagged archives for all the work I’ve done for EDU522 with Greg McVerry who also has his related posts in addition to a variety that he subsequently archived.

Fluffy cat head that moves with the fur underneath it appearing more like rocket exhaustion as the cat "takes off" into the air


TWELVE

By taking the content AND the conversation around it out of the hands of “big social media” and their constant tracking and leaving it with the active participants, we can effect far more ethical EdTech.

Gif of grain silo on a farm collapsing in on itself.

[No more content farming? What will the corporate social media silos do?]


THIRTEEN

Imagine Webmentions being used for referencing journal articles, academic samizdat, or even OER? Suggestions and improvement could accumulate on the original content itself rather than being spread across dozens of social silos on the web.

gif of Kermit the frog sitting on a desk excitedly flailing his arms and legs

[Webmentions + creativity: How might you take their flexibility and use it in your online teaching practices?]


FOURTEEN

There’s current research, coding work, and thinking going on within the IndieWeb community to extend ideas like private webmentions and limiting audience so that this sort of interaction can happen in more secluded online spaces.

I’d welcome everyone who’s interested to join in the effort. Feel free to inquire at an upcoming IndieWebCamp, Homebrew Website Club, event, or in online chat right now.

Huge group of diverse attendees at IndieWebSummit 2019 waving


FIFTEEN

I’ve also been able to use my WordPress website to collect posts relating to my participation in conferences like PressEdConf20 or Domains 2019 which included syndicated content to Twitter and the responses from there that have come back to my site using Brid.gy which bootstraps Twitter’s API to send Webmentions back to my website.

If Twitter were to go away, they may take some of my connections, but the content and the conversations will live on in a place under my own control.


Thanks for your time and attention! I’m around on Twitter–or better: my own website!–if you have any questions.

Mari Pfeiffer teaching a free session on how to create a message that attracts and converts website visitors into loyal customers

My friend (and phenomenal teacher) Mari Pfeiffer is stuck at home like the rest of us, but she’s putting her web development and business growth talents to work for those who are interested. 

She’s holding a free live session tomorrow at 10 am on YouTube geared toward a beginner audience who either already have websites or are beginning to consider designing and building one for their business. 

Several people have asked for help or advice on their business websites and so I thought, we’re all home, why not do this live? I’ll be talking about crafting a clear message that attracts and converts, and show how to put it together on your home page. I’ll also be taking any questions about website development in general.

Create a Message that attracts and converts website visitors into loyal customers

Participating in PressEdConf20 directly from WordPress

Last year I thought it would be fun to outline how people might use their websites to actively participate in by posting content on their WordPress website and syndicating copies to Twitter for those following that way.

(Meta: Welcome to my talk: I know it’s cheating & early, but I’m hoping a few presenters will borrow this method.) 


My general thought was:

The only thing better than A WordPress and Education, Pedagogy and Research Conference on Twitter would be A WordPress and Education, Pedagogy and Research Conference using WordPress itself!

(Meta: Sure, post it to Twitter: but why not own a copy of your presentation on your own website when you’re done?)

Wordpress > Twitter in logos


So let’s give it a spin by providing an outline for how to accomplish it in true #IndieWeb & #DoOO fashion? Perhaps a few people might trying doing this year’s conference this way? Here’s an early presentation to get the juices flowing.

Upside down Twitter Logo(Meta: Hint for those on Twitter: I’m including links to my website, so you can get just a little bit more information than Twitter limits me to–oh, the fringe benefits of having one’s website where they’re not censored by the confines of the platform on which they’re creating!)


First, we’ll start off by making the humble presumption that you’ve got your own domain and an install of WordPress running on it. Hopefully this covers most attendees.

(Meta: If it doesn’t there are lots of options: You could do something similar a bit more manually if you like using WordPress.com. You’ve also got a great community of people who could help you to better own your online identity and domain right here! I’ll bet our friends at Reclaim Hosting could help as well.)


Next we’ll want the Webmention Plugin (+Semantic Linkbacks) which will let our site communicate with other websites as well as to receive replies and reactions on Twitter with the help of Brid.gy. Install and activate both.

(Want to go deeper into the idea of what Webmention is and how one could use it?  I wrote an article for A List Apart that goes into details.)

Cartoon of baseball player hitting a ball with a bat to a waiting player with a tennis raquet
Illustration by Dougal MacPherson
Image courtesy of A List Apart

One could manually syndicate content from WordPress to Twitter, but there are multiple plugins and ways to syndicate it. My favorite is the Syndication Links plugin, which we can use for syndicating to other services. Install and activate. 


Next we’ll want an account on Brid.gy for Twitter. This will allow us to publish from our website to Twitter; it will also allow us to reverse syndicate reactions  from on Twitter back to our posts using Webmention.

(Meta: Publishing this way will require Microformats: Your theme will need the proper microformats support to use this method, but again other methods are available.)


Authenticate your website and Twitter account with Bridgy and enable Bridgy publish on your account page: https://brid.gy/twitter/username.

Bridgy Logo


In Syndication Links settings at example.com/wp-admin/admin.php?page=syndication_links

  • Enable Syndication to Other Sites
  • Enable Twitter via Bridgy

Add a custom provider using the following:

  • name: XYZ pressEdconf20
  • UID: XYZ-pressEdconf20
  • target URL: https://indieweb.xyz/en/pressEdconf20/

Save the settings.

WordPress' cartoon character Wapuu holding a ball with the IndieWebCamp logo(Meta: Syndication Links Settings: These will help you set up syndication targets on other platforms and can be configured for a variety of social media.)
 
 
 
 

Now write all of your posts in your presentation as status updates (without titles) and include any media (photos, videos, etc.) making sure to mark up the photos with a class of u-photo in the HTML. Don’t forget the hashtag .

Meme photo from Ferris Bueller's Day Off with Ferris in the bathroom of Chez Louis with superimposed text: A personal IndieWeb site with Webmention, Micropub, Microsub, and WebSub support is so choice. If you have the means, I highly recommend picking one up.


Set posts for one every minute. Use the SL Syndicate To meta box to syndicate your Twitter account and to the indieweb.xyz sub where everyone can find them (if they’re not following the proceedings via Twitter).

indieweb.xyz logo


Others at with Webmentions can reply to your posts on their sites. Replies will show up in comments depending on settings. Bridgy will also find responses to your content on Twitter & syndicate those back to your website automatically.

(Meta: Give it a whirl!: Reply to this post on Twitter to see it boomerang back to the comment section of my website.)

Webmention rocks logo
Webmention rocks

Those who are paying attention at will see the value in webmention for allowing cross-site interactions without the need for “social media”. WithKnown, Drupal, Grav, and other CMSs are capable of doing this too.

(Meta: Ownership of your Open Pedagogy Anyone? Who needs invasive corporate social media to interact online now?)


With luck, I’ll have created this entire presentation on my own website and syndicated it to Twitter without actually needing to visit Twitter itself. I’m around for questions. Thank you for your time and attention. [more…]

Those looking for more details can find documentation on the IndieWeb wiki at https://indieweb.org/Getting_Started_on_WordPress, or https://boffosocko.com/2018/04/27/setting-up-wordpress-for-indieweb-use/

I’m also happy to help people set things up and make alternate suggestions via video chat or you can find online help in the IndieWeb WordPress chat.

IndieWebCamp Logo featuring the stylized letters "I W C" over the text "#IndieWebCamp"


P.S. There’s still some time to submit your talk for . Since it’s all designed to be online from the start, I’m hoping it won’t be cancelled like all the other events lately.

(Meta: PressEdConf 2020: A WordPress and Education, Pedagogy and Research Conference on Twitter March 26, 2020)

Small progress in my wiki explorations and a fix to my MediaWiki administrative user email address

I’d looking into maintaining a wiki a while back and have recently been determined to get back to it. As a result, I’ve been looking at TiddlyWiki since that’s what some of Kicks Condor‘s group has been using. (Yep, I’ve still got that tab opened and am tinkering away slowly on the ideas–but mostly the technology.)

I’ve been having some issues in self-hosting a TiddlyWiki the way I’d like to. If anyone has any clear cut documentation on how to host a TiddlyWiki on one’s own domain name, I’d appreciate it. The documentation doesn’t seem as clear as I would expect (or perhaps more likely my server is having issues propagating/connecting?). If anything it’s muddled by the fact that they can seemingly be hosted in dozens of places one might not otherwise expect. My primary reservation is that it looks to me like they’re designed as single user instances, so I’m not exactly sure how Kicks et al. are effectuating their hyperconversations. Part of my issue is my mental model of some of the wikis involved in addition to the busy-ness of the sites’ themes, not to mention some of the non-standard conversational style on some. (I’ll get there eventually.)

I’ve also been using the IndieWeb’s MediaWiki for several years, so I’ve become much better at how it works as well as the ins-and-outs of the markup and how to do some slightly more advanced things using it. I’d set one up nearly a year ago this month and used it sporadically at best.

One of the bigger problems with my MediaWiki install was that somehow I wasn’t able to log into the primary account to do some of the necessary administrative functions. Today I got fed up with being hampered a bit and went spelunking into my install to see where things went wrong, suspecting that it was a one button install issue.

After digging through some documentation, I dug into the mySQL database and found a daunting looking [Blob] in the user_email field. Why couldn’t it be an easy-to-edit field? I not knowing anything better to do, I downloaded it, opened it up in my text editor, and discovered that I’d managed to leave a letter out of my own name in the email address! No wonder it wouldn’t work and the system wouldn’t let me reset my email address or password. A quick text edit later, the email was fixed, I uploaded the (now less intimidating) [Blob], and did a reset of the password in the admin interface, and we’re back in business! I’m always glad not to have borked the entire database and site.

If nothing else, it’ll help me in my explorations. Onward.

A Micropub client idea: Liveblogging!

I’ve been thinking about Twitter threads, tweetstorms and liveblogging for the better part of the week, and last night I had an idea that has stuck with me.

With the idea of Micropub allowing the ability to create updates, why couldn’t one build (or even modify) a Micropub client to create an interface to write relatively short updates with (date and timestamps to appear in the text) that, when published, concatenated that new piece of content into a longer piece of running text to send an updated Micropub request to an article or note on a site to allow that article to become an updating liveblog post?

I’m a bit shocked that no one has done it before now, and I suspect that one of the pre-existing micropub clients out there could probably add the functionality as a one day project at an upcoming IndieWebCamp.

I don’t suspect it was the sort of Micropub functionality that Kevin Marks was thinking about doing this weekend, but Noter Live comes pretty close to having a lot of this sort of UI already. Instead of just doing a single Micropub post at the end of a Twitter thread, why couldn’t it do an initial post at the beginning and then update the site with subsequent updates as it goes along while also acting as a means of syndicating the posts to Twitter and then returning those Twitter permalinks as syndication links on the user’s own site?

Own Your Followers: Redirecting Feeds on the Web

Every four months or so I go through and tidy up many of my feeds. Invariably a dozen or so feeds die out, but I’m noticing a recurring quirk. Most of them are within my IndieWeb folder!

A lot of the changes seem to be related to people who are shifting from one shiny toy or project to another. They all seem to say something like:

Hey Mom! Look at my fancy new static site that builds in 0.001 seconds!
Can you believe what Drupal supports in the IndieWeb now? See ya! 
I’ve moved back to good ol’ WordPress. Ahhh…
Micro.blog is awesome and requires such little maintenance. I migrated… while on vacation… in the wilderness… from my cell phone!!!
Wheee!

They’re often redirecting all their old URLs to the new site, but the one URL they commonly neglect is to create a redirect for their primary RSS, Atom, JSON or other feeds to their new feed structure. This means that the feed goes dead, and I (and others) have to notice it, then revive it. For some who simply have h-feed structures on their home page things may continue apace, particularly for the Microsub readers out there, though I haven’t been using those for as long to see as many issues.

Why are you doing all that work and making your followers do the extra manual work to go back and resubscribe?! Over the past four or five years there have been fifty or more people I’ve seen do this dance (some multiple times and even a few every 4 months or so). I totally get why they do it (because why not?!) But there should be a better way of keeping track of our major URLs and redirecting them properly.

From a continuity or even business perspective, this could be an even bigger thing as sites will likely spend a lot of time building an audience and could potentially throw it all away with the flip of a switch. I’ll be the first to admit that most of these people may not have a lot of people following them via RSS or similar means, but still?! It seems like at least once a week there’s some big newspaper, magazine, or corporate site I want to follow and I have to complain about finding their feeds. Why would you want to start all over again? 

If a social media framing is easier for some, it’s the equivalent of changing your Twitter handle for your account with a hundred thousand followers to something new with no followers instead of creating a dummy account and swapping the usernames so you can have the new name, but keep all your followers.

There are also a few serial bloggers/writers who will start up a project for 3-6 months and build a following only to shut things down though they’ll keep the domain name. Why not redirect that primary domain to one of their other or newer projects and redirect those feeds as well? You’ve spent the time building an audience, why wouldn’t you want to keep it? Am I missing something fundamental here?

We often say, own your online identity, own your domain, and own your data. Perhaps we need to remember to also “own” our friends, family, followers, our community, or more broadly our audience?

Until then, I’m still flailing away out here. Manually changing your feeds in my reader…

IndieWeb idea for the extension of ThreadReaderApp

I’d love it if ThreadReaderApp had the ability to authenticate into my personal website and publish a copy of my own tweetstorms into my blog using Micropub

This would be a great way to leverage their existing infrastructure and to allow people to put their own Tweetstorms onto their blog and solve the perennial “Why didn’t you just blog about this” commentary. 

The Message Matters: A bone to pick with Jonah Goldberg about positively framing mathematics

Cover art for The Remnant podcastIn the opening of The Remannt episode “American Dreams, Populist Screams” (beginning at about 03:08) Jonah Goldberg and his guest go out of their way to talk about the moral and social bad that negative framing can have specifically on children, then expand it to adults, and then finally society at large.

They’re talking broadly about the negative messaging around the idea that the American dream is dead.

“People would understand that that kind of message can have a deleterious impact on someone’s life path. Right? The same principle applies even when you send that message to grownups.”

Then in the next breath, Jonah says:

“We promised our listeners there would be very little to no math on this podcast, but um, uh…”

Here he is essentially telegraphing to his audience, “we’re not going to expose you to the scary math”, “why do math?”, “math is hard”, “you can’t do math”.  He is specifically providing a negative framing for mathematics. His audience subtly hears “Math is bad!”–a message which is regularly heard, not just here, but nearly everywhere in our society including in our schools–often while it’s being taught. He does it again at 12:38 into the show and even suggests fast forwarding his own show to skip over the math portion! (A portion which doesn’t really appear by the way.)

So which is it Mr. Goldberg? Positive framing or negative?

Can we be a little less anti-math in the future? Some might suggest that being bad at math can make it immensely harder to take risks, to do the hard work, to have the American Dream. Didn’t the American Dream and associated ideas of American exceptionalism mean we could do anything–including mathematics?!

Otherwise let’s go on telling our children as you say:

“the game is rigged, you should just grab what you can, and […] not worry about being a good person or not worry about being a hard worker, or any of these kinds of things. Take the easy path because you’ll never get ahead.”

Going forward, let’s always frame math in a positive light.

I’d much rather hear regular messages that math is useful, math is productive, math is interesting, math is comprehensible, math is doable, math can be easy, math is fun! Or if you prefer a more nationalist, pro-capitalist positive framing: Math is American. Math will keep us on top. Math will get us there. 

Math is good for our children, it’s good for adults, it’s good for society.

What is your creative dream for the web?

Often the IndieWeb is re-creating functionality from traditional media or the social spaces to our own sites. Who is going to innovate and turn the tide in the other direction?

Where is the avant guarde? Who is going to be the next Stan Brakhage, George Antheil, Luis Buñuel, or Walter Murch of the web?

burger lol GIF by Robbie Cobb

How can we push corporate social media back onto their heels?

I can’t wait for someone to create the next social media craze because it’s something they’re creatively posting on their own website as a media format that social silos don’t allow.

Who is experimenting with quirky multimedia posts on their websites? Who’s going to have the next meme generator/Tik Tok/SnapChat stories/inventive new functionality first? I’m imagining something in the vein of Marty’s Kapowski, Aaron’s emoji avatars, or Jeremy’s Indy maps, but I’m sure we could go crazier and push the envelope even further.

Bonus points if it’s done in the form of a micropub client! 🙂

Some thoughts and questions about online comments

Podcast cover art reading "On the Media" and "WNYC Studios" on a simple white backgroundI’ve spent part of the morning going town a rabbit hole on comments on news and media sites and reading a lot of comments from an old episode of On the Media from July 25, 2008. (Here’s the original page and commentary as well as Jeff Jarvis’ subsequent posts[1][2], with some excellent comments, as well as two wonderful posts from Derek Powazek.[3][4])

Now that we’re 12 years on and have also gone through the social media revolution, I’d give my left arm to hear an extended discussion of what many of the principals of that conversation think today. Can Bob Garfield get Derek Powacek, Jeff Jarvis, Kevin Marks, Jay Rosen, Doc Searls, and Ira Glass back together to discuss where we’re at today?

Maybe we could also add in folks like danah boyd and Shoshana Zuboff for their takes as well?

Hopefully I’m not opening up any old wounds, but looking back at these extended conversations really makes me pine for the “good old days” before social media seemingly “ruined” things.

Why can’t we get back more substantive conversations like these online? Were we worried about the wrong things? Were early unfiltered comments really who we were and just couldn’t see it then? Does social media give us the right to reach in addition to the right to speech? How could we be doing better? Where should we go from here?

Exploring Pine.blog

I’d noticed Pine.blog before at a previous IndieWebCamp, but not had time to delve into it very deeply. Seeing some of what Brian Schrader has been working on while following IndieWebCamp Austin remotely this weekend has reminded about the project. As a result, I’ve been spending some time tonight to check out some of the functionality that it’s offering. In part, I’m curious how similar, or not, it is to what Micro.blog is offering specifically with respect to the idea of IndieWeb as a Service which I’ve recently begun documenting. It’s always great to see the growing diversity and plurality of solutions in the space.

My brief prior experience with the platform was simply adding my website to their discovery service. Tonight I’ve found that Pine.blog has got a very pretty little feed reader experience with some fun discovery functionality. You can apparently create multiple timelines to follow content, but one needs a paid account for more than one timeline. It allows both following sites as well as recommending them to others. It also appears that Brian is supporting the rel=”payment” microformat as I see at least one feed that has a “$ Support” button in the Pine.blog interface to allow me to go to the site’s payment page to support it. I think this may be one of the first times I’ve seen this functionality in an app in the wild outside of the Overcast podcast app which added it a couple of years ago.

It has webmention support, so I can “like” things within the reader and notify others. Without a paid account I don’t see the ability to reply to or mention other sites though. It also looks like it allows for import/export of OPML too, though I haven’t tried it out yet–I can only test drive so many feed readers at a time and Indigenous is taking up all of my bandwidth at present.

I do wonder a bit about potentially importing/exporting my content if I were to go all-in on Pine.blog. I’d bet the idea is on the product map, but that’s a huge bit of work to build without a paid user base to support it. I’d personally want at least an export function if I were to change over, though I’m more likely to want to dovetail my own site with it much the way I’m currently doing with Micro.blog.

It looks like it should be able to post to my website, but I’m finding the “publish” and “preview” buttons don’t work–perhaps I need a paid account for this functionality? Of course, I only see UI to provide pine.blog with my URL and my account name, but it hasn’t authenticated using a password or other method, so perhaps that portion isn’t finished? I’ll circle back around to it later when I do a free trial. I do notice that Brian, the developer of the project, has an account on pine.blog which is mirrored on one of his subdomains running WordPress. Quirkily I’ve noticed that the header on his main website changes to alternately serve the pine.blog version and the WordPress version!

More to come as I continue exploring… Later on I’ll take a look at some of their paid functionality, but for now, it’s a pretty compelling set of features and some well-laid out user interface to start. I look forward to seeing how it continues to evolve.

My IndieWebCamp Austin 2020 Project: The Who, What, Why, How, When, Where of IndieWeb

Yesterday, the ever-thoughtful Jean MacDonald led a conversational session at IndieWebCamp Austin on Explaining the IndieWeb (video of the session).

The session highlights one of the communities’ ongoing struggles is to help to define itself simply to a tremendously large group of people from different backgrounds and wealths of experiences. The community has build a massive Wiki of resources, tools, ideas, definitions, and brainstorming that can at times seem impenetrable to the newcomer. Simplifying and breaking things down into smaller constituent parts may be a helpful exercise.

Toward that end, as another potential entry-point to the community, I’ve created a page called IndieWeb Questions that aggregates and attempts to quickly answer the common Who, What, Why, How, When, Where questions about the IndieWeb and provide a range of low-level jumping off points to highlight further information, before attempting to provide more specific technical information.

I’d like to invite those who participated in the session yesterday, others in the community, and especially those who may be new to the community to contribute to the page or point out parts that they may find difficult to understand or confusing. If you can’t log into the wiki to do so (yet), feel free to join the chat and add your commentary there or post on your site of choice.

I’d also specifically challenge people to write essays (preferably on their own sites) about what the IndieWeb is to them, how they define it personally, and what they’d like to see in the future and post it in the Articles section of this new page. A diversity of perspectives here may be helpful in welcoming the broadest diversity of people into the community in the future.

As ever, I expect the idea of IndieWeb to mean something slightly different to everyone the same way that they’ll approach it with different technical abilities and personal preferences. Hopefully in the end, the playing field will level out for everyone and we’ll all just think of it as “using and being on the web”.