Interesting stuff club
Our monthly round up of anything we’re doing and learning in our own time.
“I recently came across an article – Meet The Man Who Created Papyrus, The World’s (Other) Most Hated Font. He created Papyrus when he was 23 and quotes that no one was interested ‘except for one company: a small British company called Letraset’. I love Letraset so I had to look into the story behind how they went from making transfer sheets, to having fonts installed on every computer. Basically, they set up in 1959 and were used primarily by graphic designers as a quick way to add professional looking type to their designs. With the invention of digital type, they decided to release the fonts they have the rights to (which is quite a lot!) in formats such as PostScript. Nowadays their fonts are installed on over a billion Windows machines and 120 million Macs.
I also stumbled across a fact the other day which I thought was cool (as I love anything to do with the war) which was that UX / UI was coined during WW2, as things like the tank controls and fighter aircraft interfaces had to be used with minimal thought, or just instinct.”
“I’ve been rewriting the API for our internal project Coffeestats, which records our office coffee consumption. It was going well, but I hit some trouble when running the service tests without having to do a lot of heavy lifting priming and wiping a mongo database.
Rachael has recently redesigned the admin area so I spent a weekend building that out, trying to incorporate the new Web Animations API which I heard about when listening to the ShopTalk show a few weeks ago.
“I learned an interesting fact from my 7 year old the other day … did you know that dolphins are actually whales? Me neither.
Something else on a more tech note I wanted to mention is that since we stopped sizing user stories we’ve been collecting data for the latest Limpid Markets product (which was launched in February). Instead of using story points (the outcome of our planning poker) to predict when we’d hit various milestones, I’ve just been using the number of stories (e.g: one story = one point). The interesting thing when I compare what we did before (using story points to predict) to what we’re doing now (using the number of stories to predict) is that within a very small percentage, the two approaches resulted in a similar prediction. However, for the first product we spent over 100 hours in poker planning sessions which now seems like quite a waste of time given it doesn’t appear to make any difference to the accuracy of the prediction.”
“I’ve recently read a book called UX Strategy by Jamie Levy which has been so useful. One thing I’ve struggled with is moving a project from a general idea to something you can test. From the lessons learned from Lean UX, User Story Mapping and Just Enough Research, this book felt like a great bridge between the three. It outlines a framework you can use to take a business proposition or idea and move it on to something tangible. There’s some great interviews and case studies at the end that help provide much needed context and real life examples. Kirsten and I are also attending a workshop with Jamie Levy which I’m really looking forward to as I still have a few questions.
Last time I mentioned the You Are Not So Smart podcast and there’s been a few since about fallacies and errors in judgement. The series outlines common fallacies and how you can be aware of committing them yourself and how to defend against them in a debate. A few that have recently been covered were; ‘Texas sharpshooter’ fallacy: a cowboy randomly fires some gunshots at the side of a barn, then paints a bullseye target centred on the biggest cluster of hits and claims to be a sharpshooter. This is when differences in data are ignored in an argument, but similarities are stressed. Another was the ‘No true Scotsman fallacy: a Scotsman sees a crime happen in London and claims that no Scotsman would ever do such a thing. But then a second, more horrific crime, is committed in Glasgow so the Scotsman claims that no true Scotsman would do that. I.e., those who perform that action are not part of our group and thus criticism of that action is not criticism of the group. It’s really fascinating to listen to someone explain these fallacies and arguments, and how as humans we’re programmed to see patterns, and how beneficial it is to arm ourselves with an awareness of slipping into these common fallacies in order to make better decisions.”
“I’ve still been grinding away learning Elixir since the last update and I’m glad I have as the language is really starting to click with me now. Concepts which initially seemed alien to me, such as pattern matching, are beginning to make a lot more sense. A really elegant feature in Elixir that I’ve been focusing on for the last week is functions with multiple heads and guards. In a nutshell, you can define multiple signatures for the same function with different parameters. When you call a function, the number and type of arguments passed will be pattern matched to determine which head is used. This lends itself to the creation of small testable functions, and often eliminates the needs for conditional statements. The next step on my Elixir journey is ‘processes’; Elixir/Erlang applications often have thousands of small ‘processes’ running simultaneously which gives the languages their concurrent, reliable nature.
Elixir aside, we’ve also upgraded our application servers at UVD to PHP 7 and I’ve been taking advantage of some of the new language features. I feel this is a step in the right direction for the language.
Since embarking on my functional journey I’ve found myself writing PHP in a much more functional way and so far it seems to be working out well.“
“As my Elixir book us yet to arrive, I haven’t looked into it much yet. Instead I’m going to talk about Docker which I’ve been working on for the past week.
Docker is a container based platform which is similar in some ways to the way we currently work with our Vagrant VMs. However, instead of running a guest operating system per application, the applications sit upon the Docker engine on top of the host OS. This is best shown as a visual comparison: (images courtesy of Docker)
Traditional virtual machine
There’s several benefits to using Docker; most notably, your development and production environments are an exact copy so there’s much less to go wrong. We can also isolate our different sites, without them needing to have their own server. For example, if we want to upgrade one website to PHP7, we can do this independently as each site has its own PHP container.
I had a breakthrough yesterday and managed to get multiple sites running on one server running being a nginx reverse proxy. The next step is getting it deployed..!”