77°F

Aaron Parecki

  • Articles
  • Notes
  • Photos

#indieweb

  • Renewing Medium’s focus (blog.medium.com)
    Wed, Jan 4, 2017 12:04pm -08:00 #medium #indieweb
  • Day 14: Posting to my Website from Alexa #100DaysOfIndieWeb

    If you know me, you probably know that I log everything I eat and drink and post it to my website. A couple years ago, I wrote a small Pebble app that allowed me to quickly post common food and drink from my watch! Coincidentally around the time Pebble announced that FitBit had acquired their assets, my Pebble stopped working completely. This meant I no longer had a quick way to log food, and have to pull out my phone again to make log entries.This afternoon, Tantek suggested that I use my Amazon Alexa to post food and drink to my website instead! Of course this will only work when I'm at home, but it turns out that I'm home a lot of the time I'm eating and drinking. I also eat tacos every day, so it'd be great not to have to get out my phone during breakfast.So today, I launched Alexa integration for Teacup, the app I use to track my food.This was quite a challenging project given all the moving parts involved. I started by defining the voice interface I wanted to use. Interaction ModelVoice interactions for Alexa apps have to follow a pretty strict structure. Alexa doesn't support interpreting fully unstructured text, so app developers have to define patterns that Alexa can match on. Invoking any Alexa app involves first speaking the trigger word, followed by a keyword such as "ask" or "tell" followed by the app name, and then the pattern of text the app wants to match. So for Teacup, this results in speaking sentences such as:"Alexa, tell Teacup I drank coffee""Alexa, tell Teacup I ate tacos"This gets turned into what Amazon calls the "Interaction Model", and is a list of "slots" along with corresponding keywords for each slot, as well as writing out some sample sentences.LIST_OF_ACTIONS = ate | drankLIST_OF_FOOD = Coffee | Cocktail | Beer | Tacos | Mac and Cheese | ...Sample utterances:"I {Action} {Food}""I {Action} a {Food}"It isn't clear to me whether the list of keywords I provided is the complete set, because while I was testing, it managed to post the word "on" for the food, which is not in my list.AuthenticationThe next challenge was linking user accounts between Amazon users and Teacup users. Amazon provides great documentation on this, and thankfully it's all based on OAuth 2.0 rather than having made up some other model themselves. Essentially, the Amazon Alexa app on your phone acts as an OAuth 2.0 client, and you have to build an OAuth 2.0 server into your app that it works against. This is a pretty clever solution actually. Luckily, I'm pretty familiar with OAuth 2.0, so I was able to build this out pretty quickly.One thing struck me about Amazon's recommendations about building OAuth support in your app. They say that they'll launch your authorization URL from inside the iOS app, which is a known antipattern for apps in general. In Amazon's docs, it says "The user logs in using their normal credentials for your site." This is a really bad idea. You never want to train your users to enter their passwords into random apps. This is the whole reason we have OAuth in the first place!
    continue reading...
    5 likes 2 reposts 1 bookmark 1 reply 4 mentions
    Tue, Jan 3, 2017 5:23pm -08:00 #100daysofindieweb #indieweb #teacup #alexa #100daysofcode
  • Day 13: Curved Lines for Atlas Static Maps #100DaysOfIndieWeb

    Yesterday, Amy was asking if there was a library for drawing curved lines between two points on a map. She wants to use this for her travel posts, which say for example "Tokyo to Boston". We noticed that Facebook draws curved lines when they show a planned trip. Martijn was able to figure out how to reproduce this on Facebook consistently. You have to start by creating a "checkin" post, then add a "traveling to" activity to it. Notice that the line from Portland to Seattle is curved rather than straight, although it doesn't strictly follow a Great Circle line either.
    continue reading...
    3 likes 2 reposts 2 replies 2 mentions
    Mon, Jan 2, 2017 2:35pm -08:00 #indieweb #atlas #maps #100daysofindieweb #100daysofcode
  • Sebastiaan Andeweg https://seblog.nl

    Another take on uploading screenshots to a Micropub Media Endpoint

    Portland, Oregon
    Mon, Jan 2, 2017 1:46pm +00:00 (liked on Mon, Jan 2, 2017 6:04am -08:00) #indieweb
  • Day 12: Whitelist and Blacklist for OwnYourGram import #100DaysOfIndieWeb

    Today I added some additional settings to OwnYourGram. You can now configure a whitelist and/or blacklist of keywords to control which of your Instagram posts are imported to your website.
    continue reading...
    3 mentions
    Sun, Jan 1, 2017 9:28am -08:00 #ownyourgram #indieweb #100daysofindieweb
  • Joschi Kuphal https://jkphl.is/

    2016 in keywords

    Portland, Oregon
    Sun, Jan 1, 2017 12:00am +00:00 (liked on Sun, Jan 1, 2017 7:55am -08:00) #General #IndieWeb #Private #Random thoughts #Side projects
  • Day 11: Simpler fonts #100DaysOfIndieWeb

    The other day I read a pretty funny blog post called "10 things I learned making the fastest site in the world". It's a little tongue in cheek, but overall has some good tips. One that caught my attention was the section on using web fonts.
    continue reading...
    2 mentions
    Sat, Dec 31, 2016 1:58pm -08:00 #indieweb #p3k #100daysofindieweb #design
  • Aaron Parecki
    I'm doing #100DaysOfIndieWeb! Here's what I finished this week: https://aaronparecki.com/2016/12/30/7/week-in-review
    Portland, Oregon, USA
    1 like 2 reposts 2 replies
    Fri, Dec 30, 2016 2:23pm -08:00 #indieweb
  • Week in Review #100DaysOfIndieWeb

    Webmention.ioDay 3: The avatars for comments/likes/etc that Webmention.io processes will now always be 256 pixels maximum. This avoids showing potentially large images shrunk down when displaying comments.Day 10: HTML status pages for webmention.io 
    continue reading...
    1 like 2 reposts 2 replies 1 mention
    Fri, Dec 30, 2016 2:18pm -08:00 #100daysofindieweb #indieweb #webmention #quill #p3k
  • Day 10: HTML status pages for webmention.io #100DaysOfIndieWeb

    Yesterday I added a Webmention form at the bottom of my posts. If you used this form, it would show you a "check status" link after accepting the Webmention request. My Webmentions are all handled by webmention.io, and its status URLs return a JSON response. This isn't particularly friendly when someone views one of these URLs in a browser, since they just see a raw JSON blob.Today I updated webmention.io to return all responses in HTML if they're made from a browser. It checks to see if there is text/html in the Accept header, and returns HTML if so, otherwise returns JSON as normal. Now when you view one of these status links, you'll see something like this.
    continue reading...
    3 mentions
    Fri, Dec 30, 2016 1:21pm -08:00 #100daysofindieweb #indieweb #webmention
  • Day 9: Webmention form #100DaysOfIndieWeb

    I finally brought back the Webmention form on my website! At the bottom of my posts, you'll see a Webmention form now!
    continue reading...
    1 like 1 reply 4 mentions
    Thu, Dec 29, 2016 9:27am -08:00 #100daysofindieweb #indieweb #webmention
  • http://indiescripter.com/articles/reply-aaron-parecki-2016-12-29.html
    https://twitter.com/indiescripter/status/814363314012569601
    Aaron Parecki
    @indiescripter Thanks for the explanation! It's great to hear this feedback from people new to #indieweb.

    Your point about your expectation of being able to like or comment on the post directly on my website is interesting. I took the comment box off of my website a long time ago, with no regrets. I like that it encourages people to write replies in a space of their own. (Ideally on their own website, but at the very least from their own Twitter account).

    However, it would be interesting to see what would happen if I let people "like" posts directly on my website, even if they don't have their own website yet. Maybe I'll do that for one of the 100 days!
    Portland, Oregon, USA
    2 likes 2 replies
    Thu, Dec 29, 2016 7:02am -08:00 #indieweb
  • Aaron Parecki
    Day 8 part 2: Birthday Balloons! When you visit my home page today, you'll see balloons floating up from the bottom of the screen! All the code is in a self-contained javascript file if you want to use this on your site too! https://aaronparecki.com/assets/birthday.js #100DaysOfIndieWeb
    Portland, Oregon, USA
    1 like 1 mention
    Wed, Dec 28, 2016 9:50am -08:00 #birthday #indieweb
  • https://twitter.com/indiescripter/status/814067059860455424
    Aaron Parecki
    @indiescripter hm, what do you mean "silo-centric"? We often replicate silo UX on our own sites, and we syndicate to silos to reach audiences that are there, but ultimately it's about owning your identity and data. If you want to see a variety of things I'm working on, check out my "100 days" project where I work on something IndieWeb for 100 days: https://aaronparecki.com/tag/100daysofindieweb You'll find plenty of non-silo things there!
    Portland, Oregon, USA
    5 replies
    Wed, Dec 28, 2016 9:47am -08:00 #indieweb
  • Day 8: Pinned Posts #100DaysOfIndieWeb

    I've never really been a fan of using pinned posts on my Twitter profile, so I didn't expect this would be something I wanted on my own website. On my own home page I can just write whatever I want above my posts, so I don't really need "pinned posts" there either. However I just found a use for pinned posts, but not on my home page!I've been sharing the link to my 100 days tags with people as a way to share the content quickly. I wanted to be able to have a little intro post above the list of posts, and I realized that "pinned posts" matched the pattern of what I wanted pretty nicely! So now, on tag and channel pages on my site, I can mark a post as "pinned" and it will always show up on top! The first post I've pinned is on my #100DaysOfIndieWeb tag page.
    continue reading...
    4 mentions
    Wed, Dec 28, 2016 9:06am -08:00 #pinned #100daysofindieweb #p3k #indieweb
  • Day 7: Nicer sparklines for tag pages

    A while ago, inspired by @adactio, I had added sparklines to my home page and tag pages. After having them for a while, I realized that my tag pages would look better as sparkline bar charts instead of as a plain line.The lines looked fine for tags that had a lot of data, but didn't look good when there were only a few data points.
    continue reading...
    5 mentions
    Tue, Dec 27, 2016 2:37pm -08:00 #indieweb #100daysofindieweb
  • Day 6: Polling tiers for OwnYourGram #100DaysOfIndieWeb

    Previously, OwnYourGram would check all users' Instagram feeds once an hour. I changed it to have four polling tiers, and the interval for the top tier is every 15 minutes now. This means people who post lots of photos will now see their photos on their site sooner, and because of the tiered approach, I won't be wasting resources on feeds that post infrequently.The four tiers are:Every 15 minutes (on the 0, 15, 30 and 45 minute mark) - 11 usersEvery hour (5 minutes after the hour) - 12 usersEvery 6 hours (at 00:10, 06:10, 12:10, 18:10 UTC) - 11 usersOnce a day (at 01:10 UTC) - 38 usersUsers are sorted into tiers based on the number of photos posted in the last 14 days. The more you post, the more often OwnYourGram checks your feed! If your Micropub endpoint returns an error, then you're bumped down a tier. If you're at the lowest tier and there's an error, then polling will be disabled completely until you log back in.Thanks to snarfed for suggesting the tiered approach!
    continue reading...
    2 mentions
    Mon, Dec 26, 2016 10:36am -08:00 #ownyourgram #100daysofindieweb #indieweb
  • Day 5: Posting old photos from OwnYourGram #100DaysOfIndieWeb

    I finished two updates to OwnYourGram today.There is a new page when you log in where you can see a list of your 20 most recent photos on Instagram, check whether they've been posted to your website already, and re-post any if you need to!
    continue reading...
    2 mentions
    Sun, Dec 25, 2016 10:24am -08:00 #100daysofindieweb #indieweb #ownyourgram
  • Day 4: Quill note UI improvements #100DaysOfIndieWeb

    Knocked out a couple of minor UI improvements to Quill this morning. Previously, the reply context field would show the whole note, so super long notes or blog posts would take over the whole screen. (Issue 62)
    continue reading...
    1 like 3 mentions
    Sat, Dec 24, 2016 9:52am -08:00 #100daysofindieweb #indieweb #quill
  • Day 3: Resized avatars for comments and other reactions #100DaysOfIndieWeb

    Whenever my website receives a comment, like, repost, or other mention, I display those responses on the post's permalink, along with author information if available. For likes and reposts, I show the profile photo in a list, so there are sometimes lots of photos there.
    continue reading...
    3 mentions
    Fri, Dec 23, 2016 12:41pm -08:00 #100daysofindieweb #100days #indieweb #webmention
older

Hi, I'm Aaron Parecki, Director of Identity Standards at Okta, and co-founder of IndieWebCamp. I maintain oauth.net, write and consult about OAuth, and participate in the OAuth Working Group at the IETF. I also help people learn about video production and livestreaming. (detailed bio)

I've been tracking my location since 2008 and I wrote 100 songs in 100 days. I've spoken at conferences around the world about owning your data, OAuth, quantified self, and explained why R is a vowel. Read more.

  • Director of Identity Standards at Okta
  • IndieWebCamp Founder
  • OAuth WG Editor
  • OpenID Board Member

  • 🎥 YouTube Tutorials and Reviews
  • 🏠 We're building a triplex!
  • ⭐️ Life Stack
  • ⚙️ Home Automation
  • All
  • Articles
  • Bookmarks
  • Notes
  • Photos
  • Replies
  • Reviews
  • Trips
  • Videos
  • Contact
© 1999-2025 by Aaron Parecki. Powered by p3k. This site supports Webmention.
Except where otherwise noted, text content on this site is licensed under a Creative Commons Attribution 3.0 License.
IndieWebCamp Microformats Webmention W3C HTML5 Creative Commons
WeChat ID
aaronpk_tv