Welcome to this week's design & development roundup!

And of course, welcome to February! It felt like January would never end (annual Christmas comedown) but we've made it, we're here and ready to share out design & development goodness this week.

In case you missed it, Intel powered an incredible drone display for Lady Gaga's Super Bowl halftime show and nearly 100 firms in the US (including tech giants) teamed up to take on Trump's travel ban.

Adam AvatarAdam

The Aesthetic-Usability Effect

Apple Website UI

Photo: Apple

Nielsen Norman Group, renowned for their UX testing & research have conducted a study into how end-users respond to websites with poor UI but great aesthetics. The research looks into how users are more willing to be lenient with sites that look great with a poor experience, opposed to those that aren't as visually appealing but the overall experience is better.

This research is a great piece of knowledge to hold in the back of your mind when starting on your next project.


Juma AvatarJuma


BotMan Logo

Photo: BotMan

BotMan is a php framework that aims to simplify the process of developing interactive bots for several messaging platforms. BotMan can be installed via composer with the following command:

$ composer require mpociot/botman
use MpociotBotmanBotManFactory;
use MpociotBotmanBotman;
$config = [
     ‘slack_token’ => ‘YOUR_SLACK_TOKEN’,
     ‘facebook_token’ => ‘YOUR_FACEBOOK_TOKEN’,
     ‘facebook_app_secret’ => ‘YOUR_FACEBOOK_APP_SECRET’        
// Build the botman object using our configurations
$botman = BotManFactory::create($config);
// Instruct the bot on what to listen for.
$botman->hears(‘botman’, function(BotMan $bot) {
    $bot->reply(‘Did you summon me?’);    
// Initialise the listening process

The code above shows an instance of BotMan created to listen for a specific word across two different messaging platforms. In this example the bot listens for the word ‘botman’ and replies with a message if successful. Other messaging apps can also be integrated into the bot following the same configuration structure. This example only conveys a basic usage of BotMan. 

Regex expressions can also be used to describe what to listen for. Furthermore, command attributes such as middleware and channels  can be grouped and shared across a number of commands without needing to define those attributes on each individual command. These attributes include:

  • Drivers: specified drivers for each supported messaging platform.
  • Middleware: custom class for specific command attributes.
  • Channels : specific chat channels.


Lewis AvatarLewis

PHP Language Detection

Earth at Night

Photo: Pixabay

For those who don't know, our latest product, Fetch, is a social media and content aggregator that collects and harnesses data from 10+ sources. On any project like this, the data we collect and how we understand it is the most important thing. This is where natural language processing comes into its own life. NLP is the capability of converting a natural string into some machine understandable output; the sentiment, the language, the attributions, etc.

This library is a robust, performance-focused addition to any codebase that allows you to easily examine a portion of a string and determine its 'most accurate' language (Of course, it's not perfect as there's a lot of overlaps in languages, but from our testing the accuracy is undoubtedly incredible and on the instances where it didn't get it spot on, the second slot was always the language it actually was).

The library is also capable of parsing training text in many different idioms into a sequence of N-grams, building the JSON format required for the detection process. In English, the library creates an entire sequence of items from a given input string that analyses the phonemes, syllables, patterns in letters, words and base pairs in the strings. As the library can be trained, you can use it to detect spam and other malicious / profanic content.


We hope you found this week's roundup useful! If you have any suggestions for contributions, let us know on Twitter or Facebook!