{
"type": "entry",
"published": "2020-02-11T14:38:00+0300",
"url": "https://fireburn.ru/posts/1581431880",
"category": [
"IndieWebCampOnline2020"
],
"photo": [
"https://fireburn.ru/media/8e/71/72/ba/b16dfc16f651819ba5d0ee71041cd1e3c3ba2f1dd380865a274013b4.jpg"
],
"content": {
"text": "This may or may not be me before #IndieWebCampOnline2020",
"html": "<p>This may or may not be me before #IndieWebCampOnline2020</p>"
},
"author": {
"type": "card",
"name": "Vika",
"url": "https://fireburn.ru/",
"photo": "https://fireburn.ru/media/f1/5a/fb/9b/081efafb97b4ad59f5025cf2fd0678b8f3e20e4c292489107d52be09.png"
},
"post-type": "photo",
"_id": "8819345",
"_source": "1371",
"_is_read": true
}
{
"type": "entry",
"published": "2020-02-11T08:01:00Z",
"url": "https://www.jvt.me/mf2/2020/02/xjtsq/",
"category": [
"feed",
"microformats"
],
"in-reply-to": [
"https://twitter.com/sil/status/1225457807132155905"
],
"content": {
"text": "My blogroll https://www.jvt.me/blogroll/\nMy RSS feed https://www.jvt.me/feed.xml or https://www.jvt.me/posts/feed.xml if you just want my articles\nAnd https://www.jvt.me/ for my #Microformats feed and https://www.jvt.me/kind/articles/ for blog",
"html": "<p>My blogroll <a href=\"https://www.jvt.me/blogroll/\">https://www.jvt.me/blogroll/</a>\nMy RSS feed <a href=\"https://www.jvt.me/feed.xml\">https://www.jvt.me/feed.xml</a> or <a href=\"https://www.jvt.me/posts/feed.xml\">https://www.jvt.me/posts/feed.xml</a> if you just want my articles\nAnd <a href=\"https://www.jvt.me/\">https://www.jvt.me/</a> for my <a href=\"https://www.jvt.me/tags/microformats/\">#Microformats</a> feed and <a href=\"https://www.jvt.me/kind/articles/\">https://www.jvt.me/kind/articles/</a> for blog</p>"
},
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "reply",
"_id": "8815978",
"_source": "2169",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": "Manton Reece",
"url": "https://www.manton.org/",
"photo": "https://micro.blog/manton/avatar.jpg"
},
"url": "https://www.manton.org/2020/02/10/announcing-the-indiewebcamp.html",
"name": "Announcing the IndieWebCamp Austin speakers",
"content": {
"html": "<p>I\u2019m happy to announce that we have 3 short keynotes planned for the first morning of IndieWebCamp Austin! After coffee and breakfast tacos, we\u2019ll get the day started with an introduction to the schedule and our featured speakers.</p>\n\n<p><strong>Natalie Hester</strong> \u2014\u00a0Natalie keeps a gratitude journal on Micro.blog where you can see snapshots of her life as a full-time partner to Ryan, new mom to Aria, and academic fundraiser. She will be talking about her unlikely journey away from Facebook and what it\u2019s like being a new mom on social media.</p>\n\n<p><strong>Pace Smith</strong> \u2014 Pace is a queer trans intersectional feminist Sufi bridger. She codes, podcasts, blogs, makes indie games, writes limericks, and tries to make the world a better place. She will be talking about the role of the bridger and building trust on the web.</p>\n\n<p><strong>Aaron Parecki</strong> \u2014\u00a0Aaron is an IndieWeb co-founder and security architect at Okta. He is the editor of several IndieWeb specifications at the W3C. He will be talking about using an Indie Reader to take control of how he follows and responds to people online.</p>\n\n<p>Before we break for lunch, we\u2019ll plan the afternoon sessions. If you\u2019ve never attended an IndieWebCamp before, the rest of the sessions are organized by attendees. This helps adapt the conference to the topics that attendees are interested in.</p>\n\n<p>I hope you\u2019ll join us! <a href=\"https://2020.indieweb.org/austin\">Register here</a> for $10.</p>",
"text": "I\u2019m happy to announce that we have 3 short keynotes planned for the first morning of IndieWebCamp Austin! After coffee and breakfast tacos, we\u2019ll get the day started with an introduction to the schedule and our featured speakers.\n\nNatalie Hester \u2014\u00a0Natalie keeps a gratitude journal on Micro.blog where you can see snapshots of her life as a full-time partner to Ryan, new mom to Aria, and academic fundraiser. She will be talking about her unlikely journey away from Facebook and what it\u2019s like being a new mom on social media.\n\nPace Smith \u2014 Pace is a queer trans intersectional feminist Sufi bridger. She codes, podcasts, blogs, makes indie games, writes limericks, and tries to make the world a better place. She will be talking about the role of the bridger and building trust on the web.\n\nAaron Parecki \u2014\u00a0Aaron is an IndieWeb co-founder and security architect at Okta. He is the editor of several IndieWeb specifications at the W3C. He will be talking about using an Indie Reader to take control of how he follows and responds to people online.\n\nBefore we break for lunch, we\u2019ll plan the afternoon sessions. If you\u2019ve never attended an IndieWebCamp before, the rest of the sessions are organized by attendees. This helps adapt the conference to the topics that attendees are interested in.\n\nI hope you\u2019ll join us! Register here for $10."
},
"published": "2020-02-10T15:27:58-06:00",
"category": [
"Essays"
],
"post-type": "article",
"_id": "8801583",
"_source": "12",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": null,
"url": "https://monday.micro.blog/",
"photo": null
},
"url": "https://monday.micro.blog/2020/01/20/amanda-rush-aka.html",
"published": "2020-01-20T15:48:00-06:00",
"content": {
"html": "<p>This week\u2019s guest, <a href=\"https://micro.blog/arush\">Amanda Rush</a> is a web developer and accessibility practitioner who loves to cook and read. She also loves the IndieWeb movement and Micro.blog. Of <a href=\"https://www.arush.io/\">her own blog</a>, she says:</p>\n\n<blockquote>\n<p>I want to own all my content and have control over it, and to that end I am constantly updating this site so that it contains as much of my data as possible from any silo I may have an account on. I decided to start doing this when I finally got tired of all the curated timeline nonsense and the social media design element that encourages us to be horrible to each other online for clicks.</p>\n</blockquote>\n\n<p>We talk about what drew her to IndieWeb practices (spoiler alert: webmentions), and what she recommends to folks without tech experience who want to try out the Indieweb (another spoiler alert: Micro.blog).</p>\n\n<p><a href=\"https://monday.micro.blog/2020/01/20/micro-monday-transcript.html\">Transcript</a></p>\n\n<p></p>",
"text": "This week\u2019s guest, Amanda Rush is a web developer and accessibility practitioner who loves to cook and read. She also loves the IndieWeb movement and Micro.blog. Of her own blog, she says:\n\n\nI want to own all my content and have control over it, and to that end I am constantly updating this site so that it contains as much of my data as possible from any silo I may have an account on. I decided to start doing this when I finally got tired of all the curated timeline nonsense and the social media design element that encourages us to be horrible to each other online for clicks.\n\n\nWe talk about what drew her to IndieWeb practices (spoiler alert: webmentions), and what she recommends to folks without tech experience who want to try out the Indieweb (another spoiler alert: Micro.blog).\n\nTranscript"
},
"name": "78: Amanda Rush, aka @arush",
"audio": [
"https://monday.micro.blog/uploads/2020/ddb525fe69.mp3"
],
"post-type": "audio",
"_id": "8799766",
"_source": "250",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": null,
"url": "https://monday.micro.blog/",
"photo": null
},
"url": "https://monday.micro.blog/2019/06/24/episode-greg-mcverry.html",
"published": "2019-06-24T06:48:40-06:00",
"content": {
"html": "<p>This week\u2019s guest is <a href=\"https://micro.blog/jgmac1106\">Greg McVerry</a>, associate professor of education at Southern Connecticut State University and a leader in the IndieWeb movement. He will be attending the <a href=\"https://2019.indieweb.org/summit\">IndieWeb Summit</a>, coming up on June 29 & 30, 2019, in Portland, Oregon. We talk about what happens at the event and why it is a great place to come and learn, whether you are a beginner or an expert, whether you attend in person or remotely.</p>\n\n<p>We also take a bit of a detour as Greg talks about the concept and history of the <a href=\"https://indieweb.org/commonplace_book\">commonplace book</a>. He quips that the instructions John Locke wrote in 1706 for maintaining one\u2019s commonplace book could be considered the original blogging documentation. Many IndieWeb bloggers use their site as a digital commonplace book.</p>\n\n<p>Greg believes in the power of people coming together to make the internet better by working on their individual blogs:</p>\n\n<blockquote>\n<p>When you organize around people who share your values and goals, by focusing on yourself you are also helping the larger group become better itself. So: Find A Passion. Get A Blog.</p>\n</blockquote>\n\n<p></p>",
"text": "This week\u2019s guest is Greg McVerry, associate professor of education at Southern Connecticut State University and a leader in the IndieWeb movement. He will be attending the IndieWeb Summit, coming up on June 29 & 30, 2019, in Portland, Oregon. We talk about what happens at the event and why it is a great place to come and learn, whether you are a beginner or an expert, whether you attend in person or remotely.\n\nWe also take a bit of a detour as Greg talks about the concept and history of the commonplace book. He quips that the instructions John Locke wrote in 1706 for maintaining one\u2019s commonplace book could be considered the original blogging documentation. Many IndieWeb bloggers use their site as a digital commonplace book.\n\nGreg believes in the power of people coming together to make the internet better by working on their individual blogs:\n\n\nWhen you organize around people who share your values and goals, by focusing on yourself you are also helping the larger group become better itself. So: Find A Passion. Get A Blog."
},
"name": "Episode 65: Greg McVerry, aka @jgmac1106",
"audio": [
"https://monday.micro.blog/uploads/2019/a9f8b2ac37.mp3"
],
"post-type": "audio",
"_id": "8799779",
"_source": "250",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": null,
"url": "https://monday.micro.blog/",
"photo": null
},
"url": "https://monday.micro.blog/2019/02/25/episode-jonathan-lacour.html",
"published": "2019-02-25T12:41:19-06:00",
"content": {
"html": "<p>It\u2019s the 50th episode and Jonathan LaCour is our guest! \ud83d\udc83\ud83c\udf89\ud83c\udf7e</p>\n\n<p>You know him best as <a href=\"https://micro.blog/cleverdevil\">@cleverdevil</a>, the creator of utilities that enhance your microblog such as <a href=\"https://github.com/cleverdevil/microgram\">microgram</a> (an Instagram-like photo grid page), and <a href=\"https://github.com/cleverdevil/micromemories\">micromemories</a> (a Facebook-like \u201cOn This Day\u201d feature). We talk about the Indieweb and <a href=\"https://github.com/cleverdevil/ditchbook\">ditching Facebook with ditchbook</a>. We even mention dogs and karaoke.</p>\n\n<p></p>",
"text": "It\u2019s the 50th episode and Jonathan LaCour is our guest! \ud83d\udc83\ud83c\udf89\ud83c\udf7e\n\nYou know him best as @cleverdevil, the creator of utilities that enhance your microblog such as microgram (an Instagram-like photo grid page), and micromemories (a Facebook-like \u201cOn This Day\u201d feature). We talk about the Indieweb and ditching Facebook with ditchbook. We even mention dogs and karaoke."
},
"name": "Episode 50: Jonathan LaCour, aka @cleverdevil",
"audio": [
"https://monday.micro.blog/uploads/2019/46946475e1.mp3"
],
"post-type": "audio",
"_id": "8799794",
"_source": "250",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": null,
"url": "https://monday.micro.blog/",
"photo": null
},
"url": "https://monday.micro.blog/2018/09/09/145123.html",
"published": "2018-09-09T08:51:23-06:00",
"content": {
"html": "<p>I get a second chance to record in the very cool Airstream podcast studio at <a href=\"https://2018.xoxofest.com/\">XOXO conference</a>, because I ran into <a href=\"https://micro.blog/aaronpk\">Aaron Parecki</a>. He is an organizer at <a href=\"https://streampdx.com/\">StreamPDX</a>, so he has the keys to the Airstream! Aaron is also one of the founders of the IndieWeb movement, so we talk about IndieWeb, Micro.blog, and the importance of having your own domain to control your content and your internet presence.</p>\n\n<p><a href=\"https://indieweb.org/\">IndieWebCamp</a></p>\n\n<p><a href=\"https://indiewebcat.com/\">IndieWebCat</a></p>\n\n<p><br /></p>",
"text": "I get a second chance to record in the very cool Airstream podcast studio at XOXO conference, because I ran into Aaron Parecki. He is an organizer at StreamPDX, so he has the keys to the Airstream! Aaron is also one of the founders of the IndieWeb movement, so we talk about IndieWeb, Micro.blog, and the importance of having your own domain to control your content and your internet presence.\n\nIndieWebCamp\n\nIndieWebCat"
},
"name": "Micro Monday Extra: Late Night In The Airstream with @aaronpk at XOXO",
"audio": [
"http://monday.micro.blog/uploads/2018/55a79861bd.mp3"
],
"post-type": "audio",
"_id": "8799818",
"_source": "250",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": null,
"url": "https://monday.micro.blog/",
"photo": null
},
"url": "https://monday.micro.blog/2018/07/16/eddiehinkle.html",
"published": "2018-07-16T13:04:14-06:00",
"content": {
"html": "<p>This week, Jean talks to <a href=\"https://micro.blog/EddieHinkle\">Eddie Hinkle</a>. He\u2019s a software engineer who lives in the Washington DC area, and he is working on several interesting projects, including <a href=\"https://indigenous.abode.pub/ios/\">Indigenous</a>, an iOS app that provides an interface for the IndieWeb. Jean was grateful that Eddie could make the time to chat, especially as he is also a father-to-be whose child is due this week!</p>\n\n<p></p>",
"text": "This week, Jean talks to Eddie Hinkle. He\u2019s a software engineer who lives in the Washington DC area, and he is working on several interesting projects, including Indigenous, an iOS app that provides an interface for the IndieWeb. Jean was grateful that Eddie could make the time to chat, especially as he is also a father-to-be whose child is due this week!"
},
"name": "18: @EddieHinkle",
"audio": [
"http://monday.micro.blog/uploads/2018/23c5c80266.mp3"
],
"post-type": "audio",
"_id": "8799830",
"_source": "250",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": null,
"url": "https://monday.micro.blog/",
"photo": null
},
"url": "https://monday.micro.blog/2018/07/09/episode-eli.html",
"published": "2018-07-09T10:14:07-06:00",
"content": {
"html": "<p><a href=\"https://micro.blog/eli\">Eli Mellen</a>, an art historian and printmaker turned web developer, talks to Jean about how he went from his \u201cangsty LiveJournal\u201d to being a proponent of the IndieWeb, and why he likes the new <a href=\"https://xn--sr8hvo.ws/\">IndieWeb Ring</a>. Eli is also the maintainer of <a href=\"https://m.b.wiki.eli.li/\">Micro.wiki: Community resources for the avid Micro.blogger</a>.</p>\n\n<p></p>",
"text": "Eli Mellen, an art historian and printmaker turned web developer, talks to Jean about how he went from his \u201cangsty LiveJournal\u201d to being a proponent of the IndieWeb, and why he likes the new IndieWeb Ring. Eli is also the maintainer of Micro.wiki: Community resources for the avid Micro.blogger."
},
"name": "Episode 17: @eli",
"audio": [
"http://monday.micro.blog/uploads/2018/639b8f96ca.mp3"
],
"post-type": "audio",
"_id": "8799831",
"_source": "250",
"_is_read": true
}
{
"type": "entry",
"published": "2020-02-09 15:56-0800",
"url": "http://tantek.com/2020/040/t1/indiewebcamp-online-keynotes-sessions-projects",
"content": {
"text": "The @IndieWebCamp community has been busy this weekend at IndieWebCamp Online! (https://indieweb.org/2020/Online)\nVirtual keynotes & sessions yesterday (see link), great projects & people creating today: https://indieweb.org/2020/Online#Hack_Day_Goals.2FProjects\n\nJoin in! https://chat.indieweb.org/",
"html": "The <a class=\"h-cassis-username\" href=\"https://twitter.com/IndieWebCamp\">@IndieWebCamp</a> community has been busy this weekend at IndieWebCamp Online! (<a href=\"https://indieweb.org/2020/Online\">https://indieweb.org/2020/Online</a>)<br />Virtual keynotes & sessions yesterday (see link), great projects & people creating today: <a href=\"https://indieweb.org/2020/Online#Hack_Day_Goals.2FProjects\">https://indieweb.org/2020/Online#Hack_Day_Goals.2FProjects</a><br /><br />Join in! <a href=\"https://chat.indieweb.org/\">https://chat.indieweb.org/</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "http://tantek.com/",
"photo": "https://aperture-media.p3k.io/tantek.com/acfddd7d8b2c8cf8aa163651432cc1ec7eb8ec2f881942dca963d305eeaaa6b8.jpg"
},
"post-type": "note",
"_id": "8769787",
"_source": "1",
"_is_read": true
}
{
"type": "entry",
"published": "2020-02-08T12:47:30+00:00",
"rsvp": "i was invited to indiewebcamp online 2020and i will be there :3 i hope it will be fun!",
"url": "https://fireburn.ru/posts/1581166050",
"category": [
"IndieWebCamp"
],
"in-reply-to": [
"https://events.indieweb.org/2020/02/indiewebcamp-online-gUpSVUxbUKhv"
],
"content": {
"text": "I was invited to IndieWebCamp Online 2020and I will be there :3 I hope it will be fun!\n\n#IndieWebCamp",
"html": "<p class=\"p-rsvp\">I was invited to <a href=\"https://events.indieweb.org/2020/02/indiewebcamp-online-gUpSVUxbUKhv\" class=\"u-in-reply-to\">IndieWebCamp Online 2020</a>and I will be there :3 I hope it will be fun!</p>\n\n<p>#IndieWebCamp</p>"
},
"author": {
"type": "card",
"name": "Vika",
"url": "https://fireburn.ru/",
"photo": "https://fireburn.ru/media/f1/5a/fb/9b/081efafb97b4ad59f5025cf2fd0678b8f3e20e4c292489107d52be09.png"
},
"post-type": "rsvp",
"_id": "8728445",
"_source": "1371",
"_is_read": true
}
Ah no - since getting involved in the #IndieWeb I've been trying to use my site as the owner for my content, wherever it's for, and then pushing it out to silos after
{
"type": "entry",
"published": "2020-02-07T23:17:00Z",
"url": "https://www.jvt.me/mf2/2020/02/zs3rw/",
"category": [
"indieweb"
],
"in-reply-to": [
"https://twitter.com/karlicoss/status/1225918301693411328"
],
"content": {
"text": "Ah no - since getting involved in the #IndieWeb I've been trying to use my site as the owner for my content, wherever it's for, and then pushing it out to silos after",
"html": "<p>Ah no - since getting involved in the <a href=\"https://www.jvt.me/tags/indieweb/\">#IndieWeb</a> I've been trying to use my site as the owner for my content, wherever it's for, and then pushing it out to silos after</p>"
},
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "reply",
"_id": "8711714",
"_source": "2169",
"_is_read": true
}
In terms of how I get the data? I publish content to my site first, then syndicate it elsewhere afterwards https://indieweb.org/POSSE - which mostly happens automagically
I do this even for things like https://lobste.rs which doesn't have an API so I manually post it with a link back to the comment on my site
{
"type": "entry",
"published": "2020-02-07T22:52:00Z",
"url": "https://www.jvt.me/mf2/2020/02/hokzn/",
"in-reply-to": [
"https://twitter.com/karlicoss/status/1225907857461260288"
],
"content": {
"text": "In terms of how I get the data? I publish content to my site first, then syndicate it elsewhere afterwards https://indieweb.org/POSSE - which mostly happens automagicallyI do this even for things like https://lobste.rs which doesn't have an API so I manually post it with a link back to the comment on my site",
"html": "<p></p><p>In terms of how I get the data? I publish content to my site first, then syndicate it elsewhere afterwards <a href=\"https://indieweb.org/POSSE\">https://indieweb.org/POSSE</a> - which mostly happens automagically</p><p>I do this even for things like <a href=\"https://lobste.rs\">https://lobste.rs</a> which doesn't have an API so I manually post it with a link back to the comment on my site</p>"
},
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "reply",
"_id": "8711054",
"_source": "2169",
"_is_read": true
}
{
"type": "entry",
"published": "2020-02-07T22:49:00Z",
"url": "https://www.jvt.me/mf2/2020/02/2h317/",
"in-reply-to": [
"https://twitter.com/karlicoss/status/1225907857461260288"
],
"content": {
"text": "Hey which feed? I've got RSS/Atom, Microformats2 and JSON Feed!All of which are generated from Hugo with custom templates",
"html": "<p></p><p>Hey which feed? I've got RSS/Atom, Microformats2 and JSON Feed!</p><p>All of which are generated from Hugo with custom templates</p>"
},
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "reply",
"_id": "8711055",
"_source": "2169",
"_is_read": true
}
IndieWebCamp Online is this weekend. It’s all remote, so you can jump into the video chat and participate or lurk to learn about IndieWeb building blocks. And then in 2 weeks: IndieWebCamp Austin! 2-day event at Capital Factory.
{
"type": "entry",
"author": {
"name": "Manton Reece",
"url": "https://www.manton.org/",
"photo": "https://micro.blog/manton/avatar.jpg"
},
"url": "https://www.manton.org/2020/02/07/indiewebcamp-online-is.html",
"content": {
"html": "<p><a href=\"https://indieweb.org/2020/Online\">IndieWebCamp Online</a> is this weekend. It\u2019s all remote, so you can jump into the video chat and participate or lurk to learn about IndieWeb building blocks. And then in 2 weeks: <a href=\"https://2020.indieweb.org/austin\">IndieWebCamp Austin</a>! 2-day event at Capital Factory.</p>",
"text": "IndieWebCamp Online is this weekend. It\u2019s all remote, so you can jump into the video chat and participate or lurk to learn about IndieWeb building blocks. And then in 2 weeks: IndieWebCamp Austin! 2-day event at Capital Factory."
},
"published": "2020-02-07T08:26:58-06:00",
"post-type": "note",
"_id": "8697439",
"_source": "12",
"_is_read": true
}
{
"type": "entry",
"published": "2020-02-07T12:11:15+00:00",
"url": "https://fireburn.ru/posts/1581077475",
"syndication": [
"https://twitter.com/kisik21/status/1225753910171840513"
],
"content": {
"text": "Searching for an #IndieWeb thing I could implement in Go.\nMaybe a rewrite of my #Micropub server? (although I didnt deploy the new async version yet)",
"html": "<p>Searching for an #IndieWeb thing I could implement in Go.</p>\n<p>Maybe a rewrite of my #Micropub server? (although I didnt deploy the new async version yet)</p>"
},
"author": {
"type": "card",
"name": "Vika",
"url": "https://fireburn.ru/",
"photo": "https://fireburn.ru/media/f1/5a/fb/9b/081efafb97b4ad59f5025cf2fd0678b8f3e20e4c292489107d52be09.png"
},
"post-type": "note",
"_id": "8693405",
"_source": "1371",
"_is_read": true
}
{
"type": "entry",
"published": "2020-02-06 01:11-0800",
"url": "http://tantek.com/2020/037/b2/local-first-undo-redo-create-edit-publish",
"name": "Local First, Undo Redo, JS-Optional, Create Edit Publish",
"content": {
"text": "For a while I have brainstormed designs for a user experience (UX) to create, edit, and publish notes and other types of posts, that is fully undoable (like Gmail\u2019s \"Undo Send\" yet generalized to to all user actions) and redoable, works local first, and lastly, uses progressive enhancement to work without scripts in the extreme fallback case of not being installed, and scripts not loading.\n\n\nI\u2019d like to be able to construct an entire post, like a photo post with caption, people tags, location tag etc. all locally, offline, without any need to access a network.\n\n\nThis is like how old email applications used to work. You could be completely offline, open your email application (there was no need to login to it!), create a message, add attachments, edit it etc., click \"Send\" and then forgot about it. Eventually it synced to the network but you didn\u2019t worry or care about when that step would happen, you just knew it would eventually work without you having to tend to it or watch it.\n\n\nI want to approach this from user-experience-first design perspective, rather than a bottom-up protocol/technology/backend first perspective. For one, I don\u2019t know if any existing protocols actually have the necessary features to support such a user experience (UX). \nMicropub has a lot of what\u2019s needed, and I won\u2019t know what else is needed until I build the user flows I want, and then use those drive any necessary Micropub feature additions. I absolutely do not want to limit my UX by what an existing protocol can or cannot do (essentally the software design version of the tail wags dog problem).\n\n\nLocal First\n\n\nI wrote up a brief stub article on the IndieWeb wiki on \nlocal first.\nI see local first as an essential aspect of an authoring experience that is maximally responsive to user input, and avoids any and all unnecessary ties to other services.\n\n\nI want a 100% local first offline capable creating / editing / posting workflow which then \u201cauto-syncs\u201d once the network shows up. The presence / absence of internet access should not affect user flow at all. Network presence or absence should only be a status indicator (e.g. whether / how much a post has been sent to the internet or not, any edits / updates etc.). It should never block any user actions. I\u2019ll say it again for emphasis:\n\n\nThe absence or presence of network access must not block any user actions. Ever. Any changes should be effective locally immediately, with zero data loss.\n\n\nOf course nearly no one actually builds apps like that today. Even typical mobile \u201cnative\u201d apps fail without network access (a couple of counter-examples are the iOS built-in Notes & Photos apps, as well as the independent maps.me 100% offline mapping program). Some \u201coffline first\u201d apps get close. But even those, especially on mobile, fail in both predictable (like requiring logging into site or service on the network, just to edit a local text document) and strange ways.\n\n\nFull Undo Redo\n\n\nEvery such user action should be undoable and redoable, again, without waiting for the network (it\u2019s reasonable to apply some time limits for some actions, e.g. Gmail Undo can be configured to work for 30 seconds). Now imagine that for any user action, especialy any user action that creates, edits, or deletes content or any aspects thereof (like name, tags, location etc.).\n\n\nJS-Optional\n\n\nIn the case where a web application has not yet been installed, I also want it to be 100% capable without depending on loading any external scripts. \nThis JS-Optional approach is more broadly known as \nprogressive enhancement, which does require that you have at least some connection, enough for a browser to submit form requests and retrieve static HTML (and preferably though not required, static CSS and image files too).\n\n\nObviously once you are connected and are running at least a service worker for the site, local first requires execution of some scripts, though even then dependencies on any external scripts should be minimized and preferably eliminated.\nI do have a Service Worker and offline reading support on my site so I\u2019m getting there.\n\n\nIncremental Progress\n\n\nI believe aspects of this experience can be built and deployed incrementally, iterating over time until the full system is built.\n\nI\u2019ve got a handful of paper sketches of local-first undoable/redoable user flows. I have a service worker deployed on my site that allows viewers to browse offline the pages they\u2019ve previously visited, and I have a form submission user interface that handles part of publishing. There\u2019s a lot more to do, and as I think of them I add them to \npart of my \u201cWorking On\u201d list on the IndieWeb Wiki, iteratively reprioritizing and making incremental progress at IndieWebCamps.\n\n\nOne building block at a time, collaboratively.",
"html": "<p>\nFor a while I have brainstormed designs for a user experience (UX) to create, edit, and publish notes and other types of posts, that is fully undoable (like Gmail\u2019s \"Undo Send\" yet generalized to to all user actions) and redoable, works local first, and lastly, uses progressive enhancement to work without scripts in the extreme fallback case of not being installed, and scripts not loading.\n</p>\n<p>\nI\u2019d like to be able to construct an entire post, like a photo post with caption, people tags, location tag etc. all locally, offline, without any need to access a network.\n</p>\n<p>\nThis is like how old email applications used to work. You could be completely offline, open your email application (there was no need to login to it!), create a message, add attachments, edit it etc., click \"Send\" and then forgot about it. Eventually it synced to the network but you didn\u2019t worry or care about when that step would happen, you just knew it would eventually work without you having to tend to it or watch it.\n</p>\n<p>\nI want to approach this from user-experience-first design perspective, rather than a bottom-up protocol/technology/backend first perspective. For one, I don\u2019t know if any existing protocols actually have the necessary features to support such a user experience (UX). \n<a href=\"https://micropub.net/\">Micropub</a> has a lot of what\u2019s needed, and I won\u2019t know what else is needed until I build the user flows I want, and then use those drive any necessary Micropub feature additions. I absolutely do not want to limit my UX by what an existing protocol can or cannot do (essentally the software design version of the tail wags dog problem).\n</p>\n<h2>\nLocal First\n</h2>\n<p>\nI wrote up a brief stub article on the IndieWeb wiki on \n<a href=\"https://indieweb.org/local_first\">local first</a>.\nI see local first as an essential aspect of an authoring experience that is maximally responsive to user input, and avoids any and all unnecessary ties to other services.\n</p>\n<p>\nI want a 100% local first offline capable creating / editing / posting workflow which then \u201cauto-syncs\u201d once the network shows up. The presence / absence of internet access should not affect user flow at all. Network presence or absence should only be a status indicator (e.g. whether / how much a post has been sent to the internet or not, any edits / updates etc.). It should never block any user actions. I\u2019ll say it again for emphasis:\n</p>\n<p>\nThe absence or presence of network access must not block any user actions. Ever. Any changes should be effective locally immediately, with zero data loss.\n</p>\n<p>\nOf course nearly no one actually builds apps like that today. Even typical mobile \u201cnative\u201d apps fail without network access (a couple of counter-examples are the iOS built-in Notes & Photos apps, as well as the independent <a href=\"https://maps.me\">maps.me</a> 100% offline mapping program). Some \u201coffline first\u201d apps get close. But even those, especially on mobile, fail in both predictable (like requiring logging into site or service on the network, just to edit a local text document) and strange ways.\n</p>\n<h2>\nFull Undo Redo\n</h2>\n<p>\nEvery such user action should be undoable and redoable, again, without waiting for the network (it\u2019s reasonable to apply some time limits for some actions, e.g. Gmail Undo can be configured to work for 30 seconds). Now imagine that for any user action, especialy any user action that creates, edits, or deletes content or any aspects thereof (like name, tags, location etc.).\n</p>\n<h2>\nJS-Optional\n</h2>\n<p>\nIn the case where a web application has not yet been installed, I also want it to be 100% capable without depending on loading any external scripts. \nThis JS-Optional approach is more broadly known as \n<a href=\"https://indieweb.org/progressive_enhancement\">progressive enhancement</a>, which does require that you have at least some connection, enough for a browser to submit form requests and retrieve static HTML (and preferably though not required, static CSS and image files too).\n</p>\n<p>\nObviously once you are connected and are running at least a service worker for the site, local first requires execution of some scripts, though even then dependencies on any external scripts should be minimized and preferably eliminated.\nI do have a Service Worker and offline reading support on my site so I\u2019m getting there.\n</p>\n<h2>\nIncremental Progress\n</h2>\n<p>\nI believe aspects of this experience can be built and deployed incrementally, iterating over time until the full system is built.\n</p>\n<p>I\u2019ve got a handful of paper sketches of local-first undoable/redoable user flows. I have a service worker deployed on my site that allows viewers to browse offline the pages they\u2019ve previously visited, and I have a form submission user interface that handles part of publishing. There\u2019s a lot more to do, and as I think of them I add them to \n<a href=\"https://indieweb.org/Falcon#better_post_creation_UI\">part of my \u201cWorking On\u201d list on the IndieWeb Wiki</a>, iteratively reprioritizing and making incremental progress at IndieWebCamps.\n</p>\n<p>\nOne building block at a time, collaboratively.\n</p>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "http://tantek.com/",
"photo": "https://aperture-media.p3k.io/tantek.com/acfddd7d8b2c8cf8aa163651432cc1ec7eb8ec2f881942dca963d305eeaaa6b8.jpg"
},
"post-type": "article",
"_id": "8656126",
"_source": "1",
"_is_read": true
}