Some basic #search on #Socialhome finally starting to come together. Only on my personal node atm though. Explains why many people got a follow from me just now as I'm eagerly searching and following people from my #diaspora contacts :) Remote direct match lookup is still to come though, so can't reach all pods who don't push over the relay system (btw, you should!). Currently the search is for profiles only. Tags will be added soon, after that full text for content.
On the technical side, after prototyping some solutions, went with
django-haystack for the search framework and
whoosh for the engine. Whoosh is a pure #Python backend with a file index. While this might not offer the performance we will need for large index full text search (from all content!), using Haystack on top means we can just switch transparently to #Elasticsearch at any time without touching pretty much any code - or even support using one or the other. Some people running nodes might not want to install ES.
Landing soon in master, you can try it at my own site if you are interested. It's basic but works.
One of the central parts here is replacing the current streams with a #VueJS app, for performance and code architecture reasons.
This is a living draft that will be updated as time goes. Feedback welcome, especially from Vue hackers!
Using Waffle.io for a #Kanban board in #Socialhome. Recently they introduced creating #GitHub labels via their UI. I've always felt GitHub makes creating labels unnecessarily complex, not being able to create one through the issue creation page. In Waffle you can now.
If you need a lightweight Kanban board for your project on GitHub, make sure to check out Waffle.
Contact management lands
You can now access contacts you follow via the navbar "Contacts" menu item. This allows visiting contact profiles and unfollowing them. Check it out and let us know of any improvement ideas!
Next will add contact search. Will also add a "followers" contacts version at some point in the future.
About the following model
Socialhome following is done the way it works on #Twitter, ie the asymmetric model. This is why we call it "following" instead of "sharing" as in #Diaspora. There is no requirement of creating a social connection with someone to share with them. Following basically just means "I want to see this persons posts in my followed stream". It doesn't give the followed person any extra visibility to your posts or profile.
In the future once non-public content support lands (currently everything is "public"), there will be a way to manage aspect like groups for purely targeting content. Adding a person to this kind of list is separate from following. In other words, you don't need to follow someone to include them in a contact list. This is the "sharing" side that for example Diaspora has included in the "follow" side.
The contact management page will be refined as different kinds of contacts are available. Currently there are only "people I follow" and "people who follow me".
Give Socialhome a try at https://socialhome.network
Socialhome HQ - Socialhome
Followed stream is here!
Finally! The most basic feature of them all, seeing what the people you're interested in are writing about, has finally landed in #Socialhome. Why did it take this long? Well, before this many things had to be implemented, for example contacts on the #federation layer and actually following people in the UI.
Additionally, added a preferences screen for users. There is one preference available at the moment, choice of landing page. When logged in, users used to always see their own profile. Now you can choose what page you want to see when you log in or click the navbar logo. Tip: if you change it to a stream, access your profile via the "My Profile" link in the navbar.
Currently "profile" is the default (to keep old behaviour). I'm thinking of making the "followed" stream the default (which mimics what you see on other networks normally). Opinions?
Next: contact management! Have a feature that would make Socialhome more useful to you or make you want to try it? Let me know!
I really wish I had started using this #Django package earlier. I've known about it for a long time but hadn't really checked how easy it makes testing views in Django. Pure awesomeness.
On a related note, I've finally decided while #pytest is great, I do prefer Django test classes. Why? Less magic. Py.test fixtures are like straight from the #RoR world. Django test classes, while slightly more verbose, have a lot of benefits. Better assertions (based on type) and awesome
setUpTestData to keep tests fast, as some examples. Slowly converting all #Socialhome tests to Django tests 👍
I still use Py.test as a test runner though, it has nice flexible cli options for that.
Following (top) and follower (bottom) counts now in the profile panel, for local profiles.
For self, these will be soon links to contact management pages. When viewing other profiles, they are just text, since we don't want to show other people who is following who.
Opinion: should there be a user setting to hide these counts?
Next: Contact management and stream of contacts content.
Nice that #Socialhome was included 😊 I sure hope #Activitypub kicks off with some implementations soon. Unfortunately there are a lot of questions on how to implement it. Looks like #Mastodon will be the first major platform, hopefully that will pull others. Depending how it works for them 😉
Challenging all #webmaster's out there to do the same!
Add EFF action day for Net Neutrality on 12th July code · jaywink/socialhome@0d15d7e
Profile content stream + minor redesign
Added now a new "All content" stream for each profile. This can be found in the user profile. It is always rendered by default if the profile is remote or is a local profile with no pinned content.
Also related to this a minor redesign of the profile page. The "stamped" area with profile information is now centered with two columns on xl-large screens, two columns on left for large screens and full-width on medium or smaller. It now has a user actions drop-down for modifying settings or profile content, and for other user profiles there are the home/follow/unfollow buttons as in stream content.
The navbar also received a rewrite as bumping a #Bootstrap 4 alpha version broke things again.
Would love to receive feedback on the usefulness of the profile stream, or streams in #Socialhome in general. If you have tried Socialhome, did you find the grid layout useful or confusing?
It is likely the design will live quite a bit in the future. The current one was really a "let's try this" idea which still needs to be proven. Underneath the code is starting to suffer from "spaghetti code" problems with lots of #jQuery events firing to pull the strings. I'm seriously considering rewriting the stream with either #React or maybe #Vue. Before that happens, it would be nice to have a clearer idea of the future stream #UX.
If you want to give feedback or discuss these things, feel free to leave some comments here or get in touch via chats or GitHub issues. Private messages don't yet work in the #federation layer so please don't send those yet.
As a reminder for new readers. Socialhome is a #Django powered project aiming to create a platform that allows users to create a simple social profile with dynamic content. All content is federated using the #Diaspora protocol. Streams are in a central role, and we plan to have many types of streams, including custom per user streams.
You can find the code here and some documentation. The official site is https://socialhome.network which is a Socialhome instance itself and open for registration. Feel free to play around and feedback is always welcome!
Socialhome HQ - Socialhome
Giving social networking back to you - The #Mastodon Project
Mastodon has a nice intro site and node chooser wizard, well done. Something #diaspora has always been missing. Still hoping to some day #federate with #Mastodon from #Socialhome, so I don't have to join it directly 😂
Test from #Socialhome !
You can now follow/unfollow #diaspora, #friendica and #hubzilla users from #Socialhome. In preparation for user content streams, there is now a link to the user profile. Additionally, a "Home" button exists for remote users which points to the remote home profile of the user.
In other news, we also now have an #API \o/ It's not ... complete, but it does support authenticating (using a token), retrieving profile lists and doing a follow/unfollow action. Some (minimal) docs regarding the API here. For the API next will probably be creating content. Bots, anyone? ;)
Well, need an API anyway, might as well do it now :)
Feedback welcome. Includes installation (for #Ubuntu 14.04) and basic configuration. Still needs a lot of things like feature roadmaps and of course installation docs for other platforms. Actual user help pages will are planned to be inside the app itself.
#socialhome http://blickwinkel-portal.de @DeineIdee @blickwinkel1 @blickwinkel24 @gedankensplitte @boxticker @andrea66119 .
Remote followers and replies come to #Socialhome
You can now follow accounts on Socialhome servers and be ensured that when that account posts something, it will be delivered to your account. Our follower model is intentionally simple, similar to #Twitter and the kind. A user can follow and be followed. Sharing happens (in the future) via direct targeting of users or lists of users, instead of a requirement to do a share action separately.
Some time ago also local and federated replies were added. Get interacting!
Test post from #Socialhome after some sending refactoring. Hello?
Next, once this wrapped up, following/followers.
Test post for federated comments in #socialhome
Test post for federated comments in #socialhome
We now have infinite scrolling in all streams at #Socialhome. Scroll content until your browser runs out of memory!
Next: #federated comments. Still wont see if anyone replies to these posts - hoping to solve that soon!
All this #Mastodon buzz going on makes me think again of hacking #OStatus #federation support for #Socialhome, before trying to do #ActivityPub. Let's see if the buzz is still going on when I most likely have time to do it, around June when I'm off from work for a few months :)
#Socialhome gets its second contributor. Thanks to contributor Jari Winberg, images in content creator don't overflow the preview window any more. Appreciated!
Ps. Our issue tracker has a newcomer label for issues that should be relatively easy to tackle even without too much knowledge of the code base or #Django. Take a look if you want to contribute to a fresh software stack in #TheFederation!
#Socialhome now has a "single content view" ie an url for each content. Clicking the content timestamp in the streams opens up the single content view in a modal. When arriving directly via an url, the single content view opens in a dedicated page.
URL's are a combination of content ID and a "slug" generated from the text. The slug part (which is optional) should help with SEO rankings. Since Socialhome is meant for permanent articles too, this becomes more important than for the average social media post.
Testing basic single content view for #Socialhome.
Next: showing local and remote comments!
## Project: Socialhome !(https://jasonrobinso...