It is odd that in a digital world which preaches you can be anything to anyone that most of us at the digital coal face have to be known as One Thing Only And Nothing Else.Consider Linkedin. (Sorry!) I dislike Linkedin on many levels, the main one being that as a digital professional I have to belong to it as not existing on Linkedin is pretty much the same as not existing IRL.What is worse is that Linkedin members have to be one thing and one thing only. You cannot be two things. Let alone three.So I have to be a User Experience <insert label here> . In terms of the sort of UX work I love to do this should mean that I label myself as a User Experience Architect.But the way I and most UX people work is not within the parameters of a job title but whatever needs to be done to get the work done and out the door on time.I love researching. Digging away through data, opinions and theories to find that elusive thing called ‘truth’. But dare I call myself a researcher if by doing so I alienate those who want a UX Architect?I love designing. But it seems that now (2016) a User Experience Designer is different from a User Experience Architect.Not just a bit different but chalk and cheese never the twain shall meet different.There is also something called a User Experience Interface Designer which is a person whose skills are different from a User Experience Designer.How? I have no idea whatsoever. To me UI design is a part of UX. Always has been always will be. But then maybe I have been in this industry too long and have too much experience.Just to confuse everyone even further I do love data visualisation and have been spending far too much time fiddling with D3.js and Crossfilter when I should have been doing something more… easy to label?And I do dip into a bit of Python programming occasionally and have been fighting the almost irresistible urge to hack some machine learning for the first time since completing my degree in computing and A.I.Would this be a worthwhile use of my time?Or should I fire up Axure to show that yes I can use this exceptionally nasty piece of software to build fat and unwieldy UX prototypes?An Azure hack would fit better with the UX profile I should display to the world but the machine learning / data visualisation coding would be more honest.But being honest does not fit.It seems we can only be one thing.So for the moment I will continue to present my abilities within the confines of a Linkedin profile and some portfolio links and see where I end up.At the end of the day I just like doing good work and solving complex problems.
Found this in a job description for a very interesting UX role which astounded me with its clarity:“You might describe yourself as an Experience Architect, Interaction Designer or User Researcher. Ideally, you’re part-interaction designer, part-information architect, part-usability expert, part-business analyst – and all user experience.”Crikey! This has been written by someone who actually knows what UX is about.And that is very rare indeed.Part-interaction designer, part-information architect, part-usability expert, part-business analyst, all user experience is me. With part data viz thrown in of course.The amount of junk bullshit job descriptions for graphic designers posing as UX peeps I get sent is ridiculous.So when I read this it was very refreshing indeed because it describes what I do and how I do it precisely.Not quite as refreshing as three weeks on an idyllic Caribbean island but close enough.I will not be apologising for ripping this off and copy and pasting it straight into my CV.You never know, I might even get some decent UX work out of it.Now that would be odd.
As I began my first explorations of dc.js and crossfilter I was more than a little baffled by the need for dc.js and crossfilter and then realised that dc.js has native support for crossfilter. Doh!I then found this great Hacker News discussion about how dc.js, crossfilter.js and d3.js relate to each other. Below are a few quotes but you really should read the whole thing.Love the paintbrush description of D3. I only realised this after spending an awfully long time coding a bar chart in D3… Ooops! But I was learning D3 at my kitchen table – that’s my excuse and I am sticking to it.
“dc.js is the ‘glue’ that holds d3 and crossfilter together. So I can create a crossfilter, generate multiple dimensions, group those dimensions, then render multiple charts.”“D3 is like a paintbrush — you can make anything with it if you’re DaVinci, but it’s a very low-level tool so you need to be a master if you want to make anything that’s not my drippy kindergarten giraffe drawing.”“The benefits of crossfilter or dc.js over plain d3.js is the layer of abstraction making it easier to use.“Crossfilter seems really cool – but since it’s another library, what is it that Dc is offering?”“dc.js sits on top of D3 and provides glue that between multiple D3 charts and crossfilter”“dc.js marries crossfilter.js with d3.js — that’s it in a nutshell.”
Does any of that make any sense?
No? Well it should come as no surprise to anyone who has recently learned D3 that the best explanation comes from the great D3 Noob resource.This is the D3 Noob explanation which I think is the best I explanation of the dc.js + crossfilter.js + d3.js thing that I have read:
“…crossfilter isn’t a library that’s designed to draw graphs. It’s designed to manipulate data. D3.js is a library that’s designed to manipulate graphical objects (and more) on a web page. The two of them will work really well together, but the barrier to getting data onto a web page can be slightly daunting because the combination of two non-trivial technologies can be difficult to achieve.This is where dc.js comes in. It was developed by Nick Qi Zhu and the first version was released on the 7th of July 2012.Dc.js is designed to be an enabler for both libraries. Taking the power of crossfilter’s data manipulation capabilities and integrating the graphical capabilities of d3.js.”
Better? Good. Next thing is to have a look at this Bare bones structure for a dc.js and crossfilter page then read this excellent explanation of Crossfilter, dc.js and d3.js for Data Discovery and then read this Introduction to dc.js.There are times when I wonder how I learned coding before the existence of the interwebs and people who share their knowledge so freely.Then I remember it was my friends on my Artificial Intelligence course who helped me get my head around Prolog’s tail end recursion.