Tuesday, November 12, 2013

Upcycled penguin lanterns for the Feast of St Martin

We wanted to make fun looking lanterns for our child's first St Martin's parade that would withstand the surprising G-forces imparted by an under-one year old. :)

Upcycling a plastic water bottle seemed to be the most natural option, as it would be much more robust than the standard delicate paper lantern and would cost almost nothing to make.

It wasn't too hard at all to transform the bottle into a cute penguin lantern with some black and white silk paper, orange and black foam rubber sheets, googley eyes and a little bit of metal wire.

The little one loved it. And the penguin survived.

We'll upload plans for how to make this onto GitHub sometime soon.

Tuesday, October 29, 2013

Design Challenges by the Design Council have social impact

Really pleased to see this new video by the Design Council on the impact Design Challenges have on fostering innovative solutions to big social problems.

And I'm really happy we were one of the winners of the "Living Well with Dementia" challenge, which allowed us to build Grouple.

Monday, October 28, 2013

Use two Dropbox accounts at the same time on OSX

I've always found it a pain that Dropbox doesn't support syncing to multiple accounts at the same time, e.g. to my work account as well as to my personal one.

Of course, I could share the contents of one with the other, but I only have a free Dropbox account for my personal files, and I like to keep work and personal content separate.

After some Googling, I came across this blog post by Daniel Mann that shows you how you can sync multiple Dropbox accounts to your Mac:


The gist of it is that you simply run two separate Dropbox instances at the same time using the Automator to run a shell script:
HOME=$HOME/Dropbox-personal /Applications/Dropbox.app/Contents/MacOS/Dropbox &
You even can setup your Mac to automatically run the Automator .app in your System Preferences > Users & Groups > Login Items.

Check out Mr Mann's blog for step-by-step details on how you can set up multiple Dropboxes on your Mac.

Saturday, October 26, 2013

The abundance of slowness

My friend, who took a year off to explore caves around the world and who just started a new company, sent me this article about slowing down:


It really resonated with me.

It reminded me of my own lessons learned from the start-up that I built and exited.

Our frantic days are really just a hedge against emptiness. – Tim Kreider, NYTimes.com

Friday, October 25, 2013

Todo.txt workflow for Alfred

Using Alfred on OSX over the past few months has been such a revelation. When I design for software, I usually tend to work either with my Wacom pen and tablet in hand when I'm sketching / drawing, or with both hands on the keyboard when I'm coding.

When I'm doing the latter, I really appreciate Alfred's keyboard-based everything so that I can keep both hands on the keyboard and just get on with things.

For those who haven't tried it, Alfred is kind of like a combination of the Search Box in the Windows Start Menu and AutoHotKey - the automation tool for Windows.

Recently, I found an automation Workflow in Alfred that allows you to access Todo.txt from within Alfred. It's available on GitHub here:

The workflow does require that you have Todo.txt, which is a really awesome todo list app that uses a simple text file to keep track of your todos:

And you'll also need Alfred with the paid-for PowerPack:

Thursday, October 24, 2013

Open source Super Mario Bros in HTML5

This HTML5/JavaScript remake of Super Mario Bros takes me back to my childhood, when often times I would go over to a friend's house to watch these magical pixels being pushed onto the television screen from their Nintendo Entertainment System.

Back then, I was allowed only to watch but not play in MarioLand. Today, not only can I indulge in some Princess Peach-saving action in a box-standard browser, I also can take it apart and delve into its open-source underbelly to see what makes Bower tick.

How far we've come in democratising pixels and bits. Looking forward to the next decade when we open up design and healthcare.


And here is the source code on GitHub:

Wednesday, October 23, 2013

New MIT Media Lab fund for student entrepreneurs

I love that my alma mater, the MIT Media Lab, is supporting student entrepreneurs with a new investment fund that also gives back to the Institute.

Called the E14 fund, it gives successful Media Lab master's and PhD student applicants a six month runway to form teams, build products and launch companies.

Winners are given a stipend, guidance from business mentors, connection to venture capitalists and access to entrepreneurship resources from MIT.

20% of any returns beyond the initial investment is donated back to MIT as a gift.

What better way to learn about entrepreneurship than to get into the thick of it and just do it! Wish this had been around when I was back in Cambridge.


Tuesday, October 22, 2013

3D diffs of STL files on Github

Wow, I was wondering when someone would do this. Count on GitHub to keep on innovating!

This is great for the Makers out there who are experimenting with personal and local manufacturing!

Now, if only they would do this for industry standard STEP files also?

Monday, October 21, 2013

Scrivener + Scapple: indispensable design tools

Scrivener: a virtual binder and writing tool.

Scapple: a free-form brainstorming tool.

Since switching to OSX, I'd been in search of an organisational tool to replace OneNote, my once go-to application for keeping all my design materials together.

After using the combination of Scrivener and Scapple for the last few months, I'm happy to report that this duo of applications not only are a worthy replacement for OneNote, but they also manage to exceed it in many ways.

I'll probably write a more in-depth review at some point, but suffice it to say that I'm quite pleased with what I can do with Scrivener and Scapple.

From keeping research materials, design sketches, wireframes and mockups together, to binding recordings of user research interviews to transcriptions, Scrivener is a versatile tool to keep organised.

And Scapple is awesome for getting ideas out of my head and onto the screen. I can move words and images around and make arbitrary links, unlike more restrictive mind-mapping apps I've used in the past.

Check them out - you won't be sorry you did.

Sunday, October 20, 2013

Product design is about empathy

When I tell people I work in human-centred product design, people often look at me in puzzlement or think that I work in graphic design.

That's why I love what the Kelley brothers (of IDEO fame) tell us in their new book about product design. We all can cultivate our innate (but often under-utilised) human ability to empathise with others to shape our time, passion, technology, creativity in order to design better solutions for human problems.


Saturday, August 31, 2013

Singletons and iOS programming

Nice tutorial on the singleton pattern which is totally useful for sharing data between different parts of code in Objective-C.


One of these days, I'll get around to writing about hitting the ground running with Objective C and iOS programming, which I've had to do for my new job at BioBeats

Lots of differences from the JavaScript work I was doing before, but plenty of similar or analogous patterns.

More later.

Thursday, August 1, 2013

Transforming empathy into action

BioBeats, the healthcare + entertainment startup that I work for, just came out of stealth mode. Here is a reprint of my blog piece about our aspirations for what we are up to.
Technology always has had the ability to make things go faster, be more powerful, work more efficiently 
Think of the agrarian revolution. The industrial revolution. The Internet revolution. 
In today’s world where Moore’s Law holds sway and the capabilities of the digital and technological doubles every eighteen months, we now hold more raw computational power in the devices in our pockets than in all of the computers combined that were used to send people to the moon. 
But more importantly, the sensor-laden technology that we carry and are beginning to wear has become more personal and more integrated into our daily lives. They are our constant companions and we relate to them and through them in ways we never have before. 
As this trend continues and more bits of intelligence are embedded into our environment (the Internet of Things) and in ourselves (Quantified Self & Augmented Self), we have the enormous opportunity to design and re-imagine how healthcare can work in a world where everyone and everything literally is connected. 
It all begins by marrying technology with design thinking to help people become more mindful of themselves and to develop empathy with others. 
Through technology AND design, we can transform empathy and understanding into action and healthcare interventions that can have reach and scale. 
And we are enlisting all of our abilities to do so. Rooted in science and medicine, guided by design thinking and embodied through technology, we are dreaming as big as we can dream to design a connected world of better health. 
Will you join us on our journey?

Wednesday, May 8, 2013

Installing Nexus 4 ADB drivers on Windows 7 x64.

Having trouble installing the ADB drivers for your Google/LG Nexus 4?

After much trial and error, I found a solution that worked for me, as of 08 May 2013 with Jelly Bean 4.2.2.

First, use the Nexus 4 Toolkit to install the ADB driver. It also comes with tools to root and backup your phone if you so desire.

Alternatively, if you only want to install the driver, you can go directly to Koush's universal ADB driver, which the Nexus 4 Toolkit uses.

I had trouble trying to install the default Google ADB drivers that came with the Android SDK. For some reason, I guess the driver is not signed and the 64-bit version of Win7 refuses to install unsigned drivers. Oh well.

Next, make sure your ANDROID_SDK_HOME environmental variable is set correctly. I had installed an earlier version of the Android SDK, so mine was pointing to the wrong location.

It should point to where your .android directory is located - usually c:\Users\[YOUR_USERNAME]\.android

Set the environmental variable by right-clicking on "Computer" and selecting properties > Advanced System Settings > Environmental Variables.

You may also want to add the platform-tools directory to your PATH so that you can run ADB from any location in your command prompt.

Next, restart the ADB server by typing "adb kill-server" followed by "adb start-server".

On your device, you should have the Developer options > USB debugging turned on. If you don't have the Developer options enabled, you can do so by going to Settings > About phone and then tapping on Build number seven times.

If all goes well, you should see a pop-up on your Nexus 4 asking you if you want to accept connections from your computer. This is a new security feature in Jelly Bean 4.2.2 and you'll have to accept the device fingerprint if you want adb to work.

There you go! Have fun with your adb-enabled Android device!

Tuesday, April 16, 2013

Importing Drupal/PHP projects into IDEA 12.1.1

This is completely unintuitive, but in order to import an existing PHP project into IntelliJ IDEA 12.1.1, you have to create a new project into the directory with your existing sources, and choose "web module" as the type.

Do not try to import the project - it will fail to create a top level module and you'll be stuck seeing only the files in the top level of our project directory!

Source: http://stackoverflow.com/questions/13618039/intellij-php-application-losing-module-after-close

Tuesday, February 12, 2013

IDEO Make-a-thon was a blast!

This past weekend I had the pleasure of being a part of the "SuperHuman" make-a-thon at the IDEO design studio in London.

Needless to say, I had an amazing time making stuff and hanging out with such super-creative, awesome people, and I made a bunch of new friends in the process as well.

From the icebreaker experiments with Miracle Frooties, to the wonderfully inspirational talk by artist/designer Dominic Wilcox, to the final presentation of prototypes by the twelve awesome make-a-thon teams, the two-day event was a wonderful brew of inspiration, creativity and perspiration with a giant helping of fun thrown in for good measure.

By the end of the weekend, there were some fantastic concepts and, IMHO, some truly well-executed prototypes and presentations.

All the teams were super-fantastic, including my personal favourite:

Many thanks to +Haiyan Zhang and the entire +OpenIDEO team for organising and putting together such a wonderful event.

SuperPhysical: Being superhuman at everyday physical activities!

A day before the start of the make-a-thon, the teams and the design challenge briefs were posted onto the web. I found that I was assigned to the SuperPhysical team and that our mission (if we choose to accept it) was to design solutions to how we might become superhuman at doing everyday physical stuff.

On the first day of the event, we started to brainstorm ideas to cover the design space with as many concepts as possible.

We came up with lots of ideas on augmenting our physical abilities — from being able to carry lots of shopping bags to make the trip in one go, to reaching things in high places, to getting there faster and regenerating power from your movements to power all your electronic devices.

We had quite a few laughs in the process — you know you are on a good team when you can pitch seemingly insane ideas freely without worrying about others on your team passing early judgement (as sometimes can happen when brainstorming with clients on "real" projects).

"telekinesis" concept
"telepathy" concept

Two concepts quickly came to the fore as potentially interesting ideas and revolved respectively around the super-abilities of "telekinesis" to control everyday objects with your mind, and "telepathy" to broadcast your emotional state to others so that you can get your everyday stuff done.

We built some decidedly lo-fi prototypes and put together a hokey performance skit to pitch the two concepts to the larger group, which they seemed to enjoy. It was really great that the audience seem to get and respond to our concepts, which gave us confidence that we were going in the right direction.

The next day, we decided to focus on the "mind mouse" telekinesis idea and flesh out the concept some more, focusing on storytelling and prototyping.

In the early-morning brainstorm powered by a wonderful super-foods breakfast and strong coffee, the team became enamoured of the objects of control having their own personalities and possibly even some degree of free will — to collaborate with other objects to collectively help you get stuff done like pack animals do, to be parental and "guilt-trip" you into doing what you need to do, and even to rebel and say "no" if you are acting against your better-self.

We then synthesised these new ideas with the mind-mouse telekinesis idea and evolved the superpower into the ability "to bring to life everyday inanimate objects and turn them into your minions to help you get your everyday physical stuff done."

The concept involved plugging-in your everyday electrical appliances into "brain-boxes" that would grant them personality and give you the ability to control them with a "mind-control" headset, hacked from Necomimi brainwave cat ears.

New personalities might be crafted by artists or experts, or even crowdsourced and curated to be downloaded into the brain-boxes.

After a half-day of electronics and Arduino hacking, guerilla knitting, foam-core wrangling and comic-strip making, little did we know that we ourselves were being transformed into make-a-thon superheroes.

Many thanks to everyone at IDEO for the wonderful event, and especially to my wonderful teammates in "SuperPhysical":

- Jen Ballie (@jenballie)
- Amy Bonsall (@amy_bonsall)
- Paul Carter (@Juniorc0)
- Yuni Lee (@yunilee)
- Chris Paton
- me (@h4rrydog)

Thursday, February 7, 2013

Easy infographics with D3.js!

For the Google Developer Group "Design in Action" hack-a-thon, we made an Android app that served up info-graphics of data about your location from public APIs such as the Met Police.

I used the amazing D3.js JavaScript library to whip up some quick and dirty JavaScript that convert JSON data into beautiful info-graphics.

D3 makes it really easy to implement your info-graphic designs in JavaScript with HTML or SVG elements that you can style with CSS.

D3 has DOM selector methods like in jQuery, but adds some special sauce to bind data to DOM elements in a declarative manner.

D3 also has some pretty cool animation methods to give your graphics that extra umph when elements "enter()" and "exit()" the stage.

See the results here: http://h4rrydog.github.io/placeMe

The code is available at GitHub: https://github.com/h4rrydog/placeMe

Sunday, January 27, 2013

An awesome Android hack-a-thon at Google!

This past Friday and Saturday I took part in the first ever Google Developer Group (GDG) "Design in Action" hack-a-thon at Google Campus in London. It was great fun and I made lots of new friends. And we were proud and humbled to walk away from the event with the best app award, as judged by two Google staffers!

The prototype for the Android app we built — Place.Me — displays location-based crime, earnings and demographic data in an infographic style using public data streams.

We built the app and the Google App Engine back-end on Saturday in eight adreneline-filled hours of hard work. By the final hour of integration and the final 5 minutes of debugging, us racing to finish on time, our hearts were pounding and we felt like we could accomplish anything.

By the end of it all, everyone felt such an amazing sense of accomplishment. And winning the best app award was just icing on the cake. It was AWESOME!

While we had lots of great ideas for some really engaging and amazing mobile experiences, we had to pare the concept down quite a bit to a MVP that we could finish in the time allowed. Hopefully, the team will collaborate in the near future to develop the concept and the prototype further. 

We're lucky in the UK to have so many public data APIs available. It would be amazing for civic participation to be able to expose more of these data to citizens in compelling ways that help to tell the story of what's happening in our society.

The event was co-sponsored by GDG London and GDG Women, and aspired to elevate the quality of Android apps by encouraging participants to form teams with at least one designer and one developer. 50% of tickets to the event were allocated to women, and one suggested theme for the hack-a-thon was the empowerment of women in tech through apps.

(Images from the public G+ event stream)

Place.Me team members:
- +Sanjay Poyzer (@sanjaypoyzer)
- +Magdalena Rogier
- +Rami Shomali
+Stephen Stagg (@stestagg)
- +Mantas Varnagiris
- +Evelina Vrabie (@inryaa)
- +Flavio Zanda
- me (@h4rrydog)

Tuesday, January 15, 2013

Reflections on 2012 and refocusing

As I spent some time updating our website with all the wonderful projects for social good that we worked on in 2012, I couldn't help but stop to reflect... on the first year and a half of existence of Guanxin — our social good collective, my experiences working as a self-employed designer/developer and my first taste of entrepreneurship being a director of a small, social enterprise.

It was quite a whirlwind of a year! And while not every moment, in the moment, felt fantastic or super wonderful — we all had our fair share of fear, anger, exasperation and exhaustion — there also were moments of aha, delight, pride and satisfaction. I felt that we accomplished quite a bit and learned quite a lot in the past year in our quest to improve the world through design and technology.

And we will continue to do so in the new year, refocusing our energies on what did work and learning from what didn't.

Here's what I've learned in 2012.

1. Be thankful

Often when you are in the thick of it, is is so easy to focus only on the bad parts and to not recognise or appreciate the good ones.

There was so much to be thankful for in 2012. In a time of economic austerity when it is so easy to simply turn inwards, it was such a blessing to be surrounded by so many good people who apply their talents to building a better world for all. And to be able to find funding for this collaborative work.

While it is not really in my nature to gush about how much I appreciate people, I am, however, so thankful to have had the chance to work with James, Nick, Tav, Cian, Matt, Louise, Jörg, Jamie. And, of course, my lovely partner, Meike, who always was patient even as I pursued the most Quixotic of paths.

These are the changemakers to watch. And I am so grateful to have been able to work with you guys on all our projects for social good. While we didn't always see eye-to-eye on all the details, all our hearts were pointing us towards the same destination. Keep fighting the good fight and see you there!

2. Learn as much as you can

Never. stop. learning.

2012, for me, was an banner year for learning. In some ways, even more so than the 5 years I spent working on a PhD.

Learning the latest in Drupal, HTML5, CSS3, Sass/Compass, Javascript, Python, Git, Linux admin, Arduino, Android.

Reading lots. Design and programming patterns. Web and mobile UI patterns. Gamification. Data mining. Learning from Douglas Crockford that Javascript does have good parts. I can't begin to tell you how many O'Reilly animal books I've read. But I've loved every single one.

Learning from my friends on Twitter and Google+ who are community managers, social marketers, entrepreneurs, developers, designers, do-gooders.

Going to meetups in London — my god, is this a fantastic city for learning where most events are free, and all you have to do is invest some of your time.

Udacity and Coursera and eduX and Khan Academy. Need I say more.

Playing with code, APIs, stacks, systems. I always am so humbled by the world of open source where professional software (and these days, hardware) is free to download and free to modify. Unlike in my previous life as a toy and medical device designer, sharing is the norm here and the barriers to entry are so darn low. And because it's so easy to get started, you can learn so much simply by playing and doing.

Contributing to Drupal (or open source in general). Reading the core issue queues. Writing issue summaries. Rerolling patches. And sometimes, even working up the nerve to review patches and contribute code.

Participating in the community is like learning by stealth, kind of like in the movie The Karate Kid. There are some seriously smart Mr. Miyagi's in the community, and Drupal is a pretty awesome reflection of that collective intelligence, even if it is written in PHP. ;-)

Paying for a Github account. Yes, it's true that you can access all the open source projects with a free account. But when you are paying monthly for something, you tend to poke around a lot more to figure out how you can get your money's worth. And yes, Github is a goldmine, and you don't even have to pay.

3. Dream as big as you can

Last year, I asked my old supervisor at the MIT Media Lab, Prof. Sandy Pentland, for some advice. And he said to me "to dream as big as you can." That was some of the best advice anyone has given to me. (Thanks Sandy!)

Having a North Star to stumble towards when you are in the fog of confusion comes in handy when the inevitable low point comes around.

When we couldn't figure out how to move forward with the design, the technology or the business, having hope fueled by big, aspirational dreams sometimes provided enough of that little, tenuous motivation to keep at it when all signs tell you to give up.

I can't even begin to count all the ideas and initiatives we pursued that fell flat on its face. The hard part is picking yourself up again and continuing to take action. Working on stuff that's important to you helps with this immensely!

(Although as a corollary, it's also important to know when to change tactics, which may appear to others like you are giving up. Strategic retreats are important. If you dare to do the difficult or impossible, people are going to think you are a weirdo anyway, so don't worry what other people think.)

4. Take action in bite-sized chunks

Having big dreams is essential. But the actions you take don't have to be perfect. Pick a direction and just get started. You can always change your mind later.

When you do pick a direction, do it with passion and sweat the details. Work your ass off! But remember to have fun. Work can be play and vice versa. (But do remember to take breaks and take care of your family.)

If it doesn't work, you can always file it away in your mental and digital libraries and pivot to something else. But these ideas that fail to meet the requirements of the problem at hand will come in useful for future problems. Trust me on this. It's not wasted effort.

Talent or skill makes it easier to start something. But experience (and having a library of "failed" concepts brewing in your subconscious) makes it easier to finish it.

And if the problem is too big, split it into smaller pieces and get started on a smaller chunk.

Did I mention, just get freakin' started?!? :-D

5. Find partners in crime

Self-employment and working on a start-up is a really lonely job. Existential pressures from finding funding and developing business models as well as everyone doing the work of five people can take its toll. It's not meant to be easy and it's not for everyone.

So find people who understand your plight and hang out with them. Teach them what you know. And learn from them.

Go work at co-working places like Google Campus and Hub Westminster. Go to meetups and conferences. Talk about it on your blog and your social networks.

And, if it applies to you, find people who will tell you it is okay to run your business as a business the old fashioned way — slow and steady — rather than as a start-up trying to grow exponentially. 

The recent boom of accelerators and incubators and the glorification of the "start-up culture" may have increased the amount of seed funding available to get started. We were so lucky to get some.

But, IMHO, the amount of angel funding to bridge the gap to where venture capitalists will even start talking to you isn't getting any bigger. 

So unless you get really lucky, you're going to get stuck after developing your first MVP prototype.

I think we should be telling people to start businesses with the expectation of growing it with hard work — you don't need the vast funds and rapid growth of start-ups if you define success on different terms.

Telling people that they might be the next Twitter or Facebook is as disingenuous as telling inner city kids to become footballers to achieve social mobility. There just aren't that many draft picks available, and the odds and numbers just don't support the start-up culture as a path to success or prosperity.

So that's it. In many ways, there's nothing new under the sun with regards to this advice. But experience it yourself... if you are up for it. It is quite a trip.

Best of luck, and may you achieve all you want to achieve in 2013.

Monday, January 14, 2013

Open access, open science

Interested in reading some new ideas on controlling tissue cutting in endoscopic surgery? (C'mon! I know you are. ;)

In the spirit of open science, I've created a Github repository with a PDF of my PhD dissertation — "Smart Knives: Controlled cutting schemes to enable advanced endoscopic surgery — towards dye-mediated laser ablation".

I'm hoping to add the source text files as well as computational scripts, cad designs, etc to the repo when I get the chance.

I've released it all under the Creative Commons Attribution-ShareAlike 3.0 Unported License.

This means that you are free to download, read and use the contents of this project. You also can create and distribute derivative works, but only under the same or compatible license, and attribution to the author (me) must be given. Both personal and commercial use are allowed.

Project description page:

Github repository:

#pdftributetoaaronswartz #pdftribute