Ben Bakelaar

Highland Park, NJ

Author: bakelaar

Human-centered experiences

Design is something humans do naturally. We are creators, therefore we are all create-ive. Design is the process of creation. In our technology-driven world, the process of creation shifted away from being informed directly by human experience and towards a more abstract technologically driven experience, until recently…

“Despite … early examples of human-centric products, design has historically been an afterthought in the business world, applied only to touch up a product’s aesthetics. This topical design application has resulted in corporations creating solutions which fail to meet their customers’ real needs. Consequently, some of these companies moved their designers from the end of the product-development process, where their contribution is limited, to the beginning. Their human-centric design approach proved to be a differentiator: those companies that used it have reaped the financial benefits of creating products shaped by human needs.”

Design Thinking 101, a post on the Nielsen Norman Group website


Project management with LiquidPlanner and kanban board

I don’t know about you, but project management systems don’t seem to do a very good job of giving you the “big picture” view! This is the primary “Projects” view in LiquidPlanner with 29 active projects. Taking some cues from kanban boards for software development cycles, which my colleague introduced me to here at my new job, I designed a visual “overview” system to surface, at the highest level, which projects were active and which were “marked active” but not actually active in a given timeframe (i.e. week).

Screen Shot 2016-03-29 at 2.57.23 PM
Converting to post-it notes with an initial hierarchy

Testing out assigning projects to the categories

Moved to a more central wall, with blue tape for boundaries
Final iteration with critical/needs attention (!), in motion/active (|>), on hold (| |), and done ([ ])kanban-liquid-planner-project-management

Exporting BitBucket issue queue and converting JSON to CSV

I recently came across this need in my new job. With an active queue of 122 issues for a particular repository, I needed to get the data out of the BitBucket UI which only shows 25 rows at a time, and not all columns (since there several dozen!).

The first issue was that you need to be a full admin on the repository in order to export. Since I didn’t have that permission, nor did I particularly want it, I had to request an export from the lead developer.

Repository administrators can export issues out of or import issues into a Bitbucket Cloud issue tracker.  The feature is useful for moving issues between two repositories.

I then received a nice shiny ZIP file that contained… a JSON file. While JSON is great, it is a machine-readable format, not human readable. And much like XML, the content is kind of split out across content types, rather than your standard CSV format where you have 1 row with all associated information. I opened the JSON file in TextWrangler (working on a Mac here) and was presented with this.

Screen Shot 2016-03-29 at 1.15.13 PM

One single line, 1.3mb file. Doing a text wrap didn’t help too much.

Screen Shot 2016-03-29 at 1.16.53 PM

Without much additional analysis, I figured I could just find a JSON to CSV converter. After googling “json to csv”, I tried the top 3 results.

Screen Shot 2016-03-29 at 1.18.03 PM


The first one,, presents a nice clean interface. Paste your JSON in the top, and it will parse it into a table below. Unfortunately, the 1.3MB of text was just too big for it. Maybe if I had a newer computer with more RAM, but even then I bet not.

Screen Shot 2016-03-29 at 1.24.00 PM


The 2nd converter offers either copy/paste, URL loading, or file upload. Unfortunately, all I got was “Field1” as a result after I uploaded. So I quickly moved on to the third option.

Screen Shot 2016-03-29 at 1.52.40 PM


The third result looked promising, nice and clean interface, and it actually spit back a table that looked like it might be the one! Alas, my file was 1.22MB and so I would need to upgrade to get the file.

Screen Shot 2016-03-29 at 1.54.00 PM

My next inclination was to just try to chop off the end of the file. However, that’s not so easy in an XML/JSON file that is essentially just one long string of text! You essentially have to decode the JSON structure, and being more familiar with XML, I was a bit lost. I knew there was some internal structure, but I needed to visually see it.

{“milestones”:[],”attachments”:[{“path”:”attachments\/2c30fb3767644898a9d0fbf4b08e56a1″,”issue”:411,”user”:”TonyaG”,”filename”:”Webform Date Field 2.png”},{“path”:”attachments\/c018dd7e20c24a2cb7b47142f994c37b”,”issue”:411,”user”:”TonyaG”,”filename”:”Webform Date Field 1.png”},{“path”:”attachments\/76b77eab038946b080e536973c5cce54″,”issue”:420,”user”:”ahepler”,”filename”:”Screen Shot 2016-03-24 at 11.07.19 AM_thumb.png”},{“path”:”attachments\/0fe295bc6f4949f28e2fe9b33ee9f9b0″,”issue”:420,”user”:”ahepler”,”filename”:”Screen Shot 2016-03-24 at 11.05.53 AM_thumb.png”},{“path”:”attachments\/3b15832709064ae583eee62f04c702e2″,”issue”:420,”user”:”ahepler”,”filename”:”Screen Shot 2016-03-24 at 11.05.16 AM_thumb.png”},{“path”:”attachments\/10eaeead075d42aea9f0a9e0e13cf6e7″,”issue”:377,”user”:”amailyan”,”filename”:”Screen Shot 2016-02-25 at 12.23.58 PM.png”},{“path”:”attachments\/0f7153ecaf364af98748d1279c2aa8fc”,”issue”:398,”user”:”jlongia”,”filename”:”Screen Shot 2016-01-07 at 9.32.07 AM.png”},{“path”:”attachments\/e14388a3a27b4397aa6ff3fe03a60ebf”,”issue”:393,”user”:”amailyan”,”filename”:”Screen Shot 2015-12-11 at 12.01.42 PM.png”},{“path”:”attachments\/a410852c9be94ea2b65c698e173cf53e”,”issue”:384,”user”:”itmaybejj”,”filename”:”screengrab 2015-12-02 at 11.59.07 AM.png”},{“path”:”attachments\/501840a4428a45b8a14108b310e34cbd”,”issue”:355,”user”:”byronveale”,”filename”:”globalhealth_explore_box_inspected.png”},{“path”:”attachments\/c8d93d3807d2433e97affe46c2080927″,”issue”:355,”user”:”byronveale”,”filename”:”chw_explore_box_inspected.png”},{“path”:”attachments\/d5e34376bf2b4622be05fbab1e7d23eb”,”issue”:355,”user”:”byronveale”,”filename”:”global_health_coming_from_css_injector_use_uuid_instead_of_paneid.png”},{“path”:”attachments\/f5664e878a2f4a48a71fbec5888ab3b4″,”issue”:355,”user”:”byronveale”,”filename”:”chw_coming_from_css_injector_use_uuid_instead_of_paneid.png”},{“path”:”attachments\/9740c19f20874ea78830fc896ac3c5e0″,”issue”:355,”user”:”byronveale”,”filename”:”chw_explore_box_looks_okay_as_admin.png”},{“path”:”attachments\/b175971e0d21424b9ce134d2553d7510″,”issue”:355,”user”:”byronveale”,”filename”:”chw_explore_box_looks_broken_as_editor.png”},{“path”:”attachments\/842917d280ca4095b4072dea0eb3295a”,”issue”:355,”user”:”byronveale”,”filename”:”this_div_and_h2_above_lose_the_cascaded_id.png”},{“path”:”attachments\/8139b5b5038d45728e32538a0c762943″,”issue”:355,”user”:”byronveale”,”filename”:”this_div_gets_id_from_page_customization_option.png”},{“path”:”attachments\/f75cb969fe7a4d2887c9328d58b744e8″,”issue”:355,”user”:”byronveale”,”filename”:”editors_cant_customize_so_no_idz_for_them.png”},{“path”:”attachments\/292d1333ac6b4f438b97eb60765513da”,”issue”:297,”user”:”TonyaG”,”filename”:”thumbnail.jpg”},{“path”:”attachments\/354e30bd312844e781090a8a834c20fa”,”issue”:223,”user”:”byronveale”,”filename”:”there_is_no_content_to_be_shown.png”},{“path”:”attachments\/0220b2f6060342b3a522a023530e68e2″,”issue”:93,”user”:”mdmuzzie”,”filename”:”submission-confirm.png”},{“path”:”attachments\/d43975d64a8a44078c166478aafbf150″,”issue”:106,”user”:”jmoraca”,”filename”:”dripp-eventcolumn.PNG”},{“path”:”attachments\/33969cffc16d4d79bc4eebd847794ebb”,”issue”:125,”user”:”jmoraca”,”filename”:”dripp-addcontent.PNG”},{“path”:”attachments\/860b8de7f5054b3e9f95e2b29f764ef8″,”issue”:174,”user”:”mdmuzzie”,”filename”:”Screen Shot 2014-08-13 at 11.51.00 AM.png”},{“path”:”attachments\/feaf3d78979d47a78c4d7abfbffbd3b6″,”issue”:123,”user”:”jmoraca”,”filename”:”dripp-courses-block-fields.PNG”},{“path”:”attachments\/ba0706ffa8ca4424a140bed3ce4b547a”,”issue”:150,”user”:”mdmuzzie”,”filename”:”Screen Shot 2014-07-15 at 5.17.14 PM.png”},{“path”:”attachments\/cf0c3643796a436187f2efe248da6ddd”,”issue”:209,”user”:”jmoraca”,”filename”:”pwds-savebasivpage.PNG”},{“path”:”attachments\/122c62dcf17040ca9e9c1a6b767b275a”,”issue”:185,”user”:”mdmuzzie”,”filename”:”custom permissions.png”},{“path”:”attachments\/fff8ef23e670443288d616545fc85235″,”issue”:210,”user”:”jmoraca”,”filename”:”pwds-dropdowns.PNG”},{“path”:”attachments\/cf0971756ab540f18ca5b4a7d27cd52d”,”issue”:193,”user”:”jmoraca”,”filename”:”pwds-repeatevents-edit.PNG”},{“path”:”attachments\/61a228e18bb041d3a39cc3501945190a”,”issue”:193,”user”:”jmoraca”,”filename”:”pwds-repeatevents.PNG”},{“path”:”attachments\/ae9fbb06e13c4172979aabfacb990882″,”issue”:190,”user”:”jmoraca”,”filename”:”pwds-peoplelist.jpg”},{“path”:”attachments\/dbd4b3b57d28438da870fb4d30fbd1ef”,”issue”:94,”user”:”mdmuzzie”,”filename”:”theme_dev-dev.png”},{“path”:”attachments\/74eddc15055f4d6896c43bd624fe5816″,”issue”:91,”user”:”mdmuzzie”,”filename”:”bobst-contact.png”},{“path”:”attachments\/f83141bbb58b4f0c9ed61b689f90bea9″,”issue”:98,”user”:”mdmuzzie”,”filename”:”overlap.png”},{“path”:”attachments\/a152cdd1e868416a89fe87b5ba5ae34e”,”issue”:71,”user”:”jmoraca”,”filename”:”news-incorrectmenu.PNG”},{“path”:”attachments\/5f1160a2eecc4ad9b879751742f69e0f”,”issue”:107,”user”:”mdmuzzie”,”filename”:”bronies.png”}],”versions”:[{“name”:”1.1 – Honey Badger”},{“name”:”1.2 – Grumpy Cat”},{“name”:”1.3 – Frisky Dingo”},{“name”:”1.4 – Elated Elephant”},{“name”:”1.5 – Dubious Fox”},{“name”:”1.6 – Creative Gecko”},{“name”:”1.x”},{“name”:”2.x”}],”comments”:[{“content”:”@mdmuzzie Excellent point. I think the base theme should have this. “,”created_on”:”2016-03-29T13:29:04.209346+00:00″,”user”:”jmoraca”,”updated_on”:null,”issue”:421,”id”:26571412}


Running WordPress on AWS EC2 Ubuntu micro-tier with WP-CLI

I’ve just moved my site off of Rackspace to AWS EC2 after having been able to experiment with EC2 at work for the past several months. The biggest difference I note is with SSD drives serving the database and files – this offers a lightning-speed improvement! A micro-tier server (1 CPU, 1 GB RAM) should run around $20 or less per month, metered at an hourly rate for 750 hours per month.

These are the articles I had to reference when migrating my site from Rackspace Linux hosting to AWS EC2. There are a few “gotchas” and caveats with EC2 that make it best suited for technical folks (programmers, server admins, etc.). You need to be good with the command line – what you get is “dedicated” hosting, relative to shared tenancy hosting like BlueHost and GoDaddy, that is so much faster, for almost the same price!

AWS EC2 Ubuntu setup for WordPress (in reverse order, start at the bottom)

Regenerate thumbnails

Amazon EC2 WordPress Not Cropping or Resizing Images Fix
sudo apt-get install php5-gd

Increase file upload size

Using WP-CLI


Enable mod_rewrite

Enabling permalinks

Locating user name running Apache (www-data)

Create new user in MySQL and give it full access to one database

How To Install WordPress On Amazon EC2 Ubuntu Instance

User experience (UX) courses, programs, and conferences

Online, free, self-directed courses


Human Computer Interaction: User Experience and User Interface Design
from the Georgia Institute of Technology
Certificate possible


Introduction to User Interface Design (Part 1)
from the Georgia Institute of Technology
Says it will start being offered in October 2015


Online, paid, self-directed courses


How to Become a User Experience Designer
Next cohort starting Monday, September 14


In-person, paid courses

General Assembly

User Experience Design
Many sections available in Fall 2015


Rutgers programs

Rutgers University, Master of Business and Science

User Experience Design concentration

Rutgers Center for Innovation Education

User Experience Design Mini-Masters


Conferences local to NJ

ContentCamp + PodCamp Philly, $10, Saturday September 19
Asbury Agile, $99, Friday October 2
Nielsen Norman Group Usability Week NYC, $831-$4938, 5 days starting Saturday September 26
WebVisions NYC, Spring 2016

Send me more resources and I’ll post them!

Videos for my web design class

Looking for professionals who would be able to record a ~5 minute video podcast or narrated screencast (w/slides or visuals) about any aspect of web design for my undergraduate summer course. As this is an intro class, topics to discuss might include:

  • Who I am / what I do / where I work / what my title is (as a web professional)
  • What is web design? (defined by you, the professional)
  • What is user experience / usability?
  • What is the web design process you use?
  • What does it mean to design?

It can be very informal! It can be “first take”. It doesn’t have to be super polished. Imagine someone walked up to you at a conference and you spoke to them for ~5 minutes.

So far I have one video from Tobias Komiscke, Senior Director of Design at Infragistics with an introduction to “what is user experience”.

All these videos would be open source, CC, etc. – not restricted in any way by being incorporated into my course.

Thank you all!

Email overload part 1

This is a post in progress. 

I took some time at the beginning of this week to take a look at the state of my inbox. As my career in technology has progressed, I’ve become interested in reflecting on email activity as a proxy or gauge for the various aspects of my job. Below I’ll describe the context surrounding these numbers, my current strategy for inbox management, and some details of my inbox folder structure.



In the past, I’ve always ended up using my inbox as a sort of to-do list, and filing messages once they are completed. This is of course a fairly inefficient way of doing things, but in my environment at a state university, there are some factors which lend themselves to this approach: 1) you may find yourself needing to look up messages from several years ago, 2) you may need to trace the chain of events through a particular chain of emails or produce a report on a certain time period of a certain project, and 3) there is a neverending pile of projects and tasks that get added, while most pre-existing projects and tasks linger and never get “finished”. In this environment, traditional systematic approaches to PM and task management fail because there is not enough time to devote to keeping every item in a system, or workflow, or queue.

Having started my current job in July 2013, I had done a pretty good job of managing my inbox and filing emails for the first 12 months, but as projects started piling up I began to fall behind – a few vacations and conferences later, I was permanently behind. So I created another layer to my inbox – the current week of emails would sit in the inbox, while the past 3 weeks would each get filed into their own folder. I set the folder to display the total number of items, and when I have downtime I work backwards, starting at 3 weeks ago and reviewing which emails can now be filed, which are now resolved, and which still need action taken. On a good week, I can get the prior 3 weeks of emails down to about 50 or so, split between the 3 folders. On a bad month, I haven’t had any time to file and there will be ~1000 emails between the 4 most recent weeks. This of course takes a concerted effort to sort through, and feels overwhelming – but not as overwhelming as having a single inbox with thousands of messages, some unread, some flagged, all unfiled… so it works.

Describing the chart above, I took this count on Monday AM, so there were only 19 emails that had come in. The prior week only had 124 unfiled, almost 300 from 2 weeks ago, and less than 100 from 3 weeks ago. By the end of that Monday, I had gotten 3 weeks ago down to 10-20. The Flagged Recent shows there were 54 emails flagged out of the ~500 in the past 4 weeks. The Flagged Old showed there were 154 emails that remained flagged from prior to 4 weeks ago. At a certain point I do just let them go, but again working in a slowly moving state job, there are no shortage of good ideas and action items that need follow-up, but it might be 4-6 months before it is possible or appropriate to follow up. I suspect most people would simply let these emails fall by the wayside, at the most waiting to be reminded of the issue by a colleague, boss, or report.

The remainder of the folders in the chart reflect folders that have emails filed in them since July 2013, so almost 18 months. This gives me a way to gauge how much activity is happening in a certain area of my job. For example, Hadoop, a small side project that wasn’t even on my list of responsibilities ended up generating 2500 emails in 18 months – clearly showing the need for extra resources, which we finally obtained in the past month in the form of a consultant.

Wood texture backgrounds

In designing a new website for a local restaurant, I reviewed a bunch of other restaurant sites. I came to the idea of including a wood grain background to add some depth and visual interest to the site. This Google Image search netted me an instant set of favorites!

Google image search: wood floor web background

Particularly on this page on, there is a great selection. Google Image Search presents the options in a much more appealing layout.

Screen Shot 2014-11-08 at 5.30.33 PM

Screen Shot 2014-11-08 at 5.30.51 PM


Asbury Agile 2014

I finally got to attend an Asbury Agile conference down in Asbury Park! I’ve been wanting to go for years. The one-day conference was an eclectic mix of designers, coders, and business folks who all had great information to share. It really inspired me to think through a few projects I have going on right now, and also refocus on what’s important.

Here is a great photo of the space the conference was held at (Porta).


Here is an article to read more about the presentations.

© 2018 Ben Bakelaar

Theme by Anders NorenUp ↑