Welcome to the website for the TiddlyWiki European Meetup 2016.

Think local, act global!

DiscussionLocationAgendaSiteMapLiveStream

Compare the static HTML and interactive renderings of this site

Topics

  • Formalising project roles
  • Future of TiddlySpace
  • Cleaning up open PRs and issues
  • How to make the greatest positive impact on the project?
  • How to use this meetup as a promotional tool for the next one?

Activities

We planned to work together to add server-side twederation to the meetup website, and use the emerging threaded discussion to document our activities:

http://tiddlywiki.com/tiddlywiki-eu-meetup-2016/

Steps:

  1. Add Travis-based continuous integration to https://github.com/Jermolene/tiddlywiki-eu-meetup-2016/
  2. Add client-side Twederation plugins and explore at https://github.com/Jermolene/tiddlywiki-eu-meetup-2016/wiki.html
  3. Implement necessary server-side Twederation components

Trello

We discussed potential agenda items on a public Trello board.

This is the federated discussion from the time of the meetup.

Here's the stream of day 1:

Here's day 2:

The meetup is being held in the community meeting room at the Oxford Centre for Innovation.

New Road,
Oxford,
Oxfordshire
OX1 1BY

Tel 01865 261400

TiddlyWiki is a rich, interactive tool for manipulating complex data with structure that doesn't easily fit into conventional tools like spreadsheets or word-processors.

TiddlyWiki is designed to fit around your brain, helping you deal with the things that won't fit. The fundamental idea is that information is more useful and reusable if we cut it up into the smallest semantically meaningful chunks – tiddlers – and give them titles so that they can be structured with links, tags, lists and macros. Tiddlers use a wiki text notation that concisely represents a wide range of text formatting and hypertext features. TiddlyWiki aims to provide a fluid interface for working with tiddlers, allowing them to be aggregated and composed into longer narratives.

Find out more at http://tiddlywiki.com/

Friday, 15th July 2016

  • Start 10h00
  • End 19h00

Saturday, 16th July 2016

  • Start 10h00
  • End 19h00

Title says it all. But now how to solve it. maybe we shoudl introduce to enable adding tags to posts?

$:/plugins/inmysocks/TWederation/Manage twCards

...get posts from that wiki, send messages to the wiki...

should say

...get posts from that wiki, address messages to the wiki...

There are new versios of the twederation-core and twederation-edition plugins so get the newest version from http://ooktech.com/jed/ExampleWikis/TWederation/.

After you have updated the plugin make sure you go to the $:/ControlPanel and under the twCards tab update which wikis you want to follow, otherwise some features won't work. You shouldn't follow yourself or you can get some errors. Everything still works if you follow yourself, but you will get some errors popping up. I will fix this eventually.

  • Empty bundles should no longer be saved. This means that if you try to fetch something and no non-empty bundles are fetched you may not see any indication that anything happened. I will think about how to show that the request was successful but there isn't any new content.
  • There is a twCard manager in the $:/ControlPanel, it is currently very simple
  • You can now set which wikis you follow in the twCard manager, this means a few things:
    • Only posts from wikis you follow will show up in the wall tab
    • You can select wikis you follow as a group when fetching things
  • There is a delete button next to the tiddler bundle list on the fetch communication tab, clicking on it will delete that bundle without you having to open the tiddler
  • The wall now shows how many comments a post has next to the 'show comments' button
  • The wall now has a button to fetch new posts and comments to all posts on wikis you follow. I need to make it so that they are only comments to posts that are either by people you follow or by you, and only posts by the wiki author, but that will come later
  • You can now select 'Comments on my posts' as something to fetch from other wikis

When you fetch the wall posts it uses the bundle_name field to figure out which bundles to display, if a wiki hasn't updated their plugin yet than it won't have the bundle_name filled in and won't be displayed so you will have to find the bundle under the table of contents or some other way.

I am hoping to make the list of bundles also have a button that will unpack everything in the bundle without you having to open the bundle as well. I am hesitant to do this though because that makes it a lot easier to sneak malicious things into bundles. I will probably make it so that if you unpack a bundle like that the tiddlers are rendered as static html and saved that way. This would mean that you wouldn't be able to have any widgets or active content in a tiddler unpacked that way, just normal text markup. I will probably make it so that the 'Fetch New Wall Posts and Comments' button automatically unpacks received bundles like this.

I should also make an option to check for updated twCards. This will let people update their cards and have the updated version circulate easier. I am considering having every bundle a wiki sends contain the twCard for that wiki as a special part of the bundle. Then if the card has been updated you can unpack the card separately from the other content. I am hoping to expand what twCards are to be something more like a social media profile. This is more important if we get more people and for the future when I am going to create things like topic twCards that you can use to follow posts about specifc topics even if you aren't connected to the wiki with a post on it. The twCard itself would have some description and other content related to explaining or introducing the topic and you would use it to do things like display all the posts you have about that topic and to make posts that will be part of that topic when someone else looks for them.

Another plan I have is to add some simple privacy settings. One simple thing I can do is make it so that your wiki won't allow someone to fetch bundles from it unless they are from a wiki you agree to allow. This won't prevent the person from going to your wiki normally and getting content, but it will prevent the automated options. This will probably work using filters so you can specify which things on your wiki are allowed to be part of bundles fetched by other wikis instead of just letting everything or nothing be pulled.

I am looking into ways to use encryption so that not everything on twederation has to be public. It wouldn't give complete privacy since anyone will be able to see that something is there when you make a post or anything else that is private, but it would be a start. I need to make sure that the key exchanging ideas I have will actually work for what I have in mind.

There are new plugin versions for the twederation-core and twederation-edition plugins! They include some big changes to how a lot of things are made so if you have an existing wiki you may have some problems. After you update the plugins you should modify your twCard so that the type field is empty and add a field called role with the contents twServer. It may be easier to delete all the other twcards you have and pull them from the twederation.tiddlyspot.com again for all your other cards.

After a lot of work Mat has the basic styling we are using worked out and he created a usable interface for threaded discussions! We decided to remove as much as possible from the UI. This means that we removed the Messages and short messages and moved the new blog post interface to above the posts. We also changed the name from 'Wall' to 'Discussions' since that is the goal of what we are working on for this. The plan is to move away from having the collapsible sub-threads turned on by default. I would have the entire tree visible all the time, but it looks like many people disagree with me. So there will be the option to have collapsible threads and you will be able to set if threads are open or closed by default once we get that worked out.

All of this configuration is going to be created at some point in the future. We are still working on build the first application of twederation (this threaded discussion stuff) and there are many other things we would like to make, like a library of community created wikitext tricks that you can pull from a wiki to include in your own. So there is a lot of work to do. You shouldn't expect anything like styling to be changed for a bit until we get a good introduction worked out an have everything set up so someone who knows what tiddlywiki is but hasn't every heard of twederation but wants to try it out can actually do something useful without direct guidance.

For now everything is closed by default. Click on the part below each post that says Open Discussion (x), where the x is the number of comments on that post. Since we have threaded coments now this number isn't the complete number of comments, just the immediate children comments of the post. For now each child will also have the same option to open up further children if they exist. Under each post or comment there is also an Add comment... field, clicking on this opens up the interface for adding a comment. To create a new post click on where it says New Discussion Post at the top of the tiddler and the interface for writing a new post will open up. Click in the same place again will hide the interface. Once you have titled and written your post click on the to save the post or the to close the new post interface. For now closing the interface will not clear the input fields because it is too easy to lose work. I may add some way to clear the fields without saving a new post later.

A another thing to remember is that you can build many things using twederation, this threaded discussion setup is one application of it, not the entirety of twederation.

The trees here in Paris are trying to kill me. I don't like allergies, they make me work slowly.

Because we want them too

Blah

And some other content for a child post

Tags to posts will probably be enough for a lot of it, but we should also add sorting by author or number of comments or by most recent comments.

This will be in the next version of the plugin.

I am trying to come up with a good way to make the interface for selecting what to follow or not and what to display or not. I haven't come up with anything yet. I will make a post about this specifically soon.

As for the encryption, I am hoping to make something like you suggest, when you have an encypted tiddler you can decrypt it but the decrypted version isn't persistent so you would have to copy and paste it to save the unencrypted version. I haven't even started to work on that yet, but any ideas on how the user experience should go are good.

Also if the twCard isn't set up correctly than the author isn't listed. When you post or comment the author name comes from your twcard (since you are on your own wiki). There have been some problems with updating templates so if you have any other problems like that let me or mat know.

Hmm. Now it's back. Maybe something in the plugin update?

Sorry, got it backwards.

it looks good and yes it is always eciting to test the latest edition.

Excellent! I will now start to post real stuff.

My consultant tells me that you need to drag over the image (Avatar Icon - inmysocks.svg) from twederation. Then drag over Jed's new card ( $:/twCard/Typically Weird - http://ooktech.com/jed/TypicallyWeird/) and/or refresh the cards.

The author of initial blog posts seems to have disappeared. So, for instance, I don't know who was original author of this post ("Icons and stuff"). The wizard doesn't require an author name, and I noticed previously that if two authors were both undefined, the name might show up as either one.

This is a test of threaded comments

But my personal site is Typically Weird, the official twederation site is twederation.tiddlyspot.com and speaks as The TWederation. If this bothers you than you may not want to work with me very much.

The reason for the distinction is that at some point in the future it is possible someone else may take over twederation development (there are no plans for this, but I like to make things run smoothly) and then they would take over the twederation.tiddlyspot.com site. So I am not going to put any of my personal things on that site.

To publish/twederate regular tiddlers

E.g if I want to twederate an already existing wiki of mine, what do I need to install?

Your test post is now part of the twederation and will exist forever! :D

joe

Fetching you post I don't see anything

Please, if you want to create more, I would very much like an avatar. I have tried several times, but have had to realise that this it nor for me. (There is a reason I am reusing the basic drawings created years ago for all my knitting patterns.)

It is not particularly slower than my rather big recipe wiki to write here - or translating the language plugin to name some examples. (2009 model netbook ;-) BUT if I try to write a new post my wiki automatically refresh itself after a few letters.

Since I didn't say it in the post, now there is a new plugin version, so you should update the plugins.

I like the idea. Are all these fields needed to turn a tiddler into a post, or just "role" ?

Hello! Your test worked! :D

That doesn't work yet. You will be able to get only posts that are newer than the last time you got new posts. I guess I will work on that now instead of playing with making new icons.

But it obviously doesn't work. I will try to fix that now because it is causing other problems as well.

Writing a comment is fast enough, but opening comments, that is taking a war to do. I think with the list growing I will have to be seriously curious to open comments to read. Admittedly my computer is neither new or fast.

There shouldn't be anything going on there. It may have to do with a combination of the complexity of the tiddler and the javascript engine. Do you have the same delay if you are writing a comment on another post or it is only in the new post thing at the top?

The delay was most noticeable when using the FF clone "Pale Moon". I sometimes forget that it is not exactly the same as FF. The delay now, as I type (in FF), is noticeable, but tolerable. I notice that as I type, the same letters are being echoed above – not just below the current tiddler. It appears to be entering into the prior comment field (Idea#1 Tool button to twederate current tiddler) It wants to comment as part of two posts at once???

Wait, the official voice of the Twederation is from "TypicallyWeird" ?

When I fetch new information from google the tiddlers saved used to have the same fields as twCards and this was causing some trouble. So if a twCard has 'New Card' in the title it is supposed to be a temporary tiddler that I used and deleted that I missed. So just delete them and it shouldn't be a problem.

Well, I guess as long as being followed is helpful I can deal with it. :-D

Let's put some content under this very long title.

Let's put some content under this very long title. Jed is near me. Very concentrated on adding new feature.

That would be nice as you have all done a terrific job. Also have a safe journey home all of you!

I, and anyone who want's to help out, will add comments here to build up a FAQ list. (Hm,"Add comment" is currently not set up for this. Or, rather, I want to create tiddlers as normal and tag them with e.g FAQ and have them appear here... I don't want to have to go here to add stuff to the list! I can imagine a similar need for a "monologue" (as opposed to a discussion) i.e where the user adds a tiddler at a time on some topic.)

Just a test (this is content)

Because grandchildren are like children, but grand

The biggest visible changes for twederation is the addition of threaded discussions. This has been added using a simple method here each post or comment has a parent field and the type field is no longer used to identify blog posts and comments. Now all of them have a field role set to twDiscussionPost and the structure is determined using the parent field. Each post can only have one parent and parents don't have any direct knowledge of what children they have. This allows the comment structure we have, and it can be extended in the future.

We are working on making sure that the tools all work with the updates, but expect lots of bugs in places where I missed something. Also Mat is working on improving the styling. More on this later.

Delete the tiddler $:/SitetwCard. Then the tiddler TWederation should show the setup wizard instead of the discussions interface. Go through the set-up wizard and when you get to the step asking if you want to be listed say No, then finish the wizard. That should updated your twCard correctly. If it doesn't than I made a mistake somewhere so let me know if anyone tries this and it doesn't work.

But here I am, where I can be weird in a typical fashion, just like everyone else. Also I have an avatar and you don't. The TWederation should also have an avatar, and soon Mat should have one. We need to figure out how to make it work correctly for everyone.

So instead of making more for twederation I have spent the past few hours playing on the internet and making new svg icons. This made me want to add avatar images to the discussions here so I made myself one and one for Mat. I should make a twederated wiki for myself that isn't the main wiki here for personal stuff. Anyway, if you want to see what I have been spending my time on instead of improving twederation the icons are here. You will have to go to the twederation.tiddlyspot.com wiki instead of seeing them in this post because I don't have any way to add attachments to posts. That may come in the future, but for now we will just have to visit another wiki instead of importing something.

Now all comments are open by default and you can collapse specific threads if you wish. There is still a lot to do in terms of allowing sorting and the like. I am working on adding avatars for people. I am planning on having them appear next to the author name for posts and maybe other places.

I have noticed that things slow down when I am typing a new post on my desktop, which means that something is very wrong and we need to fix it because I have a pretty powerful computer. I guess I need to dig into the templates used and see what is going on.

We should make a toolbar tool button to twederate/publish single tiddlers. I (Mat) imagine I can make this:

It would create a copy and delete original. In the process it would change/add stuff:

  • title constructed as...
    • current title -
    • look up twCard with wiki_url as current and copy author.
      • If no such info, use current tiddlers creator - what are consequences of this?
    • modified or, if no such, created
  • Other fields
    • author: <same as for author in title>
    • "timestamp fields": deconstruct modified or created
    • post_title: copy original tiddler title
    • role: twDiscussionPost ()
    • sort: is this field needed? What is it?
    • wiki_url: http://tweddle.tiddlyspot.com
  • copy all other fields from original; (not least tags)

Opening e.g First test in new layout - Mat von TWaddle (2016072323h4836)
shows $:/plugins/inmysocks/TWederation/Templates/BlogPostCommentTemplate.

Can this not instead reuse one of the other templates? It seems redundant to repeat so much similar code.

Opening e.g First test in new layout - Mat von TWaddle (2016072323h4836)
shows $:/plugins/inmysocks/TWederation/Templates/BlogPostCommentTemplate.

Can this not instead reuse one of the other templates? It seems redundant to repeat so much similar code.

Title says it all. But now how to solve it. maybe we shoudl introduce to enable adding tags to posts?

$:/plugins/inmysocks/TWederation/Manage twCards

...get posts from that wiki, send messages to the wiki...

should say

...get posts from that wiki, address messages to the wiki...

If I recall, Jeremy suggested using the caption field to display as tiddler title... which I guess means replacing the current post_title field.

Are there any downsides with this? What about tiddlers that pre-twederation use caption fields and that are published

This is Jeremy testing that I can save a blog post for TWederation.

So does this have the correct field format stuff thingy?

This should be a comment on my other post.

To save space, I deleted the group photo (sorry guys – I have to connect via FTP). But then the photo keeps wanting to come back as "new". We need a way to mark incoming items as "read" (maybe using a dictionary datatype tiddler?).

And some content for the root post

Yay!

There is a noticeable delay when typing in the Post title and content fields (the one I'm typing now). This delay does not occur when typing a regular tiddler, so assume that it is something to do with the new presentation mechanism. I think it must be looping. I have to drop to about 20 WPM to type here. This is true even if I set it to "5" posts. I can type about regular speed in a new tiddler, so it is not just the size of the TW. This is agonizing!!

Or I just like pretentious names and want to distinguish between my personal stuff and news about twederation. So I have my own site now over here, you can get the card for it by fetching the cards from twederation.tiddlyspot.com under the Fetch Communication tab. So now things posted as twederation new should be by The TWderation and things that are from me are just inmysocks.

And this way I can speak as The TWederation, which amuses me.

The meetup was a lot of fun and we got a lot of work done. I ended up getting home to Paris a bit late so I missed the last train and had to ride a Velib (the city bike share thing) home. But if you have to ride somewhere at 2am, riding along the Seine at 2am on a Saturday is not a bad choice. I always find the impromptu music/dance parties along the river amusing.

I don't have the edition set up with all the new plugins yet, but it should be done very soon. Once that is finished I will post something new letting everyone know and hopefully explaining the changes a bit more.

Hello from the Interplanetary filesystem!

I'm editing and saving my Twederation wiki file, and then I'm running ipfs add <filename> and ipfs name publish <returned hash>. I hope this demonstrates that Twederation can be used in conjunction with IPFS, in a limited way.

There are several cards with "New" in their titles. Since they will only be new once, not sure why/how they are labeled that way.

I saw a post at Twederation and updated to latest plugins. I did go go to control panel and marked follow to all the twCards I have but my own. Since then I seem to be trying to fetch from everyone EXCEPT twederation. And I would expect to receive at least the blog post telling us to update. Is it supposed to be so or am I fetching from the other twcards because they are no upgraded yet?

Does this work?

That would be nice as you have all done a terrific job. Also have a safe journey home all of you!

Greeting and Salutations to you all from the depths of TiddlyWiki Classic.

I put up a new version of the plugin for fetching tiddlers $:/plugins/inmysocks/FetchTiddlers, it has fixes for a few things. The most important one is probably that having : in the contents of a field no longer causes problems when unbundling a tiddler. This comes up a lot with the twCards since they have urls is fields. Also Mat uses <:-) as his username so we want to make sure we can support the person who coined the term TWederation.

When you fetch a bundle there is also a tiddler created that has some meta-data about the bundle. For now the titles are the bundle names prefixed with $:/TiddlerBundleData/', I may change this in the future. Probably by adding a time stamp or something. Also I should have an option to not save this data.

Because the first one works! I am excited!

And I can pull the posts from here to the TWederation at http://ooktech.com/jed/ExampleWikis/TWederation/

And content

If you fetch bundles and give them custom names they won't be listed correctly under the 'Fetch Communication' tab because I changed how the names are created. I will fix that later today. Also the wall tab just displays all blog posts that you have collected in chronological order. I plan to make it so you can make collections of people to display, or make things that only display a certain topic or thread.

If anyone wants to make something like that that would be nice.

It is only empty bundles that aren't saved. Bundles that only have duplicate tiddlers are still saved. I need to figure out how to handle that because there are times when saving bundles like that is desirable.

For some reason I can't open the comments for the post Progress!! on the wall. Possibly because it has !! in the title.

I need to put an option that will show you posts arranged by newest comments as well as newest posts.

At last! We can delete bundles! I was scrolling more than a page to get to the bottom! Thank you!

Is there a way that all wall posts could be folded/hidden to start? It's getting hard to find one's place unless it's at the very top.

If there is an older "thread", is there a way to "unfollow" it, so we don't have to navigate past it?

The problem with encryption (at least with the by-tiddler plugin if that's what you plan to use) is that it is incredibly easy to forget and save your TW after having opened an encrypted tiddler. So it ends up saved in plain text. Maybe when the encrypted text gets viewed, it could be opened in a tiddler that is marked as "don't save". If someone wants to make encrypted material publicly available, they will have to copy it into a separate message/blog – it won't happen by accident.

See the comment in the post about how custom names aren't displayed correctly. So if you have a custom name in nothing will be listed under bundles until I get that fixed. The distinctions between messages, short messages and posts are completely arbirtary and only have to do with how they are displayed and labeled in the wiki. Short messages have some special handling but that was mostly to see if I could make it work. Until now I as focused on making the basic communication between wikis work so I didn't make anything fancy.

The point of not having a client-server architecture is that you control who you communicate with and what you see. You can make your own sub-net by not getting the twCards from everyone. The purpose of how TWederation is structured is so you can do exactly that. And the purpose of having the central twederation twCard packaged as part of the bundle is to give users a starting point for discovering other people who they want to connect to if they don't have some network already know about. It is also here to act as a central listing that collects things from as many other wikis as possible so people don't have to constantly fetch from everyone else.

The "bundle name" field was pre-filled on mine. Apparently that blocked me from seeing new bundles. Is it a filter, or a tool for applying bundle names?

At this point, it appears that there are messages, short messages, and blog posts. Not sure I understand the distinctions yet.

I know it's not a client server architecture, but polling a hundred other tweds is going to get problematic. The easy work-around would be if there was one pseudo-server that did a nightly refresh. Then others that just want to check in from time to time could pull from that central "server" twed. Another work-around would be to allow individuals to join "sub-nets". The sub-net would just be a group of tweds that you chose to poll from regularly. Your sub-net would overlap with others sub-nets, so the entire network would get populated.

I have some other thoughts – maybe I'll do a blog.

Looking good! Good luck!

Thank you for your work on this! I am not sure how to test more now. I have not seen any error messages.

Why is the author "-"? If it's all, where are the other posts (including mine) ?

Greetings from the first TWEM here in Oxford. We are having fun ... -m

It isn't supposed to be saving any bundles that have a bundle_size of zero. I am not sure why it is. I will look into it now and try to fix it.

Hopefully that means we can soon not have to see bundles with zero content.

No problem getting your comment either. Gratulations Jed, the first steps must be the most difficult ones.

But they are the most frustrating. From the outside it barely looks like I have done anything despite it being a very large step forward in terms of usability and taking me a long time to figure out. Now I can reliably use this to talk to people which should help a lot with my motivation.

I think that we are almost to the point where we could convince more people to join. For now things are not quite easy enough to set up to get a lot of testers. But we are very close and I am excited.

Comment without a title, just to test it. I'm having fun!

Because I needed to test it.

Hello! I am commenting from here now!

Changing author, the text from the prior message stays on screen.

This is me commenting on my own post. The template is about to change but I want to see if there are any other errors I need to fix right now.

Using filter [prefix[$:/Messages]] that is.

I haven't touched how anything on the user side of things works in a while, so I am not surprised that with the new changes it is broken. The 'What to fetch' select menu just sets what filter is used and I should probably put a way for users to easily change what is displayed by the menu and add their own custom options. What exists now is simply what popped into my head as I was making the original interface.

If you have some time to invest in this think about what sort of things you would like to be able to do in terms of communication style and what types of things you would like to be able to fetch from other wikis, or perhaps prepackage so other people can more easily get them from you. There are still a few more things I want to try out on the back-end before I start focusing on the UI and application side so any help with ideas and implementation will be very good to have.

I just "sent" you a short message. I don't see any short messages to you, though I see the one(s) you posted.

Until then we must be good "housekeepers" and delete them, when we go through the bundles we just received. I like that it is so easy to see what we already have unpacked and what is new in a bundle. Some disciplin cleaning out will be necessary not to completely fill up our TW.

Lovely idea to show the numbers of tiddlers not unpacked yet. That works well. While wondering about to save/not to save duplicate titles, I think it would help not to have to open the bundle in edit mode to delete it. A delete button in view mode would at least make it faster.

I wasn't having a particularly good day, but being able to properly get a comment from you made everything better! :D

I am adding a bundle_length field to bundles that will list the number of tiddlers in the bundle, I am going to combine this with some other things so that when bundles are listed they will have the number of tiddlers they contain listed and also the number of tiddlers that you haven't unpacked yet. Then I may make a status popup on the side of the wiki that shows the number of unopened bundles you have or something like that.

I am going to make the default behavior not saving empty bundles and possibly not saving bundles that just contain duplicate tiddlers. The only problem with the not saving duplicate tiddlers part is that it would be based only on the title. I don't think it will be a big deal but I need to think about that a bit since if you are working collaboratively with someone you may want to overwrite a local tiddler with one you receive from another wiki.

I also realized that I should be able to use web workers, just not in the way that I was thinking about. This wouldn't necessarily make fetching any faster but it will hopefully keep your wiki from being unresponsive while the fetching is happening.

The 'not a client-server architecture' part means that if one wiki gets compromised there is no way for them to force anyone else in the network to pull from them. If you don't want to get updates from a wiki you just remove their twCard from your wiki. In the future when I get to working more on the front-end side of things I will make tools for managing which cards you have and how you pull new things. Like preset options for only pulling new posts that mention you, or comments on posts that you have commented on and things like that. The distributed architecture means that you can set up your own network that is completely separate from me and the only way that there will be communication between the two networks is if both sides actively agree upon it.

Adding, updating and removing twCards is one of the main purposes of having a central site like twederation.tiddlyspot.com, but the only thing that makes that site special is how people treat it. There is absolutely nothing preventing anyone else from starting up their own site that can fulfill the exact same purpose. In the future I am hoping that during the set-up process there will be a list of publically usable listing sites for different topics or locations or whatever anyone would want to create a group for, and you can request to be added to the list for a group, or just pull updates from a group and not be connected to any network.

All of that comes from the social structure that will hopefully be set up around twederation, as it is that can happen with what has already been made.

Although there's no way to "force" someone to pull from you, if there are 100 tweds, most people are not going to want to inspect every bit of the content that is being relayed. That is why someone might want a system to quickly purge bad content once it has been identified.

Finally knowing you had a blogpost and fetching only from your site, I got your blogpost. First I tried fetching from all. I was offered all Jeds stuff once again, but nothing from you. So dedication might be the way to go for now.

a person or thing that causes great trouble or suffering.

It works well now. I think you nailed it before others had the time to update plugins. Now you know you are truly FOLLOWED around the clock ;-).

It turns out there was a typo in my code that kept an updated wiki from properly sending any bundles instead of just not sending empty bundles. Once you update the plugins again it should work.

I got totally excited to see it arriving. No error about trying to fetch things from my own site. You must have been doing some wizardry.

Hopefully you can get this comment correctly. There are currently some problems in how comments are fetched because it sends off the requests all at once and if one reply is received when another is being processed it can be missed. I should have a fix for it soon but until then fetching is a bit unreliable.

It may also give you an error saying that it can not fetch things from your own site. I need to fix that too.

I am still hoping to find the one with a pot of gold under it.

Hello world!!

Hope you have a nice time - I am a little envious but thankful, that you livestream.

Everything that was in this post is now wrong, now just go to ooktech.com/jed/ExampleWikis/TWederation and follow the instructions there.

This isn't really organized in any coherent way, I am just ranting a bit.

If I can get web workers to actually do something useful than we can load comments and things from other wikis without making a page unresponsive while the content is being fetched. Unfortunately because of the same origin policy that browsers use I can for some reason load a page in an iframe and then get the page content from the iframe, but I can't load a page using an xmlhttprequest and get its content that way. Web workers give you multi-threaded behaviour in a browser, this means that they can load things in the background. Except the only way they can load things seems to be via xmlhttprequests. So a web worker can be used to load content from the same server that a page is being served on and that is about it. I am trying to come up with a way to have loading a page via xmlhttprequest give some security flaw that isn't there when loading a page in an iframe since in both instances the page doing the loading has to manipulate the loaded content to do anything, and you can access whatever you want from the iframe.

I may be able to use some of this anyway by first trying to get a worker to load a page and if the xmlhttprequest fails fall back to using an iframe. It would hurt the worst case but if there are wikis that are on servers with the proper CORS stuff than it could greatly improve the performance in the average case.

So now the back end of things works smoother for me. This includes the way that data is fetched from google and how new twcards are added to the site here. Before I just made a twCard from the data submitted to google, but it was incomplete because it only had the url, name and author for the wiki. Now I have it set to use the information sent to google to fetch the twCard directly from the wiki itself. This way we don't need to send any more data to google and we can get the full card. It also means that you don't get listed unless you have a wiki that can respond and send a card.

So, if you don't have a card listed on twederation.tiddlyspot.com it is because either your card wasn't listed correctly on google or your wiki wasn't responding or you have added it after around 10pm Paris time on July 10th and I haven't added it yet. If your card isn't listed and you have a wiki with the plugins than try going through the setup wizard again, it will make sure that your data is sent correctly and that your wiki is configured correctly. I think that some of the wikis don't have the $:/SitetwCard tiddler set correctly, which will keep you from getting listed on twederation.tiddlyspot.com.

There have also been some important updates to how bundles are handled, so make sure you update your plugins. Both the $:/plugins/inmysocks/TWederation-edition and $:/plugins/inmysocks/TWederation-core plugins need to be up to date.

Since I have changed how twCards are handled on this site you may want to delete all the cards (except for your twCard) on your wiki and pull them from here again. Do this by selecting 'TWederation' from select wiki and 'All Wiki twCards' from what to fetch in the Fetch Communication tab.

After you do this your wiki will only try to contact wikis that can actually respond. This should help.

Where are all the testers though? I really think that more testers are needed and maybe tests are better done in smaller groups. As we get comfortable using twederation I am sure more ideas will arise, can we do this and would that also be possible.

Twederation is here right now on a computer as near you as you want it to be. I love it because of exactly that and the fact that even an old woman...(can your old mother use this?), an end user would be able to use it.

There have been some bugs. Too many things need to be tested I think.

I have a feeling they are not working as they are supposed to. When selecting Fetch Messages nothing happens, Type to Fetch Short Messages nothing either. Using the Selection Menus that is. But using filter [tag[@Birthe]] I got a message. Or using filter [prefix[Message]] I guess we get all Messages.

I have had no success fetching any Short Messages yet. I would like to know some more of Short Messages and the idea behind.

These are some public notes for my introduction to the TWederation work and I have been doing.

I am going to make http://twederation.tiddlyspot.com and use that as the center for news and work things. That way people can pull the newest updates from there.

I am going to make http://twederation-dev.tiddlyspot.com and use that as the center for news and work things. That way people can pull the newest updates from there.

General:

  • There is no server. This means that many ideas based on server-client models of communication don't apply.
    • Communication isn't done by sending information to some destination. It is done by pulling information from some origin. This takes some more up-front configuration but it will work once everything is set.

How to use it:

  • By fetching bundles!
  • The general usage model:
    1. Write a post or message and label it as yours and address it appropriately
    2. Use your connections to retrieve anything addressed to you from people and wikis you follow.
  • Make your twCards (identity, wiki, etc.)
  • Use your cards to label your posts
  • Use other cards to search for and retrieve posts, messages etc. for other people
  • This is going to be automated later, I am working on it.

Code Stuff:

  • All communication is done using postMessage
  • A hidden iframe is created and the target wiki
    • There are two new tiddler messages
      • tm-close-iframe - this message is given the url of an open iframe and it closes the iframe and removes the entry from the $tw.browserMessaging.iframeInfoMap object.
      • tm-request-bundle - this loads an iframe with the given url and uses postMessage to send the bundle request
    • There are two messages added to the window event listener, BUNDLE_REQUEST and DELIVER_BUNDLE
      • When a bundle request is received part of the request contains the name of the packing function to use. These functions are stored in the $tw.wiki.bundleFunction object. After being bundled together the wiki uses postMessage to send the bundle to the requesting wiki. Part of that message contains the name of the unpacking function. The unpacking functions are held in the $tw.wiki.bundleHandler object.
      • You can add packing and handling functions without modifying the plugin by adding a javascript tiddler that adds new functions. You look at $:/plugins/inmysocks/FetchTiddlers/bundleOptions.js for examples.

Because I need to remember what they are

There has been some progress on making this all work correctly. If you have the newer versions of the plugins (at least 0.0.37 for twederation-core and at least 0.0.41 for twederation-edition) than fetching comments and things from multiple wikis should work the way it was supposed to before. There are still a lot of usability problems. I think that once I get a good naming convention for the bundles and do some simple things like make it so that empty bundles aren't saved it will help. I had empty bundles before so that it didn't just look like nothing happened if there was nothing new to fetch, but I think that having 5 empty bundles and 1 with content is worse than just having 1 (or zeros) bundle(s) returned.

I should also find some way to combine bundles from multiple sources when you fetch comments, so you just get a single comments bundle that has all the content from all the wikis instead of having one bundle from each wiki. There may be problems with this if you receive a response from one wiki and you are looking at the tiddler when another response comes in, but I don't think it will be a huge problem. We shall see. I need to implement it before we can even worry about it I guess.

I think we are at a point where suggestions about things like that can be useful. If you want to change anything on the wikitext side of things feel free to just try it out and show me, I am going to be working mainly on the javascript side until that works smoothly so don't expect any wonderful ui improvements from me.

Some demo text

It would only take one compromised twed member to fill the entire network with SPAM – it would be a link spammers dream come true. The spam issue is important because upstream IP providers will take it very seriously, and might even suspend accounts.

The main fix I can see for this, is some way to "send" (yes, it's not client-server) a network message that would cause twed members to collectively delete (or make non-visible) TW cards and messages from offending twed sites. Call it de-bundling or un-bundling. Each twed could configure how it wants to deal with these warnings (since the warning system itself could be mis-used). In particular, a twed might be configured to trust and act on overhead messages that come from certain trusted twed members. This would allow the system to quickly purge nefarious messages as soon as they are perceived.

This suggests that a twed member should be able to mark twed cards, to indicate which tweds he/she is willing to accept overhead deletion (and probably others) messages from.

This is a post for testing twederation

YAY! I am posting here!! Yay!!

Cat videos are the scourge of humanity.

I need to do something about the very probable title conflicts that will arise from different users posting and from message titles. There will probably be many messages with the title 'Hi' or something similar. So we can't just have the message title be the tiddler title. I think that for short messages we could have some other storage mechanism, like a data tiddler that holds all of the messages and some utility that lets you sort and view the messages.

This may mean we should have multiple types of messages, short messages that would be stored like that and then longer email-like messages that would get their own tiddlers. We still have the naming problem. I think that appending a username and a time stamp at the end of all messages would prevent almost all conflicts but maybe someone can come up with a better idea.

This is the link to the TWederation github repo: https://github.com/inmysocks/TW5-TWederation

The new upstart tiddler is very nice and following the steps given, it was filled correct I just had to press forward. What happens now I am not sure. I fetched all wiki TWcards from twederation and saw two marked undefined. I tried to comment to one of the blog posts I was able to fetch, wrote message to someone on the list, and now this post. I can find no more to do for now, but at least if someone find any of this they can find something to fetch. I have had none of the error messages Mark S. wrote about. FUN FUN FUN.

Actually, there aren't enough. I could only think of two, and one of them was the song complaining that there weren't enough songs.

If things work the way they should than you should only get new things when fetching bundles, but I may have broken something so you don't ever get anything when fetching bundles. We shall see...

If not I do not need an avatar.

But trying to write a post my wiki refreshes or take focus all sorts of places. I have never visited tiddlyspot/backup as often as now. This is also the explanation if something seems odd or missing. One moment it is here, the other.....noone knows.

I haven't tracked them down yet though. For me it keeps losing focus and when I press backspace the browser interprets that as clicking the back button. This is a very annoying problem and I don't have any explanation yet.

Thank you. I kind of figured that out but thought it was kind of cheating. Well, cheating it is then! I could just as well cheat myself to an avatar also and edit my twCard,

The twCards are updated to show the avatars. After updating you will see empty placeholders for images we do not get.

The conversation in the comments of this post makes me very happy. Both because it shows that you can have a conversation using twederation but also because people have figured out how to make and add their own avatars without me saying anything. This made my day :D. I will find some way to automate the exchange of avatars and other icons sometime soon.

This is intended as a continuously updated tiddler with "quick notes". It's an eclectic mix of notes to inmysocks and myself.

31 January

  • When looking at the just un-bundled imported list, I miss the dates (last modified or, if not modified, created). I keep re-importing the same tiddlers so I don't know if it is anything new.
    • Actually, it would be good to know the last point in time that I imported using the same importing criteria:
      The title listing of the imported tiddlers should be sorted by date (newest on top) and I'd like a visual mark, perhaps a line marking out where in time the last import from "that url, with that filter" was used, according to data available in my own wiki.
      BTW, I note that neither fields created nor modified exist in imported tiddlers, making the time sorting tricky.

29 January - evening

  • In replying to an imported post I note the need for having the imported tiddler copied or something like that.

29 January

  • Remote Commenting
  • twed tags- We need a generic term for those special tags (inmysocks, twMat <:-)...)
    • "twed tag" (for TWederation tag") perhaps?
    • @tags [i.e "at-tags"]...
  • twed tag features - but there is more than just the need for a term. As you'll see in some of the ideas below, we could perhaps use those tags as tools for needed functionality. Possibly, such tags can, in view mode and edit mode have drop down menus with twed tools.
  • Quick bundle import 📦 - There ought to be a quick import feature readily accessible all the time. Perhaps a package button to trigger import, using a predefined set of TWs and filters.
  • The more IRL a discussion is, the more need for a quick way to import from the other participant. E.g now that I' writing to inmysocks, I'd like to be able to import eventual new stuff for me to see if there's any reply to previous message. Maybe the twed tag can be used for this
  • Listening to @Jeremys elaboration on that it should be static html that is transferred. In that case, one should also be able to import an - again static - representation of the edit view so that one can understand how the tiddler is built.
  • Aggregation TWs
  • twCards - the Create twCard button doesn't give any feedback that it succeeded.
  • Added (click to read) as favicon to here. Feel free to use for TWederation if you wish, to make browser tab identifiable and not use default tiddlsypot favicon.
  • Needed - there is a frustration in not knowing if I've twed tagged all "linked to" tiddlers. I'e if I twed tag tiddler A with inmysocks... then there may be links in A to other tiddlers that you'll also need. We need some alert for this.
    • maybe the twed tag pill can signal that there are linked to tiddlers that are not twed tagged with that twed tag?
    • and perhaps getting a list of which links it concerns... or, nicer; eg. hover the twed tag and those links in the tiddler highlight.
    • possibly also a global list of such "missing twed links"

28 January

  • Favicon - There should probably be an easily recognizable favicon for the TWederation site., but possibly a general icon to symbolize the TWederation
    • ⇄ ⋮ ⊶ ⊷ ⧉

I am trying to make it so when you request a bundle you only get new things. This is turning out to be a bigger problem than I expected due to browser caching interfering with getting an accurate estimate of the previous time there was nothing new on a wiki. I have implemented some more changes that may work now even with that. Unfortunately you may have to delete some system tiddlers. Delete the tiddlers that start with $:/FetchHistory/. This code will make a button that will remove them.

When things work correctly than you should only receive bundles when there is new content. Unfortunately for testing this is identical behaviour to something being broken. This is code for a button that will reset record of previous times in case you can't fetch new content. So click the button and try again! But hopefully the newest plugin version should fix the problem. That is twederation-core version 0.0.49 and twederation-edition version 0.0.55. Here is the code

<$button>Clear Fetch Record<$list filter='[prefix[$:/FetchHistory/]]'><$action-deletetiddler tiddler=<<currentTiddler>>/></$list></$button>

Lets see what new thing broke!!

Birthe went and figured out how to make herself an avatar. So I got to be the only one with an avatar for a few hours. :D Now we will have to make something to package the avatars with the twCards and I need to add a way for people to get updated twCards, since I had to manually import Birthe's new card and her avatar image.

Also I apparently broke things last night, but they should be working again now. So make sure you update both the core and edition plugins!

f

g

l

t