Sprint 4 – Now We’re Cooking With Gas!

Sprint 4 – Now We’re Cooking With Gas!

February 16th, 2020

Well well well, look who we have here! I’ve been thinking about you… yes you… don’t be coy!

I want to tell you about my last two weeks, would that be ok? Great!

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!

Last sprint I spoke to a bunch of members, got auto deployment working and got very basic apps and our chat server in a better position.

Marketing / SEO / Social Media / General Nonsense

I’ll start with the stats this time, they’re easier to understand than the technical stuff for most people.

Firstly, our beta list grew by another 19 people! And I’m noticing more and more finding us organically or from my shit posting on LinkedIn which is fantastic.

SoSa beta signups at 231

Visit https://sosa.net to sign up!

Speaking of LinkedIn! Our page grew by 13 followers this sprint. 

LinkedIn grew by 13 followers

Follow us: https://www.linkedin.com/company/sosa-community/

I’ve also been using Instagram a bit more and trying to post community related content where possible (be much easier when we launch!!)

In the next few weeks i’m meeting Onelatte and Danda in Prague! So keep your eyes peeled for pics of that 🙂

follow us on instagram @sosacommunity
Follow us on instagram

There hasn’t really been any change to our domain or page authority this sprint

Moz stats

But there has been a 9k increase to external followed links, why? No idea!  If you know – let me know! – I’ll investigate more in a future sprint.

Linking domains and followed linking domains has also increased which is awesome, this will help our search engine rank!

There’s also been a slight increase in consistent traffic to sosa.net instead of the huge peaks and dips we were seeing on the previous sprint, with most days averaging about 700 visitors a day. 

Unique visitors 12,647 over the last sprint

Oh! And Google has also started to like us more this sprint, with more impressions, a lower average position and more people clicking through to us in Google. 

Google search has improved
Getting dat Google Love

Facebook reach has been pretty consistent this sprint, we are losing likers to deactivated accounts but it’s not effecting who’s seeing my posts and who’s engaging with them. I’ve also posted more “SoSa” stuff this sprint and it hasn’t harmed engagement.

The majority of our followers are women which is great news, especially as a budding social network, it’s usually the other way around.

There are so many women

Especially interesting as these are the stats from the community we started from. Imgur.

Imgur has more men!

Game Night

We're playing Witch It for game night!

The next one is Sunday the 23rd of Feb, 1900-2100 GMT and we’ll be playing Witch It!  It’s a really fun prop hunt game!

You can grab a free ticket here: https://www.eventbrite.co.uk/e/sosa-plays-witch-it-tickets-93928513713

If you don’t have the game don’t worry! If you’re a regular in the community just give me a shout and i’ll give you a copy of the game. You just need steam + PC.


Authentication, Online users and room selection!

Significant progress has been made on the foundations of the apps this sprint.

The first, really important aspect has been merging the client code into the apps, this means that the same code that will run on desktop, web and apps which in turn reduces the amount of work I need to do overall. 

A code fix for one platform will often mean fixes for other platforms and overall reduce the amount of work i have to do.

This also included authentication which means the server knows who you are and validates you’re allowed to connect to it.

The apps are also now capable of showing you a list of rooms, letting you join one, send / receive messages and letting you to see other users online!


Ok, so now onto the technical stuff!

Are we talking animals? James how are animals related to development?

No no no… I mean database migrations! Every time I deploy a new version of the backend / server, I don’t want to have to manually make changes to my database. That’s where migrations come in!

When i’m building my code, say – I’m adding Room functionality to the server, I can build what’s called a Migration.

When I run a simple command, the server will take these files, group them into a batch and run all the ones I haven’t run before.

This goes hand in hand with auto deployment because it means I can make significant changes to the database structure at the same time as the code base and it will all work in harmony.

Not only that, if it fails – it’s easy to revert back to an old version of the code and database.

I made a little video of it all in action here:

API Keys

Not quite as exciting as migrations i’m afraid, API keys essentially allow me to limit what can access our backend server and send commands to it.

This is a simple layer of security that can help prevent people making rogue apps but also means I can give developers access to communicate with our API’s and chat servers to make their own cool things.

Message Parsers

On most modern platforms you probably take for granted that you can type *italic* or **bold** and it’ll make the text italic and bold!  Maybe you send www.sosa.net and it makes it into a link OR you share an image and POP it appears on your screen.

There are a lot of ways platforms can convert what you type into something more visually appealing and impactful. 

For SoSa, i’ve built a framework called message processors, which takes your really important message, runs it through a bunch of code and spits out a formatted message with fancy embeds, links etc.

Spoilers message parser
Spoilers message parser

This sprint, I built a few message parsers:

– Sanitize 
Aimed to prevent XSS injection

– Links 
Parses the message for links and later will turn them into markdown links

– Mentions
Grabs all the valid username @’s and converts them into profile links

– Spoilers
Text surrounded by $$ will be hidden to the end client by default

– Tags
Extracts all the hash tags! and if there is a “nsfw” or “spoiler” tag it’ll mark the message as such

– Markdown
Converts any markdown provided into things like bold, italic, links etc

These can all easily be extended later, used in different contexts (DM’s, comments etc) and even support user specific ones.

Here’s a video of it in action!

James. What about James?

I’m still in a bit of a weird funk, my shower leaked into my neighbours at the start of the sprint and as of writing still waiting for it to be sorted, i’ve been binging again, i’ve had a few unexpected large monetary outlays and my motivation is just shot.

2014 vs last week

I did get to go out with a few friends last weekend and also went to the gym a few times which are all great. But I definitely need to get a handle on this!

So this sprint, i’m going to change a few things:

  • I’ve started looking for co-working space around Bristol, and will spend at least one day a week there
  • I’ve pushed through this sprint, but today (Monday 17th) i’m going to spend a few hours late morning in the gym and then off to a spa
  • After the spa, i’m going to do my weekly shop with an aim to eliminate sugar from my diet – that’s my weakness.
  • Wednesday, my shower get’s fixed so I should be able to get my normal routine back from Thursday

Thank you to everyone who has sent me kind messages or e-mails and all the people that i’ve chatted to during this period. Even though I feel pretty shite, talking to you all has really helped my mood.

That’s it for now! Thanks for reading! Love you!