I've been mulling over this post for a while now - since Friday in fact and how to approach it. Whether I should be posting it in the Steemit Dev Group so that it would be more visible to the Steemit team, for me to share with them some insight into a world I've just experienced. A world that Steemit openly needs community support to enter in order for Steemit to progress.
I also wasn't sure if I should create a dedicated profile for this purpose (@coding-gorilla) and before some smart arse decides to take the name, I created it anyway just in case.
I'm still unsure where to go with this, so bear with me and let me know in the comments what your thoughts are. I'll try to keep it brief and hopefully you can help me to decide what to do next.
Background
There has been plenty of discussion lately regarding the lack of progress Steemit is making compared to Hive. Since the Hard Fork and Tron's "takeover", it's often cited that the only changes that have happened here are the introduction of TRX and the ill-fated introduction of a WYSIWYG editor (which for me, didn't work). Whereas Hive is a different beast entirely, the price recently rocketing due to initiatives like Splinterlands.
I certainly don't purport to be an expert on the similarities or differences. I've spent very limited time on Hive to do a true comparison but from this side, it looks like Usain Bolt's in a foot race with Ricky Gervais.
My History
It's probably little known on Steemit that I've spent my career working in the Web industry. I started out working for a small digital agency as a front-end developer (the 7th person to join) which grew to over 70 employees with offices around the world before the company got bought out by a FTSE100 powerhouse, the culture went to shit, I got disillusioned and left. And as arrogant as this might sound, having worked in the industry for over 20 years now, I know my shit.
Before moving into more senior, management roles. front-end development was my thing. I'm the guy who writes code to make things pretty. I dabbled with back-end, writing a couple of sites for various companies but it wasn't really for me - I'll leave that to the geeks. If you've ever used online banking, then you've almost certainly used a site that I've worked on.
So What?
So I thought, I've worked with other people's code before. I can write Steemit a shiny, new front-end because let's be honest, whether it's Steemit or Hive, they've been designed by coders. I want to make Steemit look like this. Make it appeal to the masses.
Slight aside - we inherited some code once for a well known British Bank. They had a community element and due to the family orientation of it, didn't want people posting swear words so there was code to filter this out. The actual code never got written, just the placeholder function, with the name "function containsShitFuckBollocks()". It's my favourite line of code I've ever inherited.
Back on topic... that's a big change isn't it? Well actually, it shouldn't be. The elements are all there on the trending page. An image, a post title, the author, when it was posted, rewards, comments, etc. They're all visible on each community page. Anybody familiar with CSS Zen Garden would relish the challenge.
So on Friday, I set about writing Steemit a new front-end.
Or at least I tried to.
The Set Up
Now the difference between what I'm trying to do compared to other users like @etainclub and @steemchiller is that I'm not trying to work with Steemit's API. I'm not creating a dApp or new domain. I'm wanting to change steemit.com. The website that many of us visit on a daily basis.
Edit: I've just reread the above paragraph and it's not intended to come across as though what @etainclub and @steemchiller is simple, because I know for a fact that it isn't. And I'm also aware that @steemchiller's worked on the steemit.com codebase too so hopefully this sentence doesn't piss anybody off!
I won't go into detail regarding this. At some point, @coding-gorilla might write some beginners guides. I had to register and learn GitHub, then Docker and write a load of commands in the Command Line to get things running. Not something a front-end developer wants to do. This wasn't clear or obvious. It wasn't much fun and a lot of credit must go to @starlord28 for getting me this far.
The Code
steemit.com is written in react.js. This is a programming language where the contrasting specialisms of front-end and back-end are merged so that one or the other is being worked on by a non-specialist. Without going into too much detail, I found inline styles within the code - which is probably the first thing that a beginner front-end developer is told NOT to do.
My job was hard enough already. It just got harder.
After spending the day trying to jig things around, get to grips with the code, react.js and what was doing what, I decided to park this little project for the day and get back to my family. I'm yet to decide whether to return and this gets me to what I suppose, is the important point.
The Community (Probably) Can't Help You
This sounds dramatic. And it probably is. Hive took the original developers with them. They know the code, they wrote the code, so they can improve the code. They are responsible for the code. The code that will take a lot of effort for somebody like me to unravel.
Tron inherited the code and if my experience is anything to go by, maintaining the code will be head ache enough for them, let alone making enhancements to it. And from the little information I have, there's only 1 or 2 of them responsible for Steemit. Which might even be part-time.
A decent front-end developer will demand in the region of £250 per day. At today's prices, that's just over 800 Steem per day. We're asking people to spend weeks working on this, for nothing. For the good of the community. Maybe they'll get a few steemcurator01 upvotes along the way, perhaps earning them 1/10th of what they'd earn elsewhere.
Is it worth it?
Will I revisit this at a later date?
I don't know. Even with my wealth of experience, I couldn't even move a component from the left side of the screen to the top. On every other site I've ever worked on, this was easy. And it took me a day to realise this - how many more days would it take to actually do it?
Please Share Your Thoughts
As I mentioned at the start, I'm interested in hearing your thoughts so please share them with me below.