Xeno Media: Communication is the Key to Great Client Relationships

Planet Drupal - 11 May 2018 - 9:52am

We are proud to be recognized for our commitment to our clients!

We are now featured on with an overall 5-star rating from our clients and on Clutch’s sister website, The Manifest, as one of the top web developers in Chicago. We work to build strategic relationships, not just accounts. We listen to what our clients want to achieve and produce websites to meet those goals. A running theme to the client reviews has been our commitment and open communication.


Clutch is a B2B ratings and reviews platform that connects small and medium-sized businesses with the developer or software solution that best fits their needs. The Manifest is a research platform meant to aid buyers in the awareness, discovery, and decision-making process of selecting an agency to hire for a project. We are thrilled to be a part of both websites, demonstrating our expertise in web development and design services.


Clutch reviews are unique in that they are verified and independent. Their analysts personally interview our clients to understand what it is truly like to partner with Xeno Media. See what some of them had to say:

“I’ve worked with a variety of outside vendors, and Xeno Media stood out in every aspect of the engagement. I would recommend them to anyone without hesitation.”

“Xeno Media doesn’t just service us—they take care of us. They actually care about and understand us as a client. The level of trust between us is something that is very rare in a client relationship, but they have ours and we have theirs.”

“They're always on top of all aspects of the project. If I ask them to do something, it's done immediately. They're really quick.”

“This was one of the best experiences I’ve ever had working with an outside vendor.”

Special thanks to our clients for taking the time to share their candid comments with the Clutch analysts. It has been our pleasure working with you! We would also like to thank Clutch for including us in their research. We are looking forward to maintaining our rank as a leading web developer and reading more great reviews soon.

See full reviews on our Clutch profile!

Categories: Drupal

Dynamic menu

New Drupal Modules - 11 May 2018 - 9:28am
Categories: Drupal

Plaid Hat Previews New Hunters From Broken Covenant

Tabletop Gaming News - 11 May 2018 - 9:00am
Plaid Hat Games is coming out with a new expansion for Specter Ops. It’s called Broken Covenant and it’s adding a lot more possible units for players to use in the game. In this preview, we get a look at 4 new Hunters. Each one is perfectly equipped for their chosen task. From the post: […]
Categories: Game Theory & Design

DevShop Support

New Drupal Modules - 11 May 2018 - 8:39am

DevShop Support.

Coming Soon.

Categories: Drupal

Commerce Cart Advanced

New Drupal Modules - 11 May 2018 - 8:26am
Categories: Drupal

Privateer Press Previews August Releases

Tabletop Gaming News - 11 May 2018 - 8:00am
I can’t wait until it’s August. Mostly, because it means that it’s the gateway to Autumn, my favorite time of the year. It’s also Gen Con, because I love that show. But also, it’s because there’s new releases coming from Privateer Press. Ok, so they have new releases every month, but they’re showing of August’s […]
Categories: Game Theory & Design

OpenConcept: Let's Rethink Procurement and Get Accessible ICT

Planet Drupal - 11 May 2018 - 7:13am

Everybody wants their website to be accessible. Information and Communication Technologies (ICT) is key for any modern organization. In the Government of Canada, it is a clear part of the Liberal Party's mandate. Setting a strong policy direction is critical, but then what?

Most departments still see accessibility as a one-liner that can be added to an ICT contract. Then the responsibility for any shortfalls lies on the vendor.

Sadly, this doesn't work. Accessibility is a journey, not a destination.

Web accessibility is complicated, the ecosystem and use cases change over time. So what can procurement do to fix this? I've collected a series of examples good accessibility procurement practices. I am hoping to add to this with some good Canadian examples.

Start Off Right

The first thing that government RFPs & contracts can do is set a good example.

So often these documents are overly complicated and are very difficult to understand. Make sure that these documents are written in plain English so they are easy to understand. In writing this blog post I've used the to check that my ideas are easy to understand.

PDFs have well-known accessibility problems with them. You can make them quite accessible with considerable effort, but it isn't a best practice. Use PDFs only where a signature is required. Otherwise, it would be more accessible to send EPUB or OpenDocument files. Vendors should not be asked to produce more PDFs as part of the contract.

Focus on the Process

Don't obsess on the end result. As with security, there are going to be things that are missed. Of course, everyone wants a site that is as accessible as it can be, but ultimately there are other goals as well.

The earlier accessibility efforts are brought into project planning, the better the results will be. So, vendors should be asked about the process that they use to build in accessibility. You need to know that they have a team onboard who has experience addressing this complex issue. It is also important that there is a clear and open feedback channel for people who face barriers. People with disabilities need to be part of the process.

It would be good to ask for a description of how the vendor overcame a difficult accessibility challenge. Sometimes you need to make compromises that may balance design or usability requirements. Often there are multiple ways of doing things and no clear best practice.


I'm big into open source software (OSS). As Drupal 8 Core Accessibility Maintainer, I'm also not sure how we can make progress without OSS.

Starting with an existing OSS application means that you are able to begin a project with one that has had some testing already. It will have a list of bugs that are known, and hopefully a longer list of bugs which have been fixed.

Many people choose Drupal as it is the most accessible platforms in the world. Unfortunately, most do not contribute to improving its accessibility. If a vendor is proposing an open source solution, ask how they are working to improve its accessibility. Contributing back is key to the success of any effective community project. Furthermore, clarify the process when the vendor finds accessibility errors. Vendors should be submitting bug reports and patching the code when errors are found.


The vendor and the client both have a responsibility to do testing as the product is developing. Both should be doing regular spot checks with tools WebAim's WAVE Toolbar. It also takes very little time to learn how to do keyboard only testing. There is no reason why even non-technical people can't use these approaches to catch basic errors.

Screen reader testing requires considerable experience to be effective. Having a developer run a site through VoiceOver or NVDA just isn't good enough. Contracts should have a component in them to ensure that a 3rd party is engaged to provide an evaluation. It should be considered no different than hiring an editor to review the work of an author. If possible, this evaluation should engage people with disabilities.

Sales vs Delivery

The focus needs to be on the process of the vendor and how that will ensure a more accessible delivery. Things like the Voluntary Product Accessibility Template (VPAT) are still essentially sales documents. For some more detailed approaches, see:


OECD Playbook

Canada is a member of the Organisation for Economic Co-operation and Development. I was happy to be part of a meeting called by Treasury Board to discuss reforming the OECD Playbook for ICT Procurement. It is clear that there is a deep interest in government in doing procurement differently to get more accessible results. A big part of this goes back to learning to embrace open source and to collaborate outside of government silos. It is great to see many instances of people working together to learn how to implement technology better. We need much more of this! 

Topic: Primary Image: 
Categories: Drupal

A Study Into Video Game Replayability -- The Multiplayer Connection - by Josh Bycer Blogs - 11 May 2018 - 7:12am
For our next part on replayability in video games, it's time to talk about why multiplayer is such a requested feature among gamers.
Categories: Game Theory & Design

Blockchain – The Game Changer in the Gaming Industry - by Eswar Jabba Blogs - 11 May 2018 - 7:03am
Blockchain has been revolutionising many industries across the world and Gaming has already jumped on the bandwagon. Now the trend is Blockchain Gaming. The present article is a detailed account of the next big thing in the gaming industry and the way it
Categories: Game Theory & Design

Snowtroopers Expansion Now Available For Star Wars: Legion

Tabletop Gaming News - 11 May 2018 - 7:00am
The Empire, with its great military machine, is prepared for any environment. They equip their troops with the best gear so that they can go in and root out whatever Rebels might be lurking about. In cold temperatures, the Snowtroopers hit the field in their padded, heated suits. Now, they can do the same for […]
Categories: Game Theory & Design

CMON Announces Narcos Board Game

Tabletop Gaming News - 11 May 2018 - 6:00am
Just this morning, CMON has announced that they are working on a board game based on the popular Netflix series Narcos. The show, in production for Season 4, takes a look at the world of drug lords, in particular, El Patron. Players will take on the role of characters from the show as they look […]
Categories: Game Theory & Design

When the Macintosh was Apple's financial lifeline

Dries Buytaert - 11 May 2018 - 5:11am

© Asymco

I love this graph. It shows that for some time, Apple's primary source of revenue was the sale of the Macintosh computer. The Macintosh provided Apple with a bridge between the desktop era and the mobile era, represented by the two clusters on the graph. That bridge was a financial lifeline. Without it, Apple might not have survived.

Categories: Drupal

Awin Voucher Codes

New Drupal Modules - 11 May 2018 - 4:56am


Purpose of this project is to make an amazon affiliate module which is simple and less complicated.
This module automatically imports amazon products to the drupal with keyword search. Please see 'How to use'
area for more information.


Install as usual, see
Download the module and upload to the modules folder and make it active.

How to use

There are three steps to follow.

Categories: Drupal

Lullabot: Nightwatch in Drupal Core

Planet Drupal - 11 May 2018 - 4:38am

Drupal 8.6 sees the addition of Node.js based functional browser testing with Nightwatch.js. Nightwatch uses the W3C WebDriver API to perform commands and assertions on browser DOM elements in real-time.

Up until now, the core method for testing JavaScript and browser interactions in Drupal has been to use either Simpletest or PHPUnit. For tests that require a simulated browser, these have been running on PhantomJS, which is now minimally maintained and has been crashing frequently on Drupal CI (as of 8.5, Drupal can now use Chromedriver for these tests, however the majority of tests are still running on Phantom). This situation requires Drupal themers and front-end developers, working primarily with HTML / CSS / JavaScript, to learn the PHPUnit testing framework and specifics of its implementation within Drupal, instead of being able to write tests for page interactions and JavaScript in JavaScript itself.


Nightwatch is a very popular functional testing framework that has now been integrated into Drupal to allow you to test your JavaScript with JavaScript! Drupal's implementation uses Chromedriver out of the box, however it can also be used with many other browsers via Selenium. The choice to use Chromedriver was because it's available as a standalone package and so doesn't require you to install Java and Selenium, as well as running the tests slightly quicker.

module.exports = { before: function(browser) { browser .installDrupal(); }, after: function(browser) { browser .uninstallDrupal(); }, 'Visit a test page and create some test page': (browser) => { browser .relativeURL('/test-page') .waitForElementVisible('body', 1000) .assert.containsText('body', 'Test page text') .relativeUrl('/node/add/page') .setValue('input[name=title]', 'A new node') .setValue('input[name="body[0][value]"]', 'The main body') .click('#edit-submit') .end(); }, };

A very powerful feature of Nightwatch is that you can optionally watch the tests run in real-time in your browser, as well as use the .pause() command to suspend the test and debug directly in the browser.

Videos require iframe browser support.

Right now it comes with one example test, which will install Drupal and check for a specific string. The provided .installDrupal command will allow you to pass in different scripts to set Drupal up in various scenarios (e.g., different install profiles). Another available command will record the browser's console log if requested so that you can catch any fun JavaScript errors. The next steps in development for core are to write and provide more helpful commands, such as logging a user in, as well as porting over the 8.x manual testing plan to Nightwatch.


You can try Nightwatch out now by grabbing a pre-release copy of Drupal 8.6.x and following the install instructions, which will show you how to test core functionality, as well as how to use it to test your existing sites, modules, and themes by providing your own custom commands, assertions, and tests. For further information on available features, see the Nightwatch API documentation and guide to creating custom commands and assertions. For core developers and module authors, your Nightwatch tests will now be run by Drupal CI and can be viewed in the test log. For your own projects, you can easily run the tests in something such as CircleCI, which will give you access to artifacts such as screenshots and console logs.

Categories: Drupal

The Usual Suspects: NPCs and You

Gnome Stew - 11 May 2018 - 2:00am

Tell us which evil NPC did the bad thing.

I originally discussed this topic in an older article on Rogue Princess Squadron, but after a couple of recent games I thought it was worth discussing again.

One of the primary ways a GM can bring a game world to life is through the NPCs the players interact with. They can give information, point the characters in the direction of adventure, be adversarial challenges, or even provide emotional motivation for the characters to do what they do. Through them, the GM breathes life into a setting and turns it into more than just a green screen backdrop for hacking and slashing away at some monsters. But what happens when a GM’s NPCs all feel the same and the players start to get bored or annoyed?

Recently, tension in a semi-regular game came to a head when we players butted heads with one of the NPCs. The session opened with our boss confronting us about a botched mission we didn’t even know we botched. The problem was, the NPC was played as incredibly antagonistic and downright rude. Our reactions to this took the GM by surprise as the session suddenly went in a direction he didn’t expect. As I eventually pointed out, I wouldn’t take that behavior from a real-life boss, so there was no way my bad ass character would just sit there and take that kind of abuse. This wasn’t the first time the GM was taken off guard with how we responded to one of his NPCs, but it also wasn’t the first time one of his ‘friendly’ NPCs pissed us off, pushing us to respond in ways he didn’t expect. In fact, most of his NPCs came off very similarly antagonistic.

The situation reminded me of years ago when a friend was trying his hand at GMing with a D&D game. We were both relatively new to GMing, so often offered each other feedback and suggestions to help us both improve. After one game night in that campaign, I struggled to come up with a diplomatic way to express my concerns. Finally, in my nuanced and oh-so-tactful way, I blurted out, “All of your NPCs are dicks.”

Luckily, he’s used to my style of tact and we were able to have a conversation about his use of NPCs. I pointed out that every NPC we had met, from the peasants in the village to the nobility running the region, was rude, condescending, demanding, shady, or just downright unfriendly. Ultimately, my character had no reason to put her life on the line to help these people, regardless of whatever monetary reward they were offering for us to fix the problem. My friend had fallen into a trap where he was defaulting to the same style of NPC for every character we came in contact with, and the game was starting to suffer because of it.

Some may be blessed with a natural acting ability that lets them bring the residents of a game world to life with minimal fuss, but the rest of us need to work at it. 

A lack of variation in the tone and behavior of the NPCs a GM presents is an easy trap to fall into. When running a game, there’s so much to keep track of and creating and running NPCs isn’t a skill that comes naturally to everyone. Some may be blessed with a natural acting ability that lets them bring the residents of a game world to life with minimal fuss, but the rest of us need to work at it. This is also a thing that can happen to new and old GMs. I’ve seen it happen to newbies getting their feet under them and old pros that don’t realize they’re stuck in a repetitive rut.

I have always believed that NPCs are a hugely important aspect of GMing. Without them, the game world is just a stage with set dressing on it and unless I develop a strong attachment to the other PCs, I stop caring about the world and just focus on the combat and the puzzles, which isn’t what I game for. As a GM, I work to breathe life into a wide array of NPCs and I know I struggle with the more subtle, Machiavellian types. I can do scene chewing bad guys and big bad monsters, but the slimy, shady NPC you need to work with though you know he’s going to stab you in the back is one I have to work at.

Here are some thoughts that will hopefully help with creating and running NPCs:

The subtler aspects of NPCs are going to be lost on the players, so paint them with broad strokes. At some point, ask your players what they remember about certain NPCs you’ve introduced in previous sessions. More than likely, they’re going to remember the larger details of personality and deeds. “Oh, he was the smarmy and growly guy that ran the fight ring.” “She’s the airhead socialite that dated the monkey!” Unless the NPC is one that’s in play every session (almost a GM-PC, which can be a minefield of its own), NPCs with subtly nuanced personalities are going to get overlooked and forgotten in the face of bolder and easier to ‘get’ characters.

Plot hooks land better when they’re presented by NPCs that catch the players’ interest. Sure, you can use the generic bartender to give your players a plot hook, but they’re only going along with it because it’s what’s expected of them or there’s nothing better to do. Breathe a personality into your NPCs and the players are going to be far more interested in what they have to say. They’ll remember that mission they went on to help the wizened and grandmotherly goblin-witch (that looked like Yoda’s mother) far more than they’ll remember the job they got from generic ‘insert here’ bartender. Don’t hesitate to fade away NPCs the players don’t have any interest in and refocus on the ones that catch their attention.

Vary your NPCs up a bit and it’ll make things more interesting for you too.

Keep track of your NPCs! Having to play the rest of the world is a big job, but it is an important one. As an extension of that, it is also vitally important to keep track of the characters you’ve introduced to your players. It’s not as much of a problem with NPCs you’ve put together through careful prep work before the game and intend to use long term, but there are often NPCs made up on the fly as the players bring up ideas you hadn’t thought of beforehand. If there’s a chance at all they’ll interact with that character again, make sure you note who they are and what their involvement was. The ‘airhead socialite that dated the monkey’ mentioned earlier was a throwaway NPC made up on the spot when they decided to call some of the numbers in the monkey’s little black book (it’s a long story). They got such a kick out of talking to her that they called on her several times during the rest of the campaign.

If you’re not good with coming up with NPCs on the fly, make a cheat sheet. A long time ago, in a galaxy not so far away, I played in an awful game where all the NPCs were named Joe, Bob, or Joe-Bob. This included the NPCs the GM had prepped beforehand. This GM was a problem on many levels, but it was also clear he didn’t think he needed to improve at anything. Needless to say, I didn’t stay in that game for very long. Even GMs that are good at coming up with NPCs on the spot may need a little help now and again. I find a cheat sheet of names relevant to the setting and types of characters the PCs could interact with is handy. Naming your shady Russian fixer ‘Bill’ is likely to push the players out of immersion. You can also come up with a cheat sheet of personality and physical traits to pull from if that’s something you struggle with as well.

Be Mindful of Stereotypes. If every bartender in your game is middle-aged man with a beer gut, you might want to take a moment and reconsider. It’s easy, in that modern game, to say the beat cop is an Irish guy named O’Malley, but it’s also been done to death. What if you made that beat cop a no-nonsense Latina named Rodriguez? Does that change the purpose the NPC serves? Probably not. While sometimes stereotypes can be a quick shorthand, it’s good to be mindful of them and subvert them on occasion. If you automatically think of a particular type of person for an NPC you need to put in play, maybe take a step back and consider some other options.

Occasionally take stock of the NPCs you’re using most often While relevant to our topic of NPCs, this is crucial for any element a GM uses, from settings to plot hooks and more. We all have tools we’re comfortable using, but falling back on those too often without changing things up will get repetitive for your players. Review the NPCs you’ve used most often and determine if you need to bring in someone with a different flavor to spice things up. Try and think about it from the player’s perspective as well; you may know the background differences between some NPCs, but they may all look the same to the players.

Not every NPC needs to be distinct and interesting. Sometimes a bartender really is just a bartender. The ones that do matter, though, should be as varied and interesting as the rest of the world your PCs inhabit. It’s a skill that can take time to develop, but with a little practice you’ll see the difference in how your players interact with the world. The first time they get emotional about an NPC, whether they’re protective of them or intending to murder them, you’ll know you’ve gotten it right.

Have you found yourself in a rut with your NPCs? I’m curious how other people have fixed the problem of NPCs not helping bring the game world to life quite right.


Categories: Game Theory & Design

Amazee Labs: DrupalCamp Transylvania 2018

Planet Drupal - 11 May 2018 - 1:46am
DrupalCamp Transylvania 2018

If you were in the city of Cluj-Napoca between 4 and 6 May 2018 and walked around The Office, you probably saw over a 100 people from all over the world, wearing the same t-shirts, talking about Drupal. That's because DrupalCamp Transylvania was in town.

Vasi Chindris Fri, 05/11/2018 - 10:46

If you know a bit of Romanian history and have heard about Transylvania, you probably know about Vlad the Impaler. If not, then you've probably heard about Dracula. Either way, they're the same person. You may be asking yourself, "What has Dracula got to do with Drupal?". Well, the answer is in the picture below:

We all want Drupal to be immortal. Because we love developing awesome websites with it.  That said, we must remember one thing, it's not all about work and making money, it's also about having fun using Drupal. That was one of the key points of Robert Douglass' keynote - "My Drupal Mid-Life Crisis".

One of the most interesting sessions was Larry Garfield's - "The container is a lie!". On reading the title, you'll probably want to check that out, since you most probably use containers (not necessarily Docker containers, although Docker is probably the most used these days) in your everyday work. He spoke of how software runs on modern Linux systems, that we should not think of boats, whales or shipping or even Docker when we hear the word container, and why it is actually useful that modern software is built (runs) on these "lies". These "lies" form part of our everyday work, and more importantly, the deployment to different environments makes it so much easier.

Another very important topic, not only in the Drupal community but in technology in general, is GDPR (General Data Protection Regulation). Balu Ertl had a great session entitles, Overview of GDPR modules for Drupal, in which he provided an overview of all the modules in Drupal that can help your Drupal site achieve GDPR compliance.

The conclusion was that we have quite a few modules (9) in this category, some of them available on both Drupal 7 and 8. Some of them implement a small part of the regulations (like the consent for using personal data, the possibility to delete or download all the personal data of a user, the possibility to anonymize user information when dumping a production database, etc.) and many of them implement overlapping features.

But there seems to be one module, General Data Protection Regulation, which tries to bring all these modules together under one umbrella so that we can have a unified and clear solution for making a site GDPR compliant.

Another thing that came up during the discussions about this subject, was that this is a really complicated subject for both technical and legal minds, and as such, you'll most probably not be fined immediatly if you're not 100% GDPR compliant on the 26th of May 2018. The most likely scenario is that the authorities will be there to help at first, and only fine you as a last resort. That said, this cannot be confirmed and everything should still be done to be GDPR compliant by the deadline.

Wait, there's more! While attending Lenard Palko's presentation, we saw this:

No, we did not watch an episode from Doc McStuffins. This was about Auditing PHP Applications, a session in which Lenard Palko showed us how his team is dealing with auditing PHP applications and what things should we look for when having to do such an audit. He also shared some helpful tools that you should use and how should you structure the report.

As you can see it was a great DrupalCamp. Nice location, great presenters, lots of people and a dedicated sprint room. So, did we have any time for doing other stuff than coding and talking about Drupal? Yes, we did! We had some great parties each evening and a brave few of us even went for a morning run on Saturday.

I'm already looking forward to the next DrupalCamp Transylvania in 2019. See you there!

Categories: Drupal


New Drupal Modules - 11 May 2018 - 1:12am

Household helps site builders manage households members, logins and relations

Features Requirements Known problems Tutorials Pledges Credits Recommended modules Similar projects
Categories: Drupal

App Banners

New Drupal Modules - 11 May 2018 - 12:56am

This module provides the relevant metadata to display native application install banners for iOS and Android.

The app allows site managers to configure details of the apps and the pages where the banners should appear.

Categories: Drupal Blog: AGILEDROP: Drupal SEO Tips

Planet Drupal - 10 May 2018 - 5:40pm
Drupal is a CMS that’s well-known for its security and flexibility. But do you know of another aspect that Drupal excels at? It’s Drupal’s excellent built-in SEO functionality. While Drupal itself plays pretty well with search engines, there are a host of measures you can take to ensure you stay on top of the SEO game even more. After all, the internet is a competitive market, making a site’s SEO all the more competitive. In this post, I’ll explore some of the most common SEO measures you can take to bolster your Drupal site’s SEO efforts.   The Basics All the basic SEO measures that are… READ MORE
Categories: Drupal

Valve debuts public bug bounty board in an effort to improve security

Social/Online Games - Gamasutra - 10 May 2018 - 4:52pm

Valve is joining Nintendo, Oculus, and a litany of other tech companies in establishing a public bug bounty program to encourage folks to report security vulnerabilities in its services. ...

Categories: Game Theory & Design


Subscribe to As If Productions aggregator