Programming Diary #25: Enhancing the SCA tool and exploring ecosystem challenges

in #programming2 months ago

Summary

With gratitude to @o1eh for trying out the SCA browser extension and providing some feedback, today's programming diary post covers recent changes to the browser extension as well as short and long term plans to improve it.

Additionally, the reflections section covers some general areas that I'm thinking about with regards to the Steem ecosystem at large. These include topics of trending posts, promoted posts, search engine optimization (SEO), and the platform's curation rules.

Background

I introduced the Steem Conversation Accelerator in July, and that has been my primary area of focus for programming during the months that have passed. Two weeks ago, I opened up the repository and licensed it as Open Source. During the last two weeks, my focus has continued here.

In Programming Diary #24, I listed the following for my next steps:

My immediate goals are:

  • Validate the observer account when it is entered in the popup configuration window.
  • Add some sort of polling status indicator and pause capability in the popup configuration window.
  • Start working on polling of threads where the observer account has participated.
  • Continue with improvements of existing capabilities.

I'd say that I accomplished 3 of 4 goals. Unfortunately, I haven't been able to find time for monitoring conversations that the observer has participated in.

In order to achieve this, I have made 15 git commits and (something new for me), I opened some github issues.

Here are the details of my progress during the last fortnight.

Activity Descriptions

Validate the observer account

Previously, the extension would happily let you enter a bad observer account name, and you would never know that you had made a typo. If that happened, no alerts would be received, but the browser operator would never know why. Now, if an invalid account is entered, the extension will refuse to save it.

Polling status indicator

The browser extension now has a status box that tells you what it's doing behind the scenes and updates some time stamps that can reassure the browser operator that the extension is still running. The image to the right shows what it looks like. The status box refreshes every 15 seconds if the window stays open.

Other improvements

Fortunately, @o1eh has begun using this extension (Thank you!) and has provided some useful feedback (Thanks again!). At his suggestion, I made the following improvements:

  • Increased the font size to improve readability.
  • Added a clickable link in the popup form to open the activity list without waiting for polling to finish. (this turned out to be easier than I expected)
  • Fixed a broken link in the display of posts in the activity list.

Here's what the activity list looks like with the font increase and other minor cosmetic changes.



Other changes included a more attractive looking (and smaller) popup window that lets the browser operator change the config settings, as well as a customized "alert" when configuration settings are saved so that the alert now fits comfortably inside of the popup window. This can also be seen at the right.

Next up

I'll be running this version of the extension today and tomorrow, and assuming I don't find any roadblocks I'll merge it into the master branch tomorrow.

Beyond that, I hope to pick up with the goal from last week's post, to monitor recent conversations that the observer account has participated in and deliver a notification when there is new activity.

The bad news is that I had hoped to have a Q3 update to the rules for the Steem Follower Checker, but I don't see any way for that to happen.

Reflections

Long term vision for the SCA

Not much change here, but I want to keep my eyes on the destination. In the long term, as noted in the readme file, I intend to have 4 basic aspects to the SCA:

[x] - Reporting activity from followed accounts.
[ ] - Reporting activity on threads that the observer has participated in.
[ ] - Reporting activity in subscribed communities
[ ] - Providing visibility to posts that burn rewards or receive post promotion payouts.

Additionally, I plan to add muting & filtering to improve relevance.

[ ] - Honor "muted accounts" at the blockchain layer, and enabe more filtering inside of the browser extension.

The overarching goal of the tool is to speed up the time between comment and reply by bringing relevant activity to the browser operator's attention without the need to visit a Steem website.

General Steem topics

In addition to programming, the topic of curation rewards has come up again. It's often good to revisit this so that new arrivals on the blockchain can understand the rules. Here is my understanding of the curation rules. Maybe not completely right, but that's my understanding. Please let me know to correct any misunderstandings that you find there. Additionally, I posted about using the Brave Browser as a curator's assistant. AI is not going away, so we need to figure out good ways to make use of it. Here's today's version of my curation prompt😉:

Evaluate this article in the following dimensions and score each dimension from 1-10. The dimensions are:

  1. Novelty/surprise: Does the article provide unique information or perspective?
  2. Organization: Is the article structured in a way that motivates the reader to read the whole thing?
  3. Grammar/spelling: Are there any mistakes?
  4. Relevance: Is the topic relevant to a wide audience?
  5. SEO score: Look at the URL and the post structure. Will this draw visits from search users?
  6. Any other factors that you think should be considered.

Also, provide an overall score from 0-10.

Finally, I'm going to vote on 40 articles today with an average percentage of 25%. From 0-100, what percentage should I allocate to this article?

Explain your scoring.

What's yours?

Additionally, the pausing of TRX reward payouts can also cause confusion for new arrivals, so hopefully the Steemit website can be updated to reflect the pause.

Finally, after this comment from @the-gorilla,

I.e. the loss in SEO value of the first hashtag being in the URL. You'll find that the majority of Steemit's "Google discoverable" content isn't in a community and has a relevant 1st hashtag. If we want to be better at this (which I know we do), we need non-community content (perhaps even allowing this non-community content to be promoted within a/multiple communities). Something to think about. Aligned with /promoted.

I've been thinking about the topic of SEO. I'm still not sure of the implications, but I do think I'll be less prone to use communities and more prone to use my blog for future posting. As a result of that comment, @moecki wrote

But what does this mean for Steem and Steemit? Do we have to abolish the communities again?

And I replied:

My original expectation, back before communities existed, was that the community owner was going to be able to pick their owning account name, and that the name would be relevant to the topic. I guess there were reasons why they decided not to do that, but from an SEO perspective, it seems like it would be an improvement.

Maybe there's a way to decouple the account name and replace it with a relevant string that can be chosen by the community and arranged in a way that doesn't conflict with regular tags, i.e.

steemit.com/c/[community_tag]; or
communities.steemit.com/[community_tag]

Bottom line, there are multiple dimensions to this observation:

  1. How does the account owner optimize their own SEO?
  2. What are ecosystem best practices for posting in blogs vs. communities, under the current architecture?
  3. How can the ecosystem be altered to make communities friendlier to SEO?
  4. How does /promoted fit?

Finally, and somewhat related, @moecki is looking for feedback about /trending.

The trending score is determined on the basis of the votes a post receives. Posts with a high trending score are displayed higher up on the page than others. There are therefore two considerations to ensure that investor contributions do not appear so high up in the trendings:

Investor votes are not included in the trending calculation.

  1. In this case, there would have to be a (adjustable) list with the corresponding accounts. This might not be very successful, however, as trail votes are often linked to investor votes, meaning that the score is still likely to be higher than for other posts.
  2. Votes that occur within a certain time are not (or less) included in the trending calculation.

    Here, for example, I could imagine a time range of 10-30 minutes in which the value for the trending score increases steadily. This should then cover both the investor votes and the trail votes.

    Feel free to write me your opinion on the suggestions. I haven't done any tests on this yet, so I can't show you what impact one version or the other would have. But that will follow soon...

Conclusion

Overall, I'm happy with the SCA progress during the past two weeks. I addressed a couple of points that I thought were very important for the tool's usability. Specifically, the status monitoring and observer account validation, fixing the broken "Post" URL, and adding a link to open the activity list at will make the tool more usable, and the other cosmetic changes make it more pleasant to look at.

Long term, I don't see any need to change directions from what I've reported previously. Goals are to improve the information that gets delivered to the browser operator and also to provide visibility for people who use the blockchain's promotion mechanisms.

Finally, this post raises awareness about some important topics that have come to light in recent weeks. These include curation reward rules for new arrivals, the need to optimize search engine interactions, and - relatedly - rethinking the trending algorithm.


Thank you for your time and attention.

As a general rule, I up-vote comments that demonstrate "proof of reading".




Steve Palmer is an IT professional with three decades of professional experience in data communications and information systems. He holds a bachelor's degree in mathematics, a master's degree in computer science, and a master's degree in information systems and technology management. He has been awarded 3 US patents.


image.png

Pixabay license, source

Reminder


Visit the /promoted page and #burnsteem25 to support the inflation-fighters who are helping to enable decentralized regulation of Steem token supply growth.

Sort:  

Upvoted. Thank You for sending some of your rewards to @null. It will make Steem stronger.

This post has been featured in the latest edition of Steem News...

This post has been upvoted/supported by Team 7 via @philhughes. Our team supports content that adds to the community.

image.png