Copyright WebTechGlobal © 2016

Main Blog for WebTechGlobal

This installation and configuration tutorial was created for the “Channel Solution for Twitch” plugin, we refer to it as TwitchPress or the TwitchPress Plugin. The tutorial is lengthy but is in three parts. Most developers will be able to skip ahead to the third section which explains which forms to use and when. 

Here are the three sections within this tutorial post…

  1. Installation – standard WordPress plugin installation, if you’ve done it before, you can skip this part.
  2. Twitch Application Creation – if you’ve created a Twitch application before, you’ll not need to follow this section.
  3. Select permissions scope – this part should be read by everyone due to multiple Twitch accounts being possible.

Install the plugin created by the TwitchPress Project

If you are a developer with WordPress experience, please install the plugin using your preferred method. Then read the Configuration part of this tutorial. This tutorial will encourage installation from WordPress.org for the sake of security.

Step 1: Add New Plugin

Go to your Plugins menu and select Add New.

Go to your Plugins menu and select Add New.

Step 2: Search “TwitchPress” and click Install

It is possible to download Channel Solution for Twitch and then upload it to WordPress. That approach isn’t really required unless you have a custom copy of the plugin. I recommend installation by doing a search in the official repository offered by WordPress.org. To do this just type into the box shown in the image below. You can enter TwitchPress to locate my plugin even though that is not it’s official name. When you see the plugin shown in the image below, click Install Now. This action will download files from the official (safe) source of free plugins and add them to your plugin folder directory. Plugins are folders of files and they do nothing until activated which does not happen at this stage.

Step 3: Installing, please wait! 

Please wait for the plugin to download and install into your WordPress – do not close or refresh the page until you have completed the steps below.

Step 4: Activate the plugin

At this point, the plugin has not modified your WP site and is not considered part of your sites installation. You need to click Activate and then the plugin will make changes to your WP site in ways that most big/advanced plugins do i.e. create new database tables, enter media to your gallery, insert new option records into your WP options table and other minor/standard changes.

Step 5: Confirm plugin activated successfully

Successful activation should be obvious and look like the image below. If it’s not obvious because you’ve not arrived at the list of plugins and seen a notice like the one shown in the image below. You should contact us, send us any errors, describe what happened while waiting for the activation to complete and confirm that you followed the steps above rather than uploading the plugin. 

Create a Twitch Application 

If you plan to provide services to visitors using this plugin, please understand that your plans are serious. You will be considered a developer by Twitch Entertainment Incorporated if you use this plugin to offer other Twitch users some access or control over their channels. With developer-status comes responsibilities and your responsibilities are made clear in official terms. By installing this plugin and configuring it for any use at all. You are agreeing to the terms. The configuration process I have designed takes this serious by making administrators (you) accept my own demand that you read the Twitch terms before using my plugin. That is as far as my responsibilities go as per the “GNU GENERAL PUBLIC LICENSE” bundled with the plugin, see license.txt within the plugins files. 

Step 6: Go to the plugin by finding TwitchPress 

The plugins official name is Channel Solution for Twitch but that just doesn’t fit well in some places. So I use the project codename, TwitchPress. Find and click on TwitchPress in the administration menu. It will take you to the main screen, called Plugin Settings.

Step 7: Locate the Twitch Developer Agreement box

Locate the box titled, Twitch Developer Agreement. The original Twitch Developer Agreement box has been updated to request Twitch API (Kraken) application credentials. So we’ll need to get those before submitting the boxes form and I’ll tell you how. Please note, you do not need to be a developer by title to accept the agreement but by accepting it you accept all of the same Twitch requirements and legal responsibilities as a developer.  

Step 8: Enter Main Channel

If you have installed the plugin for your own use only, enter your own Twitch channel. If you plan to provide a service for the general public or a team of gamers who will be using the site to interact with the Twitch API. Then enter your organisations representing channel, if you have one i.e. the TEST Gaming (also known as TEST Squadron) stream team would enter TESTGaming as that is the name of their channel. It has nothing to do with the gaming teams site domain, testgaming.tv or testsquadron.com so do not confuse these. Members of the TEST stream team would authorise their own Twitch accounts individually if they wish to use services offered by the testgaming.tv website.  

I’ve entered my own channel, I am ZypheREvolved in the world of gaming (please follow to show your support). The plugin will now use the ZypheREvolved channel to generate some default content where examples are required. But it goes further than that. The credentials I enter later will be expected to match the default channel. They don’t have to in theory but I’m making it so. This way any change in the application credentials, requires a change to the default account. If a hacker were to change one, they must change all and it would be a very visible change because any public content defaulting to, the ZypheREvolved channel, would also change. I also want the administrator to manually indicate the channel they intend to act as the default. This approach could be changed if anyone felt that the default main channel should differ from the main channel that makes calls to Kraken. 

Step 9: Go to Twitch Connection Settings

Please click here to open Settings -> Connections (open new tab) and view your connected accounts, services, and apps. Scroll to the bottom of the page where you will find, Developer Applications. Click on the Register your Application to begin preparing your site to communicate with Kraken.     

 I have two existing applications for test sites installed on my computer. The location is known as localhost. Where localhost is displayed, your domain will be displayed. I already have an application setup for this plugin but I can create more that relate to this plugin because technically the application is not strictly for the plugin. It is the site that the plugin is installed on and even then more than one can be created. We can create multiple applications for different purposes on the same domain.

Step 10: Register your Application form

This is the form you should arrive it and completing this form will give you credentials to use Kraken. It’s actually very simple especially if you follow my instructions, even if it is just the screen captures your looking at. The hardest part, for none developers, is understanding the Terms of Service, Privacy Policy, and Developer Services Agreement. 

Step 11: Enter your application name

My application names focus on the names of my plugins because I have each one in it’s own test site. You’re best entering a name that includes your domain unless you’re confident that the channel you’re logged into will not be used on any other domain. If you plan to create multiple applications for a single site, you should take that into consideration when choosing a name as it is important to identify each app. Enter your name now.

I've entered Stream Team Services as my Twitch application name.

I’ve entered Stream Team Services as my Twitch application name.

 

Step 12: Enter Redirect URI

Enter your site’s address in the Redirect URI field. We can get more advanced and point to a deeper directory but we do not have to. WordPress will detect the redirection and process it accordingly without any special values in the redirect URI. However, the projects Trello board has a card to extend this by adding a unique value to the extended URI and the detection of that value would trigger the processing that completes the entire procedure.

Step 13: Select Application Category and click Register

In it’s current state, the TwitchPress plugin is for Website Integration. The projects roadmap plans to deliver a Chat Bot, Giveaway/Loyalty Tool, and Analytics support. So if in future anyone is using the plugin for either of those, they may select them. Until those updates are released or if you plan to use all of the above then select Website Integration. Then decide if you wish to accept the mailing list and indicate that you have read terms, policies, and agreements. Click Register and here is what you should see…

So what we have here is a new application to manage. To be very clear, I do not have access to the testgaming.tv website and so this would not work at all. I’ve entered these details as an example only. Even if (and I hope they do) TEST Gaming decide to use my plugin. They would need to create an application in their own Twitch account. 

Step 14: Copy and paste Client ID

If you look back at the Channel Solution for Twitch, you’ll notice that the form I have created to capture credentials has the same input names as displayed on the Manage Application screen. You need to begin filling out the form in your WP admin. You can manually type or copy and paste the Redirect URL. You must copy the Client ID exactly and paste that into the form in your WP admin also. Do not paste it anywhere else, there is no need to store these values for safe keeping and you should not allow a password manager in your browser to capture the data for storage.

Step 15: Click the New Secret button

Now you will obtain your Client secret. It is so secretive that the Manage Application view does not display it by default, in case your screen is being viewed by others. Click on the New Secret button only when you are confident that your screen is not being viewed and there is no remote connection monitoring your screen. Clicking on the New Secret button generates a unique value that you get one chance to copy and then paste into WordPress. Only paste it into the form I’ve provided and click Update. 

Step 16: Submit the Developer Agreement form

You can close your Twitch.tv tab now. Then submit the developer agreement form in WP. If all goes well, you’ll see a notice much like this one. The Channel Solution for Twitch has stored your credentials but you’re not done. You still need to agree to exactly what permission you are willing to grant as the owner of the Twitch account, that you should be logged into. You will be required to go through the oAuth2 process (technical jargon) which opens that window you’ve probably seen before, listing the permissions an app/site is requesting and you click to agree or close to disagree. You’ll need to do this as an administrator and as a visitor. There is a separate form for each and I’m about to explain what to do below.

Select your Twitch account permissions

The Channel Solution for Twitch offers the ability to setup a service for visitors or it can be installed for personal use only. Either way, you have to complete the same forms I’m about to describe below but how you use them is different depending on your needs. 

Step 17: Locate the Personal and Site Authorisation Boxes

Version 1.0.3 was updated with the Authorise Sites Channel, box. This is where I took steps to create a clearer and safer distinction between developer and user. I had to consider the fact that the person configuring the service, may also be a user of the service. The person configuring the service may be the leader of a team of gamers or they plan to provide a service to the general gaming community, but also wish to use the site themselves. That means the plugin has to cater for a single person wishing to authorise their own personal channel and configure their teams channel. 

I need you to locate these accordion bars which open two very similar boxes, offering identical forms. So please check that you have the Authorise Sites Channel and Authorise Personal Channel boxes. It is important that you understand what each form is meant for and if your still in doubt please contact me.

Step 18: Open and complete the Twitch account authorisation

  1. Authorise Sites Channel: If you are preparing the site for a team or business that has their own Twitch channel, you must be prepared and able to log into that account now. If your WordPress site is for your use only, you will log into your personal Twitch account to complete this step. Open the Authorise Sites Channel box and check the boxes for the permissions your willing to give. Keeping in mind that the plugins features will be hidden/displayed based on your selection. What you select, is sent to Twitch.tv and stored in your account. When you are happy with your permissions scope, click the Connect to Twitch button. What you are doing, is setting the account that will handle scheduled activity and generate public content or analytics. There will eventually be a lot of features offer by the plugin that only use the main account and it is important that a business/team does not accidentally log into a private Twitch account. Administrators and moderators will also have access to features that require the use of the team’s main account. 
  2. Authorise Personal Channel: Open this form and do the same as for the one above. Ensure that during the authorisation process, you are actually logged into your personal Twitch account. This form will set up a temporary session, that expires by itself unless you state otherwise when giving the opportunity. There are multiple levels of security, with users being giving a choice i.e. you can give the plugin/site permanent access to your channel for performing automatic actions and running a bot 24/7. The sites channel form creates a permanent session and does so in a different way. That is a technical different between the two. 

You’re Done

The next thing you might want to try doing is using the shortcode intended for displaying one of many streams, by finding one that is streaming live. It works by adding multiple channels to the shortcode and pasting it into a WordPress post or page. Here is my example, created while testing…

[twitchpress_embed_a_stream_api channels="TESTGaming,ZypheREvolved,starcitizen,cigcommunity,"]

Welcome to WebTechGlobal and the full disclosure of my CODE Portal concept for every Primary School in the UK. The images you’ll see below are concepts of style and layout only. Images do not contain examples of information that relate to this project so your imagination is needed. The information disclosed here is a sample from my project planning and is being presented to teachers within the UK. 

The very first step in the project was a meeting with Jacqueline Thompson (Headteacher of Dysart Primary in Fife, Scotland) where two of my four children attended. The initial concept presented to Jacqueline was closer to a list of tutorials and pages of information about computer science, coding, and programming. Jacqueline was excited by the idea of a free solution and by what the solution could offer. After leaving her office it didn’t take long for the idea to mature into something closer to a fully interactive portal that represents the modern web.

Goals

These goals for CODE Portal will help you to determine if my work is something that your School may be interested in. If you are interested please show it by commenting and sharing this post. That is all the project needs at this time.

Goal 1: Curriculum Focused Course

There is a lot of great information and tools online already. It just isn’t all organised in one place and most of it isn’t planned around the Scottish and English curriculums. CODE Portal will guide staff and pupils to said materials in a structured way. The fundamentals of Computer Science will be included. 

Goal 2: Offer A Free Solution

I want to offer a free intranet solution called CODE Portal. The portal will offer teaching and independent learning material. There is a list
of possible interactive and data-driven features being explored. These will make the free solution unlike anything else on the market and offer a modern experience for it’s users. The approaches being considered are slightly unorthodox but budget cuts often do call for new approaches.

Goal 3: Deliver Modular Course Material

A module would be a milestone. Importantly a module would be made up of multiple individual tasks that exist independently. Meaning a task can be included in multiple modules. This could lead to tailored modules and opens the way for CODE Portal to adapt to different curriculums or changes in existing curriculums. This goal could deliver a powerful tool for arranging courses that fit well into each term and at different levels.

Goal 4: Tracking Activity and Progress

Possible Timeline Design for CODE Portal

Possible Timeline Design

This is where I get “unorthodox”. The portal will be designed for intranets that have no server. That means there will be no database and the absence of a data storage solution, usually, reduces how many data-driven features can (should typically) be implemented. But I’m confident in a workaround which involves storing information in files. Nothing about the portal requires secure data storage. Users only need temporary progress tracking during the course of a module. Schools have the option of implementing a simple spreadsheet solution for recording modular progress. All of these things could be upgraded in Schools with good budgets. But, initially tracking would be designed to be fun and encouraging.

Goal 5: Encourage Independent Learning

Tasks presented by the portal will include theory, practical, team exercises, and unique challenges that will require a member of staff. But most will not require a teacher as the portal will encourage independent learning. 

Goal 6: Continue Learning After School

The free portal might have a support site with the same style as the portal itself. A brand is already being established. The online site would offer some free support and premium services. Pupils could continue learning outside of School with permission from parents. They could jump straight to where they were while at School and enjoy tackling the next task.

Goal 7: Online Service

Online services are a distant possibility but they will be planned. Services could include technical support for the portals installation and updating. The portal could be hosted online without data-driven features but eventual registration and account management services could be provided. Considering the target audience of the service. These services will be built with care and it is likely that cloud data storage services will be used to secure users information safely.

Goal 8: Possible Secondary School Solution

There will be nothing to stop secondary schools downloading and installing the CODE Portal. There is likely to be many secondary pupils who could make use of the early versions of CODE Portal. There will be no license or restrictions on the CODE Portal download. If the portal is a success and I find secondary schools using it. The project would enter a new phase that considers a more mature target audience and teachers with stronger technical skills driving demand for it. A secondary school edition would be created and it is likley a license system would be required. There will won’t be any detailed plans for this service until success is a sure thing at primary level.

What is a portal?

A portal is a type of website that acts as a map to many others resources including websites. It is referred to as a portal because it’s primary purpose is to offer links to other websites and the visitor uses it to go through rather than stopping at the portal website. The CODE Portal will include custom content for both staff training, staff guidance, lessons preparation and much of the same for pupils. However due to the intention to direct users towards existing websites I decided to brand it as a portal. This helps to create a clear distinction from existing websites especially code.org which also be featured within the CODE Portal.

What Is Coding?

Coding is what makes it possible for us to create computer software, mobile phone apps and websites. Your browser, your OS (operating system), the apps on your phone, Facebook, YouTube, and this website – they’re all made with code. Even robots like BeeBot contains code and the programming we do to make a robot move simply makes use of a code (language) stored within the robot.

Portal Pages

CODE Portal Feature Idea - Timed Limit Tests and Quizes

CODE Portal Feature Idea – Timed Limit Tests and Quizzes

To further, help you understand what the CODE Portal would offer. I have laid out some of the pages we could expect in either the downloadable intranet version or on the online website.

  1. Home – Visitor selects who they are (Teacher or Pupil), their primary year (1-7), possibly selection of their name and entry of their date of birth. There would not be a password login because no sensitive data is stored. We simply need a gateway that allows the portal to recognise the user through the most basic information. Remember this information is only stored locally. Data will never be sent from the intranet portal to an online website/server.
  2. The Computational Thinker – this would be a clear and separate menu delivering Computer Science lesson including practical activities, videos and if the visitor is a teacher then teaching material would be displayed.
  3. Personal Progress – a dynamic menu that encourages the user to complete activities not complete or just not frequently tried and it would especially encourage tasks key to the national curriculum.
  4. Tools – A list of all the coding/programming tools required to complete modules and projects offered in the portal.
  5. Sitemap – A list of all pages in the portal (not an .xml file)
  6. Changes – History of the portals key development changes i.e. new page added. It would indicate who made the changes, when and why.
  7. Levels and KS – The national curriculum made clear in a table. We would possibly link related content (modules) to each level.
  8. Report – A form for reporting faults and giving feedback. This would only create a local file for the purpose of the Schools staff to make use of rather than it being sent directly to WebTechGlobal.
  9. Tasks and Modules By Language – An index of all languages. Select a language and it would offer further choices. Those choices could be levels or primaries or age groups. Python, Ruby, PHP, JavaScript, Ajax, Shell, C# and more.
  10. Tasks and Modules By Environment – An index of environments that a developer would work within i.e. Mobile and Tablets (Windows 10, iOS and Android), Windows 10 desktop, Chrome Browser Plugin, HTML Website, PHP Website and more. Pupils will often have a strong interest in specific environments and software.
  11. Tasks and Modules By Level – Based on national curriculums with the Scottish and English curriculums being considered separately in the portal design.
  12. Tasks and Modules By Type – A library of Theory modules, Practical modules, Quiz Modules, Pupil Modules (created by pupils for pupils), Video modules (pupil only watches a video and maybe completes a short quiz)
  13. Achievements – Initially a page to track progress but the possibility of badges is an easy addition. Schools could also offer a history of house points gained by the recognised user or simply list all teams/houses progress.
  14. Other Schools – Display code activity by other Primary Schools and help Schools understand where they sit nationally.
  15. Code Staff – A list of staff with strong skills in computer science or staff members who wish to volunteer as a main contact within the School for the CODE Portal.
  16. Accessibility – Special support needs in relation to programming will be detailed here i.e. assistive technology, different programming tools or modules. It would be great to see modules designed with specific students in mind. This is where important ground could be covered.
  17. Inclusion – An area offering guidance on how to create modules that include everyone. Gender, ethnicity and religion should always be considered. Each School may wish to modify or remove inclusion guidance information. I will consider a solution to make such changes easy when I understand the School system more.
  18. Glossary – All the jargon explained.
  19. Facts – Interesting facts about programming and the history of computer science.
  20. Portal Promise – A list of the principles behind Computer Science and programming. The Portal Promise page will explain that it is the responsibility of WebTechGlobal and their School to maintain the portal in a way that respects those principles.
  21. Robots – All things robotic would begin here. Information and guidance would be basic for Primary Schools.
  22. Gaming – Game development guidance and information. It would be basic for Primary Schools.
  23. Code Club – The portal would support a code club. There is an official site to support this also which will be detailed on the Code Club page.
  24. Safety – The CODE Portal for primary Schools is intended to be a download, containing much information and guides, with the optional ability to follow links through to online sites. Exactly how many offline tasks will be available is difficult to say at this time. The safety page could present the Schools existing online/internet safety guides. The page should also offer guidance to pupils on tackling situations that will be new to them and potentially distressing. This type of information should accompany all IT applications I believe. So I’m talking in general and not suggesting that the CODE Portal would lead to distressing situations. However, I do consider a peer system that allows Primary 7 children to review Primary 6 work and provide feedback. This would be a first step towards teaching children that code and programming is scrutinised. That mistakes will be found by others and we should simply learn from our mistakes then move on. This is a sensitive area and set of ideas that need further discussion and probably testing on smaller groups. 

Online Tools

Barclays Code Playground

Barclays Code Playground

I would like to show you my level of awareness for existing tools and emphasise that the number of resources can be overwhelming.
It is the aim of the portal to guide users to the best resources that suit them and avoid them being lost in Google search.

Services

I’m not sure many of the commonly used developer services should be introduced at Primary School. However, they can’t be completely ignored either because many are key elements of a developer’s working environment. So they might be within a staff area for staff who want to be aware of services that help with the long-term management of their projects and even just individual scripts. It may also be suitable to mention these to pupils in Primary 7 very briefly. Pupils can begin to figure out how it all pieces together in the real-world rather than actually being asked to use them anytime soon.

Code Club

There is a service called Code Club but Schools do not need to follow their approach. Whatever approach a School takes these websites could be recommended to parents as part of an after School coding and programming club. Each should be reviewed as some may be more suitable for secondary schools only.

Project Phases

Technically the project is bigger than this short list of phases but these should help you to understand that professional project management methods are being used to control every aspect of CODE Portal. 

Phase 1: Planning/Research

Days of research has gone into the CODE Portal project. Time has been spent getting to know School procedures and the national curriculum. Understanding the target audience is also a key part of planning. The target audience for CODE Portal includes adults and children. Professionals and learners. Administration staff and technical staff. Pupils and peers. Parents and other family members may also get involved. The design of the portal will focus on super easy navigation and very well presented information for everyone. But the challenge exists to not only research each type of user but to reflect the research in the portals design, information, and resources. 

Phase 2: Technical Design

CODE Portal Concept FAQ Example

CODE Portal Concept Example – FAQ Page

I need to establish the key design elements and establish any restrictions as early as possible. I also need to consider what options we have
later when wishing to improve the portal and take it up a level. Sometimes it pays to consider the future now and implementing a design that can adapt when the time is right.

  • Responsive – the School will view the portal on various screen sizes. It must be responsive for their tablets.
  • Accessibility – special support needs must be considered and standards in usability adhered to for all pupils whatever their disabilities.
  • Safety – all measures must be taking to ensure the information technology does not compromise our pupils. This means users must not need to download or upload files to use the portal or complete modules.
  • Layouts – we need to create a range of layouts for each type of page and especially each type of module. Educative Maintenance: there is an opportunity to further educate children by allowing them to maintain the portal. This will require a slightly simplified technical design i.e. break CSS down into multiple well-named files rather than one large .css file. Images should also be grouped with pupils in mind and not developers.
  • Adaptive – possibly a long term goal would be for the portal to adapt to different users. I would like Primary 7 to get a more professional treatment and even the modules would be presented differently. Maybe even role-play developer and client. This would simply involve modules having extra information that is hidden from other users.

Phase 3: Prototype

The prototype could possibly become the early version of CODE Portal and would be very basic. However, the option to purchase an existing template (styles and layout) to speed up development is there. I’ve found a very modern theme with a high level of interactivity. Purchase

Phase 4: Graphics Design

I would like to see graphics being introduced from a digital collection created by pupils. My initial thoughts is to style each language’s own section within the portal similar to the official sites. This will teach users something in itself. It is important to recognise the languages. Decoration of sections will include snippets of the code itself.

Phase 5: Development

I will develop the portal in HTML5 and CSS3. It will offer a modern JavaScriptr response. Development will require a small amount of funding
to show that more of my free time is worth spending on the project.

Phase 6: Review

Review the portal and collect feedback from testers. This will phase focuses on layout, visual design, presentation of information and reviewing these notes also.

Phase 7: Documentation

Documentation will focus on installation, FAQ and troubleshooting. 

Phase 8: Release

The release of the portal will involve sending a link to download the portal to everyone interested. Please submit your email address in the newsletter field provided further down this post. Do not submit it in the comment box. 

d home page shortcuts to computers and links on the existing intranet.

Portal Promise

There is a new tradition of telling children what they are entitled to and how to go about ensuring their rights are giving. A  Portal Promise would keep in tradition of that approach to empowering young people. This is not the portal promise itself but information to help create the promise.
http://www.computingatschool.org.uk/data/uploads/CASPrimaryComputing.pdf (p19,20)
The portals promise could include David Jonassen’s five essential aspects to learn in a meaningful and effective manner. I would like to see modules that target these specifically i.e. a module may ask the student to do some “Active” research and then present their finds in a “Constructive” manner. If pupils can grasp these five aspects by Primary 7 they will be able to judge their portals offerings. It is important to remember that each School may eventually have a different portal if my design allows the easy modifications intended. So while the CODE Portal may be fit for purpose after development there is no telling what condition it may be in on any Schools intranet. 

  • Active – discussion and research.
  • Constructive – blog findings, create a prototype, deliver a presentation.
  • Intentional – allow a choice of the final solutions approach.
  • Authentic – allow pupils activity to be shared, seen, used, extended.
  • Co-operative – working together, includes remotely.

Design Goals

Task Clarity

It is an immediate requirement to understand what computer science elements each task teaches. Task can be categorised by type but they also need to clearly show what level, common age group and key stage they focus on. This will allow course building for individuals and groups.

Module Clarity

A course of tasks would make up a module. It may be important to show clearly where a modules activity type changes. To help with that have modified David Jonassen’s originally 5 aspects of “meaningful learning” to make categories that we may consider part of making very successful learners. A single module could cover many of these steps and in doing so the pupil would far closer to a professional level of habits. Mapping these to a younger mind will require further adaptation i.e. Co-operative would become role-play and have the goal of creating understanding rather than experience.

  • Discussion (Active)
  • Research (Active)
  • Prototyping (Constructive)
  • Blogging (Constructive)
  • Coding (Constructive)
  • Decide Methods (Intentional)
  • Select Software (Intentional)
  • Decide Required Skills (Intentional)
  • Choose Supporting Knowledge (Intentional)
  • More Uses (Authentic)
  • Testers (Authentic)
  • Upload (Authentic)
  • Sell (Authentic)
  • Demonstrate (Authentic)
  • Team (Co-operative)
  • File Share (Co-operative)
  • Delegate (Co-operative)
  • Hire (Co-operative)

Staff Material Clarity

Lots of clarity but teachers need a different treatment. I can only go by the Schools I’ve examined and the ones I’m invited to as part of my research. So far I feel that teachers need their guidances and resources split into primary levels 1-2, 3-4, and 5-7. The goal here is to avoid staff teaching the earlier years becoming bogged down. Support staff can also focus on material for learning computer science in sections and modules. The portals task and modules design might even be used to create small courses for teachers. This is an area that will require further research and financial backing.

Computing Curriculum

The fundamental aspects of the computing curriculum should be explained clearly somewhere in the portal in my opinion. They are computer science (CS), information technology (IT), digital literacy (DL). The portal would fit into the CS aspect of technology and it should be clearly explained why. CS, IT and DL do come together

Existing Modular Content

There are modules online already with examples below. Various sites offer them. We will present all of those modules within a module system of our own. Some will simply point the pupil towards the existing online material and some will offer a different approach to help the pupil understand the task but end up on the same interactive page online. This is where we consider the possibility of the portal being a wrapper around existing resources with the aim of providing a different learning experience for specific pupils.

 Why Coding and Programming in Primary?

When I began to talk about my ideas in the School playground with other parents. The only question I ever got was “Why?” and the answer was usually, “Because the rest of the world is doing it and some are further ahead than us!”. Well here is a great video to help parents take notice, get onboard and begin to trust that we know our stuff. This video is important to me when moving forward because I got some strange looks from parents as if they couldn’t understand why someone who isn’t staff could begin to talk about, potentially influencing their child’s education. What can I say, they met someone with an idea that might be good for everyone. Getting them to trust me and my idea might require a celebrity… 

Teaching Resources

There are some very official resources for teachers like Quick Start Computing which offers a wealth of information that we may be able to bring into the portal. Whatever staff area is created, it will be broken down and with consultation, it will be perfected. 

Levelling and Key Stages (KS)

The information gathered here will be used to create accurate national curriculum guides. I will have to come up with a way to present tasks/modules in a way that fits into each stage of the curriculum. As a none teacher, I’m also trying to understand the differences between England, Scotland, Wales, and Northern Ireland. Which means the portal must be designed in a way that can adapt to suit each country, region and organisation. Failing to do so may restrict the projects potential to spread.

Assessment

CODE Portal Feature Idea - Engaging Polls

Engaging Polls Example

Material and tools to aid assessment. There will be a section of pages for assessment because there are many forms and approaches. This section of the portal requires information that aids in assessment planning. Pupils and staff should be able to read the information so that there is an understanding of what is expected from everyone. We need to understand what information should and can be stored for each pupil to track their individual progress but that can be part of a longer term goal for the portal.

  • Optional Tests – It may be beneficial to create modules that test and are presented with some test characteristics i.e. time limit, points for individual parts. I strongly believe they should be optional. The national curriculum focuses on gauging a pupils ability without exams of any nature. However, I know the nature of IT exams and they can be among the toughest a person can sit. They demand logic, reasoning, interpretation, literacy, efficiency with a computer and time management. Encouraging children to code and create programs under the pressure of time or a little peer pressure but without lasting consequences is likely to be fun and prepare their nerves for University examination. I would guess pupils will frequently choose to test themselves and each other.
  • Self-Assessment – a blog is an ideal method for students to record their activity, outcome, thoughts on what they have learned, difficulties etc.
  • Peer-Assessment – I would like the portal to include guidance on how, why, who and when peer-assessment is best carried out. The world of information technology opens us all to scrutiny. I myself champion greater transparency especially in the web development industry and I campaign for far more accountability when things go wrong. Our children will grow up in a world where every mistake might become public and they must become insensitive to it for it is part of the process. Controlled peer-assessment could prepare them for jobs where mistakes are easily made but can have very public consequences. The CODE Portal should contain information on how to deal with the pressure of a community responding to our actions when playing, working and socializing online.
  • Open-Questioning – this is more suitable for projects where the pupil can make various free choices and make their own path towards a solution. Questioning approaches may depend on the pupil and, ideally it would. Individuals with stronger personalities with more confidence may benefit greatly from standing in front of the class and opening themselves to questioning. It’s not something I would ever volunteer to do so I’m the first to suggest that it is optional. Smaller groups may be preferred by some and others may wish a one-to-one with their teacher.
    Discussion With Peers: this would involve online discussion because that is generally what would happen in the real-world. Pupils would talk to pupils from other Schools about their project. They may be open to criticism and again this will prepare them for later.

Research Material

A list of sites and documents already researched.

Summary

This post contains a lot of information and is more about creating my first point of information for the CODE Portal concept. I’ve already spent days of unpaid work on research and simply want to keep the first release of information simple. On moving forward with the final product I would create a dedicated site. Until that website is launched please request more information anytime. If you, would like a blog post or document that focuses on a specific aspect of the project, please request it today. A working prototype will be created and delivered to Schools I already have contact with. There is a possibility that the free portal installed on those School’s intranet will bring a decisive end to the project due to the concept failing to meet stakeholders needs. We will not know unless we try but it is important to understand that pledges to help support me are none refundable and merely help me to see the concept through to a completed prototype scenario.  

 

Stay updated by subscribing to the project’s mailing list…

If you are interested in this project and want to be kept informed please submit your email address here. Your email address will not be used to send any emails that do not relate to CODE Portal. 

I would like to wish everyone a Happy New Year and hope that 2017 is prosperous. My family moved home just a week ago, we have four children. The children are changing Schools and Nurseries. We have more rooms for the children (even more DIY for me) and after living in a top floor flat for 6 years we now have gardens. Unlike, too many people around us, we appreciate our fortunate new position and never forget those in need. It truly feels like a new kind of year for us but maybe your 2017 will be much the same and that isn’t a bad thing unless you’re in need of change. Whatever you need in 2017 we wish you well and will continue to do our little part in the world in the best way we know how.

Happy New Year!

A Different New Year

The end of 2016 is one of the most unpredictable that I remember in my 33 years. The biggest change to the year is President Elect Donald Trump and he is already splashing water out of the Whitehouse hot-tub, disturbing it’s other users. Sorry, “Making waves” is overused so I had to come up with something original. New technology (Virtual Reality, Augmented Reality and a booming robotics industry) will begin to change our lives and even the economy. Just recently The Sun News reported on a newly built robot that resembles a Mech from some popular games – they actually have a pilot. We should expect to see them loading luggage at airports soon, just one of the endless purposes that will be very visual. They are being developed in South Korea and people are already wondering if the North Koreans will react. However, there has been no official claim that the robots are suitable for military purposes at this time. Then there are driverless cars which most of us in the developed world haven’t experienced but are more likely to in 2017. Especially when Taxi services get their orders for multiple vehicles. I’ll finish with the booming drone trade and hobby which really, took-off in 2016, but it will be 2017 we really see the impact as services integrated tested drones into their permanent ways of conducting business. We really are entering the future! 

 

Sad changes, without mentioning anyone specific and leaving others out, include some major celebrity stars who passed away near the end of the year. I’m sure thousands will have them in their thoughts while gazing at the fireworks, appreciating our continued existence together. Together we can and must accomplish greater things. We face growing challenges and many very old challenges, as a race. Some of the newer challenges are daunting but together we’ll succeed just simply by doing our bit. We don’t need to take the weight of the world on our shoulders. Taking care of our families, ensuring our children get their homework done, planting flowers to grow in the garden to help the bee’s, recycling and being kind to our fellow man. That is enough, we can only do our best and if lucky, we’ll enjoy most of 2017. 

WebTechGlobal In 2017

The WTG website was re-built at the end of 2016, we replaced every file in WordPress, we replaced the theme with one that will allow growth and in 2017 we’ll grow. I’m determined to deploy support services that were expected 2 years ago before I decided the business plan needed re-evaluating and that led to a sort of halt on growth. This website is still lacking key services i.e. Tickets, Q&A area, the forum is still locked down pending improved security and our key products are still missing vital features. So there is a lot to do and it means 2017 could be one of the most important for WebTechGlobal. It all depends on sales as these services require premium plugins with developer licenses.

Normally I don’t type a lengthy Happy New Year message but it really is a special, exciting, interesting and testing year. After a much needed festive holiday break and when the children return to School. It will be time to accomplish things and once again count down the days in the months, months in the year, using the calendar to drive me. See you all in the New Year, the Happy New Year!

Our WordPress Data Importer (WPDIMP) plugin gives you the option of importing ready made tags or generating them. All methods are shown below. Generating high-quality tags is trial and error at first with the current system. However, if you do not have pre-made tags it is a good tool to have. 

Generate Tags in WPDIMP

Follow this part of the tutorial if you do not have pre-made tags and you have a column of good sentences or paragraphs with keywords in them.

Step 1: Design Section

Go to the Design Section for your current project.

Step 2: Post Settings Tab

Ensure you are on the Post Settings tab. 

Step 3: Tag Rules Box

Locate the “Tag Rules” box. The box contains a form that offers basic options for configuring generating tags.

Step 4: Text Data

The Text Data field is a menu populated with your column titles. You need to select a column that holds high-quality text data containing the keywords that you would like to become post tags. WordPress Data Importer will use words from the text data to create tags. It is not an exact science and requires good configuration.

 

Step 5: Numeric Tags

Most blogs will not require Numeric Tags as a number means very little out of context. The plugin will avoid using numbers within your selected text unless you want them to be included.

Numeric tags option in WordPress Data Importer

Step 6: Tag Strength Length

All themes designate different amounts of page space for tags. So you’ll want to establish how many characters looks too much and enter a limit in the Tag Length field.

 

Tag string length field on the Generate Tags form.

Step 7: Maximum Tags

You might be keen on a specific number of tags per post. I know I have a habit of adding three on average. It looks good on most themes I’ve worked with. Set your own Maximum Tags value by entering a numeric value. WordPress Data Importer - Tag Rules Form - Maximum Tags Field

Step 8: Excluded

Your body of text may contain many words that aren’t suitable as tags. You can use the Excluded field to build a filter and avoid using many words. As I type this there is also a waiting task to add a minimum and maximum tag length i.e. the minimum length of a tag could be 5 characters and that will filter out small words. Until those options are added we need to enter words manually. Do this by separating each word or phrase with a comma and do not press enter. Just type continuously to create one long string.

Step 9: Submit

Submit the form and save your input. Saving this form does not generate tags. Tags will be generated at the point of post creation. However, it would be easy to create a tool that pre-generates tags and allows us to perfect them before creating posts. This has the advantage of reducing how much work WordPress needs to do during post creation. An important aspect to consider when trying to create thousands of posts quickly.

Using Pre-Made Tags

If your data already contains a keyword or tags column then you can use that to generate WordPress post tags. You can also use a third-party tool/server to generate tags, store the tag data into your project database table and use that generated data. 

Options Requiring Data Form

The menu for selecting your pre-made tags is on the Post Settings tab view beside the form displayed above. See the start of this post for screen capture on what page and tab you should be on. Then locate a box titled Options Requiring Data and select your keywords/tags column there. You do not need to use the other menus and should leave them alone until needed.

WordPress Data Importer - Options Requiring Data - Pre Made Tags Menu

The old Kids Zone logo wasn’t suitable for ages past eight and the design was too small for modern media. Replicating it was going to be impossible as the original fonts were unknown and couldn’t be found. The old logo also lacked the impact of a serious brand. Much of the content published by Kids Zone will be viewed by teenagers and so the problems were very clear. This was a great opportunity to create a logo that could adapt to various types of media by being workable and adaptable.  The new logo had to deliver that impact and be taking seriously by an older audience. 

New Design

The new logo maintains the two fonts approach which is arguably an unusual approach but trying to use the same lettering for “Zone” makes the logo uninteresting. The Kids lettering has been done with a font much like Disneys Micky Mouse. I applied Bevel Boss and Inner Bevel to create an angled edge. I used a simple technique to overlap parts of each letter with parts of other letters. This was key to making Kids readable and fun. 

The “Zone” was designed with a font size of 800 requiring a working area of 2000 x 2000 pixels. Each letter was manually coloured in to re-create the effect of a child scribbling with crayons. That was the approach I took in the original design when at the University of Abertay and I felt strongly about maintaining the level of detail it creates. However, I had to maintain a strong approach so that the logo would be taking serious and so I stayed in the lines most of the time. You can see in some places that I allowed myself to go out of the lines slightly, this was intended.  

Adaptable Design

There are a lot of options in this logo. Increasing the Bevel Boss width on Kids alone results in raised surfaces with rounded edges. I can achieve blown up lettering with much more shading which would be suitable for animation i.e. within games or video. The background and border are new, they help to define what the logo actually is i.e. we can add decoration around the logo without other images being mistaking as part of the logo. The old logo actually had the images of balls and a maths sum as decoration. I felt that kind of decoration restricted the old logo. The border and background is an official part of the trademark in shape only. The colour can easily be changed to suit the background of the media and this is where the strength of the design becomes clear. Importantly, unlike the old design, the original PNG is kept and has been designed large enough to maintain high quality within a high definition image. The logo can be animated quickly as each letter is separate. Each scribble on Zone is also independent. 

WebTechGlobal entered the world of gaming when I mixed business with gaming. As a keen follower of the Star Citizen project (as a project) and an intended gamer who might one day play the game. I joined a grouped called TEST Squadron a.k.a TEST Gaming. The professional gaming group have two websites, one a forum and one is a WordPress site. TEST is largely active on Twitch and are in need of more solutions for their WP site. There aren’t many, none make use of the new Twitch.tv feature for posting on a channel, much like a blog. The similarity is what triggered my idea for a plugin that focuses on synchronising a WP blog category with a Twitch channels feed. The plugin I created is officially called Channel Solution for Twitch but the project is codenamed “TwitchPress” because I hope to expand it in any direction that it can go. 

Codename TwitchPress

It wasn’t likely Twitch Entertainment Incorporated would allow the use of “TwitchPress” within a product or services title. I actually came up with, “TwitchPress” before figuring that out but it was always in the back of my mind that using “Twitch” and using the official Twitch trademark was pushing my luck. I decided to go ahead with the use of my design that incorporates the official Twitch logo but classified it as a “project codename”. Where possible I make it clear that the project is not affiliated or endorsed by Twitch Entertainment, Inc. I avoided adding the WordPress logo with the intention of giving the Twitch logo more room in the sense of impacting visitors. This is something requested by Twitch Entertainment and I’ve tried to respect it. 

Channel Solution for Twitch: WordPress Plugin

The first addition to the TwitchPress project is a WordPress plugin called Channel Solution for Twitch. Install the plugin by searching “Channel Solution for Twitch” on the Add New plugin screen in your WP admin.

oAuth2 Client Flow and API Security

The first feature of the plugin is oAuth2 client flow authorisation. The plugin creates a session which splits security data in half. One-half is stored in cookies on the user’s machine and the other is stored as user meta-data. The session also has a short expiry. A hacker would need access a client’s machine and their WP account data to make use of the authorised session. Even then they may be restricted by the permissions scope selected by the account holder as the processes offered by my plugin allows users to determine which permissions they will allow. This is done on a form before requesting access to the Twitch API named Kraken. It allows the permission scope to automatically configure the plugins interface i.e. we would hide or disable features that require permissions denied by the user. The same scope is submitted to the API and stored at Twitch.tv so a hacker would also need to re-do the authorization process. 

Syncronizing Twitch Feed and WordPress Category

I’m not there yet with synchronisation, it has to be done slowly and great care taking. But the plugin has a form for manually pulling the latest feed post from a Twitch channel and displaying it in the form. One click allows the content of the feed post to be added to the WYSIWYG editor in a new WP post. So we have a manual process for sharing content in a way that might even be more complicated than simply copying and pasting the post. However, these early features are simply to thoroughly test functions I created before using the same functions to perform any automatic process. Again, it’s all about taking great care. Eventually, a WordPress blog will be able to automatically pull and publish posts from the feeds on multiple Twitch channels. I hope to do more work on this by February 2017. 

Next Main Feature: IRC Bot for Twitch

I’ve already added the Net_SmartIRC PHP class to my Multitool plugin. That is a plugin I use to test the early version of new features and the Multitool plugin is expanding in all directions. There is a free edition of Multitool on WordPress.org and it can help developers to make a start on a new plugin. The work done in Multitool will be copied into Channel Solution for Twitch and integrated with Kraken (the Twitch API). This will be done with care which essentially means weeks of maturing within the Multitool plugin before copying any of the code. 

TwitchPress Commercial Prospects

Like most projects I’ve started, the TwitchPress project offers something free under GPL and is an offering to the community. In this case, there are two major communities being giving something for nothing. It is too early to decide if this project is a success or not and I can’t even guess what number of unpaid hours I’ll need to give before making it a success. However, I enjoy this project a lot and I have some slightly innovative ideas that might help my own gaming interests. So plenty hours will be put into the TwitchPress project and I hope to make some money from it eventually. The money would come from the sale of extensions for Channel Solution for Twitch. Each extension would offer a major feature and based on my notes. Each extension could be an independent WP plugin of its own. I would probably sell them on CodeCanyon as a money-saving bundle and individually on this website at their full price.

Ryan ‘ZypheREvolved’ Bayne

In the world of online PC gaming, I’m known as ZypheREvolved. I’ve only just begun to establish a gaming brand as a hobby. With tools like Channel Solution for Twitch and whatever else the TwitchPress project delivers. I expect to attract a decent number of followers and open doors. 

WordPress-PluginsSomeone developing the Ryanair Ltd intranet requested a custom plugin for WordPress. The plugin offers an interface used daily by many members of staff, possibly hundreds. WP was chosen by Ryanair Ltd and was already an integral part of their intranet (no public access). The entire project, including consultation, was delivered remotely. This posed challenges especially during early development when testers were only just discovering exactly what they needed. It meant the early versions of the plugin Ryan Bayne created was seen as a prototype. However, due to the nature of intranet development, it was obvious a small budget made sense. Remote delivery of the project and the problems it creates was probably cheaper than multiple in-house consultation sessions. Unfortunately, the project is private and no details can be giving about its purpose or how it operated. Support and updates were giving to Ryanair for 12 months to ensure their solution was stable and continued to be suitable. The total cost of the project was under £2000.00 and included a free update to the plugin as a standard part of WTG services.

A “Learn to Code” Solution

The CODE Portal™ is still a concept. It is primarily a solution for Primary Schools and has the goal of making life easier for teachers by delivering content to pupils. The portal would begin with the most basic programming and coding introduction. I want the youngest possible children to interact with the portal and have learning material to aid in the development of their logical minds. There are aspects of the portal that aren’t being made public at this time – pending development. Once development begins I’ll release more information about how the portal will operate and what features make it different from existing solutions. 
code-portal-logo-concept-learn-to-code

Code Portal for Primary Schools

The logo above was put together within an hour so it’s quick work. I found it very easy to create variations without losing the possible brand. I felt the original shown above was a bit bland for young users. As you can see here, I’ve added some colours. I still feel something is missing and I may have already begun to address it with a different layout of the logos objects. 

code-portal-logo-concept-for-primary-schools

Code Portal for Secondary Schools

It’s very early days to be considering any features or even plan a solution for young adults. However, I will begin planning it if we can make CODE Portal™ happen within Primary Schools. We’ll be quick to take CODE Portal™ to other levels using the original portal by filling it with content suitable for older users. I would want users of the younger user portal to feel they have gone up a stage and are being recognised as a mature learner. So I’ve designed a slightly more elite looking version of the logo. 

code-portal-logo-concept-for-secondary-schools

Stretched Out Version

This is the version of the logo that may be used throughout the portal. It looks less corporate than the designs above. I feel these designs look serious which is something we cannot escape when dealing with technology. I’ll use the designs above for project material and official pages. However, in an early years environment, it just doesn’t settle with me. So this stretched out version of the “CODE” part is likely to get a touch of colour much like the one shown above. The rounded squares could even get a little more design i.e. partially transparent shapes or even shapes punched through the squares. 

code-portal-logo-concept-stretched-out