Replied to A thread on Hypothes.is in relation to Audrey Watters' Top Ed-Tech Trends of 2015: Indie Ed-Tech by Audrey Watters, Jeremy Dean, Dan Whaley (Hack Education / Hypothes.is)

it supports students and teachers and schools in managing their own infrastructure, their own labor, their own data.

—Audrey Watters

Ok, so is hypothes.is doing this? How can it?

  • my annotations must be better accessible/organizable --the current "My Annotations" is not enough
  • annotation must be exportable

—jeremydean on Dec 30, 2015


And ultimately, you need to be able to completely run your own annotation infrastructure, but create and access it through a universal client.

—dwhly on Dec 30, 2015


Sure. Less clear to me how that looks/works and what that I do today online is similar in "ownership." But does your "you" refer to students or teachers or schools or all of the above?

The first two (I list) seem key in terms of practical adherence to these principles for everyday users.

—jeremydean on Dec 30, 2015


It's similar in character to the Domain of One's Own initiative. From a long term perspective, you might be better off taking ownership of your own infrastructure, that you can carry with you and guarantee will be available over long time periods (decades to centuries). Hypothes.is should at the very least permit you to do so if you prefer-- regardless of whether we continue to provide an annotation service at scale (which I very much think we should).

Your question around "you" is an important one. I might for instance, set up my own annotation server for my personal notes-- with the confidence that I'll always be able to find a reliable hosting provider for those. Similar to how I have my own web domain, and I host it at one place now, but I can always move it if that location goes out of business-- and my website will be identical to its current form in the new place. In the same way, my current personal email is through an address at my own domain. I don't need to depend on gmail being around forever.

As a teacher, I might use a more common service provider (like Hypothes.is) for class lessons-- one that my students are already likely to have accounts on. As web travelers, we're really accustomed to browsing seamlessly between servers-- it's understood to be the essential architecture of the web. Bringing it to the world of annotations has extraordinary benefits (IMHO) and will serve to foster more adoption and more diversity of applications.

—dwhly on Dec 30, 2015

I’ve been thinking over some of this question for the better part of a decade and even more pointedly since November.

Some of what I’ve been looking at relates back to the renaissance ideas of the commonplace book as well as memory techniques dating back to ancient Greece and even further back. There are ideas like wikis (personal as well as public–Audrey references a great post by Mike Caulfield in her article) and online notebooks tools like Evernote, OneNote, TiddlyWiki, Roam Research, etc. If a student could quickly add all their highlights/annotations into their website, online notebook, Zettelkasten, or other related learning tools, then they could use them for reading, reviewing, or even spaced repetition as provided by platforms like Anki, Mnemosyne, or NeuraCache.

Going back to Jeremy’s original question though:

Ok, so is hypothes.is doing this? How can it?

Hypothesis could immediate do this and quite effectively if it supported the W3C recommended Micropub spec. In short, it’s a standard and open source method for publishing data to a broad spectrum of surfaces so that developers don’t need to build custom solutions for each of thousands of snowflake platforms.

That is, in addition to its current functionality, you could add some code to make Hypothesis a Micropub client!

The quickest and most flexible approach I might suggest would be to allow users to publish their annotations/highlights not only to their accounts, but have UI to trigger a micropub request to their website, online notebook, or other platform.

There’s nothing more I’d want than an easy way to own all the data I’m collecting with Hypothesis and Micropub could quickly add it for a wide variety of set ups and systems. There are already implementations of Micropub servers for a variety of CMS software including WordPress, Drupal, Known, Craft, Jekyll, Kirby, Hugo, Blot, and Micro.blog with others being added, including Grav. Some of us are actively working on adding it to Wiki-related software as well. Since large portions of the Domain of One’s Own movement are built on these handful, you’d have some pretty quick coverage of not only all this space but even more.

I suspect your dev team could build an implementation in just a few days and it would open up a huge advantage for allowing users to more easily own their H related data on their own websites or in other online locations (while still utilizing the Hypothesis platform for more complex functionality).

There’s some solid documentation and a wealth of open source clients you could look at or borrow code from as well as a test suite. I suspect the IndieWeb Dev chat channel would surface a few additional developers to answer questions about any other issues as they crop up.

If you’d like a quick 5-10 minute demo of how this works for a handful of other clients in conjunction with something like WordPress, I’m happy to volunteer the time and spitball some potential ways Hypothesis could dovetail it and leverage its power.

Thoughts on hosting an IndieWebCamp Pop-up Session

A few weeks back, I hosted a stand alone IndieWebCamp pop-up session. I had promised to scribble down some thoughts about the process and how it might be improved based on my experience. If anyone else has thoughts on how it went or how future events like this could be improved, I’d love to read them.

With traditional in-person two day camps on hold for the foreseeable future as the result of the coronavirus, doing some smaller one day or even one session topics seemed like a good idea at the time. After having done it once, I now think they’re an even better idea. A variety of things came out of the experience that I wouldn’t have anticipated.

Process

I posted the notice for the event to my website and to events.indieweb.org about two weeks in advance. This helped give me enough time to invite about 15 people I expected to be interested in the particular topic. A few tweets as reminders helped in addition to the announcement being early enough to make it into two of the IndieWeb newsletters.

I held the session at 10am Pacific so that we might be able to draw people from the late evening time zones in Europe, mid-afternoon people on the East coast of the U.S. but still late enough in the morning so that people on the West coast of America wouldn’t have to be up too early. This seems to have worked out well though I feel bad that we did likely shortchange several people in India, Asia, and Australia who might have attended.

I expected that I would be starting out small and simple and honestly only expected about 3-6 people to show up. I was initially thinking a tiny, one-topic Homebrew Website Club, but on a weekend.

On the day of the event my guess was that we had about 25 attendees, but statistics after the fact showed that 35 people logged into the session. There were still people arriving into the room at the two hour mark! According to the numbers, there have already been 210+ views of the archived video since it was posted later on the day of the event.

I suppose that future sessions will give additional data to bear the hypothesis out, but one of the side-benefits of having a specific topic announced a few weeks in advance seemed to have brought in a large number of people interested in the particular topic and who were generally unaware of the IndieWeb as a group or a movement. I’ve seen several of these people at subsequent Homebrew Website Club meetups, so using these sessions to help spread the principles of IndieWeb does seem to have been generally useful. About half of the attendees hadn’t been to an IndieWeb event previously. I did try to start with a brief introduction to IndieWeb at the start of the session and offered some follow up at the end, but I probably could have planned for this better.

I wish I had collected people’s emails, but I’ll have to do this manually somehow if we do so now. The traditional signup and organization structure for full camps would have done this, but it would be nice to have a simple workflow for doing this on a lower key basis for pop-ups. Emails would also have helped to put together a post-event questionnaire to potentially create a follow up session.

Thanks certainly goes to all the people who have built pre-existing infrastructure and patterns for pulling off such an event so easily.

Wiki Infrastructure

Since the session, I’ve gone into the IndieWeb wiki and created a stub pseudo-IndieWebCamp listing to help make organizing future stand-alone pop-up sessions a bit easier (particularly for documenting the results after-the-fact.)

The key is to make doing these as easy as possible from an organization standpoint. Having pre-existing pages on the wiki seems to help a lot (or at least feels like it from a mental baggage perspective).

Here are the relevant pages:

Execution

One of the things that was generally missing from the program was some of the hallway chatter and getting-to-know-you preliminary conversation. I think if I were doing another session I’d schedule 15 minutes of preliminary chat and dedicate about 30 minutes of introduction time into the process and encourage people to have a cup of coffee or drink to help make the atmosphere a bit more casual and conversational.

On thing that surprised me was that despite scheduling about an hours’ worth of time to the session we still had a sizeable crowd talking about the topic nearly two hours later. I think having more than just the traditional hour of conversation at a camp was awesome. It helped us not only dig in a bit deeper into the topic, but also helped in managing things given the larger number of attendees over the usual camp setting where 5-15 session attendees has been the norm. Doing it again, I might outline a three hour mini-event to allow covering a bit more material but still keeping things small and relatively casual.

I certainly benefited by the presence of a few old hands in the IndieWeb community showing up and helping out on the day of, particularly in terms of helping to manage Zoom infrastructure and format. A single person could certainly plan and execute a pop-up session, but I would highly recommend that at least two people show up to co-host on the day of the event, especially if the attendance goes over 10 people. 

The IndieWeb Zoom set up prevents organizers from allowing users to share their screens during a session. (This issue has popped up in a few HWCs lately too.)  This was potentially helpful in the earlier days when it was easier for zoombombers to pop into rooms and disrupt a conversation. There have been enough changes to Zoom with precautions built in that this part of the lock down probably isn’t needed any longer, particularly given how useful screen sharing can be.

Despite having many places to indicate RSVP’s I had very little indication of how many would show up. Something to improve this would be nice in the future, though isn’t necessarily mission critical.

I’ve definitely experienced the organizer decompression time required after putting together something big. I feel like there was less of the traditional post-event stress for this one session which allowed me to focus more of my time and attention after-the-fact on the content of the session and getting some work relating to it done. For me at least, I consider this a big personal win.

Create day/time

Traditional camps set aside day two for people to create something related to the session(s) they attended on day one. We didn’t do that for this session ahead of time, but I desperately wish we had created a better space for doing that somehow. Later on the afternoon of the session, I posted a note encouraging people to write, create, or do something tangible. I wish I had created a specific time for either the following day (or even a week later) for everyone to reconvene and do a short demo session as a follow up.

Simply having a blog section and demo page on the wiki did help encourage people to write, blog, and continue thinking and working on the session topic afterwards.

Concentration

One of the things I’ve appreciated since the session is the level of conversation in the general IndieWeb chat rooms, on people’s blogs, and peppered around Twitter and Mastodon. Often when couched into a larger IndieWebCamp there are so many sessions and conversations, the individual topics can seem to be lost in all the hubbub. Fifteen sessions concentrated on one weekend is incredibly invigorating, but because all of the concentration was on just a single topic, there was a lot more focus and energy spent on just that one thing. I sort of feel like this concentration has helped to carry over in the intervening time because I haven’t been as distracted by the thirty other competing things I’d like to work on with respect to my website since.

There has been a lot of specific article writing about this one session as some camps get in entirety.

Perhaps pop-up sessions on broader topics and problems that haven’t had as much work or which have only one or two small examples may benefit from this sort of concentrated work by several people.

I do wonder what may have happened if we had had a broad conversation about the top level topic for an hour and a half and then broken into smaller groups for 45 minutes to talk about sub-topics?

Conclusions

In the end, the session went far better than I ever expected for the amount of time I invested into it. I definitely encourage others to try to put together similar sessions. They’re simple and easy enough to be organized by one person and they can be carried out by one person, though I’d recommend two.

I encourage others to suggest topics and set up other sessions.

Even if you’re not interested in the organization portion, why not propose a topic? Perhaps someone else with a more organizational bent will come along and help you make it happen?

I’m happy, as always, to help people plan them out and deal with some of the logistics (Zoom, Etherpad, wiki, etc.) should anyone need it.

What session topic(s) will you propose for the next one?

Replied to a tweet by Ali SpittelAli Spittel (Twitter)
Nearly headless WordPress (for ubiquity and ease-of-use) + Micropub (for posting almost anything quickly) + Webmention (for cross site communication) + frosted in IndieWeb goodness = blog evolved.

Sadly, it seems like too many in the thread completely got lost on the “why” portion which was the best part of the question.

Replied to a thread (Twitter)
Lots of potential ways of shaving this yak.

The best “modern” way would be to create a Micropub endpoint and then you can use some of the excellent multi-platform Micropub clients like Quill, Omnibear, Micropublish.net, etc. The benefit of this is that you get way more than just bookmarks.

I don’t know if anyone has set one up to work with Eleventy or Netlify, but there is some prior art for other static site generators. 

The low brow solution may be to take the route I took with TiddlyWiki, but that includes some cutting and pasting, so it may be helpful, but isn’t a completely automatic solution. You’ll note there’s a reply at the bottom of the post that modified my code for use with Roam Research which also includes code for browser extensions as well.

If you want to go crazy with some .php, there’s Parse This code for a plugin for WordPress that might be co-opted. It will parse a variety of pages for microformats, JSON-LD, schema, OGP, etc. to return rich data on a huge variety of websites to give you lots of metadata to create a bookmark, but this may be over and above anything you might want. I use it as a built-in product in the Post Kinds Plugin for WordPress to create a wide variety of post types for reply contexts.

Thoughts on Wikity for WordPress

I spun up a new instance of Wikity today at http://wikity.chrisaldrich.net/ to test it out for potential use as a personal online wiki. My goal was also to test out how it may or may not work with IndieWeb-based WordPress pieces too.

Below are my initial thoughts and problems.

The /home/ page has a lot of errors and warnings. (Never a good sign.)

It took me a few minutes to figure out where the Wik-it! bookmarklet button was hiding. Ideally it would have been in the start card that described how the bookmarklet would work (in addition to its original spot).

The Wikity theme seems to have some issues when using for http vs. https.

  • Less seems to work out of the box with https
  • The main card for entering “Name of Concept or Data” didn’t work at all under https. It only showed the title and wouldn’t save. Switching to http seemed to fix it and show the editor bar.

I’ve tried copying over from Aaron DavisWikity instance, but the cardbox seems to fail on my end.

  • Nothing seemed to work at all when I had my site as https. In fact, it redirected to a URL that seemed like it wanted to run update.php for some bizarre reason.
  • On http I at least get a card saying that the process failed.
    • Not sure what may be causing this.
    • Doesn’t seem to matter how many cards it is.
    • Perhaps it’s the fact that Aaron’s site is https? I notice that his checkbox export functionality duplicates his entire URL including the https:// within the export box which seems to automatically prepend http://
    • Copying to my own wiki seems to vaguely work using http, but failed on https.

Multiple * in the markdown editor functionality within WordPress doesn’t seem to format the way I’d expect.

Sadly, the original Wikity.cc site is down, but the theme still includes a link to it front and center on my website.

The home screen quick new card has some wonky CSS that off centers it.

Toggling full screen editing mode in new cards from the home screen makes them too big and obscures the UI making things unusable.

The primary multi-card home display doesn’t work well with markup the way the individual posts do.

The custom theme seems to be hiding some of the IndieWeb pieces. It may also be hampering the issuance of webmention as I tried sending one to myself and it only showed up as a pingback. It didn’t feel worth the effort to give the system a full IndieWeb test drive beyond this.

Doing this set up as a theme and leveraging posts seems like a very odd choice. From my reading, Mike Caulfield was relatively new to WordPress development when he made this. Even if he was an intermediate developer, he should be proud of his effort, including his attention to some minute bits of UI that others wouldn’t have considered. To make this a more ubiquitous solution, it may have been a better choice to create it as a plugin, do a custom post type for wiki cards and create a separate section of the database for them instead of trying to leverage posts. This way it could have been installed on any pre-existing WordPress install and the user could choose their own favorite theme and still have a wiki built into it. In this incarnation it’s really only meant to be installed on a fresh stand-alone site.

I only used the Classic Editor and didn’t even open up the Gutenberg box of worms in any of my tests.

Summary

The Wikity theme hasn’t been maintained in four years and it looks like it’s going to take quite a bit of work (or a complete refactoring) to make it operate the way I’d want it to. Given the general conceptualization it may make much more sense to try to find a better maintained solution for a wiki.

The overarching idea of what he was trying to accomplish, particularly within the education space and the OER space, was awesome. I would love nothing more than to have wiki-like functionality built into my personal WordPress website, particularly if I could have different presentations for the two sides but still maintain public/private versions of pieces and still have site-wide tagging and search. Having the ability to port data from site to site is a particularly awesome idea.

Is anyone actively still using it? I’d love to hear others’ thoughts about problems/issues they’ve seen. Is it still working for you as expected? Is it worth upgrading the broken bits? Is it worth refactoring into a standalone plugin?

Read The Original Renegade (nytimes.com)
14-year-old Jalaiah Harmon created one of the biggest dances on the internet. But nobody really knows that.

I want the Read Fork Write Merge Web.

Tantek Çelik at OSBridge2011

Good morning web builders and designers! How can we make this a reality within more platforms to help creators like Jalaiah Harmon? 

Why should programmers on platforms like GitHub have all the fun and leave out dancers on Dubsmash, Funimate, ‎Likee, Triller, and TikTok?

Displaying Webmentions on TiddlyWiki

I’ve previously written about setting up receiving Webmention for TiddlyWiki by logging into webmention.io and creating an account to delegate the receipt of the notifications.
 
Naturally, these notifications can be more fun for cross-site conversations if one has the ability to display the webmentions on the posts to which they relate. There are probably a number of ways of doing this, but following the TiddlyWiki advice of keeping Tiddlers as small as possible, it seemed like creating a tiddler for the response and then transcluding or embedding it into the original would be the best course of action.
 
At the recent Gardens and Streams: Wikis, Blogs, and UI—a pop up IndieWebCamp session there was some discussion on internal bi-directional linking in wikis, but I thought it would also be fun to show off bi-directional linking between my wiki and other websites. To do that will require displaying at least some Webmentions.
My wiki currently doesn’t have very many webmentions or incoming links, but after writing about a Bookmarklet for pasting content into TiddlyWiki, I got an email from Anne-Laure Le Cunff that she’d used some of the code to write a bookmarklet for Roam Research. Since her article didn’t send a webmention, I used Telegraph to manually force her article to send my wiki a Webmention so my account would have a record of it for the future for potential exporting or other use.
Now I’d like to display this webmention on that tiddler. Doing it automatically would be great, but I thought, since I don’t expect to receive many on my wiki that I ought to try out a manual set up to see how things might work and how I might display them if they were automated.
Since I had created that bookmarklet, I used it to copy and paste the text from Anne-Laure Le Cunff‘s website into a new tiddler. I then massaged it a bit to format it to look like a response and I’ve transcluded it into the original post under a heading of Responses.
The side benefit of doing this is that the stand alone tiddler that has the link and the context from her post also sits in my wiki as a bookmark of her post as well. As a result, I get a two-for-one deal: I get the bookmark of her post with some context I’m interested in, but my original post can now also display it as a response! Now I can also use that bookmark in other places in my website as well. If only one could do this so easily in other CMSes?!
I’ve yet to hear of another example of this in the wild, so unless I’m missing something, this may be the first displayed Webmention on a TiddlyWiki in the wild.

Next steps

Data formats

TiddlyWiki has lots of ways to display data in Tiddlers, so perhaps one might use various fields in a bookmark tiddler to create the necessary comment display. This could give a more standardized method of displaying them as well. It could be particularly useful if someone was using a microformats parser to import the data of such mentions. If this were the case, then the tiddler that is being commented on could do a filter/search for all tiddlers in the wiki that mention it and transclude the appropriate pieces in a list format with the appropriate mark up as well as links back to the individual tiddlers and/or the links to the sending site.
I’m curious if others have ideas about how to best/easiest implement the display portion of webmentions on a public TiddlyWiki? Since I’m also hosting my entire TiddlyWiki on GitHub pages, there might be other potential considerations if I were to be hosting it statically instead. This may require some experimentation.
I’ve got a few mental models about how one might implement showing Webmentions in TiddlyWiki, but it may take some more thinking to figure out which way may be the best or most efficient.

Automation

I don’t anticipate a lot of incoming webmentions to my wiki at present, but if they become more prevalent, I’ll want to automate the display of these notifications somehow. This will take some thought and coding as well as more knowledge of the internals of TiddlyWiki than I’ve currently got. If someone with the coding chops is interested, I could probably brainstorm a set up fairly quickly.

Microformats

It would also be nice to be able to have full microformats support in TiddlyWiki so that the stand alone “bookmark” mention works properly, but also so that the transcluded version might have the correct mark up. This may rely on the two things to be properly nested to make them work in both contexts.

A short post mortem, video and note links, and challenge from The Garden and the Stream IndieWebCamp Pop-up session

Thank you everyone!

For those who attended yesterday’s The Garden and the Stream IndieWebCamp session, thank you for participating! I honestly only expected 4 or 5 wiki fans to show up, so I was overwhelmed with the crowd that magically appeared from across multiple countries and timezones.

I’ve heard from many–both during the session and privately after–that it was a fantastic and wide-ranging conversation. (I never suspected memory palaces or my favorite 13th century Franciscan tertiary to be topics of discussion.) Several have suggested we host not only a continuation of the session, but that they’d be interested in other pop-up IndieWebCamp sessions. If you’re interested in future follow ups or sessions shoot me a quick email (you can find it on my home page) and I’ll be sure you get an invite. You can also follow future events via events.indieweb.org or find them in the IndieWeb’s weekly newsletter that is emailed out every Friday afternoon.

If you’re interested in hosting or suggesting other topics for future sessions, there’s a stub page on the IndieWeb wiki for doing so.

Our session went on far longer than I ever could have anticipated and I suspect we could have easily gone all day and still not touched on a fraction of all the topics we all outlined. Special thanks to the larger majority of those who were interested enough and had the free time to stay well past the hour mark and on to the end. I will say it’s nice to be able to cover so much ground and so many ideas without the threat of 5 more sessions following you.

Video and Notes

For those who missed it and are interested or those who have inquired, the video link and the notes from the session have been posted to the IndieWeb wiki. 

If you write up any notes or posts about the session, do add a link to them in the IndieWebCamp Pop-Ups page under blog posts/articles or photos. If you can’t log into the wiki (with your own website), feel free to ping me with the URL and I’ll add them for you.

I’ll  try to write up an organizer’s post-mortem with a few ideas about doing future sessions for others to consider. I hope to rewatch the session myself and add to the growing list of notes and thoughts about it.

Creators Challenge

Because this was just a single IndieWebCamp-style discussion session and we hadn’t specifically planned a traditional creator’s day or hack day, I did want to throw out a small challenge to those who either attended or who are interested in participating. 

For most, the IndieWeb is more about creating something than just talking about it. So in that spirit, I’ll challenge everyone to spend a few hours today/tomorrow or sometime this week and create something on your website or wiki related to the session. It can be a summary of ideas, a blog post about wikis (or anything you like really), a small change you’ve always wanted on your site (a CSS improvement, adding bi-directional links to your wiki, Webmention support, etc.), or anything else you might have found interesting from the conversation. The best part is that you can choose what you create on your own site! Make something you’ll use or appreciate. Have fun!

My personal plan for the challenge is to continue some work to my TiddlyWiki to support bi-directional links using TiddlyBlink. I might also take a crack at doing some design and building work to show some incoming webmentions on my TiddlyWiki. (If anyone is interested in test-driving Mike Caulfield’s implementation of Wikity on WordPress in conjunction with Webmention, I could be game for that too!)

Once you’ve made your creation, post a link to your article or notes or make a quick 2-3 minute demo video of the new feature or write up a post about it and add them to the IndieWeb wiki page for Pop-up Session Demos. Again if you can’t log into the wiki with your own website yet, drop me a note and I’ll add them for you or you can ask for help on how to do it in the IndieWeb chat.

Thanks again everyone! I look forward to seeing what you come up with.


cc: Kailyn Nelson (t), Phil Jones (t), Brian Sholis, Jack Baty

In going down rabbit holes relating to wikis for Saturday’s IWC pop up event, I came across Mark Bernstein’s (@eastgate) Storyspace and Tinderbox products from the early 1990’s, and I couldn’t help but thinking that Roam Research (@RoamResearch) is reinventing an old wheel.

It’s all rather similar to TiddlyWiki with TiddlyBlink and TiddlyMaps added as well. While most of these are private note taking tools, I can’t help but wonder if making the data public may actually be the linchpin for adding tremendous value?

IndieWeb: The last (and only) online social site you’ll ever need—your own.

You don’t even need to “join it” because its something you can choose to own for yourself.

I know I’ve thought and probably said variations of this tagline many times in the past, but I’m not sure I’ve ever written it out. And perhaps it could be honed even further? It’s closely related to the idea that the IndieWeb is what you have when the Internet itself is your social media network.

It’s helped me that I have the capability to cobble together my own version. Eventually we’ll have lots more commoditized versions, but there are a few simple sign up and go options out there that don’t require as much tinkering if you’re interested. 

Gardens and Streams: Wikis, Blogs, and UI—a pop up IndieWebCamp session

There has been some sporadic conversation about doing impromptu IndieWebCamp sessions and thus far we’ve yet to organize one. Given our physical distancing and the dearth of bigger IndieWebCamps, I thought I would propose this single topic stand alone camp session to get something rolling. I’d invite others to propose and schedule others in the future.

April 25, 2020
Sat 10:00 – 11:00am (America/Los_Angeles)
Meeting ID: 950-1243-4695
Meeting Password: 021089
This is an online only event. We will provide a Zoom video conference link 30 minutes before the session here and in the IndieWeb chat.

Session Topic

We’ll be discussing and brainstorming ideas related to wikis and the IndieWeb, user interfaces, functionalities, examples of wikis and how they differ from blogs and other social media interfaces, and everyones’ ideas surrounding these. Bring your ideas and let’s discuss.

This is just a single one hour IndieWebCamp-like session (though we have the option to go over a bit since there isn’t a session following us) where we’ll brainstorm and discuss a particular topic. Hopefully the weekend time will be convenient for a wide range of people in Europe and North America who have previously shown interest in the topic. Everyone is welcome to attend.

Resources

To prepare for the session we’ll be using the following:

See also: https://indieweb.org/IndieWebCamps/Attending#Technology
This event is covered by the IndieWeb Code of Conduct. By participating, you’re acknowledging your acceptance of this code.

Questions? Concerns?

Feel free to ask in the IndieWeb chat: https://chat.indieweb.org/indieweb/

RSVP (optional)

If your website supports it, post an indie RSVP. Or, log in to indieweb.org and click “I’m Going”. (And if none of that means anything to you, don’t worry about it; just show up!)

Replied to IndieWeb and TW by Tristan (TiddlyWiki Google Group)
Hey guys,
I read about IndieWeb some time ago and managed to dive into it a little the last days. As far as I can tell TW would be a perfect fit for this and since we are moving to federation it should be quite easy to integrate - at least that is what I thought... I found Hangout #52 when Jeremy mentioned IndieWeb - but unfortunately these 5 seconds is all there is about this matter.
First of I thought adding the "rel-me" to the single page version was all one had to do, but I think that was naive ;)
My next idea was that maybe I could tweak the static page generation template but that again would destroy dynamic syndication...
So my question is (please bare with me if I missed some source) does anybody has something running or some pre-release stuff in this direction?
And if not (most probably) do you have any idea/advice/hint...?
Cheers
Tristan
TiddlyWiki is a very solid looking platform for IndieWeb use (essentially using TW as a personal website). I am having some issues with the js;dr (cURL-ability) issue, but there are some methods for using it to create a static website.

To help others out and provide some examples, I’ve started a stub page for TiddlyWiki on the IndieWeb wiki, which uses MediaWiki. (If you have the rel=”me” stuff set up in the second article about h-card linked below, you should be able to use your TiddlyWiki URL to log into the IndieWeb wiki and document yourself, changes, and ideas.) 
 
I’ve been writing up some of my explorations using TiddlyWiki for IndieWeb on my primary website (with copies on my TiddlyWiki) for those who are interested in taking a look or experimenting for themselves.
For those interested in following my particular progress, you can find all of my related content on my site with this tag: https://boffosocko.com/tag/tiddlywiki/ or follow via RSS at https://boffosocko.com/tag/tiddlywiki/feed/.
 
For those who are interested in delving in further, I might suggest looking at my IndieWeb/TiddlyWiki To Do List for things that could potentially be worth working on next:
  • adding proper h-entry and h-feed microformats markup 
  • adding microformats markup and/or customizing tiddlers as articles, notes, bookmarks, and other types of posts
  • backfeed of comments from Twitter, Flickr, Instagram, GitHub, Mastodon using Brid.gy
  • adding a full implementation of webmentions for core
    • figuring out the js;dr problem for sending webmentions
  • Adding set up to potentially allow posting to TiddlyWiki using Micropub (may run into js;dr problems?)
  • Look into using TiddlyWiki as a Micropub server
  • Adding header information for using TiddlyWiki with Microsub readers (this should be fairly easy)
There is a lot of open source code in a variety of languages that does a lot of this stuff already in addition to lots of examples, so do search the IndieWeb wiki or ask in the IndieWeb chat for help or pointers so that you won’t necessarily need to reinvent the wheel. 

Webmention for TiddlyWiki to enable website to website notifications and communication

What is a Webmention?

Webmention is a relatively recent web standard (or W3C recommendation) that allows notifications when one website mentions a URL on another website. Think of it like @mentions on social platforms, but instead of just working within a particular website from one account to another, they work across websites. Your website can now @mention my website!

For those who are interested in delving deeper into the idea and its implications, I’ve written a primer in the past : Webmentions: Enabling Better Communication on the Internet.

The goal is for other websites to be able to reference content in my TiddlyWiki website, and if those websites support sending the notifications as either webmentions (or the older pingbacks), I’ll get a notification that my content was referenced elsewhere on the web. This is just the beginning of allowing two way communication between websites.

My exploration today is how to quickly get these up and running on a public TiddlyWiki instance. The public part is important because webmentions won’t work for non-public URLs which includes private TiddlyWikis. If you’re wondering how to self-host a TiddlyWiki on your own domain, I’ve recently written up a tutorial for doing just that. At the end of this article, I’ll make a few notes about how one might use webmentions, particularly in a TiddlyWiki ecosystem.

I’ll start out by saying that writing a full JavaScript implementation of the Webmention spec is beyond my capabilities presently, but it could be something that TiddlyWiki core might implement in the future. (Maybe something like Lazymention which is written in node.js might be leveraged?)

Here I’m going to focus on using a third party service to do all of the heavy lifting and code our behalf. It’s relatively common, especially in the static website space, for websites to rely on third party or publisher services to either send or receive Webmentions on their behalf. Given my current knowledge of TiddlyWiki and how its internals work and my knowledge of Webmention services, I thought it would be quickest and easiest to look at using the Webmention.io service to handle receiving these @mentions from other sites on my behalf.

While this article may seem long, I’m hoping it’s detailed enough for those who are code averse to follow the recipe and do this themselves. If you can create a Tiddler, cut and paste some text, and follow the tutorial you won’t need to know anything about code. I did the entire thing myself in about five minutes from start to finish.

Receiving Webmention notifications for your TiddlyWiki

As a quick overview, we’re going to cut and paste a few lines of code into a special tiddler of our TiddlyWiki based website. This will allow us to do two things:

  1. Log into Webmention.io to create an account
  2. Allow other sites that send webmentions to us to find an endpoint on our TiddlyWiki website that accepts them on our behalf.

We’ll then rely on the Webmention.io dashboard to show us our notifications or received webmentions.

Logging into Webmention.io

Webmention.io requires you to log in with your domain name/URL and relies on you being able to authenticate yourself using it. Since I’m not aware of an IndieAuth or equivalent mechanism for using TiddlyWiki to log into Webmention.io, the quickest method to accomplish this is to rely on RelMeAuth using IndieAuth.com to log into Webmention.io using either a Twitter or GitHub account. From a non-technical perspective, we’ll be using either our Twitter or GitHub account and it’s OAuth2 security to log into the service.

First we want to put a link to our public TiddlyWiki website into the website field on either Twitter or GitHub using the profile settings of one of those services. Here’s what mine looks like on GitHub:

Screenshot of my GitHub accounts details featuring a link to my website

Next we want to place a corresponding link to the relevant service into the <head> of our TiddlyWiki site using one (it’s okay to use both) of the the following lines of code:

<link rel="me" href="https://twitter.com/username" />
<link rel="me" href="https://github.com/username" />

where you will replace the username in these links with the respective usernames of your accounts. (I’ll note that you don’t need to do this for both accounts, you can use either Twitter or GitHub.)

To place these lines into the appropriate location on your TiddlyWiki, you’ll want to create a tiddler with a name like $:/plugins/indieweb/core/rawMarkup and the tag $:/tags/RawMarkup.

Then cut and paste one or both of these links as appropriate into this tiddler and save it (and your TiddlyWiki).

You should now be able to go to webmention.io and enter the URL for your TiddlyWiki into the web sign in box and click “sign in”. The service will parse your website’s page, find the link to either Twitter or GitHub and present you with the appropriate sign in button for one or both of those services. Click on the button for your chosen service. IndieAuth.com will then take you to that service to log into it, or, if you’re already logged in, it will take you back to webmention.io to your new account.

Creating your Webmention endpoint

Within webmention.io you can now go to the “settings” page which will give you two more links which are your webmention and pingback endpoints. They will look something like this:

<link rel="webmention" href="https://webmention.io/example.com/webmention" />
<link rel="pingback" href="https://webmention.io/example.com/xmlrpc" />

where example.com will be replaced with the URL for your website.

Now you should cut and paste these two <link>s into the same tiddler you created above: $:/plugins/indieweb/core/rawMarkup. Now save the Tiddler and your TiddlyWiki. (Be sure to leave the previous links in case you need to log back into webmention.io in the future.)

You’re done!

That hopefully wasn’t too hard.

But what does this do? When another website links to your website and sends you a notification, the code on your page will delegate the receipt of the webmention to webmention.io which will verify that the sending site has your URL on a publicly viewable page (this helps to cut down on spam problems that pingbacks used to have). It will then store the notification for you.

If you need a reminder to check them occasionally, maybe you could add a Tiddler with the link to your dashboard to appear on your wiki when you open it next.

Perhaps in a future tutorial I’ll delve into the specifics of actually showing these mentions directly within your TiddlyWiki on the Tiddlers to which they relate.

Optional Webmention badge

Some may notice that I’ve put a small Webmention badge into the footer of my TiddlyWiki site to visually indicate to human readers that the site accepts webmentions. You can optionally do this for fun if you’d like.

Sending Webmentions with TiddlyWiki

Sending Webmentions seems to be an issue as the fragment-based URLs that TiddlyWiki uses as permalinks using JavaScript seem to cause an issue with many receivers. They apparently have problems resolving and parsing pages due to js;dr related issues. I would send webmentions manually, but most receivers I’m aware of have this js;dr problem. I’m not sure if there is an easy way around this issue.

Hyperchats, Wikis, and Open Educational Resources

What’s interesting about supporting Webmention, particularly from a TiddlyWiki perspective, is that if my TiddlyWiki is notified of mentions of it from outside sources, I can quickly cut and paste those responses directly into my Wiki pages in a pseudo-comment section similar to the comments section on this post which could serve as a model. If those mentions of a particular Tiddler are from other TiddlyWikis, I could also choose to drag-and-drop (or import) them into my TiddlyWiki!

If I want to go a step further, I could transclude those imported Tiddlers into the Tiddler that they’re in reference to. Perhaps I might do this under a heading of “@mentions” or perhaps “Comments” and suddenly I’ve got a way of displaying two-way conversations on my own TiddlyWiki site.

As is mentioned in Kicks Condor’s post about Hyperchat Modality, one could potentially use custom theming information (cleverly named “whostyles” in that post) from imported Tiddlers (or themes from other platforms) to identify the web identities of the sites they’re received from. I’ll also mention Kicks’ post about Hypertexting which is related and forms an interesting melange of websites, blogs, wikis, and hypertext of all kinds to form a more interesting web medium.

For the broader information collecting and building or academic communities (and here I can’t help thinking about the Open Educational Resources space that uses Creative Commons licensing to build their teaching resources), one could use these webmentions as a means of notifying sites that their content has been used, changed, or updated (typically those using Creative Commons will credit their source using a link). Then the receiver of the notification could optionally add to or change their version or even just collect the changes. This becomes particularly useful when the Tiddlers can be easily dragged and dropped between TiddyWikis!

As an explicit example, imagine a professor who wanted to build a textbook anthology, but who could do so by dragging and dropping a variety of Tiddlers from one site to another to create a quick textbook or reader for their students. This idea is particularly exciting to me when combined with the idea behind TW5-powered ebooks!

What could you imagine doing with webmention notifications on your TiddlyWiki site?