Why Social App Developers Should Avoid Protocol Development, and Vice Versa

in #steemit2 years ago

One of the interesting challenges that has been demonstrated through steemit.com relates to what happens when you develop both a protocol and a user interface. In our recent livestream, @ned explored the idea that Steemit Inc. was trying to do too much, and that lead to us being over-extended. I don't think it's accurate to call this a "regret" though. The real "problem" was that Steemit Inc. was trying to create an entirely new economy, and that's not easy.

From my perspective, the reasoning Steemit employed was: 1. We want to build a protocol that leverages token inflation to power user-generated content applications, 2. In order to do that it also needs to store content, and 3. In order to showcase its capabilities we need to build a user interface. These are all, in my opinion, perfectly reasonable conclusions and the error was not in allowing these to guide product development.

Defining the User

The problem, again with the benefit of hindsight, isn't necessarily that these goals are too ambitious for any organization (I do not believe that is the case), but that there is a strong barrier between protocol development and application development that can create some antergy (anti-synergy). The problem was highlighted for me in a recent conversation with someone from the community. We were talking about ways to simplify the SMT protocol that would facilitate that protocol's release. Part of the discussion turned to what would lead to an acceptable user experience. It was my contention that user experience would ultimately come down to user interfaces. They disagreed. The root cause of the disagreement eventually came down to which "user" we were talking about. They were talking about developers. I was talking about ordinary people.

It's true that developers are the "users" of a protocol, and as such, the protocol should be developed with them in mind as the "user." But the tough problem with Steem is that it is a social protocol. Its design requires network effects which means that more of its users won't be developers. Imagine, for example, that the only people who "used" Steem, were developers? I think that would destroy most of its value. This isn't really a problem that many other development teams have. Instagram's customers are advertisers and their users are people who like taking photos and posting them to internet. Their developers build products geared toward these two demographics. They are able to focus.

Remember Twitter's APIs

The example I'll close on is one that @ned made in our recent livestream about Twitter. Twitter used to have open APIs which were heavily used by developers and no doubt contributed to Twitter's ability to grow rapidly. Yet, they decided to close these off, much to the dismay of the developers who became dependent on them. We could come up with all kinds of explanations for why Twitter decided to close those APIs, but I think that fundamentally what it comes down to is that when you offer APIs, you become a "protocol" developer and your user base can become bifurcated into two demographics that are insufficiently similar if you are also building a social application that relies on network effects.

Engineers enjoy thinking in increasingly abstract terms. They seem more comfortable conceptualizing things that they can not visualize. That's really tough for most people, which might be why great engineers are so rare and so difficult to "create." Most people are extremely visual, which is why user interfaces become so important. This contrast, I propose, makes developing products for both of these groups extremely difficult.


When you're building a product for engineers, your decision-making process should be very different than when you are building a product for non-engineers. One of our guiding principles at Steemit is that the Steem blockchain protocol should be application-specific. This enables Steem developers to optimize the protocol for a specific use case, making it more performant than general purpose protocols. But when you are designing products for two different types of people, your team cannot be application-specific. Everyone isn't working together to solve the same problems ... by design. Instead, some people are solving problems for ordinary people who just want their lives to be a little easier, while others are trying to solve problems for engineers who are trying to build some tool for their users. There isn't a lot of overlap between these two things, which leads to the aforementioned antergy.

Recently Steemit Inc. had to make some painful decisions. The end result was essentially the realization that we need to focus all of our energy on Steem. It may seem obvious to some, but the challenge is that as the people who architected the protocol, we feel we have a lot of insights into the amazing types of applications that people can build with it. I think that's demonstrated by the fact that when we do build interfaces for it, they seem to strongly influence the interfaces that other people develop afterward. On the one hand, I think it creates a sense of obligation within the team to build those interfaces and guide that development. That is certainly important work. I think that's valid. On the other hand, it might lead to this antergy problem which can strain resources and fragilize the organization.

Know Thy User

These are tough questions and I don't think it's possible for anyone to know the "right" answers. You just have to do your best and adapt as you interact with reality. We've just been given a serious "reality-check." As painful as it is, we have the opportunity to integrate the information gleaned from this experience to make Steem better than ever.

Know Thyself

At the end of the day we are protocol developers. Steem remains (IMO) the best blockchain protocol for powering applications and that is no small feat. I think a big reason for that success is that the team is incredibly good at understanding their customer, developers; what they need and what they don't need. Any help you can give with respect to how we can serve that customer best is much needed during these difficult times. But I urge everyone to bear in mind that there is a big difference between "ordinary users" and "developers." And if you don't agree ... let me guess ... you're a developer ;).


My two cents:

  1. lower the operating costs significantly.
  2. Get different streams of income for steemit inc to cover the costs of servers and payslips; just selling steem @ whatever price is a totally unsustainable business plan.
  3. Realise that it is in fact unsustainable and act upon that knowledge.
  4. Reveal an updated course and vision for steem an steemit inc.
  5. Get the laid off team back on board.
  6. Focus more on steem and bring in investors once SMTs are ready.
  7. Create lots of collaborations with other companies (not necessarily crypto companies) Quora would be a perfect fit for example:
    Quora is a magnificently brilliant and simple site, where people post questions, and provide answers to others’ questions - for free. Why not tokenize this? This site has 190 million users...

Hope you read this. Thanks

It may seem obvious to some, but the challenge is that as the people who architected the protocol, we feel we have a lot of insights into the amazing types of applications that people can build with it.

Are you guys willing to share some of these ideas with the community and see what the community will do with it?

Please share the knowledge and use the Steem community it's such an opportunity.

Yes, let's get this started. A large, motivated, invested and talented community can do a LOT!

I think the toughest step is to first realize there is a problem which you have done. While maybe being slightly late to the realization, I believe that the value created by the community and its passion for the protocol will allow there to be assessments as to how the roadmap will need to change. I encourage you to really integrate with the thinking of the community who will be the fuel behind executing any type of plan in the future. I look forward to seeing how the roadmap develops as there is still a large opportunity to leverage the ecosystem that has been built thus far.

Posted using Partiko iOS

I agree completely regarding integrating with the community. Thanks for the thoughtful response.

Great article @andrarchy, running a business can be hard but its crucial and critical to identify your customer. Good to see that has happened.

I am not a dev and always felt not being a dev has put me at a disadvantage on steem, obviously devs argued that was not true.

My fear is, as a creator and an experienced steem user, many of the current apps are not sustainable without steemit incs delegation. Some have no plans to really work on on boarding and most also have not much in the way of business skills and the other skills needed to make their app a business. They are devs focusing on a product, just like steemit inc.. I don't know steemit inc delegation policy, but I think its in need of review. at the end of the day, this SP was meant to be non voting SP. If the developers are not going to actually start growing a business then its a waste of the rewards pool.

So where does that leave the creator? Well I still see it as an opportunity. As a blogger prior to steem I know the value of owning content and not letting a third party have control. For Example Dlive had control over storage of replays and as I did not move with them, well I could have easily lost my content, many people did.

@steempress-io on the other had has no control over my content, if they go, my blog stays. This is very important, relying on third parties to hold your content (and earnings) is control I want to give to no one. I’m not leaving my self at the hands of someone else’s decisions.

As a content creator, I am still excited. As a business woman I am still concerned however as a steem user I am still shilling :-)

Thanks for the article.

Here are two, count'em two "freebie's"

  1. To-much-kool'aid ... steem is sick but not dead yet. When you move off AWS servers your risk for substantial hacks goes WAY up. Big institutions who spend hundreds of millions of dollars per year are getting hacked. DO you really think a small company that can't afford 2 million a year operating costs can protect there data from hackers? I STRONGLY recommend staying on AWS for safety.

  2. Steems runway is getting shorter by the day. Generate excitement again ..... that is steems only way out. If you want some ideas let me know.

BTW how do you like Jet Blue I have never flown with them?

Hey @dreamryder007, AFAIK no one within the organization even considered moving off of AWS.

If you want to help generate excitement about Steem, I encourage you to get started right now! We have our ideas about how we can get the word out better about Steem and we'd love to see grassroots efforts that could provide us with valuable information. We don't need "idea people" right now, we need "do-ers." Thanks for commenting!

JetBlue is fine, I think they tend to have more modern planes, but I'm not a travel expert.

wow this turned into a wall of text fast, sorry m8

Steem Inc. is doing a very poor job of leveraging its strengths. I will be blunt. I have some specific, executable ideas that I have not heard tossed around. I would have happily given these ideas already if Steem Cleaners didn't wreck my free vote giveaway earlier this year for copy pasting the title (I gave free votes for comments).

But first, is Steem Inc. willing to leverage its balance sheet for smaller projects? I have a project in mind aimed at helping the price of steem tokens long term. I have 100k ready to go but the price action in the market makes this to risky atm. For instance it went from .39 to .30 in just a few days and personally I don't think the bottom is in yet. I would be willing to invest my 100k if Steem Inc. made a matching offer of 100k worth of tokens.

This is one example of how business'es get leverage on funds. In this case Steem Inc. gets a project with 200k starting capital for 100k during a time of extreme crisis. I think more of these types of deals would help strengthen Steems position over all.

Also I would recommend putting together a fund raising team. It seems pretty clear to me that Steem Inc. needs to raise funds. Especially since they missed the window to self fund by selling tokens during the MONTHS that Steem was $5 - $8. They could have very easily raised 100 - 200 million during this time but FAILED MISERABLY by missing that opportunity.

Steem would also be well served to get someone with some business sense on the payroll fast before the wheels come off.

As an ordinary user for a year on Steem, it seems like the company is focusing more to take developer as 'users'. That explains too why the Steemit interface has been subpar for so long.

Posted using Partiko Android

Were arr you?

Good hearing from you. We always like it when you write.
Anyway, yep let us create awesome apps and force us to not be dependent that will make us stronger projects and companies. And if you still do want to assist small projects give them limits that push them to have a bigger game plan that means they can't be dependent forever.

In the end you guys are the only ones that are doing blockchain development there's plenty others doing apps and even some that are more than willing to step up to help with API.

Great ideas.

Hi Andrew,

Thanks for this... it's definitely interesting to hear things from your perspective.

I've often wondered this, and I hope it's not rude to ask, but what revenue streams would Steemit Inc have as protocol developers? Would it solely be the conversion of Steem to fiat to pay the bills, and would that Steem be from the current stash or would there be a way to generate more for the company?

We're evaluating different potential revenue models, but the biggest return we can get right now is from lowering our costs. We have a number of ideas about revenue and those will be much more effective once we lower the cost of our infrastructure. Not rude at all, thanks for question!

Thanks Andrew... really appreciate the response.
Totally agree with the priority in reducing costs... and super agree with the different user types... I'm going through a similar process of trying to work out how to get non-techie content rich peeps onto a front end I'd like to develop, and it's hard.. there's a huge learning curve for people who are used to instant gratification.

Hey Andrew,
I think that focusing on the protocol to facilitate devs is a good choice. What I am hoping is that it will encourage much more outward facing development than inward that aims to only draw from the inflation pool.

SMTs I think were a decent way to encourage this as it separated applications and gave them incentive to innovate for an external audience by leveraging the infrastructure to be successful in their own right. This in turn would pull people into Steem based on interest.

A few weeks back I revived an idea of locking stake which could be a way to tie investors in to Steem to be leveraged by apps for development purposes which could possibly tie into the separation of user group with investors and developers working on the Steem layer but creating for the practical user layer on SMTs.

The separation of needs is important in the development process and it is something that is getting blurred in the protocols as there are users who cross the boundaries of several groups. Investors, developers, contributors and consumers each need to be catered for but there is no line of best fit that satisfies all so creating some harder division to define spaces will also encourage users to better find their place and behave according to which space they are occupying at the time with greater understanding.

Thanks for the update, you write well and I would like to read more of this kind of thing in the future.

I still cannot wrap my head how to develop applications on top of Steem which are not social networks. The API to interact with the blockchain are only social network-based (follow, vote, etc.).

Or am I missing something?

I'm a developer.

Hi @andrarchy ! Thanks for your post. There seems to be a lot of concern for the confusion between steemit\steem etc. I am sure the Company has considered re branding as part of the re structure. Here is a real world case where we (goldmoney) implented a re branding from “Bitgold” to “Goldmoney” to avoid confusion with Bitcoin couple years ago : https://www.itbusiness.ca/news/bitgold-reaches-1-million-users-rebrands-itself-as-goldmoney/72445 While the rebrand was painful at the time, 2 years later it’s a distant memory and our brand identity is far more clear. Is that something you all would consider?

It might be worth wading into the waters of the culture war being that controversy generates views. There's this huge debate happening between established Social Media giants and Gab. Irrespective of what anyone here thinks of that platform - I happen to think it's decent - Gab's controversy is generating MASSIVE amounts of publicity and contributes to it's skyrocketing membership. Day after day, Steem stays away from defending the freedom to speak and the freedom to hear controversial content. I think this is a spectacular, missed opportunity. I for one think that Steem and blockchain social media sites have the power to render censorship ineffectual and this should be central to Steem's mission and public face.

But I urge everyone to bear in mind that there is a big difference between "ordinary users" and "developers." And if you don't agree ... let me guess ... you're a developer ;).

This was a good post to read. I did mention in a comment on another post that steemit needs to figure out who it's customers were, and get a small focus group together, (I forget where and the complete gist of it all). The important thing here is that You are thinking about who the customer base is, and I find that to be very good news. There are many diverse customers, the ordinary user, (myself), the blogger, (we want ads people), the developers, the gamers, the internal business people (we have votes, botes and I have loans for you people). and we all have different wants, needs, and desires of how steem should work. Very glad to see your post.

This is such a great overview of the problem. I agree completely and see steemit.com as albatross around the neck of the blockchain. It would be best IMO to hand over the development of the interface steemit.com to the community, with a rename of the fronted to something else and just have steemit.com as a portal which has links to the various generic front ends and more specific DApps . Otherwise we are just stuck with the steemit.com = STEEM perception which is so pervasive in the market at the moment.

The focus on STEEM seems right in so many ways. I'm not sure how general the user base can be right now. There are so many ways to access the blockchain, it takes some sophistication to understand it. I think STEEM is basically still for the cyber-crypto-libertarianish-geek with some international, artistic, and other non-conformist elements.

Agreed. My change in attitude about recruitment was covered in a fairly recent post. It is discussed about half way into the post. We should not be seeking mass adoption at this point in my opinion.

A link is included for your reading pleasure.


Imagine, for example, that the only people who "used" Steem, were developers?"

That's not hard at all. Getting a straight answer is like pulling hens teeth. If we asked 'what time is it' , you told us not only how to build a clock but the entire history of chronological devices.

Yeah like that. If you can't dazzle them with brilliance then baffle them with bull shit.

I think that would destroy most of its value.

Gee...ya think?

This explains a lot of things. Thank you

To listen to the audio version of this article click on the play image.

Brought to you by @tts. If you find it useful please consider upvoting this reply.

Is the idea to close steemit? If not, RC's are dumbest move to grow social media platform I have ever seen.

People rarely join a social media platform, to be then told that they are limited in there communications to other users...
..they get penalized for ...interacting on a social media platform.
That's a new one...

It's beyond illogical...

I still don't really understand the whole RC concept... but it's on a fairly long list on things I don't grok

RCs help reduce spambots and ultimately makes people want to buy steem and powerup. Think of it as gasoline for every user's car. in the past, every steemit account used gasoline from a central reserve. even though it is renewable, spambots used more of it. but now, every user will need SP to interact more. i think it was done to make people buy steem and power up rather than anything else.

Anyways, it's pretty much BS to normal users like you and I and i think the hype at the time was totally unnecessary. I find the idea of having to delegate SP to an invitee's account before it becomes useful very stressful. And i find it even more stressful when i have to discuss it, even though it makes the platform a bit better. I just want to blog and engage with contents that interest me.

....and ultimately makes people want to buy steem and powerup.
.....i think it was done to make people buy steem and power up rather than anything else.

Only in steemit logic - not real world human behavior who expect social platforms to be cost free.
(Hubris v's Reality....I wonder which will win?lol)

I just want to blog and engage with contents that interest me.

if only this common sense perspective was kept as the main thing, from the very beginning- then and created things around this idea, rather than trying to shape peoples behavior to fit their plan...

sounds like economic theory at work, "do as i say and not as you do" (-: trying to impose one's own rationality on others always crumples systems it would seem

well thanks, i still don't really understand, but I'm a steem power-upper so i guess i can't complain 2 much / peace

I like learning so i'll explain it just as i understand it.
Steem fixed RCs because of something called blockchain debt. I don't really understand what that is but i figured free transactions aren't entirely free. something has to be used up. On steem, RC are like gasoline to help accounts transact. they are used up, but unlike gasoline, they are renewable just by letting some time pass (much like our voting power or mana).

Imagine a country where gasoline is free for every car owner. While some people do too little driving in a month, you can bet there are some people who would abuse this freedom. They'd take their cars for joyrides anytime even when it's unnecessary because the resource is available and the government pays the bills from everyone's taxes.

Steem as an economy used to function that way. Spambots would send hundreds of memos to Steem accounts everyday, which seemingly increased this imaginary blockchain debt.

With RC, however, every account is responsible for their gasoline. it is not readily free for everyone anymore. To transact more, you need more SP. this means account holders need to buy Steem and powerup. In the future, more powerful dapps would need more Steempower to function properly. It is good because as they hold Steempower, they can generate more revenue for themselves by voting on their updates and stuff.

That's how i understand it. It's pretty basic but it works...
Please to meet you, I'm from Africa. :-D

Limiting use is a necessity on any blockchain for technical reasons. The debt is far from imaginary.

A steemd node needs to serve the requested content quickly, which is why it keeps everything in RAM or on expensive quick hard drives. This leads, among other things, to the enormous cost steemit Inc and other API operators have for servers.

Got it. Thanks for taking the time to explain.

Thank you for this!

hey, i think i get it more now, ty ! (-:

that's why there should be like a FAQ of terms somewhere, but oh well, but it on the list of someone to do (-:

Those with enough stake can now create a new account per day. They should then have enough stake to delegate enough (25-50 SPs) that the new user should be able to navigate the site.

We should end up with quality users instead of spammers with hundreds of free accounts this way, in my opinion.

A steem friend of mine has brought in about 50 users this way since HF20. My count is at 2 having only bought my Dolphinhood a couple of days ago, yet have also been trying to find active users feeling the RC crunch and delegating to them.

Home grown recruutment will lead to a much better quality of user, in my opinion, until the RC Pool comes online.

Those with enough stake can now create a new account per day. They should then have enough stake to delegate enough (25-50 SPs) that the new user should be able to navigate the site.

I posted once, upvoted 2 times ,and commented twice (with about 25sp in an unused account).

Then I could do nothing else until my rc's had powered up - next day.
That is not a model to make a growing social media platform...

We should end up with quality users instead of spammers with hundreds of free accounts this way, in my opinion.

shoulda, woulda, coulda - new users will go away and not return if they can't use a social media platform without being penalized fo ruseing...a social media platform....
(I would have, if this was my first experience. I would have gone to Minds or something...)

When intellectual hubris meets human behavior, and then fights the users expectations by penalizing them, only one will ...
...in my opinion.

Point taken, @luculin, yet is this a blogging platform or a facebook substitute? It sounds like you had enough RCs to use the platform for blogging, unless you can put out more than a couple of blog postings per day. We most likely have different expectations of how we wish to use the platform. Hopefully with the introduction of the RC Pool you will be able to use it more to your liking.

Ho Ho Ho! @andrarchy, one of your Steem friend wished you a Merry Christmas and asked me to give you a new badge!

SteemitBoard wish you a Merry Christmas!
May you have good health, abundance and everlasting joy in your life.

To see who wanted you to receive this special gift, click here!

Click here to view your Board

Do not miss the last post from @steemitboard:

Christmas Challenge - Send a gift to to your friends