Check their Github repos to find out.
STEEM
STEEM is the actual core blockchain code for the STEEM token. This is what matters most for this ecosystem and where all the value is really created. To understand why STEEM is more valuable than Steemit, please see: STEEM Is NOT Steemit. STEEM Is More Valuable Than Steemit.
Steemit (Condenser)
Steemit, the website, is called Condenser on Github. It's the code that creates the interface most people use when interacting with the STEEM blockchain. In many ways, it's just a reference implementation for what's possible. At the same time, Steemit, inc has committed resources to improving it and is actively developing it as you can see here.
Jussi
Jussi is a JSON-RPC 2.0 Reverse Proxy Frontend for Steemit. In non-techno speak, that means Jussi makes Steemit scale. When someone pulls up a page on Steemit, a reverse proxy allows a cache to serve up that page without having to go all the way to the blockchain data which would be orders of magnitude slower.
Steem-js
Steem.js is the official JavaScript library for the Steem blockchain. Many third-party applications (i.e. not developed by Steemit, inc) that integrate with Steem (examples of third-party applications include DTube, DLive, Busy.org, Utopian, etc) use steem-js.
Steem-python
Steem-python is the official Python library for the Steem blockchain. Similar to Steem-js, this library is used by Python developers for building applications built in Python which use the STEEM blockchain.
Hivemind
Hivemind is an off-chain consensus layer for Steem communities and API server for social features like feeds and follows. This keeps track of all the stuff that is not part of the core blockchain, but needed for the overall social media experience. When people talk about "Communities" needing to be implemented, this is what they mean. You can see the Communities Draft Spec here.
Steemconnect and SteemConnect2 (sc2-sdk)
Steemconnect and SteemConnect2 are JavaScript SDKs which most 3rd party applications use to get your permission to interact with the STEEM blockchain on your behalf. This is an important part of the STEEM ecosystem as it creates a trusted website where people can confidently enter their password without having concerns about giving out their keys to various applications. Through this approach, you can grant permissions and later revoke them without the application you're using ever knowing your actual password.
There are more projects we could talk about and view on the official Steemit, Inc Github such as devportal, imagehoster, dsteem (RPC client), conveyor (APIs), redeemer (SP Delegation Tools), overseer (User Analytics Telemetry Receiver/Multiplexer), yo (Modular event-driven notification service), and others.
Why should you care?
The reason I'm highliting this activity can be summarized in one sentance:
Put up or shut up.
It's so easy to criticize. It's much more difficult to build and create. Some (myself included) have criticized Steemit, inc, the team, or the leadership without always doing the work to better understanding what's actually going on. If your answer is, "But I'm not a developer. I can't read code to know what any of this means." Okay, fair enough, but that gets back to the "put up" part. If we have a valid criticism of anything, we should fully understand it first in order for our input to be valid. It's easy to say "They should do this" or "They should do that," but ultimately we're making assumptions unless we have enough information. Lots of information is out there on Github for those who are willing to look at it and understand it.
AND I think it's valid to expect more "official" communication from Steemit, inc via the accounts @steemitblog and @steemitdev. That said, maybe we shouldn't expect them to do everything around here. We have a lot of developers here, and they, if they choose to, can be rewarded for writing posts about the Github activity they see and adding to the #steemdev tag. That could help Steemit, inc.
Beyond just the code, there's also business development going on:
I could go into more, but I think you get the idea. I had a discussion with @andrarchy recently where I vented a little bit about some of my concerns, and he did a great job of giving me more perspective. As the community liaison, I'm hopeful he'll be further empowered by Steemit, inc to be a more active spokesperson for what they are doing and how it will benefit us all.
In summary, let's find out how we can help Steemit, inc instead of just pointing out the issues we see. This post highlighting their Github activity over the last month is my attempt to help. What can you contribute?
This is an amazing blockchain with a solid development team, and I'm very excited about the future.
I hope you are too.
Witnesses: you can help here also. Regular communication is important for building a valuable reputation for yourself and the STEEM blockchain. Your voice matters.
Luke Stokes is a father, husband, business owner, programmer, STEEM witness, and voluntaryist who wants to help create a world we all want to live in. Visit UnderstandingBlockchainFreedom.com
[IMAGE: https://steemitimages.com/50x60/http://steemitboard.com/@lukestokes/commented.png?v=20171221] [IMAGE: https://steemitimages.com/50x60/http://steemitboard.com/@lukestokes/votes.png?v=20171221] [IMAGE: https://steemitimages.com/60x70/http://steemitboard.com/@lukestokes/posts.png?v=20171221] [IMAGE: https://steemitimages.com/100x80/http://steemitboard.com/@lukestokes/level.png?v=20171221] [IMAGE: https://steemitimages.com/60x70/http://steemitboard.com/@lukestokes/comments.png?v=20171221] [IMAGE: https://steemitimages.com/50x60/http://steemitboard.com/@lukestokes/voted.png?v=20171221] [IMAGE: https://steemitimages.com/50x60/http://steemitboard.com/@lukestokes/payout.png?v=20171221]
I'm a Witness! Please vote for @lukestokes.mhth
Thanks for your reply. You may also appreciate my reply to @surfermarly below.
I probably should not have said a criticism isn't "valid" but instead could have said it may be valid but not helpful and, from that perspective, not valid right now as far as prioritizing what Steemit, inc should be doing.
It's easy for us to focus on Steemit and the problems there (retention, UI/UX, onboarding, marketing, etc), but it's much harder to get a good perspective on the issues of the underlying blockchain which they are focusing on to bring us to millions and millions of users. If that's not ready yet, fixing the front-end issues will only make things worse if done right now.
Here's an analogy:
Let's say we're building a bus. The passengers get on and are like, "What the hell? There are only egg-crates for seats? They need to fix this right now and put in more comfortable, padded seats so people don't get off the bus right away. So few people are using this thing right now because of that."
That would be a "valid" criticism for sure. But... with a little bit of perspective, it may not be very informative or helpful or even valid in terms of setting current priorities. To stay with our analogy, what if the bus actually had a small car engine in it just to test things out. It can only pull about 5 people. From that perspective, adding amazing seats for another 100 people doesn't make much sense before upgrading the engine, right? In fact, if they did fix the seats first, and those 100 people jump on board, the bus might stop working completely.
That's obviously an extreme example, but the point being the underlying blockchain engine is the most important thing Steemit, inc is working on right now. That's what will lay the framework for many years from now. That's what has to be rock solid. Once that's done, as we improve the front-end, we'll have the capacity to handle it.
Again, thank you for your comment and for disagreeing with me respectfully. I really do appreciate that.
Edit: I forgot to answer your question. Learning code in general is easy. You can start with building games in Scratch as an example. Learning blockchain C++ may not be as easy. That's pretty advanced stuff and though I've programmed in a half a dozen languages myself since 1996, I don't have much experience with C++ which is something I plan to fix in the future as I continue to dig into this codebase. I plan to start with some C++ tutorials online.
Interesting point of view, Luke.
I think this time I can't agree with you :-)
Since you mention Andrew, I'd like to direct your attention to the interview he gave a couple of days ago. Maybe you even watched it. Being asked by David Pakman about the future of Steem and ongoing projects, Andrew said that you can follow the whole process of all these projects on github but a normal person would never understand what's written there:
Timestamp 04:47 min: https://d.tube/#!/v/davidpakman/ll21nwdt
Now if a member of Steemit Inc says that a regular user wouldn't ever understand that type of information, why should that source of information be even relevant for the average user?
I go with @kirbyhopper's comment here:
> I just know I don't need to know anything about coding to have a valid opinion about how Steemit can be or should be improved from a user experience standpoint.
We have a lot of users here on this platform who have considerably contributed to build up this community without having any deeper knowledge in coding. It seems that from a developer's perspective it's hard to accept that there are other professional guilds out there who are also able to contribute value to a social network.
If the aim was building a two-tiered community here where people are categorized in a) developers and b) non-developers, then this would never work in the long term. Those people who use this platform on a daily basis are the ones that provide it with value. Without all these transactions, the increasing number of accounts, the increasing number of active users and the generated traffic towards the applications built on this blockchain, Steem wouldn't even exist.
Now I fully agree with you that a blogger with zero coding knowledge should not try to contribute to a conversation about the next hardfork. Still a blogger is definitely able to voice his opinion about user experience - and user experience is key to user retention. Without user retention you don't even need to think about a hardfork. Everything interdepends. We interdepend.
Talking about interaction: 3 months ago Steemit Inc asked us to provide them with input for the Roadmap 2018. Many users contributed their thoughts and suggestions blog posting under the tag #roadmap2018. Until today we have zero information about what happened to our ideas or if there will even be a Roadmap 2018: https://steemit.com/roadmap2018/@steemitblog/steemit-roadmap-2018-community-input-requested
The other day I mentioned the lack of information regarding the Roadmap and as a reply Steemit's CTO sent me the link to github. Must have been a joke! Lucky me, I can laugh about so much arrogance - still that doesn't help to improve our community spirit at all.
I admire your motivation to help Steemit Inc in improving their communication. The question that might arise then is: What does their marketing team do in the meantime?
No matter how different our opinions might be about the situation, I'm grateful that you brought it into focus again! :-)
EDIT: Since you included on of Ned's tweeds -here's the one that is pegged on the top of his twitter account since last december
[IMAGE: https://steemitimages.com/DQmce9mvcYsAaS4XDrzXuQURdFwSzy1FUGZW6WXuaZyAES6/certain.png]
User experience definitely matters.
Hey surfer girl! I absolutely love that you disagree with me! It's super boring if people just agree. :)
Sorry for the delay in replying as I've been working a conference the last few days. I replied to one of your comments already, but will reply here as well.
Well, we can offer our opinions, but we should also be willing to consider our opinions are wrong if they don't have more details. For example, focusing on user retention sounds like an obvious goal at all times, but if the blockchain isn't ready for more users, then adding more users now could make things more challenging. I'm not saying that's where we are, but it's an example of the complexities involved and how a large view is needed in order to prioritize what should be focused on right now.
I haven't watched that interview yet, but I do agree every day users shouldn't have to rely on Github to know what's going on, but every day users aren't the ones I'm really talking about. I'm talking about those who feel informed enough to confidently tell Steemit, inc what they should be doing right now. Those, I think, should be well-informed before doing so. That means understanding whatever data we have available and right now that's only on Github.
I don't agree with many ways the CEO interacts with people (including me), but it is what it is. I do think he's working hard to build a team of amazing developers and I think, so far, they are following his leadership to build great things. I also would love to see more communication both about the 2017 roadmap and how they plan to do things in the future.
As to user experience, I think we have to be careful to, again, be clear about the difference between STEEM and Steemit. One is not the other. The user experience of STEEM compared to other cryptocurrencies is amazing (3 second transactions, zero fees, account recovery, named addresses, etc, etc).
Great points, @lukestokes and thanks for sharing the Github screenshots and links. As someone who both regularly asks my followers for improvement ideas, and calls out the currently inconveniences, I really appreciate what you are trying to do here.
Sure, I can complain at times about the seemingly lack of enhancements and upgrades to the Steemit.com website, I realize that anyone can build a front-end for the Steem blockchain and I've been evaluating such an opportunity. I do realize that Steem >> Steemit.
I should mention that I've been giving quite a few presentations on Steem(it) recently and the most common pieces of feedback I get is how the user interface lacks in so many areas. Look, I know the dev team is working hard, it can be seen in Github, but it doesn't matter if ppl constantly say that the UI is one reason that they leave the platform.
As much as we want to brush over it, taking care of the user experience is the "last mile" of any app and helping users feel at home is important. I won't link to it, but one of my recent posts lists at least 15 improvements to Steemit that I think would help increase engagement and retention.
Now, if we could think of a solid revenue model that would incentivize us to build a better front-end...we could give Steemit a bit more competition and improve the community as a whole.
For now, I find myself using Steemit more than Busy because i've grown accustom to how to dance around this interface.
Thanks again for your dedication to the platform. You constantly provide value.
-Ashe
PS: Do you know if anyone has re-visited the 2017 Roadmap and compared what was planned vs implemented? Also, 3 months ago @ned asked for feedback on the 2018 Roadmap...has it been released yet? https://steemit.com/roadmap2018/@steemitblog/steemit-roadmap-2018-community-input-requested
In my point of view and with my short experience now of a bit over a half year.. Steemit is one of a kind for real blockchain application.
I don't know so many examples like Fiat-Gatekeeper-Bitcoin, ICO-Ethereum or the Charity-Doge.. maybe i'm just uneducated or biased but if i see the registered users of over 700k, the fluidly running blockchain without any congestion, STEEM Power connected to STEEM and the upcoming catalyst SMT.. that's on one hand a useful application and on the other a long-term investment opportunity. Months ago i wrote about the well thoughtout system and today nothing has changed.. it is running and running.. the founder left his baby alone and now it's already grown up to a small child. Fascinating to get a bit more insight of all the building blocks, thank you!
For the perspective.. there are always different ones.. there is the user, the marketeer, the developer, the entrepeneur and maybe others. I was in different shoes. Everybody looks with different eyes at a product or development and that's absolutely IMPORTANT! because all these different views bring life to the system.. criticism, discussion, new ideas, different perspectives.. there is the value if you generate questions for your development.
If i look back to my company as we started with much less knowledge i could say how stupid i was.. but in reflection of the past and what we'd achieved with all the conflicts, disputes sometimes it was just natural and necessary.. the pure user perspective and also the hardcore developer perspective.. both need each other.. because both are sometimes blind to see important things to go one step further.. to challenge themselves with the input of the other.. in pain, anger, rage sometimes.. but in the end we saw always a light and that it was worth to fight for the own standpoint.. even to the extent to feeling wrong and unsure alone with your opinion.. but i know sometimes it needs such hero who is hated and sees the light long before all the others.. it was sometimes crazy if you must wait several years until your gameplan works out and your team members realize then you were right 😅
Core developers must have another perspective than a normal user.. but they build always for their future customers and serve them. It's often about perception of things i think after many years. If you'd stopped to take things personally and dissect an argument by a user you can often learn to improve your product but it's very important never think that a user is too stupid to understand something.. he has the valuable user view from hours, days and months of using your product.. he is an expert, he feels your product like no one other and knows exactly where it lacks of usability, functionality and sexiness.. even he is just complaining about something it could help to get a sense where your product is.. and what's the next important question to improve it. It needs no censorship.
Honestly there are also cases where someone has a wrong perception and don't wanna know what's really behind.. but then it's always good to be polite and friendly and go on.. work on solutions.. i think that's what also Steemit Inc. does.. never blame other people, as user or developer.. it would be a waste of time.