Sprint 1 – The Foundations

Sprint 1 – The Foundations

January 6th, 2020

Sprint 1

If you’re an entrepreneur you’ll probably be in a similar boat to me. Trying to do a million jobs on a tiny budget. 

Great for your startup, not so much for fortnightly updates! So I’ll try to keep these posts structured and a little ridiculous.

There will be a combination of tech stuff, marketing stuff and general nonsense. Previously on my descent into madness:

  1. Precursor
  2. Sprint 1 – The Foundations
  3. Sprint 2 – The ummm Foundations?
  4. Sprint 2 – Nerd Ramble
  5. Sprint 3 – Cooking with matches!
  6. Sprint 4 – Now We’re Cooking With Gas!
  7. Sprint 5 – Robot Uprising
  8. This Is Not the Sprint You’re Looking For
  9. Sprint 6 – That’s a Weird Looking Patronus
  10. Sprint 7 – Corona Stole My Title
  11. Sprint 8 – Adventure Time!
  12. Sprint 9 – Now In Technicolor
  13. Sprint 10 – Refinement
  14. Sprint 11 – Motion In The Ocean
  15. Alpha Release 1.0.3
  16. Sprint 12 – No Rest For The Wicked
  17. Alpha Release 1.0.4
  18. Sprint 13 – I Need a Break
  19. Alpha Release 1.0.5
  20. Sprint 14 – Just James Things
  21. Sprint 15 – Wearing My Heart On My Sleeve
  22. Alpha Release 1.0.6
  23. Sprint 16 – Warm Up
  24. Alpha Release 1.0.7
  25. Sprint 17 – Coffee’s back on the menu!
  26. Alpha Release 1.0.8
  27. Sprint 18 – We’re on fire!
  28. Sprint 19 – Slowly fast
  29. Sprint 20 – Let’s get Nerdy
  30. Alpha Release 1.0.9
  31. Sprint 21 – We’re back!
  32. Alpha Release 1.1.0
  33. Sprint 22 – You Look Cute Today
  34. Alpha Release 1.1.1
  35. Sprint 23 – Sausage Smuggler
  36. A SoSa Retrospective
  37. Sprint 25 – I am SoSa and don’t call me Shirley
  38. Sprint 26 – The best laid schemes of mice and men
  39. Sprint 27 – Vogue, Strike a Pose
  40. Sprint 28 – a New Hope
  41. I Couldn’t Think Of a Title
  42. Guess who’s back, Back again!
  43. Demolition Man
  44. Squid James
  46. We Didn’t Choose This Life, We’re Just Living In It
  47. Let’s go!

Shoutout to Edwin!

Before I ramble on, I wanted to give a shoutout to my man Edwin! Who’s been liking and sharing all my posts left right and centre. Visibility is really important and hard at such an early stage so I wanted to say thank you with a Amazon Gift voucher!

Cheers man!

Edwin being a legend
Edwin being a legend

Now! On to the boring stuff!

What did James do between 24th December and 3rd of January???

One Man, 24 Stories, 34 points
One Man, 24 Stories, 34 points

A shit load apparently.  A total of 24 stories and 34 points!

What is a story? And a point? Where am I? Who stole my socks?
All great questions, except the socks question I have no idea!

Stories usually represent what you as a user would want. EG:

“As a user I would like to see news on SoSa”
“As a user I need to be able to talk in a chat room”

Because I’m a lone ranger on this project and doing the work of 4 or 5 tasks are essentially stories.

These bad boys let us work out how difficult something is, you can use a range of different numbers, some people use 1 – 10, some people follow a Fibonacci sequence, others just fling shit at a wall and see what sticks.

To keep it simple, I’ve gone with 1 – 5. 1 is really easy, 5 is really difficult.

These let me know how much I’ve achieved, but also how much I can achieve. Helps me maintain velocity.

Great but what have you -actually done-?

The blog and homepage are now fast and mobile friendly!

This was top of my list, there’s no point constantly talking about SoSa if people can’t find out more information quickly and on their mobile!

SoSa.net homepage
SoSa.net homepage

To speed up how long it takes me to build, I’ve used something called Bootstrap. 

James, why are we talking about Boots now? I thought this was about SoSa!

Ok ok, I feel like we’ve gotten off track. If you imagine a website is a house, Bootstrap is a cool little piece of software that provides me scaffolding to build my house in. 

It’s a little more complicated than that, and the scaffolding is really on wheels and the walls are attached with rubber. But I don’t want to confuse things. 

If you’re a developer, you probably think I’m a sexy idiot right now and I’m sorry we’re not all developers. Some of us are farmers and cats!

If you want to poke around the code, you can find the code for the blog’s WordPress theme and HTML for the website in our github 🙂

Blog Homepage
Blog Homepage

You can find us on LinkedIn, Github and Patreon

Visibility is really hard, especially if you’re trying to make an awesome social network that’s really easy, fun and friendly for people to make new friends and socialise.

We’re already on Facebook, Twitter, Steam and Youtube but I want to build a community of communities, which means we need visibility on as many platforms as it makes sense.

This sprint, I started working on our LinkedIn page and it’s slowly but surely growing. If you have Linkedin! Please follow us!

LinkedIn Page Stats
LinkedIn Page Stats

I also opened up our GitHub and i’m trying to make as much of our code open source as possible so that other members can 

  1. Have a play with what we’re developing
  2. Help us find bugs and issues
  3. Give back to the community
Github preview
Github preview

Not everything is available at the moment, there are still some cool parts of SoSa i’m keeping under wraps so that it’s a surprise for the original community when we relaunch.

Once we’re growing again and everything is in a good place, I’ll make most of our backend stuff available too.

Until that point, it will only be front end bits, bots and specialist tools I build (For example a bit.ly clone and possibly a documentation system).

Last but not least, we’re on Patreon

We're on Patreon!
We’re on Patreon!

Someone recommended I create this as a way for the community to fund development and server costs. 

So if you’ve got a couple bucks and want to support what i’m doing please donate! (but don’t feel you have to)

Chat’s working! kind of… OK back off! Rome wasn’t built in a day! 😭

The chat was always the biggest part of our original platform and there are huge improvements and lot’s more features coming in the SoSa 2.0 version of it!

To make sure I get this right, I’m starting with the right foundations, it’s really simple but this is a huge step towards getting chat on your phones and creating a scalable server that will run thousands of members.

I made a little video showing you it working at the moment!

Quick video showing you how the chat server and client work

You can view the source code for the chat client here: https://github.com/SoSa-Community/chat-client

Nerd Ramble

OK, so I do want to share some technical stuff in these updates, so if you’re not into that then skip down to “SEO is hard”

One of my main goals for SoSa 2.0 is to make it really lean, but also super accessible to other developers. 

I want it to be reallllly easy to test and deploy but I want to keep the number of moving parts to a minimum.

Everything i’m building – i’m building with that goal in mind. 

Everything a user interacts with will either be using an API, Socket or coded using Javascript, Typescript or something that can translate from those.

Starting with the ChatClient class, you can see that the constructor accepts two arguments. EventHandler and MessageHandler.

ChatClient Constructor
ChatClient Constructor

Why is that important?

Well that means that either a test framework or another developer can inject platform and context specific code. To the overall framework will fundamentally work the same but a developer could decide to render messages slightly differently, or respond to a special event from the socket server.

EventHandler a class derived from ChatEventHandler class. ChatEventHandler essentially allows the client to listen to basic events and do things when they happen.

The default class will listen to the events connect, message, success, error, disconnect and has very basic handling of each.

This will allow developers to extend
A) What kind of events the client can listen for (if there are platform specific ones)
B) Add additional platform specific events.

ChatEventHandler Class
ChatEventHandler Class

MessageHandler A class derived from the ChatMessageHandler class which is what will render the message on the designated platform.

ChatMessageHandler Class
ChatMessageHandler Class

The default handler just output’s to the debug logger because that will work on all platforms.
I would expect each platform to have it’s own implementation.

This means that our client code can be universal and if developers want to make their own unique apps based off of it, they can whilst still working flawlessly within the SoSa Eco-system.

SEO Is Hard!

OK, so I might have cocked up a few times during the last two weeks on this front.

Domain Authority: 11 (up from 9), 
Page Rank: 18 (up from 13)

Firstly, the previous owner of SoSa.net was very naughty and employed Black Hat SEO techniques on the domain. So right now our spam score is “52%” and we can’t even post a link to Facebook 😢

Facebook being mean
Facebook being mean

I have contacted Facebook about it and they’ve said they won’t tell me why they’re blocking it but have a hunch it’s because of a lack of content on the site (something i’m working to rectify)

Next up, I’ve been buying a few domains over the last few months for specific “SoSa” services current and present (such as SoSa.dev and SoSa.help).

One such domain was SoSa.org. And the previous owner once again has been very naughty!

SEO Being mean!
SEO Being mean!

So I have this little gem with a 75% spam score to deal with! 🙄

With that said, I have made a lot of progress especially in migrating old links, getting some people writing about us, moving the blog over to SoSa.net and posting about what an awesome thing this will be e.v.e.r.y.w.h.e.r.e.

Stats improving quickly!

I also may have made a few mistakes in my blog move and accidentally caused 400+ redirect issues 😩 but I’ve fixed those now.

Look. Let's not play the blame game here!
Look. Let’s not play the blame game here!

Last but not least, I’ve seen traffic ramp right up since I started working on things, with an average of 500 unique visitors a day across the Sosa.net domain.

Traffic since I start working on things
Traffic since I start working on things

This is all good James but what have you been doing for yourself?

I know, I know. All work and no play makes James a dull boy! 

I’ve done a few things actually!

  • Spent on average 1 hour a day in the gym, often 2. 
  • I celebrated Christmas with Yena!  
  • Saw a few friends and family!
  • Broke my washing machine…
  • Begged Mum to wash my washing… i’m 33… 
  • Helped clean out my gramps house
  • Played some computer games
  • Binge watched Lost in Space Season 1 and 2!
  • Binge watch Final Space Season 1
  • Cried
  • Oh! And filled in my Gratitude journal!

I think that’s it! I hope you enjoyed my ramblings and look forward to sharing what the next two weeks brings on my quest for SoSa.

Toodle Pip!