Search

Items tagged with: activityPub


Rebuilding FourSquare for ActivityPub using OpenStreetMap
shkspr.mobi/blog/2024/01/rebui…

I used to like the original FourSquare. The "mayor" stuff was a bit silly, and my friends never left that many reviews, but I loved being able to signal to my friends "I am at this cool museum" or "We're at this pub if you want to meet" or "Spending the day at the park".

So, is there a way to recreate that early Web 2.0 experience with open data and ActivityPub? Let's find out!

This quest is divided into two parts.

  1. Get nearby "Points of Interest" (POI) from OpenStreetMap.
  2. Share a location on the Fediverse.


OpenStreetMap API


OpenStreetMap is the Wikipedia of maps. It is a freely available resource which anyone can edit (if they're skilled enough).

It also comes with a pretty decent API for querying things. For example, nw["amenity"]({{bbox}}); finds all "amenities" near a specific location.

Map of a part of London. Some parts are highlighted.

As you can see, it has highlighted some useful areas - a pharmacy and a pub. But it has ignored other useful locations - the train station and the park. It has also included some things that we may not want - bike parking and a taxi rank.

What API call is needed to get useful locations of of OverPass?

It's possible to specify the type of thing to find using nw["amenity"="restaurant"]; - but adding every single type of thing would quickly end up with a very large query containing hundreds of types.

It is also possible to exclude specific types of places. This retrieves all amenities except for fast food joints:

nw["amenity"]({{bbox}});-nw["amenity"="fast_food"]({{bbox}});

Again, that would be complex.

Perhaps one solution is just to return everything and let the user decide if they want to check in to a telephone kiosk or a fire hydrant? That's a bit user-hostile.

Instead, this query returns everything which has a name nw["name"]({{bbox}});

Map of London with several bits highlighted.

That cuts out any unnamed things - like park benches and car-sharing spots. But it does add named roads and train lines.

It is possible to use filters to exclude results from OverPass. The best that I can come up with is: nw["name"][!"highway"][!"railway"][!"waterway"][!"power"]({{bbox}});

That gets everything which has a name, but isn't a highway or railway or waterway or powerline. It isn't perfect - but it will do!

This is the query which will retrieve the 25 nearest things within 100 metres of a specific latitude and longitude. It includes the name and any other tags, the location, and the OSM ID.

;nw%5B%22name%22%5D%5B%21%22highway%22%5D%5B%21%22railway%22%5D%5B%21%22waterway%22%5D%5B%21%22power%22%5D(around:100,51.5202,-0.1040);out%20center%20qt%2025;]overpass-api.de/api/interpreter?data=[out:json];nw["name"][!"highway"][!"railway"][!"waterway"][!"power"](around:100,51.5202,-0.1040);out center qt 25;

ActivityPub


There's good news and bad news here. Firstly, ActivityStreams (which are subscribed to in ActivityPub) supports the concept of "Place" and "Location".

Once the user has a latitude and longitude, the can share it - along with a message, photo, or anything else.

Something like:

{    "@context": "https://www.w3.org/ns/activitystreams",    "type": "Note",    "content": "Here in NYC! <a href=\"https://www.openstreetmap.org/way/958999496\">John Lennon's Imagine Mosaic</a>.",    "attachment": [        {            "type": "Image",            "mediaType": "image\/jpeg",            "url": "https:\/\/fastly.4sqi.net\/img\/general\/590x786\/56367_9pxuZJD7d1hgPdaMFcFq1pipvTTMynBJsYcpHH-b8mU.jpg",            "name": "A photo of a mosaic which says 'Imagine'."        }    ],    "location": {        "name": "John Lennon's Imagine",        "type": "Place",        "longitude": 40.77563,        "latitude": -73.97474    }}

For example, here's a PixelFed post with an attached location - and this is the JSON representation. That status can be reposted into other social networks.

It is worth noting that Mastodon doesn't (natively) support location - if you view my repost of that PixelFed post you'll see there's no location metadata attached. That's OK! It just means that the status needs to include human-readable data.

Similarly, Mastodon doesn't support the arrive vocabulary. So this will be limited to a message with a location attached.

Other ActivityPub services do support location.

Putting it all together


Well… that's a job for next week. Probably!

  • Building a web site which gets the user's location is easy.
  • Getting the data from OverPass should be straightforward.
  • Creating an ActivityPub server which can post geotagged notes into the Fediverse might be a little beyond my skillset! Some testing with Darius Kazemi's AP Glitch suggests this should work.

If you'd like to help, please leave a comment.

shkspr.mobi/blog/2024/01/rebui…

#ActivityPub #fediverse #FOURSQUARE #geolocation #OpenStreetMap



We just released version 2.0.0 of the #ActivityPub plugin for #WordPress (WordPress.com release is planned for tomorrow).

Main feature: Full bidirectional/threaded comment federation 🎉

Full Changelog: github.com/Automattic/wordpres…

Thanks #Automattic @mattwiebe @kanru @linos @mediaformat @mat @webrocker @sentynel and @janboddez for your contributions

wordpress.org/plugins/activity…








The JSON-LD Playground web app is very useful for validating or exploring #ActivityPub data. However, if you prefer the command line or want to integrate Playground-like functionality into scripts, the ld-cli program could be useful. It’s definitely been useful for me. Features include: expand, compress, flatten, frame and conversion to/from RDF (N-Quads).

github.com/filip26/ld-cli github.com/filip26/ld-cli6



I've created a new git repository with JSON Schema definitions for several Fediverse protocols and data formats, including Activity Streams 2.0, #ActivityPub, JSON Resource Description (Webfinger, Nodeinfo), and Mastodon [WIP]. There are automated tests that validate the W3C AS2 test corpus (a fork with bug fixes), examples from the AP spec and Mastodon AP docs, and others.
github.com/steve-bate/fedivers…


friendica VPS setup on ubuntu 22.04 LTS


@Friendica Support

Hi,
I'm working on my first #friendica #VPS installation, here you'll find my initial post about general thoughts like what distro to use, size and costs.
I'm using the tutorial "creating a friendica server - ubuntu" by @Hank G ☑️.

As of now I'm doing well in the process and want to start this post to document differences and questions while installing the server.

This server is going to host an already existing friendica node I have to move from another hosting provider. That means that for example the DB doesn't have to be created from scratch but moved and other smaller details.

I will try to address the different steps of installation in answers to this post and appreciate help, ideas and observations.

I'm doing this from a #linux desktop environment from the console but there shouldn't be differences if you want to do this from a #windows machine.

#fediVerse #tutorial #fediHelp #activityPub


Integrujte WordPress nejen s Mastodonem

Tento týden společnost Automattic oznámila dostupnost pluginu ActivityPub na Wordpress.com. Tento plugin si ale můžete nainstalovat i do vlastní instance Wordpressu, udělat ze svého blogu součást sítě Fediverse a přímo komunikovat nejen s uživateli Mastodonu. Přečtěte si, jak na to.

#ActivityPub #blog #fediverse #Mastodon #sociálníSítě #wordpress

blog.eischmann.cz/2023/10/14/i…


@jachym Je to náhrada Instagramu. Pixelfed je také #fediverse a #ActivityPub podobně jako Mastodon. Jsou tam otevřené registrace. Platba je dobrovolná, jinak je zdarma. Zatím nejsou oficiální aplikace, je zatím v testování, ale funguje dobře.
Místo Google Photos je super Immich. Mám ho také na serveru. Ten jsem chtěl nabízet za menší poplatek na provoz na subdoméně jmeno.mycloud.photos. Třeba někdo využije s rodinou.


Tomorrow I'll be doing a presentation about the #ActivityPub API at the O'Reilly Media event "APIs: Possibilities and Pitfalls". I'm excited!

oreilly.com/live-events/apis-p…




I’ve promised enough people this, so I had to do it! 😁

Here’s my write-up of how I added client-side Fediverse-powered comments to my Jekyll blog using the Mastodon API.

Huge props to @jwildeboer for the initial inspiration, as well as @julian and everyone who provided feedback for inspiring the design improvements.

cassidyjames.com/blog/fedivers…

✨💬 Reply to this thread then check the blog post comments to see it in action!

#Mastodon #Jekyll #WebDevelopment #ActivityPub #design


Eventually #Meta will have the final say when it comes to #ActivityPub. Like how all word processors must support .docx, and all websites are built with Chromium compatibility in mind.

This is how you take over an open protocol.

"Embrace, extend, extinguish."

7/🧵


Svět #fediverse není jen Mastodon. Možná někdo využije náš PixelfedCZ, který byl vytvořen jako open-source alternativa k Instagramu, která by umožnila uživatelům sdílet své fotografie a videa bez zásahu externích společností. Nebo díky ActivityPub, je možné sledovat uživatelé třeba s Pixelfed na platformě Mastodon.
#pixelfed :pixelfed:
#activitypub
#mastodon :mastoblush:
#tip_mastodon
pixelfed.cz


@Nuno @amitten Well, I'd say it depends a lot on the concrete situation. Many #activitypub devs have seen how historically companies like Meta & Google have applied a Trojan horse strategy, to eventually take over the small spaces that decentralized and/or FOSS projects had opened. The #XMPP case comes to mind, but it also encompasses how the whole web has become.

If to put in place measures to avoid that happening to the #Fediverse is being a fanatic, long live the fanatics! 😃



Wow. Wordpress just announced they have to drop support for Twitter in their Jetpack post sharing plug-in as they haven’t been able to reach agreement with Twitter for access. They are committing to adding support for Mastodon!
The majority of the Web’s individually run websites are Wordpress! It’s ON!!

#TwitterMigration #TwitterBroken #Mastodon #activityPub #Fediverse



Yes, but that is still not good. Within ActivityPub, one cannot write a *message* that, a priori, is known to be correctly readable by any of the intended recipients -- unless it is a short (< 500 bytes) text in plain ascii, with no italics, boldface, or other markup, and no embedded images... >>

#Fediverse #ActivityPub #FediverseFragmentation


Meta: Fediverse


Yes #itWorksLikeEmail but still I really don't understand how #friendica works. For example on this thread libranet.de/display/0b6b25a8-1… the original post was sent to 103 remote servers, my friend digit@iviv.hu commented on it. My response to his comment was sent to 24 servers, but my response to my own comment was sent to 105 servers. I suspect him being on Diaspora* and most of my contacts being on platforms like #Mastodon than only support #ActivityPub has an influence here.

If I try to reference the same post from my Masto account, I thought it would look super weird, like I was talking to myself in a way that didn't make any sense, but I actually only see the OP https://hostux.social/@fu@libranet.de/109835482564374801 while when I search for my later comment I see it libranet.de/display/0b6b25a8-2… and the comment of my own I was replying to, but not the OP !Friendica Support


The #Mastodon server and #Matrix homeserver don't have to be colocated. E.g. you could be on mymastodon.example.com and hook it up to your matrix a/c on matrix.org. The larger #ActivityPub instances could use a small Matrix homeserver for it users without a declared matrix address, and automatically create a matrix a/c for them for the sole purpose of DMing.

The architectural possibilities are quite wide, I suspect.




OK, well this is getting far more interesting for me! 😎
Given the open nature of the #ActivityPub protocol, it is possible to pull in the Instagram alternative, Pixelfed, into your Mastodon Home Timeline.
This is great for those looking for an alternative to Instagram, but not wanting to use yet another app.

Here is another short video on how this works and how you can use it yourself!
#twittermigration #twitterexodus #Instagram #Pixelfed #feditips

youtu.be/iPq-NqtTEqU



4 years using and championing the #fediverse full time and I've never written a #introductions toot. Well, or I have and can't find it.

I'm a #blind guy from 🇬🇧 with a passion for #technology and #programming, particularly #lowLevel #systemsProgramming in #C, #C++, #Rust, etc.

I've been a huge #freeSoftware / #openSource advocate for the majority of my life. I run #Linux and I love open, #decentralised technologies like #ActivityPub, #Matrix, #bitTorrent etc.

In my view, technology is built to make our lives easier, and in many ways, it isn't these days. It is truly my opinion that the only way #tech can be sustainable is if it's built using #FOSS, and does not give ultimate control to any 1 entity, individual or corporate. If technology is to help the people, it must be built *for* the people.

Currently working on odilia.app, various projects with the rest of the Lower Elements gang at lowerelements.club, and a Computing Science BSC at the #University of #stirling



@mike Wow. I was just telling my team this morning that I'd read the #ActivityPub spec last week and said "It's possibly the best written, easiest-to-follow, technical spec I've ever read.". Thank you for writing something so easy to follow and well thought out.


Today I discovered another “single process baked by SQLite” implementation of ActivityPub: github.com/toddsundsted/ktiste…

I really like that open protocols enable experimentation on the server side as well as on the client side

#ActivityPub #ktistec