Month: January 2018

Twitch and WordPress trend is getting serious

Twitch and WordPress trend is getting serious

Add live Twitch video and chat to your WordPress. Suddenly you have some very engaging gaming content on your very own website and it was easy right?

It is easy to get excited when you’re making progress and seeing things happen without cost or too much learning. You might then post a link on Discord or Reddit to get some traffic to your newly embedded content as seen on Twitch.tv itself. You can expect an increase of daily visits and viewers might hang around on your blog a bit longer now.

It really is that simple…to get started!

You’re possibly just getting started on a fun journey that can be fulfilling. I want to pull you into my community to make sure it is a rewarding venture.

Enhance Your Gaming Time

It isn’t a small task to create a website that will stand the test of time. Unless all of the above is all you ever want. In that case, this project won’t appeal to you much. Until you read exactly how much Twitch power can be added to your WP…free of charge. Then all those cogs might start turning in your head and then your all mines!

Free stuff that can be used to impress your viewers! I think you need to read more.

If you eventually need a blog that grows and enhances your gaming time. Then you will need to think like a professional web developer…just a tiny bit. Without going too far and taking all the fun out of gaming.

Get Support in Discord

You will save time and money by getting help from people like me. I help people like you build and manage bigger, better, web projects that result in more profit. Lasting success is still down to you but why start alone and small when you can go bigger with chat support on Discord.

No Technical Experience Needed

Thanks to the TwitchPress project it gets easier to set-up a clever subscriber focused website with every update I release. Do not be concerned about your level of technical knowledge or free time. It might not be as simple as one, two, three but thanks to TwitchPress you can begin thinking bigger and become part of the growing trend to make a home for your gaming community away from Twitch. Without it costing too much time or stupid sums of money. Without it requiring Twitch API experience or clocking days worth of hour as a WP administrator.

SEO v Twitch.tv

You’re not going to beat Twitch.tv at the game of SEO but you can beat other channels by using keywords related to streaming or common activities or events held on Twitch. You can get a portion of traffic, going to your own website and use that traffic to build your community. What I’m trying to tell you is, it’s impossible to rank high for popular searches. The reason being, many phrases are used in a temporary capacity i.e. an event that passes.

My “TwitchPress” phrase dominates the first page of a Google search but it didn’t always. Previously, the Twitch Press (that is press for Twitch.tv) ranked in first place. So I’ve made some progress establishing my brand in terms of SEO. Even competing against Twitch! That is because Google allows me to, as it learns “TwitchPress” is a brand and not a spelling mistake!

So make your brand, find your phrases, ensure they compete, but not too much. You want to use something unique within your viewer’s common searches to bring you to the first page of search results. Normally your handle, your Twitch username, will solve this but not always. So you need to perform some queries and consider getting advice once you’re in the habit of thinking about SEO.

Twitch.tv Data: Exciting API Consumption

You are about to join the determined gamers within a newly emerging community of WP owners and learn secrets about why there is a rapidly growing trend of streamers building impressive websites powered by Twitch data. I have helped partnered players achieve exciting levels of data consumption using the Twitch API and they never paid much.

They never paid much because most of what they needed is already free!

You might be wondering if you’re in the right place after reading that, am I reading the right post and does any of this apply to me you might ask. What if I told you TwitchPress is free and has many free extensions? So yes, you are on the right path, the TwitchPress path and the best path. I will explain why.

TwitchPress Path: Your Choice

TwitchPress offers more than just a bullet-point list of current features. It offers the ability to add your own features to that list. The core plugin, named Channel Solution for Twitch, is an API for an unlimited number of custom extensions. This is crucial if you’re serious about building a successful website. Choose this project if you want to adopt a development path that allows you to increase the power of Twitch within your WP in a way that a selection of random plugins can’t offer. Consider how you’ll continue expanding your WP site now and avoid a difficult situation later when you want to add exciting features using more Twitch.tv data.

TwitchPress Growth: Grow or Don’t

Avoid becoming stuck for solutions when your community outgrows your current blog by adopting a plugin that is designed to support growth. Use TwitchPress as professional gamer and streamer or even as a service provider.

You’re going to require professional levels of integration to impress a new generation of advanced viewers.

Existing plugins are designed to do very specific things and the total of what they do is 1% of the true power offered by the Twitch API. None of them can integrate with each other without more work and so they cannot give you options that only TwitchPress integration offers right now. If your budget is great and you can hire WP developers then your lucky enough to have the option to grow whatever scenario you find yourself in. Albeit a potentially very expensive scenario if you want to do what our partnered Twitch streamers are doing with TwitchPress. If your budget is poor then your decision is very simple. Grow or don’t grow. I’m trying to save you time when they realize that you want WP to do more and a mix of plugins from many different developers doesn’t offer enough synergy.

TwitchPress Synergy: Anything and Everything

Compliment your channel with a powerful WordPress site. Compliment your community with a powerful network that includes your social network profiles. Let’s not forget YouTube which is crucial. What about Discord, Reddit and other third-party services that usually become important to a gaming community. Then there are Twitch services like DeepBot that offer their own API.

Do you know that there is a growing trend to not only add all of the above to WP but to make them work together and get very clever when integrates?

It would cost you hundreds to do this on your own and TwitchPress does not offer all of the above but that is the goal. I have spent months creating a project that aims to use everything and anything related to gaming within a single system. The most manageable way to do this is an extendable system.

TwitchPress Extensions: Free and Premium

The core plugin will soon reach 1MB in file size, a milestone for a WordPress plugin. Most plugins will never reach this size and it is a small indicator of how much is packed into what is only the foundation plugin of a larger Twitch system of many plugins. Many of the files within the core plugin offer administration support in the form of data views and tools. One of the best things is the Setup Wizard which guides us through important configuration options. That includes a list of extensions, all currently free. The list allows us to select and install any number of extensions instantly. Extensions are being created to integrate with popular plugins and services like DeepBot.

No Premium Extensions

There still aren’t any premium extensions but they will come. I need to raise money to sustain the project and the hardware I use to manage the project. Laptops do not last long in my experience! Until then more free extensions will be created. Some are funded by donations and you can influence the development of this project yourself by making a very small donation.

TwitchPress Community: You’re Invited

One of the best advantages of bringing everyone together under one project title is the diverse community. I invite you to join us on Discord where you can chat with developers who are gamers, gamers who are Twitch partnered, gamers who are mad, web devs who are hired by streamers, me and myself, and curious people like yourself. In our community, you will learn how to make safe, secure and fun progress when adding more tools to your WP.

TwitchPress Summary: Trend Ahoy!

The growing trend of WordPress gaming sites is driven by a combination of factors.

  • Twitch subscribers can be offered more perks through to the website. The potential perks are endless.
  • There is an opportunity to earn more money by adding a store and selling self-styles merchandise or gaming hardware. E-commerce is easily achieved with WP.
  • WordPress is stable and thanks to WordPress.org error checking plugins site owners experience less frustration. WP is even more fun.
  • Web technology is well integrated into many free plugins and allows third-party services to power content. This makes it easier to fill a blog with gaming media and the social activity that happens around it.
  • Gamers want a home for their clan that allows 100% control and customizability.
  • Networking and connectivity tools are pushing the limits of media sharing. It can all become a big chore. WP can reduce your workflow by automating sharing within your network and act as your online office.
  • It is even easier to create custom services for the entire Twitch community because WP keeps getting better and TwitchPress is being built to offer endless admin tools.
  • TwitchPress now saves partnered streamers hundreds (in money, not cookies) because it is open-source. The community is collectively funding its development to reduce costs for one-another. This includes pledging using Patreon.com – the projects publicly visible source of funding.
  • More gamers want to achieve something other than a high score or kill the Ender Dragon on hardcore (although that would be impressive). Spending time improving a website is an experience that can be used in studies and even work.
Advertisements
TwitchPress Newsletter 1: Roadmap 2018

TwitchPress Newsletter 1: Roadmap 2018

Donations in the first week of 2018 are a strong indicator that TwitchPress is a successful startup project. Plus everyone who has joined us in the communities Discord has expressed their excitement over the project. I’m going to take this as a sign that I’m going in the right direction and keep up the good work.

* pats self on back *

Important Phase, Serious Weeks

The project is about to enter an important phase that focuses on increasing the plugins coding standards and then we enter some serious weeks that involve the New Twitch API. The new API is the biggest priority of the year but in saying that we should manage to have it all done by June.

Summary of 2018 Tasks

  • Twitch API version 6: The “serious months” will be about 3 months in total as I gradually build the new Helix library and add the ability for our WP sites to make a transition to the new API.
  • DeepBot Extension: A donation from a new backer came with a request to create the DeepBot extension or did a request come with the donation…I forget. Anyway, the extension is my next task after this. It will be available to test by 20th January.
  • Twitter, YouTube, Steam and other API Support: the biggest backer of TwitchPress has made his request and he shall not be ignored. He wants everything and he wants it yesterday. He wants to bake cookies with social network API’s and make you eat them – a hint to whom I refer! General support for other API is a big thing right now and WIP.
  • Documentation: I need a reference myself now so I can understand how new comer’s to the project might feel. Short user-guides are coming i.e. individual guides per shortcode with example usage and output.
  • Naming Convention: Do you know if the $user_id variable holds the WordPress user ID or the Twitch user ID? This very example caused a bug that cost me around 10 hours debugging time. Some functions and hooks could be named better and once done the project will be more enjoyable to work with.
  • Reduce Repeat DB Queries: There is some overuse of common WP functions that may not cache recent query, need to confirm this. My concern is that the plugin might be requesting the same values up to 5 times in a single request because it’s just too easy to use get_option() and get_user_meta(). I will be spending a week (20-25 hours) improving the objects we have to work with and creating functions that check for set values before making database queries.
  • Rate Limits: version 6 of the Twitch API has a rate limit requirement and the idea is to avoid making frequent calls for the same data especially when that data doesn’t change very often. I was already planning to control calls per endpoint in the strictest manner and will spend around 20 hours on this during the first half of 2018.
  • Speaking of the Sync Extension: did I mention that I’m merging it into the core plugin? The core plugin is called Channel Solution for Twitch and it really needs built-in sync and call rate management. This will take about 10 hours to complete including testing.
  • Better PHP Documentation: this is the boring task of them all but it is very important. Once again I’m looking at how enjoyable the plugin is to work with and how easy it is to understand technology. I want to spend around 5 hours improving the reference within function documentation.

Technical Stuff

If you’re really into the project and my development please read-on. If you need more or less technical jargon please let me know. I’m blogging to a varied audience which is why I made a short list above.

New Twitch API v6

Twitch.tv already offers access to version 6 of the API. The new API has been named Helix (previous was Kraken) and Helix offers a slight simplification of the data returned by Twitch. I have already added a folder for building a library to support Helix.

Twitch API Logo

The work will involve copying the Kraken library in Channel Solution for Twitch and altering every API call function and ensure all output is correct. There are also new webhooks that will allow us to keep our Twitch data updated. This is going to be fun and it has to be finished before December 2018 when Kraken is switched off.

I’ll do it tomorrow!

Seriously, despite the importance of ensuring TwitchPress works 100% on the new API. It won’t be first within my workflow for another two, possibly three months and the simple reason is my need to raise the standards of naming convention and PHP docs (notes in code) before building a great Helix library.

Documentation

It is time to begin developer and user documentation. The project is already getting so large and complex that I need some reference material for myself. The technical documentation will be managed on the GitHub Wiki and user documentation on the project blog. Everyone can request access to both and help maintain the Lorem Ipsum dolor!

Variable Naming Convention

I’ve brought the world of Twitch into the world of WordPress and failed to foresee the need for a strict naming convention. When we add third-party plugins like Ultimate Member (the first plugin to be integrated with TP) things become more confusion for a developer and we need to name variables very clearly i.e. $user_id appeared in the Twitch API class and is commonly used in WordPress.

TwitchPress PHP code user id variable

I caused a bug that cost around 20 hours of debugging thanks to passing the wrong type of ID using the $user_id variable. So $wp_user_id and $twitch_user_id is now a thing, a very important thing. This is one example of clarity that I need to push into my work before growing the plugin any larger.

Technical Naming Convention

Recently I spent two weeks of my free time repairing an issue with subscription data syncing. The cause was due to changes at the end of 2017 but the real problem was that the naming of functions and class methods were vague i.e. getUserSubscription() does not tell me if it gets the users local data or if it queries the Twitch API. This is important because we want to avoid calling Twitch too often for the same data and rely more on recently synced data.

I must ensure that there is a clear strategy in how we develop in future. My strategy is for local data to be accessed using standard functions. They will be easy for third-party plugins and themes to use. Calls to Kraken will be performed using my Twitch API library and will look very different.

I need to establish this before creating the new Twitch API version 6 library as method names could be improved to enhance the convention i.e. I could put “_apicall()” in the name of methods.

Better Hook Clarity

I feel that there isn’t enough correlation between a hook and it’s callback function. This happens when the function is named to suit its output or specific action.

  • show_user_profile and twitch_subscription_status_show()
  • edit_user_profile and twitch_subscription_status_edit()

This is an example of two hooks (on the left) and the functions they call. Looking at these lines I know what they do but if I saw the function names elsewhere I wouldn’t know that they have anything to do with the user profile!

What it means is more reading and reading time adds up very quickly. So before I go building the plugin further and continuing with these habits. I must correct the naming convention of these too and get into better habits before the project doubles in size.

Overuse of Core WordPress Functions

It is far easier to work directly with the WordPress core in a new plugin because we don’t need to remember a hundred new functions that never existed until now. That is fine to a point and then we need to look at custom functions that reduce the number of queries we make to the database. Our own functions can also offer an opportunity to apply hooks.

It will be important to ensure WordPress is caching some of our persistent queries already or cache them ourselves. We all want very smooth loading websites and I intend to deliver that.

Rate Limits

Twitch API version 6 has rate limiting that I’ve only read briefly but from what I understand. It means I need to design a procedure that manages how frequently we make calls to the API.

TwitchPress API version 6 rate limits

Good news, I was already doing that in the Sync Extension and the projects GitHub issues have plenty reminders of it. We will manage our calls to the API and eventually we might have full analytics that allows us to take a keen responsibility for how we consume the Twitch API.

More Referencing in PHP Doc

During two periods of massive debugging in the last 2-3 months I’ve found a lack of referencing within PHP documentation. I’m having to perform searches too frequently within phpEd and Google and Twitch API documentation.

TwitchPress PHP doc link

I’ll be spending a couple of days minimum. Just working on the PHP doc and adding clarity that makes the project even easier to work with. This will come in the form of mentioning hooks that use the function or key functions that use the function and functions that are similar to the function and lots of function stuff! Phew!

I want developers to enjoy diving into the world of TwitchPress and WordPress combined. I’ll get what I want on this because I’m super determined!

Merging Sync Extension

This is an interesting one. I have decided to merge the Sync Extension with the core. So the Channel Solution for Twitch plugin (the core of the TwitchPress system) will have an inbuilt solution for managing API call rates, caching and keeping data updated without angering the Kraken!

This will be done early 2018 before we continue to build new features.

Update FAQ

This is really just part of the documentation push I need to make happen this year. I just wanted to highlight an area of documentation that everyone can get involved with and some members of the community already have. I welcome anyone to add new FAQ and enjoy contributing to the project’s documentation.

ImChrisP from Twitch.tv Just Donated

ImChrisP from Twitch.tv Just Donated

I was working hard on some improvements to make the plugins required scopes easier to understand when I got an email from PayPal. That is two donations in a week and they will go far. A big thank-you to ImChrisP (click for Twitch channel) for this surprise. Chris, I just followed your Twitch, my friend.

Right, I have a lot of work to do over the next few days and need to thank everybody, by coding instead of talking!

ImChrisP Twitch Insane Fortnite Game 15 kills

GamingFroggie Donation

GamingFroggie Donation

Great start to the year for the TwitchPress project with appreciation going to GamingFroggie at GamingFroggie.tv because he just donated money.

His donation was not small but a small donation from many can go a long way. The act itself can help us all determine how much backing the project has. This creates trust and encourages more use of the TwitchPress plugin.

GamingFroggie will now be giving more privilages as a Contributor. I have plans to give perks for being a Contributor such as free ad spaces and big discounts on any extensions I decide to sell to generate more funds.