TwitchPress Two Years On

TwitchPress Two Years On

Well,  it’s not great news! After two years of working on the project, alone and without enough funding. I have to admit that we (myself and the community) have not achieved enough to make TwitchPress a viable solution…today. The plugin works for many as they need it to, despite some saying it doesn’t at all but it’s often just a configuration issue.

Despite it working for many, including streamers with thousands of followers and many subscribers. As of today, I will not recommend the installation of TwitchPress and I predict this status will apply until January when I can review progress in relation to the new Twitch API requirements. I will focus on existing users who have had it installed for weeks, even months and continue to gather user feedback from them.

The Concerns

Here are my concerns which amount to potential friction between myself and the community…

  • TwitchPress is currently adding more than a second to the TTFB (Time Till First Byte). Such a negative impact on WordPress is unacceptable and this will now be a high priority. A big thank you to Nooky for reporting this.
  • Twitch.tv API version 6 has not been finished by the Twitch developers but I am behind on supporting the features that are available and being behind on this is concerning as the old API will go offline early 2019.
  • TwitchPress got to where it is because year one was decently funded by a popular member of the gaming community but year two has not been.
  • I struggle to schedule dedicated development hours on top of the hours I put in from my own time…as a hobby! I’ve always required both to sustain a normal work-flow as the stop-and-start of development can be a drag on productivity. I can see many areas of the plugin I would happily re-do within a decent number of dedicated hours.
  • Sadly the plugins biggest investor (there are more than one) is being let down by a failure to establish a suitable design for a specific service they need, I must be honest with such things as not everyone will share the fact in a one-star review or make public complaints.

I’ll give more details below and a summary of where I am as a developer with this project… 

New Twitch API

Twitch API Logo

Twitch.tv API version 6 has not been finished by the Twitch developers and they cancelled their plan to shut down version 5 for that reason. That has given me time that I wish I never needed because it means I’m behind. However, despite the extra time we have, I cannot guarantee readiness.

Nobody knows what the future holds so we need to be smart. TwitchPress needs to catch up on the work that has been finished for the new API named Helix! I’m aiming to have it done before 2019 and I’ll still have more to do when the Helix is updated. If this is not done before version 5 (Kraken) goes offline, TwitchPress will do nothing for anybody.

Naive Expectations…and Hopes

Year one was decently funded by a single member of the community but year two has not been. There has been an appreciated trickle of donations through Patreon.com and although the number of patrons has declined (just two today) I’m still full of hope for the future.

ZypheREvolved Patreon support for TwitchPress

Their investment will never be forgotten and for two years I’ve dedicated myself to providing them with support, even for none TwitchPress issues. That will not stop either as the Twitch streamers I’m talking about continue to provide a professional level of feedback that helps me to prioritise.

I truly hoped that I’d make many more connections like this, with two-way support, but I may have been naive.

Possible Premium Strategy

I’ve made it clear, over the last 12 months, that there is no funding for this project and I work alone. I’ve expressed the size of the project and the ambition behind it in an attempt to communicate the fact that users need to adopt a professional approach when building their WP site.

WordPress-Developers

As per the plugins included licence, it’s for others to decide if they wish to make use of my work, how they use it, in whatever condition it is in. But I have always tried to encourage people to look at the bigger picture as this plugin is not just an add-on, it often becomes the backbone of a WordPress installation. This is a responsibility for me, even if the licence protects me.

It might be time to communicate the seriousness of this project and obtaining more funding by establishing a premium strategy, just as soon as the above issues are sorted. I would hope that a premium element would slow people down and make them truly consider their need for this plugin. Also, the level of dedication and investment they want to make because even from the very beginning I’ve stated that this project belongs to the Twitch community.

Design Issues…to be re-done!

I can see what needs to be done to improve the core of the plugin but sometimes I’m adjusting older work and sometimes that wastes time in the long run. Often the first approach is exploratory and should be re-done when it starts needing attention. On the positive side, I know where, how and I’ve added plenty of issues to the projects GitHub to stay on track…however slow I’m going!

Summary

I don’t want to type much longer, there is much work to be done! The fact is I never-give-up and I don’t really know how to quit. So do not be under the impression that it has even been considered. Today, with this post, I’m simply ensuring that my communication with the community is covered and I have peace of mind when it comes to my reputation of being an honest developer who believes in transparency.

The gaming community doesn’t get enough truths and I don’t intend to add to everyone’s frustrations. That doesn’t mean I won’t and plenty great developers piss people off because we simply can’t truly foresee how a new project will play out.

Today, I’m going to spend some time considering a strategy for testing and improving performance. This will no doubt create a ripple of changes and is a branch of work that could take many hours itself. Getting it right, will truly make this plugin powerful and worthy of a premium status on top of full support for the new Twitch API. It is almost there, but not today and that status should not be ignored!

Advertisements

TwitchPress System Version 2.0.3 Beta

It is time to test the core plugin and all extensions. This post is being published in a new blog category and is part of a new approach to encourage community involvement. The testing of such a large and fast-growing project is tough work for a solo developer. I cannot reproduce every environment that the plugin will be installed on i.e. different server settings, different versions of WordPress, themes and third-party plugins all make up a unique environment for testing within.

Download and Install

Do not upload the entire zip file using the WordPress admin, it contains multiple plugins. You will need to copy the plugin folders into your WordPress installation. Put them in the “wp-content/plugins” directory.

Download the TwitchPress System from GitHub (beta branch) or from Discord #testing channel.

Setup Error and Logging Services

The standard testing procedure will involve activating error display and debug. We need to see errors, record or screenshot them and send log files to the rest of the team. So be ready to generate useful information that will help developers make changes quickly.

Go here to read about how to approach debugging in a simple way within the TwitchPress project.

Beta Testing Tasks

These are the features and procedures that need to be tested.  Please communicate within the projects Discord rather than comment here when making your way through these tasks. Comment here only for more information to be added or updated on this post, please.

Task A: Activation

On a fresh installation of WordPress (do it live at your own risk) please activate the core TwitchPress plugin and then all extensions, one at a time. I need to see two confirmations that activation goes smoothly.

Task B: Ultimate Members Subscription Sync

The third-party UM plugin had some key changes made to it. The UM extension that integrates TwitchPress with the UM plugin has been updated. We need to ensure that WordPress users Twitch subscription is synced with WP and the user is giving the appropriate UM role. This requires the use of the UM extension settings for assigning a UM role to each Twitch.tv sub plan.

Task C: New Streamlabs Extension

This new extension takes the project to a new level because we are now working with another API and require constant syncing of data from a service other than Twitch. This means we need advanced queue management and asynchronous execution of tasks. In short, it’s a busy little system that needs to be done right to ensure our WP blogs run as good as the services we use.

This task involves using a shortcode that displays a visitors Streamlabs points for the main channel. Like every feature, it worked for me, but it is never that simple. Paste the following shortcode into a test page and display another user’s points by logging in as another user: [twitchpress_streamlabs_current_users_points]

This shortcode is intended for use on views that are “current user” related i.e. my profile edit. This shortcode is not for use on a public page as none logged in users would cause it to display.

 

New Role-Update Approach

New Role-Update Approach

A change to the Ultimate Member plugin has required an important, one-time change in the TwitchPress UM Extension. It involves removing/applying standard WordPress roles to a user who subscribes to the main Twitch channel. I’m not blogging about the way, I’m just making a quick post to help remind you and even myself how this now works.

Remove Many Roles

To handle the rare event of a user having more than one WordPress role that is paired with Twitch subscription plans, we remove them all. The issue here is that a role might be required by a user for purposes, probably not going to happen for most gaming websites though. I’m just blogging to help us troubleshooting if someone has a big issue with it.

TwitchPress Ultimate Members Extension new role sync changes June 2018

The PHP in this above shows that the UM extension will loop through all of a users roles (they will usually have a single role) which are also paired with Twitch subscription plans. In theory, this should never be required but is a precaution to prevent a situation where users are granted multiple roles within the TwitchPress system.

Channel Not Confirmed

Channel Not Confirmed

This error was meant to indicate that the giving channel has not been entered properly but right now it also appears if the user_read permission has not been granted in scopes.

In April 2018 two users complained about seeing this notice after a plugin update. The solution is to complete the Setup Wizard again and apply user_read, unless the spelling of the channel is the issue.

TwitchPress Channel Not Confirmed