What I Learned in 2016 (Part 2)

This is the second part of a three-part post about the new things that I picked up through the course of 2016.

I (finally) took some big steps in CSS this year, picking up some of the things I’d been putting off for a while.

Flexbox

I’d heard a lot of good things about Flexbox but having to support older browsers I’d never really bothered with it. Finally, this year, with support for older IE getting dropped I decided to dive in. It’s amazing. It can handle just about anything you would need for layouts. I’m sure there are now loads of great resources for learning it but the two I used were Wes Bos’s Flexbox.io videos and Chris Coyier’s A Complete Guide to Flexbox.

Sass

The really big one for me this year was learning Sass. I know I’ve come to this very late. I was never that keen on the idea of adding another layer of complexity for my own convenience rather than for any actual user benefit. I still don’t think it’s really needed, it’s a just a nice convenience. That said, it does make writing CSS, particularly modular CSS a lot easier. Nesting, variables and mixins make it much easier to keep things consistent and manageable. CodeSchool’s Assembling Sass course was very good.

Bootstrap

I’ve used Bootstrap on and off for a while but only recently did a course in it. It turns out that there are loads of little utility classes built in to handle all sorts of variations of the basic components. It’s well worth learning properly rather than just diving in and grabbing bits and pieces. Like with Sass I don’t think you really need a CSS framework but it can certainly speed things along nicely once you know your way around. Our friends at CodeSchool came up trumps again, Blasting Off with Bootstrap.

(Angular) Material

I didn’t go deep into this, just had a bit of a play. Angular Material is very nice and fairly easy to use but I came unstuck as I was trying to use parts of the framework within an existing page layout. It got messy pretty quickly. I think Material is a bit “all or nothing” – you use it fully or not at all.


And now for something completely different…

Being a front-end guy I rarely (never) touch the database world. Writing a request to an API is about as close as I get but recently I’ve poked about with a couple of things.

MongoDB

I liked the name. I got curious. I’ve done some stuff with SQL many moons ago so I was interested to see how a database could work without it. If you’re used to JavaScript objects and JSON it’s actually really nice to use. You just push and pull objects, query by properties, that kind of thing. I didn’t go deep into it but was very impressed. It’s very much sticking with JavaScript thinking. I think it’s got a bit of a bad reputation but I’m inclined to think that was some early teething trouble and mud sticking rather than a serious issue. Glass half full. I might be wrong.

Airtable

Another play thing. Airtable lets you build databases and views, query, filter, sort, run formulae, rollups, lookups, etc. It also gives you forms, galleries where you can show your data in a card format, calendars and a whole lot more. It’s free for the basics and is lovely to use mainly down to some very good UI design. It also has an API for sharing the data with applications.

 

More in the next part…

 

Website Redesign – chrissmith.xyz

Over the last couple of months of 2015 and the start of 2016 I decided to redesign this site. There wasn’t anything particularly wrong with it before from a user’s point of view but from an author’s point of view I felt I could do better.

The site was built using Jekyll, which is a static site generator. You make changes on your local machine and everything gets rebuilt as static files. This is great for performance as static pages are much faster. The downside for me was that it meant only being able to publish blog posts or pages from that one machine. #firstworldproblems :)

My biggest issue with having my own site is giving it the love it deserves. Making time to write content is definitely the number one blocker for me. If I could make it as easy as possible to write content from multiple devices that would go a long way to making it work for me. I decided to go back to good old WordPress.

I now publish from my laptop as before but, as it’s all web based, I can just log on anywhere and write a draft. The Amazon Fire tablet (forked Android) has a WordPress app which allows me to write locally and sync at my convenience. I don’t think I’d really choose to write blog posts from my phone but if I ever needed to make a change, e.g. spotted an embarrassing typo, I could.

As a developer using something built on PHP and MySql is nowhere near as cool as Ruby and no database but who actually cares. Loads of great sites I use day-to-day are built on WordPress, like CSS Tricks. If it’s good enough for them, it’s good enough for me.

Adding or customising themes is very simple. I’m using the default Twenty Fifteen theme but have added my own little child theme to customise it beyond just colours and image background choices. I’m using a Google Font called Anton for headings plus I’ve changed some of the spacing and played with the perspective of the sidebar.

The vibrant pink hasn’t changed.