👓 Privacy | David Shanske

Read Privacy by David ShanskeDavid Shanske (David Shanske)
I admit to a certain amount of frustration on the subject of privacy lately. It seems, in all aspects of my life, both personal and professional, the new data privacy regulations that the EU rolls out May 25th are a theme in every discussion.

Some interesting thoughts on personal data and privacy. I can’t wait to talk to David about some of this in greater depth in our next podcast episode.

Syndicated copies to:

An Indieweb Podcast: Episode 3 “Syndication”

Episode 3: Syndication


Running time: 52m 56s | Download (24.9 MB) | Subscribe by RSS

Summary: Facebook has recently announced it will be shutting off its API access on August 1st for automating posts into its ecosystem. For a large number of users this means it will be much more difficult to crosspost or syndicate their content into the platform. As a result, this week David Shanske and I discuss the good and the bad of this move as well as some general thoughts around the ideas of syndicating content from one site to another.

David also discusses plans he’s got for changes to both the Bridgy Publish Plugin and the Syndication Links Plugin.

 
Huffduff this Episode


Show Notes

Related Articles and Posts

Resources and mentions within the episode

# Indicates a direct link to the appropriate part of the audio within the episode for the mentioned portion.

Syndicated copies to:

👓 Deprecating and Replacing Bridgy Publish for WordPress | David Shanske

Read Deprecating and Replacing Bridgy Publish for WordPress by David ShanskeDavid Shanske (David Shanske)
I’ve decided to take a different direction for the Bridgy plugin for WordPress. I’ve never quite been able to explain to people it doesn’t actually do anything. It’s a user interface for the Bridgy service. I’ve decided that the best thing to do is to is to change the approach radically.
Syndicated copies to:

👓 How I Set Up My Indieweb WordPress Site – 2018 Edition | David Shanske

Read How I Set Up My Indieweb WordPress Site – 2018 Edition by David ShanskeDavid Shanske (David Shanske)
This is an update to my 2014 article on how I set up my WordPress site. It was requested I update it.

Filed under: You can really learn a lot about someone by knowing what they’re using to run their website.
(P.S. David is definitely worth knowing.)

Syndicated copies to:

An IndieWeb Podcast: Episode 2 “IndieAuth”

Episode 2: IndieAuth

Summary: At long last, after about three weeks worth of work, David Shanske (along with help from Aaron Parecki) has added the ability for the IndieAuth plugin for WordPress to provide an IndieAuth endpoint for self-hosted versions of WordPress, but it also has the ability to provision and revoke tokens.

This week, David Shanske and I discuss IndieAuth and the WordPress plugin’s new functionality as well as some related micropub work David has been doing. To some extent, I alternate between acting innocent and serving as devil’s advocate as we try to tease out some of the subtleties of what IndieAuth is and what it means to the average user. As usual, David does an excellent job of navigating what can be some complicated territory.

 
Huffduff this Episode

Show Notes

Related IndieWeb Wiki Pages

Micropub Apps Mentioned in the episode

Closing discussion on IndieWeb Readers and Microsub Pieces

More Resources

If you need more IndieWeb content, guidance, or even help, an embarrassment of riches can be found on the IndieWeb wiki, including the following resources:

Syndicated copies to:

An IndieWeb Podcast: Episode 1 “Leaving Facebook”

Episode 1 Leaving Facebook

This first half of the episode was originally recorded in March, abruptly ended, and then was not completed until April due to scheduling.

It’s been reported that Cambridge Analytica has improperly taken and used data from Facebook users in an improper manner, an event which has called into question the way that Facebook handles data. David Shanske and I discuss some of the implications from an IndieWeb perspective and where you might go if you decide to leave Facebook.

Show Notes

Articles

The originating articles that kicked off the Facebook/Cambridge Analytica issue:

Related articles and pages

Recent Documented Facebook Quitters

Jonathan LaCourEddie Hinkle, Natalie Wolchover, Cher, Tea Leoni, Adam McKay, Leo Laporte,and Jim Carrey

New York Times Profile of multiple quitters: https://www.nytimes.com/2018/03/21/technology/users-abandon-facebook.html

IndieWeb Wiki related pages of interest

Potential places to move to when leaving Facebook

You’ve made the decision to leave Facebook? Your next question is likely to be: to move where? Along with the links above, we’ve compiled a short list of IndieWeb-related places that might make solid options.

Syndicated copies to:

An IndieWeb Podcast: Episode 0 “Considering the User”

An IndieWeb Podcast: Episode 0 "Considering the User"

This is a test or alpha episode of An Indieweb Podcast (working title).

In it, David Shanske and and I talk about a variety of Indieweb topics, with the theme of “Considering the User”, inspired by an article we were reading this week. Other topics include: home automation, generations, itches, Webmention, and some examples of the Post Kinds Plugin in practice (exercise, issues, chickens).

In the future we hope to have additional broad ranging conversations and perhaps interviews with others about various IndieWeb related topics.

Part of this is also an opportunity to improve audio post presentations on our websites over time. While David posted the “original” of this post on his site, I had to debate whether or not I would technically repost it or make an original of my own. Ultimately I opted for the latter.

David, by far the more veteran podcaster, deserves the lion’s share of the credit for his audio set up and recording facilities.

You can subscribe to future episodes here: http://boffosocko.com/tag/an-indieweb-podcast/feed/

If you need more IndieWeb content, guidance, or even help, an embarrassment of riches can be found on the wiki, including the following resources:

Syndicated copies to:
Replied to a tweet by Mel ChoyceMel Choyce (Twitter)
@jeremyfelt Pingbacks need a redesign!

Not coincidentally, David Shanske (), the maintainer of Pingbacks/Trackbacks is a major contributor to the WordPress Webmention plugin as well as many other IndieWeb related WordPress tech.

Syndicated copies to:

My reply to Micro.blog Project Surges Past $65K on Kickstarter, Gains Backing from DreamHost | WordPress Tavern

Replied to Micro.blog Project Surges Past $65K on Kickstarter, Gains Backing from DreamHost (WordPress Tavern)
With one week remaining on its Kickstarter campaign, the Micro.blog indie microblogging project has surged past its original $10K funding goal with $66,710 pledged by 2,381 backers. This puts proje…

I love that Micro.blog is doing so well on Kickstarter! I’m even more impressed that DreamHost is backing this and doubling down in this area.

I coincidentally happened to have a great conversation yesterday with Jonathan LaCour before I saw the article and we spoke about what DreamHost is doing in the realm of IndieWeb and WordPress. I love their approach and can’t wait to see what comes out of their work and infectious enthusiasm.

I’m really surprised that WordPress hasn’t more aggressively taken up technologies like Webmention, which is now a W3C recommendation, or micropub and put them directly into core. For the un-initiated, Webmention works much like @mention on Twitter, Medium, Facebook, and others, but is platform independent, which means you can use it to ping any website on the internet that supports it. Imagine if you could reply to someone on Twitter from your WordPress site? Or if you could use Facebook to reply to a post on Medium? (And I mean directly and immediately in the type @mention/hit publish sense, not doing any laborious cut and paste from one platform to another nonsense that one is forced to do now because all the social silos/walled gardens don’t inter-operate nicely, if at all.) Webmention can make all that a reality.  Micropub is a platform independent spec that allows one to write standalone web or mobile apps to create publishing interfaces to publish almost any type of content to any platform–think about the hundreds of apps that could publish to Twitter in its early days, now imagine expanding that to being able to use those to publish to any platform anywhere?

While Twitter has been floundering for a while, WordPress has the structure, ecosystem, and a huge community to completely eat Twitter’s (and even Facebook/ Instagram’s, Medium’s, & etc.) lunch not only in the microblog space, but the larger space which includes blogging, photos, music, video, audio, and social media in general. The one piece they’re missing is a best-in-class integrated feed reader, which, to be honest, is the centerpiece of both Twitter and Facebook’s services. They seem to be 98% readers and 2% dead-simple posting interface while WordPress is 98% posting interface (both more sophisticated/flexible and more complicated), and nearly non-existent (and unbundled) reader.

WordPress has already got one of the best and most ubiquitous publishing platforms out there (25+% of the web at last count). Slimming down their interface a tad to make it dead simple for my mom to post, or delegating this to UX/UI developers with micropub the way that Twitter allowed in the early days with their open API and the proliferation of apps and interfaces to post to twitter, in addition to Webmentions could create a sea-change in the social space. Quill is a good, yet simple example of an alternate posting interface which I use for posting to WordPress. Another is actually Instagram itself, which I use in conjunction with OwnYourGram which has micropub baked in for posting photos to my site with Instagram’s best-in-class mobile interface. Imagine just a handful of simple mobile apps that could be customized for dead-simple, straightforward publishing to one’s WordPress site for specific post types or content types…

With extant WordPress plugins, a lot of this is already here, it’s just not evenly distributed yet, to borrow the sentiment from William Gibson.

For just a few dollars a year, everyday people could more easily truly own all their content and have greater control over their data and their privacy.

I will note that it has been interesting and exciting seeing the Drupal community stepping on the gas on the Webmention spec (in two different plugins) since the W3C gave it recommendation status earlier this month. This portends great things for the independent web.

I haven’t been this excited about what the web can bring to the world in a long, long time.

Syndicated copies to:

Browser Bookmarklets and Mobile Sharing with Post Kinds Plugin for WordPress

Making it easier to post to WordPress on desktop and mobile

The Post Kinds Plugin

I’ve been using David Shanske’s excellent WordPress plugin Post Kinds, which is conveniently bundled into the IndieWeb Plugin, for more than a year now. (Update: I’ve also written a fairly in-depth primer for it.)

Much like WordPress’s native post formats (standard, aside, image, quote, link, status, audio, etc.) which were introduced in v3.1, Post Kinds instead provides a better mapping of post types across a larger variety of social media types (article, bookmark, favorite, itinerary, jam, like, listen, note, photo, play, read, reply, repost, watch, and more). In addition to changing the visual layout and formatting of most posts, the plugin also importantly includes the correct microformat classes for each of these post types and this enables a lot of other fantastically important functionality for the open web.

Custom URLs for Post Kinds

One of the problems I had with using it initially was taking the extra time to cut and paste in the several pieces of additional data or fill in meta data to make a post. It was particularly painful in a mobile setting. I was thrilled when David mentioned that he’d built in some customized query parameters which could take URLs to import in much of the data as well as to set the correct post kind automatically. They came with the general format of

http://example.com/wp-admin/post-new.php?kind=bookmark&kindurl=@url

where one could replace @url with the target URL of the site to be bookmarked, for example. Replacing bookmark with the appropriate post kind name would allow one to set the flag for each post to the proper post kind automatically, and naturally one should replace example.com with the base URL for their site.

Putting this customized URL into a browser will create a new post in one’s website admin UI and Post Kinds will automatically set the URL and scrape its meta data. One can then modify any additional data or add a comment and then publish quickly and easily.

As a concrete example, I would put the following URL in my browser of choice to “like” the Post Kinds Plugin page:
http://www.boffosocko.com/wp-admin/post-new.php?kind=like&kindurl=https://wordpress.org/plugins/indieweb-post-kinds/

Browser Bookmarklets

I am a huge fan of browser bookmarklets, so for a while I’ve been meaning to create some for the post kinds I use to better automate my post process. After dragging my feet for ages, particularly because my JavaScript skills are nearly non-existent, I’ve finally gotten around to adapting the common WordPress “Press This” bookmarklet to work with Post Kinds.

Below is the modified code that can be put into a bookmarklet to allow for easily bookmarking a particular post:

javascript:(function(a,b,c,d){function e(a,c){if("undefined"!=typeof c){var d=b.createElement("input");d.name=a,d.value=c,d.type="hidden",p.appendChild(d)}}var f,g,h,i,j,k,l,m,n,o=a.encodeURIComponent,p=b.createElement("form"),q=b.getElementsByTagName("head")[0],r="_press_this_app",s=!0;if(d){if(!c.match(/^https?:/))return void(top.location.href=d);if(d+="&kindurl="+o(c),c.match(/^https:/)&&d.match(/^http:/)&&(s=!1),a.getSelection?h=a.getSelection()+"":b.getSelection?h=b.getSelection()+"":b.selection&&(h=b.selection.createRange().text||""),d+="&buster="+(new Date).getTime(),s||(b.title&&(d+="&t="+o(b.title.substr(0,256))),h&&(d+="&s="+o(h.substr(0,512)))),f=a.outerWidth||b.documentElement.clientWidth||600,g=a.outerHeight||b.documentElement.clientHeight||700,f=800>f||f>5e3?600:.7*f,g=800>g||g>3e3?700:.9*g,!s)return void a.open(d,r,"location,resizable,scrollbars,width="+f+",height="+g);(c.match(/\/\/(www|m)\.youtube\.com\/watch/)||c.match(/\/\/vimeo\.com\/(.+\/)?([\d]+)$/)||c.match(/\/\/(www\.)?dailymotion\.com\/video\/.+$/)||c.match(/\/\/soundcloud\.com\/.+$/)||c.match(/\/\/twitter\.com\/[^\/]+\/status\/[\d]+$/)||c.match(/\/\/vine\.co\/v\/[^\/]+/))&&e("_embeds[]",c),i=q.getElementsByTagName("meta")||[];for(var t=0;t<i.length&&!(t>200);t++){var u=i[t],v=u.getAttribute("name"),w=u.getAttribute("property"),x=u.getAttribute("content");x&&(v?e("_meta["+v+"]",x):w&&e("_meta["+w+"]",x))}j=q.getElementsByTagName("link")||[];for(var y=0;y<j.length&&!(y>=50);y++){var z=j[y],A=z.getAttribute("rel");("canonical"===A||"icon"===A||"shortlink"===A)&&e("_links["+A+"]",z.getAttribute("href"))}b.body.getElementsByClassName&&(k=b.body.getElementsByClassName("hfeed")[0]),k=b.getElementById("content")||k||b.body,l=k.getElementsByTagName("img")||[];for(var B=0;B<l.length&&!(B>=100);B++)n=l[B],n.src.indexOf("avatar")>-1||n.className.indexOf("avatar")>-1||n.width&&n.width<256||n.height&&n.height<128||e("_images[]",n.src);m=b.body.getElementsByTagName("iframe")||[];for(var C=0;C<m.length&&!(C>=50);C++)e("_embeds[]",m[C].src);b.title&&e("t",b.title),h&&e("s",h),p.setAttribute("method","POST"),p.setAttribute("action",d),p.setAttribute("target",r),p.setAttribute("style","display: none;"),a.open("about:blank",r,"location,resizable,scrollbars,width="+f+",height="+g),b.body.appendChild(p),p.submit()}})(window,document,top.location.href,"http:\/\/example.com\/wp-admin\/post-new.php?kind=bookmark");
Browser bookmarklets for Post Kinds

Other versions of the bookmarks can easily be made for all the other other Post Kinds by replacing the two red highlighted portions of the code sample appropriately for each one. Specifically one should exchange bookmark with the name of the kind desired (all of them should be in lowercase) and replace example.com with one’s own domain name.

For simplicity, I’m including a sample/template bookmarklet button below which can be dragged and dropped into most browser bars. Before using it, edit the JavaScript as described above and paste it into the URL box. I’m happy to help those who may have problems. I’ve included a screen capture of what all of them look like once they’re set up and configured with matching emoji added into the titles to assist in visual selection.

🔖 Bookmark

Perhaps I (or someone else enterprising) would contribute all this back into the plugin repository for Post Kinds so that these bookmarklets would be self-generated for plug and play usage within the admin interface for the plugin the way the bookmarklets are for the IndieWeb plugin’s PressThis bookmarklets, perhaps at /wp-admin/admin.php?page=kind_options.

A Post Kinds “Bookmarklet” for Mobile

For those who would like something similar to the above for use on mobile platforms (and particularly Android) I’ve written up some instructions below which allow one to use the Android app URL Forwarder to use the ubiquitous mobile “share” functionality from most pages and/or apps in a way similar to this bookmarklet functionality. (This is based in part on some work by Ryan Barrett and some work I’d written up for the Known CMS a while back.)

I’d suspect that there’s also a similar app for iOS, but I haven’t checked. If not available, URL Forwarder is open source on Github and could potentially be ported. There’s also a similar Android app called Bookmarklet Free which could be used instead of URL Forwarder.

Configuring URL Forwarder for Post Kinds

  1. Open URL Forwarder on your phone
  2. Click the “+” button to create a filter.
  3. Give the filter a name, “Bookmark” for the bookmark version. (See photo below.)
  4. Use the following entry for the “Filter URL” replacing example.com with your site’s domain name: http://EXAMPLE.com/wp-admin/post-new.php?kind=bookmark&kindurl=@url
  5. Leave the “Replaceable text” as “@url”
  6. Finish by clicking on the checkmark in the top right corner.
  7. Repeat the above for the other desired post types but replacing “bookmark” with the lower case names of those other types.

Simple right?

Creating a post via mobile

With the configuration above set up, do the following:

  1. On the mobile page one wants to bookmark, like, favorite, etc., click the ubiquitous “share this” mobile icon (or share via a pull down menu, depending on your mobile browser or other app.)
  2. Choose to share through URL Forwarder
  3. Click on the “bookmark” option just created above (or other option as necessary for the desired post type).
  4. Change/modify any meta data within your website administrative interface or add any additional thoughts and publish. (This part is the same as one would experience using the desktop bookmarklet.)

Happy posting!

Syndicated copies to:

Lessons Learned from IndiewebCamp and WordCamp – David Shanske

Liked Lessons Learned from IndiewebCamp and WordCamp by David ShanskeDavid Shanske (David Shanske)
For a little over two years, I have been involved in Indiewebcamp. This past weekend, for the first time in five years, I was able to attend WordCamp. WordCamp NYC was a massive undertaking, to which I must give credit to the organizers. WordCamp was moved to coincide with OpenCamps week at the United Nations, …
Syndicated copies to: