snarfed / bridgy

📣 Connects your web site to social media. Likes, retweets, mentions, cross-posting, and more...
https://brid.gy
Creative Commons Zero v1.0 Universal
727 stars 52 forks source link

new silo: Untappd #863

Open snarfed opened 5 years ago

snarfed commented 5 years ago

Untappd, for tracking beer drinking and reviews, is one of the more popular domain-specific silos in IndieWeb circles. it has a full read/write CRUD API for beer "check-ins" (the main post type), comments, and toasts (ie likes).

one interesting question is which indieweb post type(s) we'd translate beer check-ins to. they seem like a combination food post and review, and not a checkin per se. fortunately this is purely academic right now: bridgy backfeed doesn't care, and bridgy publish only does POSSE, not PESOS, so it could happily support and translate any/all of those types.

instructions for adding a new silo to Bridgy. recent IRC discussion on Untappd. not actually planning to do this myself (i don't use Untappd), just capturing info. cc @khurtwilliams @davidmead @jgmac1106...anyone else?

khurtwilliams commented 5 years ago

Untappd check-ins contain location information for drinking venue as well as the location of purchase but do have ratings for the ale, tasting tags etc. Agree that Untappd "check-ins" feel more like food posts and review. This is how I have used Untappd. However, Untappd "followers" can tag users in check-ins, leave toasts (likes), and comments; it also feels like Instagram.

@kraftbj has started work on PESOS solution for Untappd: https://github.com/kraftbj/beer-slurper

jgmac1106 commented 5 years ago

I don't use Untappd either, but add food/drink post on mythem on my website....maybe we just skipped thinking about a food and drink post-type and make them an h-review? They have the rating and description as per the spec.

So it would be an h-review with an optional nested check-in??? Is that even a thing.

In terms of food and drink I would just use p-category="beer" since food and drink are 100% experimental

I just looked at Known. for example, it uses h-food.....which isn't a thing

On Tue, Mar 12, 2019 at 12:19 PM Khürt Williams notifications@github.com wrote:

Untappd check-ins contain location information for drinking venue as well as the location of purchase but do have ratings for the ale, tasting tags etc. Agree that Untappd "check-ins" feel more like food posts and review. This is how I have used https://islandinthenet.com/cascade-brewing-midnight-bramble-2016/ Untappd. However, Untappd "followers" can tag users in check-ins, leave toasts (likes), and comments; it also feels like Instagram.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/snarfed/bridgy/issues/863#issuecomment-472070646, or mute the thread https://github.com/notifications/unsubscribe-auth/AKC-pt9IaPXWzScYxbfQRJXkw5GbpFuGks5vV9OKgaJpZM4bpvwa .

vipickering commented 5 years ago

Thinking about this, the combination of review and checkin are important, but the question for me is. Are you checking in to a place and leaving a review of the product, or are you reviewing a place and telling people you are there.

It's a subtle but important difference.

You could visit a place multiple times and review the activity different ways each time.

For example I went to the cinema the other day and I checked in when I arrived. But I would like to leave a review of the film afterwards (potentially I could have watched several films or done a marathon and want to review each one individually). My actions are no different really to untapped. I go to a place and then I want to leave a review of the beer. I can review multiple beer types if I so wish and they are attached to a location; But it is the beer I am reviewing, it is just attached to the location.

In my mind it feels like we want to use a h-entry, with the experiemental checkin property, then nest one or multiple(potentially) h-reviews within that. Context for the type of food etc could be attached to the review, as that is what is being reviewed.

snarfed commented 5 years ago

thanks for the thoughts @vipickering! makes sense. there's definitely been plenty of discussion of this check-in vs post-with-location distinction over the years:

out of curiosity, do you use untappd? just to clarify, as far as i can tell, untappd stretches the "check-in" term to apply primarily to beers, not places. @khurtwilliams is right that you can optionally also include a place in a check-in, but it's optional, so i'd mainly thought of the indieweb translation as food + review (+ optional location), not location checkin + review.

from https://help.untappd.com/support/solutions/articles/25000001900-check-in :

In order to check-in (which is the term used to record a beer on your profile) to Untappd - you need to search for that beer.

from https://help.untappd.com/support/solutions/articles/25000001903-add-a-location-to-a-check-in :

When you check-in a beer and have enabled geolocation...This gives the ability to add a location to an existing check-in that you may have forgot or simply want to remove.

vipickering commented 5 years ago

@snarfed Ironincally I used it for around 2 years before leaving, because I couldn't work out how to export my data from the app. Note to self, check the website as well /o\

Your correct, in that you check-in a beer you have tasted, and you can add a location if you wish. I always used to attach a location so that part got a little muddled in my mind.

I did a little digging and noticed @aaronpk is doing this: https://aaronparecki.com/drank It looks like he is tracking what he drank, which also has an optional location attached.

I'm starting to see a pattern forming where people are tracking a "thing" they did, which can include optional extras (such as location):

This isn't an extensive list but you see where I am going.

I also think the checkin term is being used in various manners across services not just location. For example:

I am wondering. If we are considering checkin as only a location, that these types of things are tracking an activity, with an optional checkin to a location.

jgmac1106 commented 5 years ago

Yes the beer check in would be the a h-review, you would be able to include a checkin, and an h-card of people you are with at the venue.

On Thu, Mar 14, 2019, 4:29 AM Vincent Pickering notifications@github.com wrote:

@snarfed https://github.com/snarfed Ironincally I used it for around 2 years before leaving, because I couldn't work out how to export my data from the app. Note to self, check the website as well /o\

Your correct, in that you check-in a beer you have tasted, and you can add a location if you wish. I always used to attach a location so that part got a little muddled in my mind.

I did a little digging and noticed @aaronpk https://github.com/aaronpk is doing this: https://aaronparecki.com/drank It looks like he is tracking what he drank, which also has an optional location attached.

I'm starting to see a pattern forming where people are tracking a "thing" they did, which can include optional extras (such as location):

  • drank
  • ate
  • listened
  • watched

This isn't an extensive list but you see where I am going.

I also think the checkin term is being used in various manners across services not just location. For example:

  • Untapped, checkin beers
  • Trakt, checkin TV shows or Movies you are watching right now

I am wondering. If we are considering checkin as only a location, that these types of things are tracking an activity, with an optional checkin to a location.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/snarfed/bridgy/issues/863#issuecomment-472750997, or mute the thread https://github.com/notifications/unsubscribe-auth/AKC-phbWqKlsCYu9OUEaDRa8YQngb579ks5vWghOgaJpZM4bpvwa .

khurtwilliams commented 5 years ago

@snarfed Ironincally I used it for around 2 years before leaving, because I couldn't work out how to export my data from the app. Note to self, check the website as well /o\

@vipickering Untappd Supporters (US$5 per month) can extract data in CSV or JSON. Which is odd given that API access is FREE.

I've used Untappd for several years with over 1600 "check-ins". I

... these types of things are tracking an activity, with an optional checkin to a location.

Yes, that!!

edent commented 4 years ago

I've written some Python code for extracting data from the Untappd API. See https://shkspr.mobi/blog/2018/11/extracting-your-data-from-untappd/

IMO, checkins are primarily a review of the drink. There is associated metadata about the manufacturer (brewery). Optionally the review can include where you are, and potentially who you are with. Reviews can be "toasted" (liked) and commented on.

Here's the most complete checkin I could generate. It contains:

It does not contain:

See https://untappd.com/user/edent/checkin/803023641 for the web representation.

Full API Response ```js { "meta": { "code": 200, "response_time": { "time": 0.03, "measure": "seconds" }, "init_time": { "time": 0, "measure": "seconds" } }, "notifications": [], "response": { "checkin": { "checkin_id": 803023641, "created_at": "Mon, 09 Sep 2019 07:29:24 +0000", "rating_score": 4.5, "checkin_comment": "Borscht in a pint glass!", "user": { "uid": 46296, "user_name": "edent", "first_name": "Terence", "last_name": "E.", "relationship": "none", "location": "UK", "is_supporter": 0, "url": "https://shkspr.mobi/blog", "bio": "Long haired geek.", "user_avatar": "https://untappd.akamaized.net/profile/5d928465e29fec4375a2990ca2767852_thumb.jpg", "is_private": 0, "social": { "twitter": "edent", "foursquare": "56367" } }, "beer": { "bid": 3321418, "beer_name": "Dolly Aldrin - Beetroot And Apple Berliner Weisse", "beer_label": "https://untappd.akamaized.net/site/assets/images/temp/badge-beer-default.png", "beer_label_hd": "", "beer_style": "Sour - Berliner Weisse", "beer_abv": 3.3, "has_had": false, "beer_active": 1 }, "brewery": { "brewery_id": 130600, "brewery_name": "Yulli's Brews", "brewery_slug": "yulli-s-brews", "brewery_page_url": "/YullisBrews", "brewery_type": "Micro Brewery", "brewery_label": "https://untappd.akamaized.net/site/brewery_logos/brewery-130600_19bd8.jpeg", "country_name": "Australia", "contact": { "twitter": "", "facebook": "https://www.facebook.com/yullisbrews/", "instagram": "yullisbrews", "url": "" }, "location": { "brewery_city": "Surry Hills, Sydney", "brewery_state": "NSW", "lat": -33.8864, "lng": 151.214 }, "brewery_active": 1 }, "venue": { "venue_id": 2281178, "venue_name": "Beermash", "venue_slug": "beermash", "primary_category_key": "Nightlife Spot", "primary_category": "Nightlife Spot", "parent_category_id": "4d4b7105d754a06376d81259", "categories": { "count": 4, "items": [ { "category_key": "bar", "category_name": "Bar", "category_id": "4bf58dd8d48988d116941735", "is_primary": true }, { "category_key": "beer_bar", "category_name": "Beer Bar", "category_id": "56aa371ce4b08b9a8d57356c", "is_primary": false }, { "category_key": "beer_store", "category_name": "Beer Store", "category_id": "5370f356bcbc57f1066c94c2", "is_primary": false }, { "category_key": "wine_bar", "category_name": "Wine Bar", "category_id": "4bf58dd8d48988d123941735", "is_primary": false } ] }, "location": { "venue_address": "306 Smith St", "venue_city": "Collingwood", "venue_state": "VIC", "venue_country": "Australia", "lat": -37.8001, "lng": 144.984 }, "contact": { "twitter": "@beermashstore", "venue_url": "http://www.beermash.com.au/" }, "foursquare": { "foursquare_id": "546964b1498e7f9936f341a8", "foursquare_url": "http://4sq.com/1vgoxmR" }, "venue_icon": { "sm": "https://untappd.akamaized.net/venuelogos/venue_2281178_fc13e94d_bg_64.png", "md": "https://untappd.akamaized.net/venuelogos/venue_2281178_fc13e94d_bg_88.png", "lg": "https://untappd.akamaized.net/venuelogos/venue_2281178_fc13e94d_bg_176.png?v=1" }, "is_verified": true }, "comments": { "total_count": 1, "count": 1, "items": [ { "user": { "uid": 48732, "user_name": "summerbeth", "first_name": "liz", "last_name": "e.", "bio": "", "location": "", "relationship": "none", "is_supporter": 0, "user_avatar": "https://gravatar.com/avatar/6eee2e7de3fa336af65d552ae1ba77ae?size=100&d=https%3A%2F%2Funtappd.akamaized.net%2Fsite%2Fassets%2Fimages%2Fdefault_avatar_v3_gravatar.jpg%3Fv%3D2", "account_type": "user", "venue_details": [], "brewery_details": [] }, "checkin_id": 803023641, "comment_id": 54710954, "comment_owner": false, "comment_editor": false, "comment": "Yum!", "created_at": "Thu, 26 Dec 2019 21:23:47 +0000", "comment_source": "API" } ] }, "toasts": { "total_count": 1, "count": 1, "auth_toast": null, "items": [ { "uid": 48732, "user": { "uid": 48732, "user_name": "summerbeth", "first_name": "liz", "last_name": "e.", "bio": "", "location": "", "relationship": "none", "user_avatar": "https://gravatar.com/avatar/6eee2e7de3fa336af65d552ae1ba77ae?size=100&d=https%3A%2F%2Funtappd.akamaized.net%2Fsite%2Fassets%2Fimages%2Fdefault_avatar_v3_gravatar.jpg%3Fv%3D2", "account_type": "user", "venue_details": [], "brewery_details": [] }, "like_id": 761107533, "like_owner": false, "created_at": "Thu, 26 Dec 2019 21:23:39 +0000" } ] }, "media": { "count": 1, "items": [ { "photo_id": 252706242, "photo": { "photo_img_sm": "https://untappd.akamaized.net/photo/2019_09_09/b75350e35dab4e7eaed25ac15aead9f2_c_803023641_200x200.jpg", "photo_img_md": "https://untappd.akamaized.net/photo/2019_09_09/b75350e35dab4e7eaed25ac15aead9f2_c_803023641_640x640.jpg", "photo_img_lg": "https://untappd.akamaized.net/photo/2019_09_09/b75350e35dab4e7eaed25ac15aead9f2_c_803023641_1280x1280.jpg", "photo_img_og": "https://untappd.akamaized.net/photo/2019_09_09/b75350e35dab4e7eaed25ac15aead9f2_c_803023641_raw.jpg" } } ] }, "source": { "app_name": "Untappd for iPhone - (V2)", "app_website": "http://untpd.it/iphoneapp" }, "badges": { "retro_status": false, "count": 2, "items": [ { "badge_id": 34617, "user_badge_id": 563189993, "badge_name": "Hopped Down (Level 13)", "badge_description": "One cannot live on dank hops alone. Tone down the bitterness and enjoy some smooth flavor. That's 65 different beers with an IBU of 20 or below. Try 5 more for Level 14!", "created_at": "Mon, 09 Sep 2019 07:29:25 +0000", "badge_image": { "sm": "https://untappd.akamaized.net/badges/bdg_HoppedDown_sm.jpg", "md": "https://untappd.akamaized.net/badges/bdg_HoppedDown_md.jpg", "lg": "https://untappd.akamaized.net/badges/bdg_HoppedDown_lg.jpg" } }, { "badge_id": 523, "user_badge_id": 563189994, "badge_name": "Down Under (Level 6)", "badge_description": "Do you come from the land down under, where beer does flow, and men chunder? That's at least 30 different beers from Australia. Try 5 more for Level 7.", "created_at": "Mon, 09 Sep 2019 07:29:25 +0000", "badge_image": { "sm": "https://untappd.akamaized.net/badges/bdg_downUnder_sm.jpg", "md": "https://untappd.akamaized.net/badges/bdg_downUnder_md.jpg", "lg": "https://untappd.akamaized.net/badges/bdg_downUnder_lg.jpg" } } ] } } } } ```

There's also an API for notifications, which tells you if your checkin has been liked / commented on.

https://untappd.com/api/docs#notifications