Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
We Distribute
  1. Home
  2. General Discussion
  3. Jack Dorsey skipped ActivityPub, built AtProto, lost Twitter, funded Bluesky, watched it become a company with VCs and a board, said it was "repeating all the mistakes," left, and now funds Nostr.

Jack Dorsey skipped ActivityPub, built AtProto, lost Twitter, funded Bluesky, watched it become a company with VCs and a board, said it was "repeating all the mistakes," left, and now funds Nostr.

Scheduled Pinned Locked Moved General Discussion
272 Posts 54 Posters 4 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • evan@cosocial.caE evan@cosocial.ca

    @sheislaurence That is an awesome question. I'm not sure!

    There's a good landing page here with a lot of links to explore.

    Link Preview Image
    Atprotocol

    ATProto was developed by [[Bluesky]] as an open social protocol. The AT Protocol is a networking technology created to power the next generation of social a...

    favicon

    Boris Mann's Homepage (bmannconsulting.com)

    @reflex @dansup @quillmatiq

    boris@cosocial.caB This user is from outside of this forum
    boris@cosocial.caB This user is from outside of this forum
    boris@cosocial.ca
    wrote last edited by
    #100

    @evan @sheislaurence that’s a sort of bookmark on my own site and is pretty protocol focused.

    @sheislaurence I help support a number of ATProto community resources.

    Community blog https://atprotocol.dev and forum https://discourse.atprotocol.community, and I have some collected bookmarks of good articles https://semble.so/profile/bmann.ca/collections/3m5u77miiyf2h

    Fun fact: that Semble site is also ATProto powered and you use your same account to store bookmarks

    1 Reply Last reply
    0
    • evan@cosocial.caE evan@cosocial.ca

      @sheislaurence That is an awesome question. I'm not sure!

      There's a good landing page here with a lot of links to explore.

      Link Preview Image
      Atprotocol

      ATProto was developed by [[Bluesky]] as an open social protocol. The AT Protocol is a networking technology created to power the next generation of social a...

      favicon

      Boris Mann's Homepage (bmannconsulting.com)

      @reflex @dansup @quillmatiq

      sheislaurence@mastodon.socialS This user is from outside of this forum
      sheislaurence@mastodon.socialS This user is from outside of this forum
      sheislaurence@mastodon.social
      wrote last edited by
      #101

      @evan @boris @reflex @dansup @quillmatiq will you forgive me cos I asked Gemini😂: Destroy as suitable. Under dependency challenges, it says:
      - Identity Dependency: did:plc directory Bsky owned
      - "Centralized Indexing: users can host their own PDS, but rely on "relays" to discover other users. Currently, the main relay is operated by Bky. Replacing this requires significant compute power."
      - "Atproto's adoption depends on it having a "killer app" other than the initial microblogging client"

      boris@cosocial.caB wjmaggos@liberal.cityW 2 Replies Last reply
      0
      • mastodonmigration@mastodon.onlineM mastodonmigration@mastodon.online

        @thisismissem @baralheia

        It would seem like this 'global scale' difficulty relates to the aforesaid 'quadratic scaling' issue raised by @cwebber

        If, in fact this is true, it is very hard to see how the protocol is actually viable as a broadly decentralized protocol.

        Would love to have someone knowledgeable address this.

        Mastodon Migration (@mastodonmigration@mastodon.online)

        @FediThing@chinwag.org One thing AT Proto advocates studiously ignore are discussions about whether AT Proto is actually capable of being truly decentralized. @cwebber@social.coop has raised the issue of quadratic scaling of the network as it goes wide (more instances). If this is true, and no one has refuted it, then it will be effectively impossible for the network to accommodate more large instances. https://dustycloud.org/blog/re-re-bluesky-decentralization/ (see section on quadratic scaling) #ATProrocol #Bluesky #QuadraticScaling

        favicon

        Mastodon (mastodon.online)

        thisismissem@hachyderm.ioT This user is from outside of this forum
        thisismissem@hachyderm.ioT This user is from outside of this forum
        thisismissem@hachyderm.io
        wrote last edited by
        #102

        @mastodonmigration @baralheia @cwebber no, I mean, processing 2.4 billion posts, 3.4 billion follows, and 13.6 billion likes is a metric shittone of data to process. Serving up feeds to 42 million users (10-15 million monthly active) requires a lot of processing.

        Stats from: https://bsky.jazco.dev/stats

        It's not even talking about communication at a network layer between PDSes, Relays, and AppViews. That's a different matter, which is where Christine was mostly talking, iirc.

        mastodonmigration@mastodon.onlineM stefan@stefanbohacek.onlineS 2 Replies Last reply
        0
        • band@hachyderm.ioB band@hachyderm.io

          @thisismissem @evan @dansup @quillmatiq and for my MassiveWiki project I want both AT and AP interop. I think we just need a few bridges to use and experiment with. (nonetheless, he persists)

          thisismissem@hachyderm.ioT This user is from outside of this forum
          thisismissem@hachyderm.ioT This user is from outside of this forum
          thisismissem@hachyderm.io
          wrote last edited by
          #103

          @band @evan @dansup @quillmatiq well, @quillmatiq is involved in Bridgy Fed, and it's open source, so, there's maybe a starting point. You could probably also re-use the https://standard.site lexicon

          1 Reply Last reply
          0
          • sheislaurence@mastodon.socialS sheislaurence@mastodon.social

            @evan @boris @reflex @dansup @quillmatiq will you forgive me cos I asked Gemini😂: Destroy as suitable. Under dependency challenges, it says:
            - Identity Dependency: did:plc directory Bsky owned
            - "Centralized Indexing: users can host their own PDS, but rely on "relays" to discover other users. Currently, the main relay is operated by Bky. Replacing this requires significant compute power."
            - "Atproto's adoption depends on it having a "killer app" other than the initial microblogging client"

            boris@cosocial.caB This user is from outside of this forum
            boris@cosocial.caB This user is from outside of this forum
            boris@cosocial.ca
            wrote last edited by
            #104

            @sheislaurence did:plc is spinning out to an independent org, relays are only necessary for things at scale (& aren’t used for user discovery), and relays currently cost $20/month for 42M accounts.

            I presented at Fedicon last year about a selection of the many apps being built https://bmannconsulting.com/notes/beyond-microblogging-atproto/

            For completeness, because of account architecture, ATProto doesn’t have a private data option today.

            sheislaurence@mastodon.socialS 1 Reply Last reply
            0
            • thisismissem@hachyderm.ioT thisismissem@hachyderm.io

              @mastodonmigration @baralheia @cwebber no, I mean, processing 2.4 billion posts, 3.4 billion follows, and 13.6 billion likes is a metric shittone of data to process. Serving up feeds to 42 million users (10-15 million monthly active) requires a lot of processing.

              Stats from: https://bsky.jazco.dev/stats

              It's not even talking about communication at a network layer between PDSes, Relays, and AppViews. That's a different matter, which is where Christine was mostly talking, iirc.

              mastodonmigration@mastodon.onlineM This user is from outside of this forum
              mastodonmigration@mastodon.onlineM This user is from outside of this forum
              mastodonmigration@mastodon.online
              wrote last edited by
              #105

              @thisismissem @baralheia @cwebber

              Hmmm... please excuse the layman's understanding of these matters, but it does seem like this relates to traffic at the network layer. What you are saying is that the difficulty for the smaller instance in scaling is "serving up feeds for 42 million users." With ActivityPub the first request would transfer a single copy to a cache on the requesting instance and subsequent requests would not generate any traffic. This is why AP is able to scale linearly.

              thisismissem@hachyderm.ioT 1 Reply Last reply
              0
              • mastodonmigration@mastodon.onlineM mastodonmigration@mastodon.online

                @thisismissem @baralheia @cwebber

                Hmmm... please excuse the layman's understanding of these matters, but it does seem like this relates to traffic at the network layer. What you are saying is that the difficulty for the smaller instance in scaling is "serving up feeds for 42 million users." With ActivityPub the first request would transfer a single copy to a cache on the requesting instance and subsequent requests would not generate any traffic. This is why AP is able to scale linearly.

                thisismissem@hachyderm.ioT This user is from outside of this forum
                thisismissem@hachyderm.ioT This user is from outside of this forum
                thisismissem@hachyderm.io
                wrote last edited by
                #106

                @mastodonmigration @baralheia @cwebber so ingesting all the data for Bluesky does take time & resources, but it is doable: @FedicaHQ have actually done this, as have Blacksky. There's probably others too.

                The AppView acts as a cache for this data. The cost is due to the sheer scale of the dataset, and in computing the feeds & notifications for however many million users.

                The other cost is CDN and Moderation, which are kinda expensive at scale, however, definitely aren't costs unfamiliar for AP servers too.

                Mastodon does an interesting design choice by stopping producing feeds for users that haven't been active for a while.

                There's also been plenty of fediverse applications that have had issues with feed generation (Firefish, Hollo, and others have had issues in the past if memory serves).

                So yeah, if you only need to serve feeds for say a dozen users and don't need the full network's worth of data, then it's cheaper.

                But the article that Christine wrote was more about the network bandwidth between the components and how that scales. Which is a very different matter.

                thisismissem@hachyderm.ioT 1 Reply Last reply
                0
                • thisismissem@hachyderm.ioT thisismissem@hachyderm.io

                  @mastodonmigration @baralheia @cwebber so ingesting all the data for Bluesky does take time & resources, but it is doable: @FedicaHQ have actually done this, as have Blacksky. There's probably others too.

                  The AppView acts as a cache for this data. The cost is due to the sheer scale of the dataset, and in computing the feeds & notifications for however many million users.

                  The other cost is CDN and Moderation, which are kinda expensive at scale, however, definitely aren't costs unfamiliar for AP servers too.

                  Mastodon does an interesting design choice by stopping producing feeds for users that haven't been active for a while.

                  There's also been plenty of fediverse applications that have had issues with feed generation (Firefish, Hollo, and others have had issues in the past if memory serves).

                  So yeah, if you only need to serve feeds for say a dozen users and don't need the full network's worth of data, then it's cheaper.

                  But the article that Christine wrote was more about the network bandwidth between the components and how that scales. Which is a very different matter.

                  thisismissem@hachyderm.ioT This user is from outside of this forum
                  thisismissem@hachyderm.ioT This user is from outside of this forum
                  thisismissem@hachyderm.io
                  wrote last edited by
                  #107

                  @mastodonmigration @baralheia @cwebber An AppView typically consumes data from a single full-network relay, with failover. A PDS typically has subscriptions from 1 or more relays for data. There are also some relays that just consume other relays.

                  Adding more PDSes means more connections for relays, adding more relays means more subscriptions to individual PDSes for data.

                  There's like, a dozen or so relays operating in full-network mode, as far as I know, and relays don't do archival anymore, which was the largest cost.

                  baralheia@dragonchat.orgB mastodonmigration@mastodon.onlineM 2 Replies Last reply
                  0
                  • thisismissem@hachyderm.ioT thisismissem@hachyderm.io

                    @mastodonmigration @baralheia @cwebber An AppView typically consumes data from a single full-network relay, with failover. A PDS typically has subscriptions from 1 or more relays for data. There are also some relays that just consume other relays.

                    Adding more PDSes means more connections for relays, adding more relays means more subscriptions to individual PDSes for data.

                    There's like, a dozen or so relays operating in full-network mode, as far as I know, and relays don't do archival anymore, which was the largest cost.

                    baralheia@dragonchat.orgB This user is from outside of this forum
                    baralheia@dragonchat.orgB This user is from outside of this forum
                    baralheia@dragonchat.org
                    wrote last edited by
                    #108

                    @thisismissem @mastodonmigration @cwebber is there a list or directory of independent Bluesky relays and AppViews somewhere?

                    mackuba@martianbase.netM 1 Reply Last reply
                    0
                    • boris@cosocial.caB boris@cosocial.ca

                      @sheislaurence did:plc is spinning out to an independent org, relays are only necessary for things at scale (& aren’t used for user discovery), and relays currently cost $20/month for 42M accounts.

                      I presented at Fedicon last year about a selection of the many apps being built https://bmannconsulting.com/notes/beyond-microblogging-atproto/

                      For completeness, because of account architecture, ATProto doesn’t have a private data option today.

                      sheislaurence@mastodon.socialS This user is from outside of this forum
                      sheislaurence@mastodon.socialS This user is from outside of this forum
                      sheislaurence@mastodon.social
                      wrote last edited by
                      #109

                      @boris thank you!

                      1 Reply Last reply
                      0
                      • thisismissem@hachyderm.ioT thisismissem@hachyderm.io

                        @mastodonmigration @baralheia @cwebber An AppView typically consumes data from a single full-network relay, with failover. A PDS typically has subscriptions from 1 or more relays for data. There are also some relays that just consume other relays.

                        Adding more PDSes means more connections for relays, adding more relays means more subscriptions to individual PDSes for data.

                        There's like, a dozen or so relays operating in full-network mode, as far as I know, and relays don't do archival anymore, which was the largest cost.

                        mastodonmigration@mastodon.onlineM This user is from outside of this forum
                        mastodonmigration@mastodon.onlineM This user is from outside of this forum
                        mastodonmigration@mastodon.online
                        wrote last edited by
                        #110

                        @thisismissem @baralheia @cwebber

                        Still not seeing it. On the ingest side, traffic should only be proportional to total users on that node. If a node is smaller it should only generate network data traffic to service its own users. Actually less than that due to caching.

                        The beauty of AP seems to be precisely that it uses caching to enable individual nodes to scale storage and processing linearly both as regards serving and ingesting data.

                        thisismissem@hachyderm.ioT 1 Reply Last reply
                        0
                        • mastodonmigration@mastodon.onlineM mastodonmigration@mastodon.online

                          @thisismissem @baralheia @cwebber

                          Still not seeing it. On the ingest side, traffic should only be proportional to total users on that node. If a node is smaller it should only generate network data traffic to service its own users. Actually less than that due to caching.

                          The beauty of AP seems to be precisely that it uses caching to enable individual nodes to scale storage and processing linearly both as regards serving and ingesting data.

                          thisismissem@hachyderm.ioT This user is from outside of this forum
                          thisismissem@hachyderm.ioT This user is from outside of this forum
                          thisismissem@hachyderm.io
                          wrote last edited by
                          #111

                          @mastodonmigration @baralheia @cwebber right, so on the ingest side, if you want to build an application that is ingesting all the data from bluesky, then you'd be asking the relay for all records targeting the app.bsky.* NSID and all events about repositories that contain the app.bsky.actor.profile record.

                          That's 42 million accounts across however many PDSes.

                          That's specifically for an AppView where you *want* a full network copy of all microblogging data. That's obviously going to be expensive.

                          You can also build a system where you say "Actually, only give me data from these accounts" (partial network copy). Konbini is one such project: https://github.com/whyrusleeping/konbini

                          Doll's Aurora Prism is another project in this space: https://github.com/dollspace-gay/Aurora-Prism

                          If I build an app with my own lexicon, I don't need to process all that bluesky data. I process only the data for accounts using my application.

                          thisismissem@hachyderm.ioT baralheia@dragonchat.orgB 2 Replies Last reply
                          0
                          • kkarhan@infosec.spaceK This user is from outside of this forum
                            kkarhan@infosec.spaceK This user is from outside of this forum
                            kkarhan@infosec.space
                            wrote last edited by
                            #112

                            @dansup and #Nostr too is kinda meh…

                            1 Reply Last reply
                            0
                            • georgebaily@mastodon.socialG This user is from outside of this forum
                              georgebaily@mastodon.socialG This user is from outside of this forum
                              georgebaily@mastodon.social
                              wrote last edited by
                              #113

                              @dansup I'm laughing out loud at how bad the Nostr homepage copy is. What's that law where techbros building communication tools don't understand that communication is important....?

                              Link Preview Image
                              1 Reply Last reply
                              0
                              • thisismissem@hachyderm.ioT thisismissem@hachyderm.io

                                @mastodonmigration @baralheia @cwebber right, so on the ingest side, if you want to build an application that is ingesting all the data from bluesky, then you'd be asking the relay for all records targeting the app.bsky.* NSID and all events about repositories that contain the app.bsky.actor.profile record.

                                That's 42 million accounts across however many PDSes.

                                That's specifically for an AppView where you *want* a full network copy of all microblogging data. That's obviously going to be expensive.

                                You can also build a system where you say "Actually, only give me data from these accounts" (partial network copy). Konbini is one such project: https://github.com/whyrusleeping/konbini

                                Doll's Aurora Prism is another project in this space: https://github.com/dollspace-gay/Aurora-Prism

                                If I build an app with my own lexicon, I don't need to process all that bluesky data. I process only the data for accounts using my application.

                                thisismissem@hachyderm.ioT This user is from outside of this forum
                                thisismissem@hachyderm.ioT This user is from outside of this forum
                                thisismissem@hachyderm.io
                                wrote last edited by
                                #114

                                @mastodonmigration @baralheia @cwebber in Christine's article (and I've just spoken with her about it), it assumes a network topology that does not exist in the real world.

                                It assumes that every user is on a different pds, and every user runs a full network relay. The reality is that multiple users are usually on a single PDS, and there's only like 12 relays.

                                - 2 from bluesky (+ 1 deprecated)
                                - 2 from hose.cam
                                - 1 from blacksky
                                - 1 from upcloud
                                - 3 from firehose.network

                                plus a few more from various people.

                                In the ActivityPub ecosystem for every user to message every other user, you need connections between 30,000 servers.

                                For the same in AT Protocol, you need connections between N PDS to one or more relays (most use the bluesky relay, which others get their list of PDSes from).

                                thisismissem@hachyderm.ioT cwebber@social.coopC 2 Replies Last reply
                                0
                                • thisismissem@hachyderm.ioT thisismissem@hachyderm.io

                                  @mastodonmigration @baralheia @cwebber in Christine's article (and I've just spoken with her about it), it assumes a network topology that does not exist in the real world.

                                  It assumes that every user is on a different pds, and every user runs a full network relay. The reality is that multiple users are usually on a single PDS, and there's only like 12 relays.

                                  - 2 from bluesky (+ 1 deprecated)
                                  - 2 from hose.cam
                                  - 1 from blacksky
                                  - 1 from upcloud
                                  - 3 from firehose.network

                                  plus a few more from various people.

                                  In the ActivityPub ecosystem for every user to message every other user, you need connections between 30,000 servers.

                                  For the same in AT Protocol, you need connections between N PDS to one or more relays (most use the bluesky relay, which others get their list of PDSes from).

                                  thisismissem@hachyderm.ioT This user is from outside of this forum
                                  thisismissem@hachyderm.ioT This user is from outside of this forum
                                  thisismissem@hachyderm.io
                                  wrote last edited by
                                  #115

                                  @mastodonmigration @baralheia @cwebber on activitypub, if I have 30,000 followers (1 follower per server), and I want to post a message, my server has to send out 30,000 messages.

                                  In AT Protocol, if I want to do the same write operation, I send one http request to my PDS, the PDS then publishes that message to N connected relays (where N =< 12)

                                  mastodonmigration@mastodon.onlineM ricci@discuss.systemsR 2 Replies Last reply
                                  0
                                  • alexchapman@tweesecake.socialA alexchapman@tweesecake.social

                                    @quillmatiq @evan @dansup I have been thinking about trying to do some sort of protocol bridging with my project Fedi+ but then that runs the risk of people like FediTips getting on the wrong side of things being like oh Fedi+ interacts with fashists or whatever all because of the protocol being associated with Bluesky, which verified ICE and other US government accounts, and so on. My goal with Fedi+ is to not only create that vibe people loved when Google+ was around, but also to make it super easy for people who don't care about Mastodon or ActivityPub or whatever to join on and not even need to think about the protocols behind the scenes.

                                    gbargoud@masto.nycG This user is from outside of this forum
                                    gbargoud@masto.nycG This user is from outside of this forum
                                    gbargoud@masto.nyc
                                    wrote last edited by
                                    #116

                                    @alexchapman @quillmatiq @evan @dansup

                                    Have you looked at WAFRN for inspiration on the dual protocol side of things

                                    alexchapman@tweesecake.socialA 1 Reply Last reply
                                    0
                                    • gbargoud@masto.nycG gbargoud@masto.nyc

                                      @alexchapman @quillmatiq @evan @dansup

                                      Have you looked at WAFRN for inspiration on the dual protocol side of things

                                      alexchapman@tweesecake.socialA This user is from outside of this forum
                                      alexchapman@tweesecake.socialA This user is from outside of this forum
                                      alexchapman@tweesecake.social
                                      wrote last edited by
                                      #117

                                      @gbargoud @quillmatiq @evan @dansup Ye they do something where you enable the integration and it sets up some sort of additional account thing, kinda complex.

                                      1 Reply Last reply
                                      0
                                      • thisismissem@hachyderm.ioT thisismissem@hachyderm.io

                                        @mastodonmigration @baralheia @cwebber right, so on the ingest side, if you want to build an application that is ingesting all the data from bluesky, then you'd be asking the relay for all records targeting the app.bsky.* NSID and all events about repositories that contain the app.bsky.actor.profile record.

                                        That's 42 million accounts across however many PDSes.

                                        That's specifically for an AppView where you *want* a full network copy of all microblogging data. That's obviously going to be expensive.

                                        You can also build a system where you say "Actually, only give me data from these accounts" (partial network copy). Konbini is one such project: https://github.com/whyrusleeping/konbini

                                        Doll's Aurora Prism is another project in this space: https://github.com/dollspace-gay/Aurora-Prism

                                        If I build an app with my own lexicon, I don't need to process all that bluesky data. I process only the data for accounts using my application.

                                        baralheia@dragonchat.orgB This user is from outside of this forum
                                        baralheia@dragonchat.orgB This user is from outside of this forum
                                        baralheia@dragonchat.org
                                        wrote last edited by
                                        #118

                                        @thisismissem @mastodonmigration @cwebber Side tangent: if you build your own app that uses a different Lexicon than Bluesky, can you still interoperate with BlueSky users? Because for many, the desire is to have things operate like the Fediverse, where (for one example) a post on Loops can be seen in the home timeline for a Mastodon user, et al.

                                        thisismissem@hachyderm.ioT 1 Reply Last reply
                                        0
                                        • baralheia@dragonchat.orgB baralheia@dragonchat.org

                                          @thisismissem @mastodonmigration @cwebber Side tangent: if you build your own app that uses a different Lexicon than Bluesky, can you still interoperate with BlueSky users? Because for many, the desire is to have things operate like the Fediverse, where (for one example) a post on Loops can be seen in the home timeline for a Mastodon user, et al.

                                          thisismissem@hachyderm.ioT This user is from outside of this forum
                                          thisismissem@hachyderm.ioT This user is from outside of this forum
                                          thisismissem@hachyderm.io
                                          wrote last edited by
                                          #119

                                          @baralheia @mastodonmigration @cwebber you'd need to write a record in your own lexicon and then write a cross-post record in the Bluesky lexicon, for the post to show up on bluesky feeds.

                                          For instance, I wrote a review on popfeed.social: https://popfeed.social/review/at:/did:plc:5w4eqcxzw5jv5qfnmzxcakfy/social.popfeed.feed.review/3mezfspxcbk2j

                                          And when I did that, I opted to cross-post to bluesky: https://bsky.app/profile/thisismissem.social/post/3mezfv3ydp22j

                                          However, such a conversion is inherently lossy. This is true for ActivityPub as well.

                                          You can also write an application that uses the bluesky social graph whilst writing records to your own lexicon without doing bluesky posts.

                                          Or you can have your own social graph. Maybe instead of following people (actors in AP) you're actually following topics, or hashtags, or a website. The AP concept of "following" is limited to following an Actor, which is something that can send and receive activities, where as on AT Protocol, "following" is an application concern where you work with links between data.

                                          thisismissem@hachyderm.ioT 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups