All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!
We are proud to be recognized for our commitment to our clients!
We are now featured on Clutch.co 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!
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 HemingwayApp.com 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.Open
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.Testing
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:
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:
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.
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.
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.
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.
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.undefinedundefined
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.
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.
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!
Household helps site builders manage households members, logins and relationsFeatures Requirements Known problems Tutorials Pledges Credits Recommended modules Similar projects
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.
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. ...