Newsfeeds

Polishing Your Pitch - by Ed Dille

Gamasutra.com Blogs - 15 February 2017 - 8:46am
With GDC only 2 weeks away, this primer on effective game and company pitching is both relevant and timely. The advice within draws from our 38 years experience in the industry.
Categories: Game Theory & Design

Acquia Developer Center Blog: 247: Diversity, Differentiation, Value(s) with Tim Deeson

Planet Drupal - 15 February 2017 - 8:38am

While passing through London in late 2016, I sat down with Tim Deeson, lead at the Deeson agency. We talked about the history of his company, delivering value with Drupal is more than delivering code, and Tim's revelations and action regarding diversity at his company and in the tech industry.

Resources / Mentioned
  • White men in digital - our privilege is blinding - Deeson blog, September, 2016
  • A progress update on creating inclusive teams at Deeson - Deeson blog, January, 2017
  • The ten actions Tim and Deeson committed to in 2016 to improve diversity in their company:
    • Begin annual salary audits to check for bias and rectify imbalances
    • Report on our progress when we do our quarterly planning
    • Implicit bias training for everyone
    • Stop attending conferences that don’t have a credible Code of Conduct
    • During hiring, take a more nuanced view on whether a developer has made open source contributions
    • Stop participating in all male conference panels
    • Improve our Careers page, including clarity on parental leave
    • Stop asking for previous salary during hiring – it can perpetuate pay inequality
    • Create dialogue and feedback channels within the company to offer better support
    • Stay informed and signpost groups working in the industry
Conversation Video

[Full Conversation Transcript] The Deeson Origin Story

jam: Tim Deeson, you run what’s now called the Deeson Agency. Is that right?

Tim: Yes, that’s our social media name, but just “Deeson.”

jam: Deeson.

Tim: Yes.

jam: What’s the history of Deeson?

Tim: Deeson is a family business. It was started by my grandfather in the ‘50s, and was a contract publishing company. In 2001, we started the digital agency and that’s the main part of business, but we, actually, still have a small publishing company, too.

jam: You and I talked several years ago now on the podcast about the origins of the business and coming from print to digital and all of those things, but it’s really one of those stories about like, “Yes, I can build a website, Dad!”

Tim: Yes. I came back from backpacking and a family friend, when I lived in San Francisco, a family friend who worked for Apple, he taught me how to hack around with Macs and stuff. I kind of came from backpacking, needed some money. This was kind of in pre-CSS days, actually, I started making websites, kept picking up clients and kind of went from there. In about 2007, we started doing Drupal.

jam: Pre-CSS.

Tim: Yes. This was Adobe GoLive ... CSS was just starting to come out there.

jam: Do you still write your HTML in all caps?

Tim: Yes. I don’t write HTML anymore.

jam: Do you still use spacer gifs?

Tim: Yes, and I shrink a massive table and it’s mostly made of one-pixel gifs That’s the only way I know, unfortunately. CSS passed me by.

jam: They let you do the managing now.

Tim: Yes. More the spreadsheets and the blog posts, probably more where my talents lie, in reality.

Delivering Value with Drupal

jam: Can you talk about the difference between delivering code or delivering Drupal and delivering value higher up the value chain?

Tim: Yes. I guess, I always look at these things as kind of nested, you know, often clients don’t necessarily have a strategy that they work to. Looking – things like Drupal are tools that nested within a strategy, you can deliver value because they have certain attributes, but it’s starting, for me, to the top or the bottom to understand if we want to grow sales in Europe, for example. It’s, then, looking at ways to do digital channel to that and how – what’s a cost effective long-term way of delivering their sales reliably and where does that keep stacking up.

jam: “I want a website” or “I have a website” is no longer transformational, right?

Tim: No. Absolutely. We work really hard with clients to make sure that they understand what’s the business change. We always treat our projects and change management and transformational projects--no one actually wants a website. What they want is happier customers or better-informed surgeons. We’re always looking at the KPIs that will actually measure the business impact of the platform that we’re going to build rather than who should be biggest on a home page or is a carousel a good thing or a bad thing? Whenever we get into those debates, we know that we’ve lost sight of the some key goals that, for the business, are the things that really matter.

jam: The flipside of that coin is delivering websites, whether Drupal or whatever, is also not necessarily a differentiator anymore.

Move up the Chain

Tim: No. Certainly not. Digital agencies, generally, are fighting a kind of commoditization. We think about agency work as kind of, “Do it for me”, “Help me think” or “Think for me”.

“Do it for me”, is just do what exactly what you're told, and it’s very easy to make that kind of commoditized.

“Help me think”, starts to get into the UX and design side of the work. I want you to help me work out what the features are on the site.

“Think for me”, is the strategy. So, they’re coming to you with just a relatively short brief often of, “I need all of the the surgeons in Europe who do heart surgery to understand these training techniques. What are you going to do about it?” That’s where we, actually, can work with them on that kind of overall strategy which will have a strong digital element if they’ve come to us, but it’s an open brief, effectively.

jam: “Do it for me”, “Help me think”, or, “Think for me.” Okay.

Tim: We kind of look at that as a kind of commoditization curve, really, within the market where if you're just delivering exactly what you’ve been asked to deliver, then that’s very easy to niche or offshore, for example, and you're really competing on cost.

jam: Or Squarespace or Wix or wordpress.com, right?

Tim: Yes. And increasingly, those tools get more and more sophisticated that the client can actually deliver those solutions themselves. There’s not – you're not adding much value. You're not adding much intellectual value anymore, which means it’s, potentially, not going to be good for rates and retention.

jam: Right. So, not only do you have to deliver more value, but you have to differentiate, right?

Tim: Yes. Those things are often interlinked, but understanding what is the value that you really adding. Some of them is really hygiene value and reliable code, secure working platforms, but, increasingly, amongst the good agencies. There are not endless amounts, but there are certainly competitor agencies, it’s a significant kind of chunk that I would count as great agencies. How do you, then, differentiate amongst yourself, amongst those agencies, as well?

Diversity and Differentiation

jam: You and I have been talking a bit about one of the things that we might consider a differentiator. I was wondering if you could talk about your recent journey in the worlds that we’ll broadly define as diversity.

Tim: Yes. Probably about nine months ago, we were looking at DrupalCon Europe sponsorships, and it’s been an issue that has been in the back of my mind if do we really – are we representing the kind of communities that we’re part of? I had a kind of a niggle that probably things weren’t – it didn't feel right. Intuitively, I thought we’re probably not doing very well in this issue. It’s morally or ethically commercially initiated, it’s really important that we do improve. We came into DrupalCon, the sponsorship season, and we were looking at some sponsorships and Women in Drupal came up. “Yes, that sounds like – it would be really interesting and useful to support, really happy to do that.” I thought, “Okay. What does this actually mean? What’s the point of Women in Drupal as an event? I thought through that process of analysis. I started doing research where you start to reflect on how we performed as a company. It came to a realization that while we have the kind of positive, well intentioned kind of – “we’re not actively doing anything harmful” like kind of really quickly realized, I guess, we weren’t also doing anything proactively, constructively to kind of address what issues in the industry and certain issues that I can see much closer to home and within the company, too. We had a leadership team that the top four roles, with women – I need one in the top 10 of our roles was a woman. To me that doesn’t really sound like great gender balance if half the population are women, statistically, we kind of seem to be – have quite a quirk in there.

jam: Gender, of course, is not the only axis of diversity that you need to look at, right?

Tim: Yes. We were looking across the board, I guess, around race, sexuality ... There’s quite a few different characteristics that we realize it would be ... Society is at large, kind of has, historically, not performed well in terms of creating equal opportunities for people ... discrimination.

jam: Age is another one that, I think, is especially important. I've seen some organizations, large corporate organizations, get to that tough point economically, and then sort of fire everyone between senior management and middle management, because they’re the people in their 50s and they’re too expensive. Then, five years down the track, ten years down the track, make huge organizational mistakes, because there wasn’t a knowledge transfer, and they weren’t the people who’d gone through that mistake, the time that it happened 15 years before. There are so many ways. There have been a lot of studies about the economic and the business value of diversity. I have been part of teams – many different teams, I guess, I should say. I've felt, myself, that the more diverse a team you have, the better a solution that you can arrive to.

Talk about getting more value out of your business this way. I mean, that in a positive way.

Tim: Yes. During the research and I wrote a blogpost on this, did a lot of time for research I've done, because I found that wasn’t necessarily an easy starting point to say how do I become better informed on this issue kind of fairly quickly. Unconscious bias with something that I wasn’t really that aware of as a topic, but quickly...

jam: Well, it is called “unconscious” bias.

Tim: Yes. I guess I get some sort of pass in that. Yes. Really, it’s something unless you are aware of the fact that we all hold these biases unconsciously, and they influence our behavior, our decisions, how we interpret the world unless you're willing to proactively engage with that and think that, as an organization collectively, as well as an individual, this is something that’s going to be even if you're thinking, actually, “I'm not going to be actively trying not to discriminate.” Unless you're a little bit more aware of what could be going on underneath, some of the signals that you could be sending with some of the smaller decisions you could be making are going to be having an influence. That was something that I realized had an impact on our work. We do things that user experience research, design. That’s a very subjective processes where we’re making very subjective decisions all the time. Without that awareness of how those decisions could be influenced, we were probably making poorer quality decisions, we were making decisions that would be – I guess our default or comfort decisions without having really potentially understood the problems space or the possibilities of what we could be doing. That was something I felt, actually, as a company, we really should be training for unless some companies will have management in HR, in hiring roles, trained in unconscious bias; but, actually, it was something that I realized that we were creating solutions to be used in a wider world, often using significant parts of our judgment and evidence wherever we can. Judgment, even the decisions you make about where you're going to research, you're going to have an impact. That was something that I realized I felt really strongly that, actually, we would benefit from as a company. It would produce the quality of our work, but it would also create a fairer workplace, a fairer culture, I guess, too.

Is Diversity a UX Challenge?

jam: Actually, while you were saying that, I thought to myself thinking of this as a UX challenge might be a really useful paradigm. There are several things about UX that come to mind, completely and spontaneously now: Some great UX practitioners that I've met are the people who can walk into work every day and look at the same interface and never get comfortable with it. Never get used to that workflow that you have to do that one extra thing that’s really uncomfortable there. They’re never satisfied with that. I, and I think most people, just learn how to click through whatever you do in a day and get on with it. Fighting consciously against unconscious bias by remaining as open and as perceptive as possible, that sounds really great. Then, I suppose if you somehow designed it as a process, then you could then quite well – you could really proactively look for a great user experience of your organization, right?

Tim: Yes. It’s a good way to think of company culture and continuous improvement, and that process might say that you are kind of never done. This isn’t a problem that is going to go away. No matter what we do as a company, we can’t solve, the industry isn’t going to fix it or society isn’t going to fix overnight. The problem with that is it can lead to apathy or that kind of stagnation of like, “Yes, this is terrible. What are you going to do?” Then everyone moves on to the next thing. And actually, I guess what I realized is that it’s made up – there are millions of small things that made this up. Actually, you can nudge change by doing things that you can control. It’s not something that’s just – we’re not going to fix it overnight. That’s even more of a reason to do something, because it’s not that kind of problem. It’s not – we can’t just make a decision and make it go away.

jam: Nikki Stevens, keynoted Drupal Costa Rica 2016, and in her keynote, she talked about – it was largely about diversity, but also about community and software. She pointed out that any improvement that you can make, no matter how small, even if it’s only for your local community, makes the world better, makes Drupal, in our case, better. That’s a great point that no matter how small a change you make today, it still adds up to making a difference. I like that.

Tim: Yes. That could have an impact even if it positively impacts one person’s life. There is this ripple effect. It does prompt change and reflection in people that could influence the rest of their lives. That’s kind of – there’s something really powerful. It doesn’t often always get – it can get lost in the big company. You kind of - PR kind of spun version of how do you address this kind of thing. It loses the fact that there’s a very – there’s a evolutionary kind of iterative element to this that’s about raising awareness, like it’s not about people being often not be about people being bad or wrong. It’s about just how do you keep nudging this stuff in the right direction rather than just doing one thing and then disappearing for another five years.

jam: Compare being passively happily open to everyone and accepting of everything and “if you come to us, you’ll have a great experience!” Compare that, which I imagine your state was a year or two ago, to proactively “We want to make Deeson a better company, and one of the measurements that we are going to take for our company’s health and success is our diversity,” so, the passive versus the active.

Tim: Yes. It’s easy to think of, “I don’t consciously discriminate. Therefore, we don’t have a problem.” And just turn around and walk away. That was really the state...

jam: Tim doesn’t have a problem. You have a problem.

Tim: Exactly. It’s realizing that the problem is much more kind of insipid [insidious] in that in a way. It’s kind of that unconscious bias, I guess, is baked into us as a society and us, as humans, that we just carry these biases with us. That kind of blissful ignorance that we were kind of in before, I guess, “We’re sure we’re not actively doing anything kind of harmful, therefore, we’re fine.” Once I started to gain more awareness, I guess, and realize that that just didn't really cut it. That by even our unconscious actions or our kind of how our careers page was written, for example, would be sending strong signals to candidates about who was welcome or not within the company. If you have that stereotypical kind of startup ...

jam: “We want rock stars and ninjas and senior, super senior developers!”

Tim: Exactly. The photos of six guys who are paying pool, late at night, drinking beer is where you’ve probably started to send the message for people with families. They if don’t want to see their families any more than they’re ... It’s that kind, you just start to go, actually, maybe if you're a woman and you don’t want to spend the rest of your career surrounded only by men in their 20s, you’ve made an age point, you’ve already started to set it to indicate who’s welcome here, who fits in, who’s kind of the default and who are you. Thinking about how prominently you talk about parental leave, for example, because if you're not talking about parental leave, at all during recruitment, then you really are probably aiming at much of the younger end of the market. There are all these sorts of things. One thing I found is really interesting about – so, we just have a big push on open source contributions. Like if you're being hired for a technical role, we really want to see that you’ve been active in the open source community. What I realized how that could be quite discriminatory, potentially, is if you were, say, a single mum, you're not going to have had – potentially, you're not going to have had the time or the money to be doing loads of free work on open source code, because you're bringing up a family and working to support them.

jam: Or you might be a great developer of any age, or whatever, who had an employer who didn't include it or permit it at all. And you have a family or you have a hobby. You have an actual life (I wish I knew what that was like. No, I'm kidding.) That’s a great point. The idea of even how you – like what photos you put on your website to talk about your own company, that’s really...

Tim: And what language you use, does it feel like you're competitive, adversarial like you're going to be “top gun” style, or is it about we support people to do their very best. Some really interesting studies that show how that language, how that kind of language will be stereotypically responded to by men versus women, for example.

jam: Sure. In the very early days of Acquia, and I mean I've been in Acquia for eight years now, some of this ... now the statute of limitations has expired. We had “rock star”, “ninja” hiring language on that page. I know, because I had conversations with people at DrupalCon and what have you ... I had conversations with people at DrupalCon who had said - amazing people. People that would have been great at that phase at Acquia. “Oh, well, I don’t think – I couldn’t come as a rock star. I don’t think I could ever apply to Acquia.”

Tim: Yes. You end up with self-fulfilling prophecies. You hire more and more people like the people you have because it’s a marketing test. Your recruitment, your marketing appeals to a certain type of person, which means it attracts a certain type of person, which means you create a culture which has a certain type of person. That’s often could be a narrow slice of the variety of people that would have really much – bring a lot of benefit to the company, different perspectives that can stop the kind of very narrow groupthink, I think.

jam: To your point, because it’s unconscious bias, often ... “That sort of just happened to us and we don’t know why, because we would be really open to having everybody, right?”

Tim: But no one applies which – that was kind of one of the points I made in the blog post was around the kind of pipeline problem. “It’s the pipeline. We don’t get applicants, so what can we do?” Actually, one of those issues is that partly you don’t get those applicants because you only appeal to one type of person. You’ve made it clear that it’s only a safe, welcoming place for certain types of people because every single piece of your marketing says that ... unintentionally and unconsciously. That was the other part, just by raising awareness, it’s very rarely a kind of right or wrong cultural decision to make about these things. It’s that raising the awareness and prompting the debates internally, started to change our culture in terms of growing awareness and how an impact of certain language or certain environment choices could have an impact to people. One of the things was the use of kind of “guy”s where we’re talking to a group of people that may or may not include all men.

jam: The word “guys”. You have just hit on one of my biggest pet peeves. Time out everyone. Land at London Heathrow, any day of the week, especially if you come from a big international flight and the Terminal 5 is really full, you have all those helpful people standing around yelling at you, right? An aircraft - 300, 800 adults, well enough dressed, tired, jetlagged, honestly, the last thing I want to hear – like how about, “Excuse me, ladies and gentlemen. Please go down this way.” I don’t need to be served, right? “Yes, excuse me. Everyone move this way.” All these things would be great. I'm sure there are other good options. Instead, what is it? “Guys, down this way. Yes. Guys, please, move along. Guys.”

Tim: Yes.

jam: It does my head in that “guys” is now the formal way to address a group. And thanks to Tim Deeson, I now know that this is like a symptom of this unconscious bias, as well.

Tim: Sometimes that debate can get derailed into do I find it offensive or not offensive? In my experience, people generally don’t. It’s actually about sending this really subtle, tiny signal that, actually, the default of people we’re talking to are men in these situations.

jam: Plus, I have to say that offense is, actually, not a yardstick to measure by, because it’s very subjective and very emotional and it doesn’t exactly matter. Stephen Fry talks a lot about the concept of “your offense is not my business”. That’s a really interesting point, as well.

Tim: I mean, what’s unfortunate about it is often it can kind of veer into this political correctness kind of issue.

jam: And apologies. So, we’re not talking about anything that needs apologizing for. You were doing something to fix it now, right?

Tim: Yes.

jam: I don’t like long, self-flagellating kind of conversations about this stuff either. That’s a fair point.

So where to now?

jam: Tell me, have you formulated a goal for Deeson in terms of diversity? Is there something – is there a simple statement that you’ve got?

Tim: The end of the book I published 10 things we were going to start doing, start doing basically. For example, only attending conferences that have a credible code of conduct, for example, to ensure that there was consideration of what we’re creating inclusive positive environment for all participants rather than - where in conferences, I mean, some of the reading I did ... If you don’t do the reading, it can sound kind of is this really that big a deal? But, particularly in the US, there’s been incredibly serious, incredibly common incidents to industry conferences where, actually, there is no real consideration paid to kind of large chunks of the audience collectively. We worked out ... I personally don’t believe in targeting percentages, for example, because it can create all sorts of problems. What I found was, actually, it was about the environment we were creating rather than about kind of absolute numbers. You can use percentages as a kind of dipstick of, “Does this feel it represents the communities we’re in” Actually, it was about if we make sure there our recruiting and marketing makes it clear that we’re a welcoming and inclusive environment to everyone, not just the people in a very small group or very narrow group, those kind of knock-on effects, I guess, the behaviors that we take and undertake rather than the kind of being particularly attached to specific outcomes. The outcomes will come through. What you don’t want, I guess, is just to try and force through once we hit certain percentages, then that’s what good looks like and can actually have a change in a few behaviors. That’s where you can end up with really troublesome – you're not going...

jam: Those are those old conversations about a token woman or a token of whathaveyou.

Tim: Exactly.

jam: Rather than a concrete statement or a concrete goal, would it be fair to say that you have a process that you are executing on every day and that your end goal is simply improvement on this area?

Tim: Yes. It’s the only way to think about it is continuous improvement and the awareness raising. It’s thinking about the kind of issues, having that awareness of issues just makes you prompt some conversations that don’t otherwise happen.

jam: Okay. I’ll link to that blogpost for sure. I’ll probably quote your 10 points in the post with this conversation.

Tim, thank you for taking the time to talk with me. I really admire your moment of revelation, per se, but, especially that you're acting on it. It would be really cool if we check in again on this at an apropos moment.

Tim: Of course. Thanks so much for having me.

jam: Great. Thanks, Tim.

Tim: Cheers.

Skill Level: BeginnerIntermediateAdvanced
Categories: Drupal

Sundered: Art Direction and Visual Storytelling in a Hand-drawn Indie Game - by Jo-Annie Gauthier

Gamasutra.com Blogs - 15 February 2017 - 8:32am
Here, we'll go in detail about the influences, art direction and creative process behind Sundered, the upcoming hand-drawn replayable metriovania from Thunder Lotus Games, the creators of Jotun.
Categories: Game Theory & Design

7 Persuasion principles applied to Mobile Games - by Daniel Garcia

Gamasutra.com Blogs - 15 February 2017 - 8:31am
As we all know, the mobile gaming companies use psychology to hook players and make the big $$$. I am sure that you know some of the principles they use, but it is always interesting to see them in action with some examples.
Categories: Game Theory & Design

Privateer Press Seeks Resin Mold Maker

Tabletop Gaming News - 15 February 2017 - 8:00am
You’ve maybe been looking for a while to get into the gaming industry. But you don’t feel you’d make a good salesperson. Or maybe you just prefer to work with your hands. Well, Privateer Press is looking to hire a new Resin Mold Maker. That might just be up your alley. From the announcement: Essential […]
Categories: Game Theory & Design

Lullabot: Using the serialization system in Drupal

Planet Drupal - 15 February 2017 - 8:00am

As part of the API first initiative I have been working a lot with the serialization module. This module is a key member of the web-service-oriented modules present both in core and contrib.

The main focus of the serialization module is to encapsulate Symfony's serialization component. Note that there is no separate deserialization component. This single component is in charge of serializing and deserializing incoming data.

When I started working with this component the first question that I had was "What does serialize mean? And how is it different from deserializing?". In this article I will try to address this question and give a brief introduction on how to use it in Drupal 8.

Serializers encoders and normalizers

Serialization is the process of normalizing and then encoding an input object. Similarly, we refer to deserialization as the process of decoding and then denormalizing an input string. Encoding and decoding are the reverse processes of one another, just like normalizing and denormalizing are.

In simple terms, we want to be able to turn an object of class MyClass into a particular string representation, and then be able to turn that string back into the original object.

An encoder is in charge of converting simple data—a set of scalars, arrays and stdClass objects—into a string. The resulting string is a convenient way to store or transport the original object. A decoder performs the opposite function; it will take that encoded string and transform it into an array that’s ready to use. json_encode and json_decode are good examples of a commonly used (de)encoder. XML is another example of a format to encode to. Note that for an object to be correctly encoded it needs to be normalized first. Consider the following example where we encode and decode an object without any normalization or denormalization.

class MyClass {} $obj = new MyClass(); var_dump($obj); // Outputs: object(MyClass) (0) {} var_dump(json_decode(json_encode($obj))); // Outputs: object(stdClass) (0) {}

You can see in the code above that the composition of the two inverse operations is not the same original object of type MyClass. This is because the encoding operation loses information if the input data is not a simple set of scalars, arrays, and stdClass objects. Once that information is lost, the decoder cannot get it back.

undefined

One of the reasons why we need normalizers and denormalizers is to make sure that data is correctly simplified before being turned into a string. It also needs to be upcast to a typed object after being parsed from a string. Another reason is that different (de)normalizers allow us to work with different formats of the data. In the REST subsystem we have different normalizers to transform a Node object into the JSON, HAL or JSON API formats. Those are JSON objects with different shapes, but they contain the same information. We also have different denormalizers that will take a simplified JSON, HAL or JSON API payload and turn it into a Node object.

(De)Normalization in Drupal

The normalization of content entities is a very convenient way to express the content in a particular format and shape. So formatted, the data can be exported to other systems, stored as a text-based document, or served via an HTTP request. The denormalization of content entities is a great way to import content into your Drupal site. Normalization and denormalization can also be combined to transform a document from one format to another. Imagine that we want to transform a HAL document into a JSON API document. To do so, you need to denormalize the HAL input into a Node object, and then normalize it into the desired JSON API document.

A good example of the normalization process is the Data Model module. In this case instead of normalizing content entities such as nodes, the module normalizes the Typed Data definitions. The typed data definitions are the internal Drupal objects that define the schemas of the data for things like fields and properties. An integer field will contain a property (the value property) of type IntegerData. The Data Model module will take object definitions and simplify (normalize) them. Then they can be converted to a string following the JSON Schema format to be used in external tools such as beautiful documentation generators. Note how a different serialization could turn this typed data into a Markdown document instead of JSON Schema string.

Adding a new (de)normalizer to the system

In order to add a new normalizer to the system you need to create a new tagged service in custom_module.services.yml.

serializer.custom_module.my_class_normalizer: class: Drupal\custom_module\Normalizer\MyClassNormalizer tags: - { name: normalizer, priority: 25 }

The class for this service should implement the normalization interface in the Symfony component Symfony\Component\Serializer\Normalizer\NormalizerInterface. This normalizer service will be in charge of declaring which types of objects it knows how to normalize and denormalize—that would be MyClass in our previous example. This way the serialization module uses it when an object of type MyClass needs to be (de)normalized. Since multiple modules may provide a service that supports normalizing MyClass objects, the serialization module will use the priority key in the service definition to resolve the normalizer to be used.

As you would expect, in Drupal you can alter and replace existing normalizers and denormalizers so they provide the output you need. This is very useful when you are trying to alter the output of the JSON API, JSON or HAL web services.

In a next article I will delve deeper into how to create a normalizer and a denormalizer from scratch, by creating an example module that (de)normalizes nodes.

Conclusion

The serialization component in Symfony allows you to deal with the shape of the data. It is of the utmost importance when you have to use Drupal data in an external system that requires the data to be expressed in a certain way. With this component, you can also perform the reverse process and create objects in Drupal that come from a text representation.

In a following article I will show you an introduction on how to actually work with (de)normalizers in Drupal.

Categories: Drupal

Janez Urevc: Want to learn Entity browser?

Planet Drupal - 15 February 2017 - 7:17am
Want to learn Entity browser? slashrsm Wed, 15.02.2017 - 16:17

One way to start is to check the session that gave at the Drupal dev days Milano in June 2016. I went through the architecture of the module and most common use cases.

I also proposed a Media workshop for Drupal dev days Seville where I want to cover the entire Drupal 8 Media ecosystem from the site builder's perspective. Besides that I also proposed a session about my recent experiments with Elixir. Not necessarily Drupal or PHP related, but I think that looking beyond our bubble can be very beneficial.

Enjoyed this post? There is more! Playing with the Sculpin static site generator Possible solution for knowledge sharing in the Drupal 8 media domain Join us at the next Drupal Media sprint at the Mountain camp in Davos!
Categories: Drupal

How to start using game analytics in 2017 - by Christina Chen

Gamasutra.com Blogs - 15 February 2017 - 7:09am
This article is for a beginner audience re: game analytics. We’ll go into what it is, why it’s useful, and a non-intimidating way to start understanding and using it.
Categories: Game Theory & Design

Human Decimal Formatter

New Drupal Modules - 15 February 2017 - 7:05am
About

A tiny module that provides a simple decimal field formatter that displays decimal digits only if exist (because humans are not computersTM).

For example 3.00 will render as 3 (no digital digits) but 3.23 will render as 3.23 etc.

Initially I found it helpful to propose this formatter on core but until this happens it would be better to add this here as a separate module and get feedback from the community.

Scaffolding was made with Drupal Console.

Categories: Drupal

WizKids Announces The Banishing Card Game

Tabletop Gaming News - 15 February 2017 - 7:00am
Well, it would seem as though the hordes of the undead are once again threatening the world. Damnit, Carl! I told you to stop reading out loud from that book made out of human skin! Well, it seems as though we’re going to have to band together to stop them and send them back to […]
Categories: Game Theory & Design

Roy Scholten: Designer wanted for the new Drupal core demo

Planet Drupal - 15 February 2017 - 6:33am

A quick reminder that there are a few days left to apply as the designer for the new demo installation for Drupal 8.

Drupal wants to make a better impression fresh out of the box and for that, we need to put something nice in the box first. We now have the opportunity to experiment with sample content in a new “Demo” install profile. That’s why we are now looking for a designer to make that sample content look and feel good.

If you are a designer and want to have a big impact on the initial Drupal core user experience, have a look at the plan and consider joining this cool project.

Fair warning: getting design work done in Drupal has been notoriously hard, but this project is well scoped and has buy in from the product managers, so I do hope you (or the designer friend you will pass this link on to) will put your name in the hat. Thank you!

Tags: drupaldrupalplanetdesignSub title: Putting something in the box
Categories: Drupal

Jeff Geerling's Blog: Adding Configuration Split to a Drupal site using BLT and Acquia Cloud

Planet Drupal - 15 February 2017 - 6:23am

I've been looking at a ton of different solutions to using Drupal 8's Configuration Management in a way that meets the following criteria:

Categories: Drupal

Runewars Available For Pre-Order

Tabletop Gaming News - 15 February 2017 - 6:00am
This is one that people have been waiting for since it was announced last year at Gen Con. Fantasy Flight Games has started taking pre-orders for their new rank-and-file fantasy war game, Runewars. Get your name on the list and be the first gamer on your block with the new figures when they’re made available. […]
Categories: Game Theory & Design

TheodorosPloumis blog: Turn Drupal 8.x menu into select list with Twig

Planet Drupal - 15 February 2017 - 4:50am

One a recent 8.x web project I had to get a menu as a select list to use it on the mobile versions of the website. The menu was 2 level depth but the pattern can be used for every level menus. Each select list options havs a data-url value taken from the menu path so the select list can be used with js to trigger a page redirect on select change event.

So here are the steps to manage it.

1) Create a Menu

menu-jump.html_.twig_.txt
Categories: Drupal

OSTraining: Building Conditional Webforms in Drupal 7

Planet Drupal - 15 February 2017 - 3:20am

One of our OSTraining members asked us how to configure webforms with conditions and we prepared for you this tutorial to show you how you can do just that.

For this tutorial, you will need the following Drupal modules:

Once you downloaded the, please go to modules are make sure you have enabled them.

You should have the following module options ticked:

  • Chaos tools
  • Form builder
  • Form builder Webform UI
  • Token
  • Options element
  • Views
  • Views UI.

Under Structure > Content types, you will see that you now have the 'Webform' content type. Review the default settings of this content type. I personally removed the "Published By" but this is my own personal preference.

Now that we have everything installed, let's start building our webform.

Go to Content > Add Content and select the Webform. We need to give this form a title and for ease of access I am also going to assign it a menu link.


Now, using the form builder GUI, you can easily drag and drop the configuration elements that we need for this webform.


I have created a feedback form that will be asking for Name, Email and to rate a service.


We want to set up a condition, which will then trigger a feedback textarea if 'Not Happy' option is selected. We want this textarea to display on the same page, so we will not use a page break for this form element. 


As we now have configured our webform, let's make sure it works. While 'Very Happy' is set, you do not see the feedback textarea field:


If, however, you select 'Not happy option', to record a feedback from the user, then right away its corresponding textarea field will show up.


As you have now learned in this tutorials, using conditionals in Dripal, you can add many complex responses to your webforms, add some cool features to them and collect all the information you need.

Still have questions? Please submit them in the comments below.

Categories: Drupal

Tim Millwood: Default revisions, forward revisions, and past revisions

Planet Drupal - 15 February 2017 - 2:15am
Default revisions, forward revisions, and past revisions timmillwood Wed, 02/15/2017 - 10:15
Categories: Drupal

DEAD SCARE – Resist

Gnome Stew - 15 February 2017 - 1:00am

Yesterday, Exploding Rogue Studios released DEAD SCARE, a 1950s, feminist, zed-killing, fascist-punching tabletop RPG by Elsa S. Henry.

If you weren’t familiar, I co-own Exploding Rogue with Brian Patterson. We’re absolutely thrilled to have been able to help Elsa bring this game to the public, especially now.

So, let’s talk about representation in games.

Lots and Lots of White Dudes

In case you haven’t noticed, there are a bunch of white dudes in gaming. Doesn’t matter what kinds of games you’re talking, either. Tabletop? Yup. Video? Double-yup. So when Elsa approached me about DEAD SCARE and pitched it as a 1950s zombie apocalypse game where you play as the women and children who weren’t infected, I was really interested. I’ve been gaining more awareness about the lack of diversity in games for a while, now, and (being one of the aforementioned white dudes), I thought it would be a good idea to use my platform to help this awesome idea become a product.

More than just the topic of the game, Elsa had the idea that she wanted everyone who worked on the game itself to be a not-dude. Aside from the publishing and distro (me and Brian), everyone else who wrote, edited, did art for, or layout for the game was a woman or non-binary person. She also brought in a number of PoC (people of color) to write Postcards for the project. This makes DEAD SCARE one of the most diverse projects I’m aware of, and I think the project is so much better for it.

But, What’s the Point? Why Do This?

Let’s break this down:

  • The concept is subversive – There are no playbooks in the game that are male-identified aside from a little kid. You play as expressions of femininity from the 1950s. Premises like that break out of the normative mold of tabletop RPGs.That’s Important Because: In my view, anything that gets the (largely white, male) gaming crowd to think about what it’s like to be a member of a marginalized population is a good thing.
  • Characters like this don’t feature in games – This is an extension of the previous point: we don’t see games like this often. It’s happening more and more, and I support that. This is a small effort to include more people in what gaming means. Marginalized people very often don’t see themselves reflected in games. DEAD SCARE changes that to put marginalized people front and center.That’s Important Because: The world is bigger than people in the majority make it. There are experiences that are normal for marginalized people that people in the majority will never experience. Being able to experience those things, even in the context of a game, can breed empathy and help people think about things differently.
  • Fighting against regimes is always a good idea – In DEAD SCARE, once the zombie apocalypse happens, a prominent 1950s political figure takes power: Joseph McCarthy. Not only do you fight back against zombies in this game, but also against a totalitarian political regime with broad powers and the belief that fear and terror are the things that most motivate people to action. That might sound familiar to you. Maybe.That’s Important Because: It’s really easy to be complacent. It’s really easy to sit in a pretty safe group of people and think that bad things just won’t happen to you. It’s hard to stir yourself to act on behalf of people who don’t have as much of a voice as you do. DEAD SCARE is a wonderful piece of political art, and it’s needed right now more than ever.
Your Reaction?

I’m gonna go ahead and guess that if you’ve gotten this far, you’ve had one of two reactions. One is excitement. That’s the one I’d hope for. After all, I wouldn’t be talking about this if I didn’t want people to get excited. However, because the game is what it is, I’d be foolish to think that there’s not another very probably reaction.

If you read the above and what I wrote made you uncomfortable or angry, I urge you: Take a beat. Breathe.

DEAD SCARE makes me uncomfortable. There’s no place for me to see myself in it, really. Any character I play would be taking me out of my comfort zone and ask me to deal with realities that I’ve never had to contend with in my life. That’s a hard thing. It’s also super valuable.

I can imagine people saying that games are supposed to be fun, escapist, not this political. I’d say they can be all of those things. Games allow us to explore amazing worlds, be people we can never be in our real lives, and experience things that we’ll never be able to experience. They are also art. And they’re political. If my reasons for wanting to help Elsa publish this game bother you, I encourage you to stop and do some self-examination before you dismiss the game or get upset about it.

So.

DEAD SCARE is out and now we all have the chance to take a vacuum cleaner and use it to keep undead monsters at bay while trying to also make sure that our kids mind their Ps and Qs, and that the casserole for the church potluck gets made in time. It’s not my world, but I’m glad to have helped it come into being.

If you want to check it out, here’s the DTRPG link for the PDF. Print copies will be coming soon, from the same source. Now go on, bash some zeds.

Categories: Game Theory & Design

Third & Grove: Caregiver Homes Drupal Case Study

Planet Drupal - 15 February 2017 - 12:00am
Caregiver Homes Drupal Case Study antonella Wed, 02/15/2017 - 03:00
Categories: Drupal

Relinquishing Armored Warfare, CEO says Obsidian 'might not tackle a game like this again'

Social/Online Games - Gamasutra - 14 February 2017 - 4:24pm

"Large MMOs are really beyond the ability of an independent developer to manage unless that developer gets huge," Obsidian CEO Feargus Urquhart tells Eurogamer from a new post-Armored Warfare world. ...

Categories: Game Theory & Design

Savas Labs: Dramatically Improve MySQL Import Performance with Docker

Planet Drupal - 14 February 2017 - 4:00pm

A tutorial to show how you can use data volume restore for MySQL on Drupal Docker stacks to dramatically improve import performance with notes on how to integrate this with your development and continuous integration workflow. Continue reading…

Categories: Drupal

Pages

Subscribe to As If Productions aggregator