User:Tantek.com
Tantek Çelik
Pronouns: he/him
Tantek is a co-founder of IndieWebCamp and works on open web standards at Mozilla.
Chat Nickname: tantek
Elsewhere: https://twitter.com/t
Contact: https://tantek.com/contact
IndieWeb talks
- Take Back Your Web (32 min video) talk at Beyond Tellerand Düsseldorf 2019
- Why We Need The IndieWeb (13 min video) talk at Personal Democracy Forum 2014.
- The Once and Future IndieWeb (42 min video) talk at Web Directions Code 2014 in Melbourne, Australia.
my indie web setup
- https://tantek.com is my primary home where I post:
- notes and auto-POSSE them (auto-abbreviated if necessary) to:
- Twitter - https://twitter.com/t which then automatically cross-posts to:
- Facebook - default private to me, I optionally manually change to friends-only
- Twitter - https://twitter.com/t which then automatically cross-posts to:
- articles and auto-POSSE their name/title and permalink to:
- Twitter - https://twitter.com/t which then auto-cross-posts to:
- replies+RSVPs and auto-POSSE them (abbreviated if necessary) to:
- likes, then POSSEd per silo target, e.g. automatically to Twitter via Bridgy Publish, but manually to Facebook, Instagram, other silos.
- jams
- photos & videos manually PESOSed from Foursquare (posted via Swarm) and then auto-POSSEd to Facebook, Flickr, Twitter with Bridgy, and manual POSSE to Instagram
- notes and auto-POSSE them (auto-abbreviated if necessary) to:
All auto-POSSEing also automatically adds syndication links to my posts. For manual POSSE copies, I have to edit my posts to add syndication links.
authoring practices
In short, I write plain text for notes and similar posts (reply, photo, video posts), HTML for articles and similar posts (event, issue posts).
- See Falcon#Note and following sections for details
silo posting
In general I treat silos as building blocks for my own indie web architecture. They're just another [LEGO] brick in the wall as it were.
However there are a few content types that I still post to silos, and am using a PESETAS architecture with two destinations as a stopgap / copying mechanism.
- Twitter - https://twitter.com/t_silos - secondary PESETAS destination
- Shazam - occasional "saving" of songs I'm hearing / listening to
- Last.fm - still connected on one laptop and occasionally Scrobbling
- Suunto - auto-syncs running/yoga/bicyling data from my Suunto watch, and then auto-cross-posts it to Strava and TrainingPeaks.
Silos I'm using without a copy destination (in alphabetical order):
Foursquare
- Foursquare - I treat my Foursquare checkins as semi-private to friends on that silo, and thus I don't have a public PESETAS setup for it. I'm hoping to skip the PESETAS/PESOS step with checkins and implement native checkins directly on my site, and POSSE them out to Foursquare (as Ben Werdmuller does with idno).
GitHub
- GitHub - I use GitHub for both some of my own open source projects, and to contribute to others. I have a redirect url of https://tantek.com/github setup for now just so I can use URLs with a domain I control. This solution has restrictions/limitations, yet is still a stepping stone:
- I am dependent on github's URL design for now - whatever they put after /tantek, I have to support after /github on my site.
- I can delay design of my own non-vendor/silo-specific path (e.g. /source instead of /github) until the point in time when I feel like doing so.
- I should eventually host my own source/issues/gists etc for all the usual reasons why
- At that point, I can figure out the URL design of a generic source path (e.g. /source instead of /github), and implement the redirects from /github to /source (or whatever).
PBWorks
- PBWorks - I have a wiki (AKA PBWiki) hosted there via redirect URL of https://tantek.com/w/ - and again, hope to skip the PESETAS/PESOS step and directly switch to wiki pages on my own site.
previous silos
Past silos, which I either no longer post to, or have not really bothered with in a while:
- Tumblr - https://tantek.tumblr.com - primary PESETAS destination, has a feed, and I've customized it with microformats2 h-entry and rel-author support. As of 2013-182 I'm PESETASing from:
- ... no silo regularly
- My hope was that by aggregating my silo posting into Tumblr with a microformats2 supporting theme, that as I add support for content types like photos, video, metrics, jams to my own site, it will be easier to port over past content to my site for historical reference.
- Nike+ - (nearly) daily fitness activity/metrics, e.g. walking/running. Stopped using in 2016-12 when their iOS app would repeatedly just crash on launch. Caused me to switch to Strava which I've been using instead as of 2017-01.
my indie web projects
Stuff I've written to advance the Indie Web (and runs live on tantek.com) some of which you may be able to re-use hopefully for your own IndieWeb site!
- CASSIS - http://cassisproject.com/ (@cassisjs) open source Javascript/PHP hybrid framework that runs natively in both. Where I write and keep common functionality for everything else.
- Falcon - https://tantek.com/w/Falcon (@falcon) personal site publishing
- Whistle - https://tantek.com/w/Whistle - personal URL shortener
need help with
Things I'm either stuck on, have been unable to make progress on, or appear to be taking me too long to get to that I'd welcome help with.
- everything #indieweb_community - if you see something in the "indieweb community" list below you think you could help with, go ahead and let me know on IRC (!tell tantek ...) that you're working on it and go for it - no need to ask, just give me a heads-up and start (maybe add it to your own User page too per wikifying). Thanks!
more use-cases
These are a few roughly ordered longterm use-cases I want to solve, beyond what network-bound silo solutions offer, which may/often translate into specific working on items, but may also be large/challenging enough to generate a number of building block working on items.
- Taking photos with time/location information (optional manual location) captured/created offline, optional later posting to own site syndicating elsewhere (COOLPOSSE)
- Adding notes to such photos, at the time of taking, or later, both offline.
- Taking notes with time/location information (optional manual location) same COOLPOSSE.
- Tracking running with a series of times/locations (optional manual location) same COOLPOSSE
- Tracking venue arrival/departure semi-automatically, with optional manual checkin offline, like COOLPOSSE
- Falcon: More use-cases
working on
Rough order I'm trying to follow when working on things:
- Things to wiki
- Things to blog
- Things to design
- Things to code
to enable others, myself
Particular things I'm working on for IndieWebCamp and my own site.
personal site functionality
Personal indieweb site functionality (adding to tantek.com) using my own personal content publishing software Falcon
High level goals:
- Replace all usage of Twitter with using my own website instead
- This means implementing all Twitter#Features that I commonly use, in a simplified form, faster, and better, in Falcon
- Falcon: Working On
- Replace all usage of Facebook with using my own website instead. Key use-cases:
- Then similarly replace all other #silo_posting.
indieweb community
Community things I'm working on - which I welcome help and collaboration on, up to and including taking charge, though I'd like to at least contribute
- updated POSSE diagram in an Atomic Age design style, perhaps based on
could even use different colored nucleons to represent different post types.
- blog post about 2015-commitments
- goal: document how to use your indieweb site instead of your Tumblr
- fully document all explicit Tumblr post types (from their UI) and then:
- indie web equivalent posts - pages specific to those post types
- "How to Markup" for each such post type
- "How to POSSE" for each, listing Tumblr with instructions how to explicitly use correct Tumblr post type
- document How to Import from Tumblr into specific (implied?) indieweb post types with markup fidelity per "How to Markup" instructions for each.
- How to backfeed interactions on your Tumblr POSSE copies back to your indie posts (including Bridgy option / github issue)
- fully document all explicit Tumblr post types (from their UI) and then:
- continue documenting vouch
- document seamless reply-interface (UI) needs and plan: indie-action webaction markup, indie-config, [1], web component, x-tag etc. from IndieWebCamp UK 2014
- fix location wiki page definition, add h-entry p-location h-geo p-latitude (p-longitude) example markup
- iterate on IndieMark, at least detail specification of Level 3 (every axis), since more people are now pointing at IndieMark[2]
- 2013/UK/Indiemark - complete updating IndieMark accordingly
- create geo-tagging wiki article with at least a stub and link to location
- document IndieWebCamp 2014 Cambridge demos similar to 2014/UK/Demos
- and then blog IndieWebCamp 2014 Cambridge Hack Day demos similar to IndieWebCampUK 2014 Hack Day demos
- process h-card#Issues - blocking several indieweb community member personal use-cases
- read Open Source, Teamin' Up, The Stack, and Looking Forward (including comments) and:
- contribute/respond from an IndieWeb perspective accordingly to Upcoming, and Upcoming github wiki use-cases
- expand invitation based on brainstorm in IRC re: POSSEing, backfeeding, proxying etc.
- incorporate / bi-directional merge appropriately with microformats h-event invitations brainstorm
- Document using dated permalinks (from IRC) for both archive.org search enabling (recovering 404d links), and longevity, perhaps on permalink design.
- Add slides, video, etc. links of PdF IndieWeb talk to https://pdf14.hackpad.com/Save-the-Internet-Keynotes-Zb58Z1QFrJq
- Add anything else relevant IndieWeb related to https://pdf14.hackpad.com/
- IndieWebCamp 2014 NYC - blogging about it afterwards.
- CASSIS - update all NewBase60 code to be cc0 (it's good enough, and Will Norris needs it for his Go port!)
- projects - continue significant update per projects#About_This_Page
- update based on projects from micropub#IndieWeb_Examples because micropub enabled projects are much more powerful
- reply vs comments - split reply permalink vs. comments display under a post.
- link-preview - something standard for silos to implement (in addition to all their variant site-specific approaches) when providing link previews of my permalinks
- code-of-conduct - fairly done, worth reviewing/iterating periodically. Keeping here in this list until indiewebcamp shows consistent diverse participation.
- review and simplify comments presentation display to remove conditionals that overlap/wrap in odd places (collected 2014-049)
- add some test examples for ellipsizing here: https://github.com/tantek/cassis/issues/14 (collected 2014-049)
- social web map
And these too which need to get integrated by priority order into Falcon Working On / More use-cases sections:
- citation UI - to provide simple copy/paste UI for citing posts (articles (done), notes, other) from my site.
- webactions - to achieve and exceed UX parity with Twitter's UI on notes on my own site
- wiki - I'd like to implement static-file based wiki-like editing/versioning functionality on the static pages on my site, perhaps with explicit "save" edits posted to my updates as d - diff, edit, change posts.
- 2017/site-refresh
- ... adding more here
- to-do - help with other IndieWeb community to-do items
community projects
Other community projects that I contribute to to help enable the Indie Web and everyone owning their own data.
- https://microformats.org/ - data formats for the rest of us
- https://microformats.org/wiki/to-do#Tantek - my to do list there
previously
I used to contribute to these too:
- http://activitystrea.ms/ - formats for sharing "activities", largely defunct except for a low value mailing list (google group). See ActivityStreams on this wiki for latest thinking.
- http://federatedsocialweb.net/ - community/forum for discussing how to federate among indie web (and other) sites. Started a slow death after W3C took it over. Now just a noisy W3C mailing list populated mostly by armchair architects.
skills
I am comfortable with the following indieweb creator skills:
- coding (HTML, microformats, CSS, some javascript/PHP)
- information architecture (taxonomy, hierarchy)
- URL design
- interaction design
I am working on learning better:
- copywriting
- typography
- visual design
want to work especially with
- visual designers - especially those who have an indieweb presence and want to discuss coding and information architecture improvements.
- UX designers - can never work with too many UX folks.
- good writers/bloggers
- type nerds. who doesn't?
figured out
Things I feel like I've figured out pretty well, have shipped on my own site, can depend on, and am available to help explain to others.
- POSSE, in particular
completed
Things from the above lists that I actually completed!
- blog post about 2014-in-summary
- 2010-199-tantek-fsws-talk - given at Federated Social Web Summit 2010
scratchpads
FAQ
Why did you choose a single letter Twitter
From: https://twitter.com/t/status/128033
/me renames self to "T" to increase max chars per msg - thus setting off single char name landgrab.
inbox
Use: tinbox << problem and possible approaches to add it here:
I'm collecting requests from IRC here when they're something I can't handle quickly and immediately. Roughly FIFO, feel free to re-arrange if you have reasons to suggest a specific prioritization
- document existing Webmention sender/receiver interop beyond Webmention specification as minimal W3C Notes in (new if needed) https://tantek.com/github repos. Minimal preamble/intro/abstract, conformance classes (publishers, receivers), what publishers should do (list 3 impls that do, link to more), what receivers should do (list 3 impls that do, link to more). minimize overlap between Notes.
- WebStream — h-feed, h-entry as currently interoperably supported
- WebComment - document how implementations that receive and detect a webmention reply:
- use which properties for what (e.g. author name & photo, post name/contents).
- commonalities in displaying comments
- AKA WebComments or "Web Comments".
- WebLike - document how implementations that receive and detect a webmention like:
- use which properties for what (e.g. author name & photo, post name/contents)
- commonalities in displaying likes
- AKA WebLikes or "Web Likes".
- WebRepost - document how implementations that receive and detect a webmention repost:
- use which properties for what (e.g. author name & photo, post name/contents)
- commonalities in displaying reposts
- AKA WebReposts or "Web Reposts".
- WebRSVP - document how implementations that receive and detect a webmention RSVP:
- use which properties for what (e.g. author name & photo, post name/contents)
- commonalities in displaying RSVPs
- AKA WebRSVPs or "Web RSVPs".
- post-type-discovery
- document how existing consuming implementations parse for mf2
- document and cite existing consuming implementations, link to more on indieweb wiki.
- cite list of IndieWeb Examples of each post type in the spec
- update to reference the above Web* specs
- links from Response Type Discovery algorithm to WebComment, WebLike, WebRepost, WebRSVP accordingly
- once a reply/like/repost/RSVP is detected, what to do
- blog about, describe, how to do notification first design and text only design
- Use as example: like#notification_first_design, text only design (autolinked text design), inline hypertext design
- cognitive reload 2014/reposts#Repost_presentation, brainstorm markup expected to achieve that presentation, add said markup explicitly to repost#Brainstorming, link to that from 2014/reposts#Repost_presentation as a For Follow-up See Repost Brainstorming
- brain dump two #indieweb ideas (location at vs about, checkin how to markup) to the wiki from https://chat.indieweb.org/2016-10-24#t1477349895913000 and https://chat.indieweb.org/2016-10-25#t1477425283318000 then blog about both!
- Document the corollary for http://microformats.org/wiki/h-feed Parser Compat with additional class names per https://github.com/kevinmarks/mf2py/commit/9c7ba2c051292b5dbce2a6e9378fcec46e20a94d Blogger and WordPress defaults inside hfeed
- https://indieweb.org/authorship#Questions
- consider updating various projects indieweb support/compat sections to IndieWeb Friendly section with subsections similar to Falcon#IndieWeb_Friendly, e.g. GNU_social#IndieWeb_Compatibility (how should we archive past services Spreadly and App.net's former support?)
- write-up and expand note#How_to
- reflect on what it means to "standardize federation"
- e.g. in the context of https://gitlab.com/gitlab-org/gitlab-ce/issues/4013#note_27767988 (see also this issue)
- figure out what additional documentation on federation and other pages would help implementers
- reflect on what building blocks could use improved tutorials for implementing, e.g. like this tutorial
- could any use better diagrams like this?
- Update tantek/contact add to homescreen script for iOS10 from https://github.com/cubiq/add-to-homescreen
- update RSVPs display markup/linking to link directly to indie RSVPs (maybe with the going checkmark / interested asterisk etc.?)
- write a speaker's agreement addendum: If site information about the event, talks, speakers requires JS to view, the speaker is granted a CC-by license to republish any/all event site information so that it does not require JS to view.
- keep processing https://www.youtube.com/watch?v=ufBLI6bB9sg for adding to: Loqi#IndieWeb_x_Loqi_Dominate_the_Day
- write an mf2 to indieweb version of this article, showing which minimal, typical, maximal properties to use for which effects in indieweb posts and interactions: https://moz.com/blog/meta-data-templates-123
- figure out how to implement delegation on his site so he can have others post for / as him, things like the indie event for HWC SF.
- move https://github.com/tantek/post-type-discovery into the indieweb organization, especially to enable moving ptd.spec.indieweb.org onto a new server with auto-deploy stuff set up and aaronpk needs admin access to the repo to do that
- Broken: try https://indieweb.org/Instagram#Single_Photo_Bookmarklet and either deprecate & document errors, or attempt to quickly fix it
- Atom feed: drop likes, because even fallback content apparently causes poor UX in feed consumers like some micro.blog clients. Write up how this is a good example of Atom / AS1 failure to be extensible, and this unsuitable for evolving social web interactions
- document how lightning talks work at IndieWebCamps, both intros at start, and demos session at the end
- ^^^ maybe not use the label "lightning" - might be more confusing than useful? -- sknebel
- consider helping out with maintenance of mf2 plugin, look at https://github.com/pubsubhubbub/wordpress-pubsubhubbub/blob/c17cf4269ab738ac3ca33fad76a587e425caba56/pubsubhubbub.php#L80 as an example of how mf2 plugin could filter out / rewrite the errant presence of "hfeed" in post permalink markup
- Write-up a microformats#FAQ for IndieWeb specific questions about microformats that were asked on a recent day in chat starting here https://chat.indieweb.org/2019-06-08#t1560029007948800
- "Hi all, is there a page I can point to that represents a reference of all IndieWeb markup?" [ @rubenverborgh] June 8, 2019
- watch 2019/building-blocks video and type up q&a
- simplify Twitter#POSSE_Notes_to_Twitter by:
1. removing use of permashortcitation (and only using permashortlinks) and
2. extract inline use of CASSIS functions in POSSE explanations, and instead provide them as specific techniques after the full prose explanations. - re-evaluate permashortcitation examples and update that page accordingly to reflect actual practices as of today
- update CASSIS auto_link function YT embedding to use privacy enhanced mode YouTube#How_to_embed_with_privacy-enhanced_mode
- Write an update to On Silos vs an Open Social Web [#indieweb]
- incorporate into webmention/reply-context storage brainstorming, and on Falcon#Working_On: https://indieweb.org/Webmention-brainstorming#storage - IWC 2016
- simplify (restructure if necessary) wikify to be more approachable and usable (at a minimum not stress out aaronpk)
- Create a UnitConverter single page site as an expansion of the ASIN.cc site, with a service worker for offline support, and expanded to handle common temperature, distance, weight/mass, cooking units (perhaps using code from the UnitConverter HyperCard stack)
- file an issue on Bridgy Fed requesting @-@ recognition in the plain text of the content of posts and inclusion of explicit @-mention entities, specifically the "to" key in an AS2 activity as documented here: https://www.w3.org/TR/activitystreams-vocabulary/#microsyntaxes (presuming that Mastodon recognizes that key), and delivery to the inboxes of @-mentioned individuals in addition to any reply-to or follower inboxes
- Add details of my experience migrating from xoxo.zone/@t to Bridgy Fed, which parts looked like they work (all?) and which parts appear to not be working now (still have followings/followers at the old account, old profile doesn't redirect to new profile - my personal site, etc.) #330 Add account migration (Move) support
- blog about the "house party protocol" and how it helped inspire Vouch
- Working On: recognize and cluster multiple reactions that are in-reply-to the same post! e.g. https://tantek.com/2023/279/
- consider documenting at-mention (aliases @ mention, @-mention, at mention) as its own page separate from person mention and leaving a sub-section summary behind there.
- consider documenting @-@ as its own page as well, a particular form of at-mention, with aliases at at, at-at
- Falcon: code up a UI to switch off display of syndication links by silo, perhaps start with a static array of "dead-to-me-silos" domains in falcon.php
- ^ perhaps a tri-state per syndication destination: on, use Internet Archive copy, off
- implement syndicating original content to IndieNews, perhaps by detecting hashtag # IndieNews in a post and then autogenerating an embedded syndication link to IndieNews accordingly
- ^ https://news.indieweb.org/how-to-submit-a-post
- Respond to https://subconscious.substack.com/p/credible-exit pointing out that "credible exit" is meaningless jargon use of "credible", that GitHub is a bad example because you can't export all the stuff *about* a repo (issues etc.), and similarly Mastodon is not because no post portability, but the general methodology of a solution is good
- add sparkline SVG generation support to CASSIS so it can be run on the server and return an SVG to the browser instead of the clientside JS that folks are sending to their site viewers in embed tags
- design a scrolling reader UI & backend that inserts the urgent things you need to do (from your to-do list) at the top of the list of scrolling items, and has a done ✅ button next to them which logs that item as a private task completion post.
- ^ Related: generate timely items at the top of your reader feed just below urgent to-do items, according to user settings, items like "update & make my recently synced exercise post(s) including on Strava" or "check-in to your current location because you've been here a few min and it's away from your prev venue"
- ^ More generated items: per user settings, suggest continuing streaks of desired habits like "you're at 2500 steps for today, go for a walk to achieve your goal of 10k daily steps and extend your 3 day streak!" which could go auto-hide if/when you go walk 1k+ steps and then upon achieving your daily goal turns into a congrats item. Similar encouragements for writing, posting, and other 100Days#Brainstorming items
- post about implications of https://www.theguardian.com/technology/2024/jan/08/ai-tools-chatgpt-copyrighted-material-openai in particular, don't even think about using ChatGPT to contribute material to the IndieWeb wiki, Wikipedia, W3C or other standards specifications, because you don't have the ability to know you can contribute it to the public domain / CC0 / other CLAs.
- post about naming user features vs plumbing support, some notes in naming, and example of: re: IndieAuth being jargony and not a good name for a user-facing service, this is literally one of the reasons why in UX/UI discussions I still use "Web sign-in" for the name of the user feature, not IndieAuth. https://chat.indieweb.org/dev/2024-01-22#t1705884673885800
- "btw, aaronpk, re: IndieAuth being jargony and not a good name for a user-facing service, this is literally one of the reasons why in UX/UI discussions I still use "Web sign-in" for the name of the user feature, not IndieAuth." @[tantek] January 22, 2024
- figure out how to check http://micro.blog @t mentions and make sure I can do so on mobile browsers, then start going through them and replying if necessary
- LCC version of Dewmoji. Consider using Dewey to LCC conversion https://library.kilgore.edu/lc_dewey.htm or Dewey Decimal Classification to Library of Congress Classification and existing Dewmoji as a starting point.
- side project idea: go through "popular" "simple" npm packages and write-up one-file code solution alternatives that work by copypasta instead without all the ceremony/overhead/vulns of yet-another-npm dependency
- do an analysis of the home pages that Longnow has linked to from their Session/Episode posts over the years to see how many such home pages are dead (e.g. Clay's home page link on https://longnow.org/seminars/02005/nov/14/making-digital-durable-what-time-does-to-categories/)
- once again double-check code in Falcon that generates the HTML for note posts to make sure it is setting an empty p-name property rather than duplicating the content as plain text. per report from aaronpk that homepage first note post still has non-empty p-name, and bug report unfortunately blaming Bridgy Fed: #1068 indieweb? to activitypub, content duplicated in 'name' element
- re-evaluate how much of the plain text content of a note for Falcon to provide in the title element on note permalinks, perhaps limited to 500 chars or whatever is the default Mastodon note post character limit, continuing to drop leading photo (and other) URLs at the start of the content, perhaps even eliding URLs in the middle of the content to just the domain no scheme and … for the path & fragment.
- implement /embed versions of posts as same as h-entry markup except with blockquote h-cite instead and rel=canonical to u-url and minimal inline styling to match post permalink styling, add link rel=embed for discovery.
- On my replies, maybe allowlist reply-context embed iframe generation with existing algorithmic reply-context in its title attr.
- Maybe manually add curated comments to my posts as iframes in a comments list, with reply threads (including my own replies to replies) nested one-deep in a nested list. Need automark syntax for iframe this url with title (similar to img with alt maybe?)
See Also
- https://twitter.com/BeardOps/status/1091456027768250368
- "I'm a 10x developer. That is it takes me 10x the amount of time to write the same amount of code as other people." @BeardOps February 1, 2019
- Reminder for customizing the stylesheet of indieweb.org's default theme with additional style rules: MediaWiki:Vector.css