Revisiting Open Source Social Networking Alternativ

Vad du ska skapa

Prata om 15 minuter av berömmelse: uppstart socialt nätverkande startar Ello brast på scenen i september med löften om en utopisk plattform för Facebook som respekterar användarens integritet. Jag blev förvånad över att se så många offentliga figurer och media enheter hoppa ombord - främst på grund av vad Ello är inte. Det är inte en öppen källkod, decentraliserad social nätverksteknik. Det är bara en annan privat, VC-finansierad silo.

Kanske blir jag upphetsad när BoingBoing postar det en gång till ("vi är inte helt säkra på vad vi gör här ännu") eller om jag får en inbjudan; antagligen inte.

I själva verket är vägen till en användbar socialt nätverksteknologi med öppen källkod belägen med wreckage av goda avsikter.

Kom ihåg diasporan? År 2010 höjde det $ 200 641 på Kickstarter för att ta på Facebook med "en öppen källkods personliga webbserver för att dela alla dina saker på nätet." Två år senare lämnade de väsentligen upp och lämnade sin kod till open source-gemenskapen för att fortsätta.

Vad sägs om OpenSocial? "Den här sidan kan hackas."

Gissa att det inte fungerade bra heller. Det var 2007, och räkna mig bland idealisterna med bleka drömmar. Jag behöll inte ens mina blogginlägg - du måste läsa dem på Archive.org.

Ännu idag forskar forskningen på sociala nätverk med öppna källor på nätet lite som att läsa om stjärnpar i underhållnings tabloids; Det är svårt att berätta vem som är daterad vem, vem är ensam och vem är fortfarande tillsammans.

Diaspora är fortfarande kvar. Identi.ca (inte förvirrad med Friendica) blev Status.net som nu är Pump.io men om du vill prova det måste du besöka Ephemeral Me. Det finns Tent.io som du brukade prova på Tent.is men är nu Cupcake.io. Diaspora och Tent ansågs samlas men bestämde sig inte för att. Fortfarande med mig? Bra, för Status.net är nu en del av GNU Social. Det finns Feedly som blev Stream Framework med SaaS kommersiella partner GetStream.io. Och glöm inte BuddyCloud eller Activity Streams-standarden. Och det är bara branding och relationsstatus, det säger ingenting om den faktiska kvaliteten, genomförbarheten eller statusen för dessa teknologier.

Om du inte är överväldigad än och har inte förtvivlat klickat tillbaka för att kontrollera ditt Facebook-konto, har någon på Wikipedia sammanställt denna tvivelaktiga jämförelse av programvara och protokoll för distribuerat socialt nätverk. Jag ber om ursäkt om jag slog ut eller missförstod ditt fantastiska projekt men ärligt folk, det är verkligen svårt för människor att räkna ut vad din teknik gör och om det är värt att undersöka.

För den här serien ska jag presentera dig för sex av dessa tekniker:

  1. diaspora
  2. Pump.io
  3. GNU Social
  4. Tent.io
  5. GetStream.io
  6. BuddyCloud

Denna artikel kommer kort gå igenom tillståndet för dessa lösningar, och i del två går jag igenom installationen av de mest övertygande deltagarna.

En översikt över aktuella teknologier

1. Diaspora

Diaspora är skrivet i Ruby och har en federerad servermodell med 54 "pods" running. Den senaste utgåvan var i september 2014. En bloggare rapporterade att i kölvattnet på Ellos VC-finansieringsupplysningar fördubblades Diaspora-användningen till 25 000 användare.

Du kan anmäla dig till någon av de öppna podarna som listas här, men lycka till att ta reda på vilka som kan vara bra att prova. Till exempel bestämde jag mig för att prova en av de mer folksamda "öppna" bockarna i USA, ShrekIsLove. Här är vad jag hittade:

 Typ av gör mig längtan efter en ren blå Facebook-logotyp. Anmälan är lite mjukare:

Så här ser profilens konfigurationssida ut:

Tidslinjesidan är mer användbar, även om utläggningen är lite grov runt kanterna. Enligt min åsikt, "du kan använda Markdown för att formatera ditt inlägg" är inte riktigt en positiv sak (ledsen @ gruber).

Förhandsgranskning är integrerad med geolocation och bilder men fortfarande lite grov runt kanterna:

Det finns några väldigt solida funktionella framsteg men det är fortfarande extremt grovt runt kanterna. Diaspora är verkligen inte död, men jag ser inte klart en bana än att vara något jag skulle anta.

2. Pump.io

Pump är ledd av öppen källkod för socialt nätverkande veteran Evan Prodromou och är skrivet i Node.js. Evan skrev Status.net men överförde den till GNU för att fokusera på den nya Pump.io-plattformen.

För att försöka Pump.io, registrera dig vid Ephemeral Me. Det är mycket rent och Twitter-liknande (ja, Bootstrap):

Här är registreringssidan:

Och profilanmälan:

Här är dialogrutan för inläggning som presenteras som om du skickar e-post till dina anhängare. Jag hittade användbarheten för utstationeringsfunktionen att vara lite dålig.

Så här ser strömmen ut. Jag såg ingen aktivitet här, så det var inte klart hur man ansluter till andra eller bygger mitt nätverk:

Detta är andra gången jag har provat Pump.io och varje gång jag har varit lite underwhelmed. De har gjort något solidt arbete men slutanvändarupplevelsen är ännu inte på en nivå som drar mig in.

3. GNU Social

GNU Social utvecklades från Prodromous Status.net-projekt och annan GNU-kod. Det är skrivet i PHP, vilket jag tycker är användbart för att upprätthålla öppen källkodsdeltagande.

Några av de offentliga nätverk som du kan gå med är Quitter (i olika länder):

Här är registreringssidan:

Tidslinje gränssnittet var överraskande rent och funktionellt. Jag kunde också snabbt hitta andra människor också. Utstationering var super enkel men med begränsad funktionalitet. Det här är för närvarande en Twitter-klon.

Jag blev positivt överraskad av hur rent gränssnittet var. Genom att försöka vara helt enkelt Twitter-liknande tror jag att de har gjort ett solidt jobb som ger några av de grundläggande funktionerna i ett federerat socialt nätverk.

4. Tent.io

Tält är ett offentligt API med primära implementeringar i Ruby; Jag kunde också hitta sekundära implementeringar i PHP. Det var svårt att bestämma statusen för Tent-implementeringar, både servrar och klient. Från vad jag kan berätta finns det ingen stabil referensservern kod tillgänglig ännu. Men Tent strävar efter att vara mer än många av de andra plattformarna, som du kommer att se.

För att prova Tent måste du besöka Cupcake.io (börjar du märka att ingen i detta utrymme tycker djupt om branding?):

Här är profilsidan - märk navigationen till vänster:

Här är tidslinjen och inläggningsfunktionen. En relativt ren Twitter-liknande presentation:

Här är ett exempel på var Tält går utöver de andra, t.ex. fildelning:

Och jag gillade att de har en API-konsol av olika typer inbyggda i deras klient:

Tent's Cupcake-klientens användbarhet var överlägset den renaste och bäst organiserade av alla plattformar. Jag finner emellertid deras dokumentation och länkar till kodning för att vara ganska ofullständiga och förvirrande i deras brist på detaljer. Utställning A: deras blogg har nästan inget innehåll. Jag tycker att arbetet här har merit och potential, men deras kommunikation behöver förbättras. Jag var bara inte säker på var jag skulle engagera mig. Faktum är att jag var lite oroad över att något engagemang skulle bli bortkastat.

5. Kommersiella Open Source Approaches

Jag bestämde mig för att kolla in ett par plattformar som betonar de kommersiella aspekterna av deras arbete samtidigt som de erbjuds via öppen källkod. Resultaten blandades.

a) GetStream.io

GetStream.io har en vackert utformad webbplats och en utmärkt handledning och dokumentation för att använda deras API. Grundaren Thierry skickade mig till och med ett bra email med länkar till några relevanta bibliotek efter att jag anmälde mig, vilket visade sig positivt. 

Medan de tydligt länkar till deras Python Stream Framework med öppen källkod, tycks deras tonvikt vara att hjälpa människor att använda sin värdbaserade plattform för att bygga privata etiketter sociala nätverk. För mig är detta mindre intressant än tillvägagångssättet för andra plattformar som är federerade och i stor utsträckning öppen källkod genom design:

Kolla in deras API-handledning, det är en bra del av pedagogisk design: 

De ger exempel på olika språk på hur man arbetar med API: n och visar effekten på en imaginär mobilapp:

b) BuddyCloud

BuddyCloud erbjuder sitt arbete öppen källkod och tillhandahåller ett API, men igen verkar det sakna betoning på federationen. 

Du kan demo BuddyCloud här:

Designen överklagade mig inte:

Vad har vi läst

Först låt oss ge kudos och en shoutout till alla dessa folk och de människor som jag inte hade tid att inkludera. Att ta tillbaka sociala nätverk i öppen källvikt är extremt viktigt, och dessa människor har lagt ett verkligt hjärta, tid och ansträngning i att bygga lösningar, många livskraftiga.

De har också gjort ett bra jobb med betoning av dataägarskap, API och öppen källkod. De ansträngningar de har lagt in för att bygga decentraliserade system är enormt viktigt.

Det finns några områden som jag tycker är fortfarande svaga runt:

  • Kommunikation och dokumentation för att beskriva vad de gör, dess status, vilken teknik och standarder de följer, och produktkartor.
  • Förtydligande vad deras önskemål är för decentralisering och driftskompatibilitet med andra nätverk.
  • Går bra på de viktigaste delarna av användarupplevelsen, som inlägg och tidslinje. Enkelheten att skicka till Facebook är en av de saker som får det att fungera så bra. Det finns mycket lite sofistikering på klientsidan, t.ex. Javascript / AJAX, med de flesta av dessa verktyg. Det måste vara mycket mer; Ghosts gränssnittsinsatser skulle vara en modell att lära av.

I nästa del av denna serie kommer jag att markera tillvägagångssätt som jag tror kommer att behövas för att öppen källkod ska lyckas med sociala nätverk. Och jag går dig genom att installera det bästa av dessa tekniker.

Om du har några synpunkter, förslag eller korrigeringar, lägg dem in i kommentarerna. Jag skulle särskilt vilja höra om jag saknade någon viktig teknik. 

Om du vill fortsätta med mina framtida Tuts + tutorials och andra serier, följ @reifman eller besök min författarsida.