Newsfeeds

Layout Builder Discovery Extra-Layouts

New Drupal Modules - 15 October 2018 - 5:57am

Generate new layouts for the "Layout builder" module

Categories: Drupal

Layout Builder Discovery Extra Layouts

New Drupal Modules - 15 October 2018 - 5:46am

Generate new layouts for the "Layout builder" module

Categories: Drupal

Adding a New Player to Your Stew

Gnome Stew - 15 October 2018 - 5:43am

The night we started back in on our Tales from the Loop game was nearly breathless with excitement. We’d taken about a six month break and played another truly epic medium size campaign, but this game had stolen our imaginations for months. We wanted to know what had happened to Harrison, Stacie, Mags, Ivanka, and Shoya in the intervening ten years. We wanted to know what the next mystery would be. We were chomping at the bit.

Life is life, though.

Between our first campaign and this continuation, circumstances had changed for some of our group. Dear friends had to call it and a new friend had joined in. This kind of shuffle is inevitable as we get older — we have other priorities, other responsibilities and claims on our time. Life doesn’t proceed smoothly as we might wish for ourselves or the people we care about and sometimes gaming is the casualty. So, as we gathered to set up the next chapter, we found ourselves down two players and up one, facing the age old dilemma: how do we integrate this new player into our campaign? It’s time to riff off the old recipe and make something similar, with some new flavors. 

There are a number of key items to consider:

  • Relationships – Drop the new player in with relationships to the existing party
  • Player prior knowledge – How will you deal with them not knowing things in-game?
  • Goals – Align the new character’s goals with the party’s goals
  • Investment – Get the player invested in the game quickly
Relationships

 A character made in a vacuum will have no reason to relate to the others.   Share1Tweet1+11Reddit1EmailThe primary way to embed a new character in your game is by immediately having relationships with your long standing characters. The newcomer needs to have a minimum of one relationship to someone in the party that has the same level of commitment as the other characters do to each other. How you create this will depend on how you’re adding this person in to the game — are you coming back to a game that you’re picking back up, where you can have a session zero again? Are you dropping them in cold mid arc? Consider if there’s no pause taking a little time as a group to establish these relationships. A character made in a vacuum will have no reason to relate to the others.  A single ingredient off to the side is not part of the stew. Marry the flavors. 

How you play with relationships will vary what kind of depth you need to make the new character feel like they have interaction options and aren’t blocked out of role playing in scenes. At my game table, we routinely play with friendships, romances, and rivalries, so when it came to integrating the new player we negotiated doing both with him: Chaz is Stacie’s fiance, which immediately made him Harrison’s rival. He is committed to being in this story because Stacie’s not going to go off without him and he’s not going to leave her (at least not without some seriously good drama — I guess we’ll find out!).

Player Knowledge

The next thing you’re going to have to make a decision about is how to handle the player’s lack of knowledge of what has gone before. There are a number of ways to do this, from having everyone try to explain it to handing this poor player a manual of your previous gaming stories to study, but my favorite is to justify why they won’t know, and as a GM, make sure to have fun playing with that. This is the route we’ve gone, where Chaz knows some of what Stacie’s told him, but he didn’t truly take her at face value when she told him there were time travelers and dinosaurs involved. Now he’s confronted with the reality of the situation and we get to see his character evolve to process and handle the realities of both Stacie’s past and their shared present. The important thing about specifically integrating a character without plot and story background is that you can play with their lack of knowledge, but you can’t punish them for it. It should be fun that they can discover things or you can have deep conversations with them about what came before. It can’t be not knowing some key thing, therefore this monster kills you.

Having said all of this, we are also playing in the 90s. We know the 90s. There’s no setting to really have to explain beyond our basic location information, which we set up in our session 0. You are going to need to communicate more unique settings at least in general, and work with the player in a meta sense if there are things their character would know that they simply don’t yet. 

Goals

The goals of the new addition need to align, at least in the short term, with the party. If you meet someone new in a tavern, they should be planning to travel the same way as you are, or maybe they’re the only other person who fights back when the demons attack the patrons. In my game, Chaz and Stacie just want to get married! And if that means stopping an invasion and an interstellar war, well, you don’t want to see Stacie in bridezilla mode. The relationship is helping us out here a lot in terms of goal alignment. Chaz has his own unique goals, of course — one day, one of his whacky inventions is going to be huge! It’s always just around the corner. In this moment though, in our campaign, his goal is aligned with ours: save the world, get married. Salt and pepper — different but meant to work together. 

Investment

 If the player is not invested in this game, they’re not going to have fun…and really, isn’t that what we’re all here for? Share1Tweet1+11Reddit1EmailThe last and possibly most important consideration is investment. If the player is not invested in this game, they’re not going to have fun…and really, isn’t that what we’re all here for? It’s key that you get them invested in the game, the character, and the stakes as soon as possible. Some of that can happen in your session zero (or character creation for the addition if you’re not coming back from a pause), and some of it needs to be the responsibility of the GM to pull everything in as quickly as possible. Relationships with the other characters create investment, and so do goals that are aligned. Once the game actually starts, all of that needs to be brought to the table hard to drag the new character right into the story along with everyone else. Chaz was immediately offered a Vice Presidential position where he can invent new things all day at the new company his Dad just bought (yes, he absolutely just purchased the Loop and surrounding campus), tossing him directly into the cross hairs of our story line (I can’t even begin to explain but it has to do with clones and aliens). Immediately he was invested not only in the theory of the game, but now also in the practice. And with that, soup’s up and we’re all digging in!

Have you had to integrate a new person in to an ongoing campaign? How did you do it? What worked, and what didn’t?

 

Categories: Game Theory & Design

AddWeb Solution: Drupal Europe, 2018 - A community that codes together, organize the event together, grows together!

Planet Drupal - 15 October 2018 - 4:22am

A Drupal event is one such destination that I long to visit, each year. Plus, this one happening in Germany was a special one. Yes, you got it right, I’m talking about the Drupal Europe that took place last month at the Darmstadt, Germany. And to answer what apparently made this one a special Drupal event for me is that it was a community-driven event, the scale of which matches with that of a DrupalCon. Such enthusiasm and such efforts! Applauds and appreciation to the entire Drupal community of Europe and worldwide for having shown such a withstanding support for Drupal and making #DrupalEU such a massively successful event.

 

We Volunteer! 
Yes, did volunteer and contribute in order to do our share in supporting this massive and enthusiastic community-driven event called the Drupal Europe 2018. Isn’t that what is expected out of a hardcore Drupaler like us, who’s been a working aggressively for the community ever since 2012. We’re involved with the website part of the event and came up with a few bug fixes too. We intended to contribute on a way larger scale, but alas the time constraint and the work commitment. While not trying to redeem ourselves, but isn’t working on a Drupal project for a client is too a form of contribution done for the community?! Did just heard a yes from you!

, ,

The Enthusiastic Event & Visually-Stunning Venue! 
Drupal Europe is said to be the biggest European Drupal event, by far. The event was organized at the Darmstadtium - a beautiful structure of modern architecture with a mark of history living in it. Yes, amidst the exceptionally designed modern Darmstadtium stands an old wall from history. 

, ,

The five-day event at this exceptional structure had almost 1000 Drupalers from across the world. The event was divided into three major areas; one, where the booths were set up by different Drupal sponsors, two, where the sessions were being conducted by the Drupal experts, and third, where the Bird Of Feather(BOF) sessions were organized.

 

Entire CMS Community Under One Roof! 
Drupal Europe spoke for and promoted Drupal extensively and dedicatedly. But that does also not mean shunning away from the entire open source community. Hence, a concept of ‘Open Web Lounge’ was also implemented at  Drupal Europe, like other open source community events. Here people from the entire open source community come under one roof to brainstorm and discuss relevant topics of the community. It’s an informal gathering where a bunch of like-minded people tries and contribute to the community with their solutions & suggestions. This is one of the healthiest things happening across all the community-based events.

 

Sessions, Booths & BOFs
A Drupal event is always about a host of things to do and programs to attend. So much so that one always misses out on several such things. So did I! But thankfully I also got to attend a series of sessions, which I completed cherished. Like the one on the ‘Autosave and concurrent editing in Drupal 8’ by Hristo Chonov,  ‘Drupal Diversity & Inclusion’ by Tara King & Elli Ludwigson, ‘The Way We Work’ by Kevin Bridges and Elli Ludwigson, and many more! Apart from this I also attended a couple of BOFs and walked through different stalls and connected with different people from the Drupal community.

, ,

A Perfectly Creative Prenote!
Yes, this time I’ll prefer sharing details about the prenote prior to that of the Driesnote. The prenote topped the list of fun events at Drupal Europe, 2018. Jeffrey A. McGuire, along with Campbell Vertesi, Adam Juran and others came up with the most creative and innovative Prenote ever. And the part that stole my heart was the recreation of ‘Imagine’ with a touch of Drupal in it. Just Phenomenal!

, ,

The Driesnote
One of the most awaited parts of any Drupal event has to be the #Driesnote, by the founder of Drupal - Dries Buytaert. He started with a goal to build a Drupal that people love, and shared the roadmap he has structured to reach this goal. He went ahead sharing the updates regarding the initiatives taken so far with the community members present at Drupal Europe. He also spoke about the marriage of React UI and Drupal, in order to improve the overall administration experience of the site. Like always, Driesnote was an insightful session to attend. Here’s the link to the entire Driesnote, for those who missed out on it.

 

The #DrupalCEO Dinner!
Last but certainly not the least! It was a night to remember with the senior level executives of the companies actively working for the Drupal community and the founder of Drupal himself - Dries Buytaert. And we feel privileged to be a part of this exclusive and prestigious dinner night. It’s a new initiative, initially started by a handful of CEOs of Drupal companies, which later got widely popular. Though an informal event, the DrupalCEO dinner is an event that brings out the best of suggestions and surveys from the leading Drupal-ers around the world.

, ,

This one was my first Drupal community-driven event and believe me, it was a phenomenal experience in itself. The enthusiasm and efforts of the community were soaring aloud of the strength of the Drupal community at large, which apparently translated into such a progressive vibe at the event!

Categories: Drupal

Logged-in Users Lists

New Drupal Modules - 15 October 2018 - 4:06am

Showing the list of logged-in users who have currently logged-in.

Categories: Drupal

Maintenance URLs

New Drupal Modules - 15 October 2018 - 3:04am

Maintenance URLs module allows you to specify several URLs that should temporarily
redirect to a maintenance page. This is a very basic and light-weight module.

The maintenance page is a standard Drupal menu hook that renders a translatable string.

The primary user (uid = 1) will ignore these settings, and display a warning (for debugging purposes).

Categories: Drupal

File Base64Gzip

New Drupal Modules - 15 October 2018 - 1:56am
Categories: Drupal

Read more field

New Drupal Modules - 15 October 2018 - 1:23am

This module adds a field type that makes it easy to add content with a 'read more' link. It does so by providing 2 separate (formatted) text-fields, that allow to place content in either the visible or the (initially) hidden textfield. You are free to leave the hidden field empty if you don't need it, in that case it will act as a regular formatted text field.

Categories: Drupal

Thunder Testing Demo

New Drupal Modules - 15 October 2018 - 12:43am

Thunder Testing Demo

Categories: Drupal

Advanced Designers & Dragons: Giants of the Industry: Greg Stafford

RPGNet - 15 October 2018 - 12:00am
The founder of Chaosium, explorer of Glorantha, and creator of Pendragon.
Categories: Game Theory & Design

OSTraining: How to Create a Search Box with a Sliding Effect in Drupal 8

Planet Drupal - 14 October 2018 - 11:36pm

One of OSTraining members asked how to create a search box with a sliding out effect. Their goal was to arrive at the search box similar to the one you can find at the top of Drupal's own website.

In this tutorial, you will learn how to create a search box that expands once you clicked on the icon. Also, while it stays expanded, it blur out your main menu.

Categories: Drupal

Video Game Deep Cuts: Smash That Magic Spiderweb

Social/Online Games - Gamasutra - 14 October 2018 - 8:19pm

This week's highlights include a neat Smash Bros interview, a review of Magic Leap's reveal party, and words of wisdom from Spiderweb Software, among many others. ...

Categories: Game Theory & Design

Better image performance on dri.es

Dries Buytaert - 14 October 2018 - 3:36pm

For a few years now I've been planning to add support for responsive images to my site.

The past two weeks, I've had to take multiple trips to the West Coast of the United States; last week I traveled from Boston to San Diego and back, and this week I'm flying from Boston to San Francisco and back. I used some of that airplane time to add responsive image support to my site, and just pushed it to production from 30,000 feet in the air!

When a website supports responsive images, it allows a browser to choose between different versions of an image. The browser will select the most optimal image by taking into account not only the device's dimensions (e.g. mobile vs desktop) but also the device's screen resolution (e.g. regular vs retina) and the browser viewport (e.g. full-screen browser or not). In theory, a browser could also factor in the internet connection speed but I don't think they do.

First of all, with responsive image support, images should always look crisp (I no longer serve an image that is too small for certain devices). Second, my site should also be faster, especially for people using older smartphones on low-bandwidth connections (I no longer serve an image that is too big for an older smartphone).

Serving the right image to the right device can make a big difference in the user experience.

Many articles suggest supporting three image sizes, however, based on my own testing with Chrome's Developer Tools, I didn't feel that three sizes was sufficient. There are so many different screen sizes and screen resolutions today that I decided to offer six versions of each image: 480, 640, 768, 960, 1280 and 1440 pixels wide. And I'm on the fence about adding 1920 as a seventh size.

Because I believe in being in control of my own data, I host almost 10,000 original images on my site. This means that in addition to the original images, I now also store 60,000 image variants. To further improve the site experience, I'm contemplating adding WebP variants as well — that would bring the total number of stored images to 130,000.

If you notice that my photos are clearer and/or page delivery a bit faster, this is why. Through small changes like these, my goal is to continue to improve the user experience on dri.es.

Categories: Drupal

Commerce Wishlist API

New Drupal Modules - 14 October 2018 - 9:14am

Provides a RESTful interface to interact with wishlists in Drupal Commerce via a lightweight public API.

Supporting organizations:
agoradesign KG Development and maintenance

Categories: Drupal

OpenSense Labs: Efficacy of Kubernetes in Drupal Deployment

Planet Drupal - 14 October 2018 - 8:08am
Efficacy of Kubernetes in Drupal Deployment Shankar Sun, 10/14/2018 - 20:38

First came the physical servers which were followed by the virtual machines and now the developer ecosystem is rapidly adopting container and serverless computing. One of the biggest challenges that physical servers pose is their management which virtualisation resolves by emulating the real system thereby streamlining the governance of different functions. Now, container and serverless computing are extrapolating the benefits to a whole new level for the developers. And this is where Kubernetes comes into play.


Google’s Cloud Next 2018 summit held in San Francisco emphasised upon the company’s active involvement in over thousands of open source projects including Kubernetes. By the time Kubernetes was introduced in Google Cloud, it had more than 20,000 contributors which made it one of the fastest moving projects in the open source history. Kubernetes can be a huge asset in the deployment of projects based on another open source framework - Drupal. But before we plunge into that, let’s traverse along the short timeline of Kubernetes’ formation.

Timeline of Kubernetes formation

Kubernetes was originally developed by a team at Google which has been open-sourced since its launch and is managed by a large community of contributors. RisingStack has compiled an interesting timeline which traces the history of Kubernetes with the birth of the Borg system. 

Around 2003-2004, Google introduced the Borg system, a large-scale internal cluster management system, which was followed by the introduction of Omega cluster management system in 2013.

In the mid-2014, Google introduced the open source version of Borg in the form of Kubernetes. In the mid-2015, Kubernetes v1.0 was officially released.

2016 was the year when Kubernetes went mainstream

2016 was the year when Kubernetes went mainstream with more advanced releases, case studies, conferences, and the support for Windows Server and OpenAPI.

In 2017, big enterprises started adopting and supporting Kubernetes with Microsoft, Oracle, Google, IBM, and Amazon coming up with more container orchestration methods using Kubernetes.

A Closer Look at Kubernetes


An open source system, Kubernetes is used for handling containerized application across numerous hosts offering basic mechanisms for deployment, maintenance, and scaling of applications. It is hosted by the Cloud Native Computing Foundation (CNCF). CNCF was formed through the partnership of Google and Linux Foundation. It aims to develop sustainable ecosystems CNCF helps in fostering a community of top-notch projects that orchestrate containers as part of a microservices architecture.

Kubernetes is a portable, extensible open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation - Kubernetes documentation

Kubernetes enables you to deploy containerised application swiftly and predictably and can scale containerised applications on the fly. It seamlessly rolls out new features to your containerised applications and optimises your hardware.

The significant features of Kubernetes include:

Deployment of containers and management of rollout control: With Kubernetes, you can describe your containers and define how many you want in a single deployment. It can govern the running of those containers (even across multiple hosts) and also manage changes like updating images, changing variables etc. to your containers.

  • Resource Bin packing: This lets you declare minimum and maximum computer resources (CPU and memory) for all the containers.
     
  • Service delivery: It has the provision of built-in service delivery for the automatic exposure of containers to the internet or other containers in the Kubernetes cluster.
     
  • Autoscaling: It automatically performs load balancing of traffic across matching containers.
     
  • Heterogenous clusters: It helps in developing a cluster with a mixture of virtual machines, on-premises servers, or bare metal in the company data centre.
     
  • Storage support: It has the provision for persistent storage support with support for Amazon Web Services EBS, Google Cloud Platform persistent disks, and many more. Vendors like Red Hat, Dell, NetApp and EMC offer persistent storage for Kubernetes.
     
  • High availability: It has very high availability such as multi-master and cluster federation enabling the linking of clusters together for load balancing.
Docker vs Kubernetes

Note that Kubernetes is not a replacement for Docker but it is for some of the top-of-the-line technologies that have emerged around Docker.
 
One of those technologies is Docker Swarm which is an orchestrator bundled with Docker. It is possible to leverage Swarm instead of Kubernetes but Docker Inc. has chosen to make Kubernetes a part of the Docker Community and Docker Enterprise editions moving forward.

Kubernetes is significantly more intricate than Docker Swarm

Kubernetes is not a drop-in replacement for Swarm. Kubernetes is significantly more intricate than Swarm and needs more work to deploy. But again, the work involved with the container orchestration using Kubernetes would provide a big payoff in the long run - a more governable, resilient application infrastructure. Docker Swarm is a good choice for the development work and smaller container clusters.

Deploying Drupal using Kubernetes

Bay Area Drupal Camp 2017 had a presentation that exhibited the deployment of Drupal leveraging Kubernetes. A digital agency built a Lagoon platform that builds cloud web hosting solutions for decoupled Drupal with Node.js features. It showed that for scaling Drupal to a plethora of annual page views, decoupled CMS architecture enables the deployment of Docker, Kubernetes and OpenStack solutions together in data centres.


Lagoon platform was created for optimising hosting for Decoupled Drupal sites on the public cloud using OpenStack. With Lagoon, Drupal admins can build containers for PHP with NGINX, run the MYSQL or MariaDB installation in another container with Node.js configured on a third set.

Containers for Redis, Varnish Cache and Solr complete the install with the management of load balancing, page caching and auto-scaling web server nodes to match traffic rates. Lagoon relies upon Red Hat Enterprise Linux and the OpenShift platform in addition to the Original Community Kubernetes Distribution (OKD). System admins would have to use Jenkins, Ansible, Vagrant, TravisCI, Puppet, Docker, and CircleCI for configuration.

Programmers and developers would have to be adept with GraphQL, React, Apollo, Next.js and Prometheus. Lagoon leverages Alpine Linux for container installs from Docker images. Content Delivery Network (CDN) integration completes a different production route for anonymous traffic by geolocation thereby optimising datacentre hardware.

Workflow process with Lagoon involves reading the docker-compose.yml and creating disk images which set up the OS for web servers in containers. Then, disk images are pushed to an OS registry like GitHub or BitBicket. Using Ansible, the disk image is pushed to a git repository and commits are made to Node.js for testing. Lagoon deploys disk images from the git repository for Drupal web hosting requirement s in Kubernetes clusters.

Minishift can be leveraged to run OpenShift server administration on the desktop. Lagoon comprises of server-side rendering for Node.js and React on NGINX, running Drupal on NGINX in isolated containers individually. Then, Varnish Cache is used to handle HTML file transfers to users and CDNs.

Market trends Source: 451 Research

A study conducted by technology research and advisory company 451 Research investigated containers adoptions by enterprises across the wide array of industries. It revealed that enterprises of all sizes are rapidly using containers and man are even deploying and governing their containerised workloads with orchestration software. 52% of the organisations gestured that they are running container management and orchestration software in production today and 71% of the respondents were using Kubernetes.
 
Another survey by Portworx Annual Container Adoption in 2017 included insights from 491 IT pros across a variety of industries and company sizes. It delineated that Kubernetes was the preferred option when it comes to container orchestration(shown in the graph below).

Source: Portworx

Moreover, a report on Transparency Market Research stated that “key drivers of the Kubernetes solutions market are the rapid growth of container orchestration, increase in investment by vendors, more focus on hybrid cloud and multi-cloud, an increase in adoption of Kubernetes by major players offering cloud computing”.

This report also stated that while North America accounts for the largest share of Kubernetes solutions market, Europe trails behind the second largest. Also, Amazon Web Services, Google Inc., Microsoft Corporation, Red Hat, Inc., Apprenda Inc., UnitedHealth Group, IBM Bluemix, Cisco Systems, Inc., Target, Oracle Corporation, Huawei Technologies Co., Ltd, CenturyLink, Inc. Kismatic, Inc., Heptio, Core OS, Datera, and NavOps are the major vendors.

Conclusion

Drupal as a great content store has grown exponentially due to the presence of its large and active community which is committed towards the perpetual improvement of Drupal to powering digital innovation. Kubernetes, also being an open source software, can of huge help in the Drupal deployment and has made rapid strides with colossal adoption rate among the big enterprises in recent times.

At Opensense Labs, we have been offering a suite of services to provide amazing digital experience to our partners.

Ping us at hello@opensenselabs.com to develop and deploy Drupal-based web applications leveraging the power of Kubernetes.

blog banner blog image kubernetes Drupal Kubernetes Drupal deployment Drupal and Kubernetes Blog Type Articles Is it a good read ? On
Categories: Drupal

Video Game Deep Cuts: Smash That Magic Spiderweb - by Simon Carless

Gamasutra.com Blogs - 14 October 2018 - 7:51am
This week's highlights include a neat Smash Brothers interview, a review of Magic Leap's reveal party, and words of wisdom from Spiderweb Software, among many others.
Categories: Game Theory & Design

Block Cookies

New Drupal Modules - 13 October 2018 - 5:52pm

This is a simple module to be used together with EU Cookie Compliance and it's only function is to prevent saving ALL cookies from the installed website if the user has opt to not allow cookies from the website.

It prevents PHP and Javascript cookies.

Dependency:

EU Cookie Compliance

Categories: Drupal

Dries Buytaert: A fresh look for dri.es

Planet Drupal - 13 October 2018 - 12:07pm

In 1999, I decided to start dri.es (formally buytaert.net) as a place to blog, write, and deepen my thinking. While I ran other websites before dri.es, my blog is one of my longest running projects.

Working on my site helps me relax, so it's not unusual for me to spend a few hours now and then making tweaks. This could include updating my photo galleries, working on more POSSE features, fixing broken links, or upgrading to the latest version of Drupal.

The past month, a collection of smaller updates have resulted in a new visual design for my site. If you are reading this post through an RSS aggregator or through my mailing list, consider checking out the new design on dri.es.

Before (left) and after (right).

The new dri.es may not win design awards, but will hopefully make it easier to consume the content. My design goals were the following:

  • Improve the readability of the content
  • Improve the discoverability of the content
  • Optimize the performance of my site
  • Give me more creative freedom
Improve readability of the content

To improve the readability of the content, I implemented various usability best practices for spacing text and images.

I also adjusted the width of the main content area. For optimal readability, you should have between 45 and 75 characters on each line. No more, no less. The old design had about 95 characters on each line, while the new design is closer to 70.

Both the line width and the spacing changes should improve the readability.

Improve the discoverability of content

I also wanted to improve the discoverability of my content. I cover a lot of different topics on my blog — from Drupal to Open Source, startups, business, investing, travel, photography and the Open Web. To help visitors understand what my site is about, I created a new navigation. When the Archive-link is clicked, visitors will be presented the key topics I write about. It's a small change, but it should help new visitors figure out what my site is about.

Optimize the performance of my site

Less noticeable, is that the underlying HTML and CSS code is now entirely different. I'm still using Drupal, of course, but I decided to rewrite my Drupal theme from scratch.

The previous design had almost 52K of theme-specific CSS, while the new design has 16K of theme-specific CSS. That is more than three times smaller.

The new design also results in fewer HTTP requests as I replaced all stand-alone icons with inline SVGs. Serving this page now takes 16 HTTP requests compared to 33 HTTP requests with the previous design.

All this results in faster performance. This is especially important for people visiting my site from a mobile device, and even more important for people visiting my site from mobile devices in areas in the world with slow internet. A lighter theme with fewer HTTP requests makes my site more accessible. It is something I plan to work more on in the future.

Website bloat is a growing problem and impacts the user experience. I wanted to lead by example, and made my site simpler and faster to load.

The new design also uses Flexbox and CSS Grid Layout — both are more modern CSS standards. It is fully supported in all main browsers: Chrome, Firefox, Safari and Edge. It is, however, not fully supported on Internet Explorer, which accounts for less than 3% of all my visitors. Internet Explorer users should still be able to read all content though.

Give me more creative freedom

Last but not least, the new design provides me with a better foundation to build upon in subsequent updates. I wanted more flexibility for how to lay out images in my blog posts, highlight important snippets, and add a table of content on long posts. You can see all three in action in this post, assuming you're looking at this blog post on a larger screen.

Categories: Drupal

A fresh look for dri.es

Dries Buytaert - 13 October 2018 - 12:07pm

In 1999, I decided to start dri.es (formally buytaert.net) as a place to blog, write, and deepen my thinking. While I ran other websites before dri.es, my blog is one of my longest running projects.

Working on my site helps me relax, so it's not unusual for me to spend a few hours now and then making tweaks. This could include updating my photo galleries, working on more POSSE features, fixing broken links, or upgrading to the latest version of Drupal.

The past month, a collection of smaller updates have resulted in a new visual design for my site. If you are reading this post through an RSS aggregator or through my mailing list, consider checking out the new design on dri.es.

Before (left) and after (right).

The new dri.es may not win design awards, but will hopefully make it easier to consume the content. My design goals were the following:

  • Improve the readability of the content
  • Improve the discoverability of the content
  • Optimize the performance of my site
  • Give me more creative freedom
Improve readability of the content

To improve the readability of the content, I implemented various usability best practices for spacing text and images.

I also adjusted the width of the main content area. For optimal readability, you should have between 45 and 75 characters on each line. No more, no less. The old design had about 95 characters on each line, while the new design is closer to 70.

Both the line width and the spacing changes should improve the readability.

Improve the discoverability of content

I also wanted to improve the discoverability of my content. I cover a lot of different topics on my blog — from Drupal to Open Source, startups, business, investing, travel, photography and the Open Web. To help visitors understand what my site is about, I created a new navigation. When the Archive-link is clicked, visitors will be presented the key topics I write about. It's a small change, but it should help new visitors figure out what my site is about.

Optimize the performance of my site

Less noticeable, is that the underlying HTML and CSS code is now entirely different. I'm still using Drupal, of course, but I decided to rewrite my Drupal theme from scratch.

The previous design had almost 52K of theme-specific CSS, while the new design has 16K of theme-specific CSS. That is more than three times smaller.

The new design also results in fewer HTTP requests as I replaced all stand-alone icons with inline SVGs. Serving this page now takes 16 HTTP requests compared to 33 HTTP requests with the previous design.

All this results in faster performance. This is especially important for people visiting my site from a mobile device, and even more important for people visiting my site from mobile devices in areas in the world with slow internet. A lighter theme with fewer HTTP requests makes my site more accessible. It is something I plan to work more on in the future.

Website bloat is a growing problem and impacts the user experience. I wanted to lead by example, and made my site simpler and faster to load.

The new design also uses Flexbox and CSS Grid Layout — both are more modern CSS standards. It is fully supported in all main browsers: Chrome, Firefox, Safari and Edge. It is, however, not fully supported on Internet Explorer, which accounts for less than 3% of all my visitors. Internet Explorer users should still be able to read all content though.

Give me more creative freedom

Last but not least, the new design provides me with a better foundation to build upon in subsequent updates. I wanted more flexibility for how to lay out images in my blog posts, highlight important snippets, and add a table of content on long posts. You can see all three in action in this post, assuming you're looking at this blog post on a larger screen.

Categories: Drupal

Senha Única USP

New Drupal Modules - 12 October 2018 - 8:11pm
Categories: Drupal

Pages

Subscribe to As If Productions aggregator