On Designing in the Open

Designing in the Open

Designing in the Open

I like designing in the open.  This is not really the same thing as “open source” design, although I love that too.  An open source design means that you’re sharing your source files, ideally with lots of comments to explain what you’re doing and why.  I think of “designing in the open” as talking about1 all the experiments, design ideals, design choices, mistakes, dead ends, and breakthroughs that come along with working on an open source design.

These are really parallel and complimentary tracks.  If you’re designing in the open, anybody can come along, read through your notes, ideas that you’ve considered but not really explored, and build their own project based off your thoughts.  Open source projects allow anyone to come along, build your exact project, and make changes as they see fit.  The two together however, allow the next person to use your source and stand on your shoulders, to learn from all your mistakes, and truly grok the design.

Two of my projects “designed in the open” that I’ve done the most work on was a large wall hanging drawing robot2 and a tiny drawing robot.  At the time of this writing, I’ve got about 83 posts on the large drawing robot (including literally thousands of words about just about every aspect of the design of each plastic part) and 23 posts on the small drawing robot, exploring all the design ideas that didn’t pan out, different approaches other people used, and what did and didn’t work for me, and why.

When it came to building my own big drawing robot, Sandy Noble’s website and forums were absolutely invaluable.  Using these resources and with patient guidance and help from Sandy himself, I was able to build my own robot, making variations informed by the experiences of others.

Designing in the open is more than about just documentation.  Documentation tends to be more about explaining why something is the way it is and now not to go wrong.  It doesn’t tell people about all the mistakes and tragedies that went into the creation of the thing in first place.

So, why am I droning on about blogging about mistakes and dead ends?  I’m embarking on a new project where there has been some truly incredible work so far.  As I look at the designs, it is difficult for me to see what aspects of the designs are absolutely critical, which parts are vestigial remnants of earlier designs, and what parts are merely cosmetic.  When it came to working on my own big drawing robot, I tackled a similar problem3 by creating exhaustive lists of pretty much every variation I could find, examining the differences and similarities, and pondering/brainstorming about why different decisions were made.

Part of the problem with this new project is that so much of the content is in Google Plus or on Thingiverse, both of which are incredibly difficult to sift through for information.  Thingiverse is great for sharing design files, works in progress, and sharing instructions.  However, the comment system handled by Disqus is very finicky and doesn’t allow linking to specific comments.  Google Plus is a fair system for facilitating group discussions and comments, but it requires an invite, doesn’t allow “reshares,” and is pretty much impossible to link to for reference.

All that being said, while a blog is an excellent way for a very small number of people to share their work, it’s kind of terrible for larger collaborative discussions.  Although I haven’t tried collaborative work through a wiki, that might be a reasonable way forward.  While I don’t know the answer to the community conundrum, I know it is not Facebook or Google Plus.  Overall, the best system I’ve seen so far may be Sandy’s blog + forums.

In any case, to the extent you have an open source project you’re working on, please consider how your choice in community platform can facilitate designing in the open so that viewing and searching don’t require invitations/registrations, comments don’t require registrations or log ins, and easy linking to prior discussions and comments.

  1. Probably blogging about – but forums work well too []
  2. Based on Sandy Noble’s excellent Polargraph []
  3. Namely, lots of excellent designs, lots of documentation – but little information about why certain decisions were made []

Fix a Fitbit Ultra Flashing Display

Fitbit Ultra

Fitbit Ultra

If you’re looking for a way to fix the flickering or flashing LCD display on your Fitbit Ultra, I’ve got a few tips to help you on your way.  This post is basically broken into three parts – how to revive a Fitbit Ultra, my experiences with Fitbit’s support, and an update about me.

1. How to Fix the Fitbit Ultra LCD Display Flashing “FITBIT 4.14”

I bought my Fitbit Ultra about 15 months ago and misplaced it about six months ago, only finding it again on Wednesday.  The device was entirely unresponsive, so I plugged it into the USB charging base overnight.  The next morning it would flicker and flash the LCD display saying only “FITBIT 4.14”.  Here’s what I did:

  • Found Fitbit Ultra, plugged into USB base overnight.  The result was the LCD display flickered and flashed only “FITBIT 4.14”.
  • Unplugged Fitbit, pressed the button, and discovered the only thing it would do is flicker “FITBIT 4.14”.
  • I plugged it back into the USB base, pressed the button, and it still flickered the same message.
  • With the Fitbit connected to the USB base, I turned the base upside down and inserted the end of a paperclip into the recessed reset button. The Fitbit still flickered the same message.
  • I let the Fitbit remain connected to the USB base for another entire day.  At the end of that day I discovered that I could cycle through the display options – but the time on the Fitbit was entirely wrong.
  • I re-downloaded the Fitbit Ultra software, re-installed it, re-logged into the software, and let it sync with the Fitbit.  After a few minutes of this, the Fitbit was back to life!

2. Experiences with Fitbit Support

In trying to revive my Fitbit, the first thing I tried was searching the Fitbit website and support forums, without success.  After that I reached out to Fitbit’s support team explaining I tried the basics.1 The response from Fitbit’s support was that their records reflected my Fitbit was out of warranty and that they were making a “a one-time offer, for one (1) Fitbit One Tracker” for $49.  I found this response incredibly disappointing.  I would have appreciated something, even a token effort at helping me to fix my Fitbit instead of an upsale.  I realize they’ve got a business to run, but offering “one-time offers” for upsales it not a suitable substitute for actual product support.  While I would assume a warranty would cover a product’s functions, I wouldn’t have expected that they would abandon support after the warranty period.

3. Personal Update

A little over a year ago I bought a Fitbit Ultra to help me track steps, activity, etc towards my ambition to lose weight and be more active.  While I tried to introduce more activity and made a point of checking out the steps I had logged, using an online food diary called FitDay.com was easily the most helpful thing for me.

Last year was very successful, overall.  From 222.5 pounds in January 2013 I dropped to a low of 193.0 in June.  Since that time I’ve slowly gained a some weight – back to 203.5 now.  The most important things I did to lose weight were to eat something for breakfast, walk a little more, and eat less.  I tried to cut out or cut back on potatoes, bread, pasta, and rice and increase eggs, cheese, yogurt, protein, nuts, fruits, vegetables, and drink more water.

In the months since June, I haven’t been walking as much, have been eating more delicious pizza, sandwiches, and burritos.  I want to feel a little remorseful about this, but I just can’t.  :)

  1. Restart, reinstall, reboot, lather, rinse, repeat, etc, etc, etc []

How NOT to Serve Chicken

This is not how chicken should be served - shaped to look like a human child

This is not how chicken should be served – shaped to look like a human child

This last year the office Christmas party was held at Ruth’s Chris where I was served an unappetizing and inedible dish.1

Setting aside the profound service issues and the presentation, the dish was just not edible.  Now, I like cheese – I even like a lot of cheese.  But, there was so much cheese inside and underneath this piece of chicken that I was just not able to scrape enough of it off to be able to eat it without coating my entire mouth and tongue.  I only managed to eat a few bites before having to give up entirely.

If the meal itself was inedible, the presentation was actually worse.  The dish looks like a little girl with pigtails was scalped, had her head was stuffed with cheese, and baked until golden brown.  Below is an animated GIF of what the dish looked like to me.

STOP LOOKING AT ME!

STOP LOOKING AT ME!

  1. Can you tell I’m overcompensating for not having actually posted last month? []

This Post Is A Fraud

Believe the lie

Believe the lie

I’ve been blogging on this site since 11/2009 – almost 4-1/2 years.1 In that time I’ve published just over 1,000 posts23 and I’ve got more than 200 just sitting around in draft form.  Those are posts with partially finished ideas – possibly just a title or a link or a sentence.  Others are almost entirely done, waiting for a small spark of creativity or maybe just an interesting photograph.

February 2014 was the first month in nearly 4-1/2 months that this site went without a new post.  I am a little bummed about that.  There were reasons – but reasons for not having done something are just excuses.  Thus, instead of giving you an excuse, I will offer up this post as a bald-faced lie.  It was “published” on 2/28/2014 at 11:59pm.

Now that my lie is out of the way…  I wanted to add a little bit about the post I have/going to publish about working with paper mache.  In January and February my daughter was working on a project for her science fair – which involved “The Brain and the Sense of Touch.”  As part of the display, she created a paper mache model of the brain so she could point to the different regions and explain what each does.  She says her favorite part was applying the strips of paper and then painting it.  She enjoyed applying the gluey bits of paper and actually making something.  She also enjoyed the painting because she loves painting and colors and being artistic.

  1. Photo courtesy of Chris []
  2. 1,007 including this one []
  3. I like to think that most of the posts made some sort of sense at the time. []

Google’s breaking their social contract

I’d say I started noticing a change in the keyword stats reported on my websites about six months or so ago.  Instead of seeing all of the keywords and search terms people used to arrive at my websites, most of the search terms were showing up as “Unknown search terms” in my WordPress Jetpack stats plugin and “(not provided)” in Google Analytics.

Apparently this is all due to a number of changes with Google.  As Google pushes more people to be logged in or stay logged in to their Google, Gmail, or Google plus accounts, the more their searches will be done over SSL.  This has the “side effect” of making their searches opaque to website owners.  However, that same data is of course available to Google themselves.  I say “side effect” because I’m not so sure this is unintended, rather than one of their actual goals.

Why then do I accuse Google of breaking their social contract?  Here I am, an owner of multiple domains who has been running Google Analytics tracking bugs in all of my sites since their various inceptions.  The entire point of doing so is that I might be able to better understand the search terms and patterns of people coming to my sites, with an eye towards improving traffic.  In exchange literally allowing Google to insert code inside my websites, they were supposed to help with these insights.  Insights they are no longer providing.

I’m not so naive as to think Google ever promised or contracted to provide this information to me.  I’ve never read their Terms of Service and never plan to.  When every piece of software includes click-shrink-wrapped terms of service, it’s impossible read, comprehend, or provide knowing consent to these things.  All I can go on here is that I’ve continued to let Google inside my websites – and they’re not giving me the very thing I had been lead to believe would be provided in exchange.

That said, Google Webmaster Tools is still pretty useful.

Default Series Title

Zen and the Art of Cross Stitching

"One screw at a time." - John Grunsfeld

“One screw at a time.” – John Grunsfeld

I love every damn thing about this beautiful post by Rachel aka AverageJaneCrafter.12 I love how she drew inspiration from John Grunsfeld (one of her favorite astronauts), a sweet bit of paperclip art, her first cross-stitch design, and how a quote from that astronaut brought it all together into a simple and elegant statement and artwork.  Her cross-stitch just looks as if all the elements were specifically engineered to one day come together in this one place, for this one purpose.

If you didn’t click through to Rachel’s post, the quote “One screw at a time” refers to how Grunsfeld would go on space walks to repair the Hubble which involved managing more than 100 screws.  To deal with the magnitude of the task, he just focused his mind, not on how many he had finished or had to go, but on “one screw at a time.”

If this man can handle tasks hundreds of miles from the earth while traveling thousands of miles an hour on a mission that probably cost billions, I’m sure as hell going to kick the crap out of today.

  1. Hat tip to Chris Connors for the link []
  2. Photo from Rachel’s blog.  Rachel – I hope you don’t mind me recycling your wonderful artwork here! []

Interactive Floor Projection Displays

A little more sophisticated than this...

A little more sophisticated than this…

This weekend we went to the The Tech Museum of Innovation, aka “The Tech,”  in San Jose.1 We had a great time and saw a lot of amazing things.  (Also, a lot of people greeted me as “Bender!” because I was wearing the Bender hat my wife knit for me.)

One of the coolest things we saw was an interactive floor projection display entitled simply “Social Circles.”  A projector in the ceiling created a white rectangle on the floor – with a multicolored border.  When you step onto the display, you have to cross through a colored bar along the border.  Once inside the display, your feet are surrounded by a small circle of light – the same color as the bar you passed through.  As you walk (or run!), the circle follows you around.  When someone else is on the display (with their own circle) and is close to you, your circles will join for a moment into a larger circle of a combined color.  As you separate, your circle will retain it’s inner color – but will have a border color that is your original color on one side and the color of the person whose circle you combined with on the other side.  As you go along and interact with more people, you can gather more and more colors onto your outer ring.

It was awesome and awesome.  Kids were running across, crashing into one another, chasing everyone else, collecting colors, and trying to avoid gaining colors.

This gave me SO many ideas on how to turn this kind of a display into an interactive game/project that I want to learn how to build one of my own.  After doing some minor internet research I’ve found a few resources – some a lot more user friendly than others.  There are some commercial, some semi-commercial, and some open source ways of creating a floor projection display.

One system, created by Proximity Labs, involves a stage with RFID sensors and slippers with embedded RFID tags.  Some systems use Kinects or cameras in conjunction with projectors, some only use Kinect cameras, one seems to use the tracking of QR-code like tags, others seem to use proprietary 3D scanners, and some don’t seem to show much of what’s under the hood.  Two of the more promising ones are the Open Source Computer Vision ((Or, OCV)) project and the UbiDisplays project.2

The difficulty with OCV project is that it seems to be geared towards vision in robots, which isn’t really what I was interested in.  Rather than giving a robot sight, I’d like to create a way to track and interact with multiple people using, ideally a webcam, and a projector.  I’m not even that interested in fine grain detection, so much as tracking the location of people across a display area, and integrating their movements into the scene.

Starting from what I have now, which is a lot of interest and enthusiasm for the project but little knowledge of how to make it happen, it looks like the UbiDisplays system might best suit my needs.  This system seems like it incorporates a Kinect to take inputs and then manages all of the interactions through the use of web based logic3 or possibly through some Flash animation.  I just don’t know if it is capable of handling multiple sources of input (more than one person).  The Po-Motion system is a commercial product that seems like it might also be an interesting way to go – as long as the product allowed the purchaser to create their own custom interactions/games.

All other things being equal, I would prefer to go with an open source solution – but as long as I can create what I want without restrictions, I’m happy to pay for the software.

SO, is this something you know anything about?  Do you have any suggestions on where I could start?

Default Series Title
  1. Photo courtesy of Carbon Arc []
  2. One interesting possibility is a display which uses edge IR LED’s to detect motion – I just don’t know if it would work at all for this kind of a project. []
  3. HTML + javascript and CSS []

RepRap Wally: Turtles all the way down

A plastic Wall-E

A plastic Wall-E

RepRap Morgan was recently awarded the Gada prize, which was the first time I had seen a “SCARA arm1 robot.2 Reading Hackaday lead me to read about RepRap Wally, another SCARA based robot.3 Anyhow, My favorite part about this robot is that it boasts it can print parts for larger versions of itself.

While building more 3D printers is, perhaps, a noble goal – democratizing production and all that – actually working to churn out parts is a dull business.  On the other hand, the idea of a robot capable of building increasingly larger iterations of itself is incredibly amusing.  As is the idea that a robot could build smaller and smaller versions of itself.4

Of course, this then makes me think of a chain of robots – one set making ever larger and another set making ever smaller robots… robots all the way down.

  1. Yes, I know that’s redundant []
  2. Photo courtesy of Haceme un 14 []
  3. Watching this orange plastic robot in action, it’s easy to imagine they gave it the name “Wally” for looking somewhat similar to Disney’s Wall-E. []
  4. Of course, smaller versions would really only be more useful if they printed with greater precision []

Arduino Adventure Series – The Adventure Begins!

Arduinos, Arduinos, Arduinos... where to start?!

Arduinos, Arduinos, Arduinos… where to start?!

A few weeks ago I started fiddling with an Arduino in earnest.1 I’ve built things using Arduinos before, but each time all I did was slavishly follow a tutorial as it took me step by step through a process.

Just as a child memorizes the Pledge of Allegiance, committing to memory the right sounds in the right order, I had a grasp of the assembly – but not the underlying meaning.  Sure, I built a MakerBot Cupcake CNC (“Bender”), a MakerBot Thing-O-Matic (“Flexo”), an Egg-Bot, a Polargraph/PlotterBot, and an IoT Printer.  ((FYI, my MakerBot Replicator 1 is named “HedonismBot“))  However, I have only the dimmest understanding of how the things I did actually created the things I ended up building.

However, I want more – there are several ideas I would like to create using electronics.  One is a sonic screwdriver flashlight.  Another is device for … shall we say…2  interfering with television infrared codes.3

My goal for this series of posts4 is to document my triumphs and failures playing with an Arduino.  I think it’s time to get started on that next post now…

Default Series Title
  1. Photo courtesy of Arkadiusz Sikorski []
  2. Mu-ah-ha-ha!!! []
  3. Nope, not a TV-B-Gone []
  4. I know it’s ambitious to call a post the “first” post – but dammit, a man’s got to dream []

Lessons In Printed Plastic Paper Mache Molds

My daughter and I have been working on a project to create paper mache fairies and fairy furniture.1

Photographic Background Stand, ready for shooting!

Photographic Background Stand, ready for shooting!

But first, I can’t help showing off this nifty 3D printable photographic background stand I designed.  Inspired by some other designs on Thingiverse, my first draft worked exactly as I was hoping it would.  Okay, back to the paper mache.

Printed fairy mold (about 2" long)

Printed fairy mold (about 2″ long)

I designed two tiny human-ish figures in OpenSCAD, subtracted them from a block, and sliced the block in half to create a two-piece mold for what we were hoping would be tiny paper mache fairies.  I was pretty sure the tiny figures wouldn’t come out well in the printed plastic mold and that the mold wouldn’t work well with the paper mache.  However, my daughter really wanted to try to make fairies of this size (about 2″ tall) – so we gave it a shot.

Cast paper mache fairies

Cast paper mache fairies

I squeezed the paper pulp so it wasn’t sopping wet, added a liberal amount of white glue, packed the printed mold with the mixture, and put a rubber band around it to keep it together.  I gave it a few days, then pulled the mold apart.  I wasn’t able to add much of the mixture into the upper half, so the reverse side didn’t seem to leave much of an impression.  Once it was dry, the dried paper mache stuck to the bottom half of the mold so well it tore in several places as I got it out.

In any case, here are the lessons I’ve learned:

  1. The fairy bodies are somewhat angular – which I think made them difficult to remove from the mold.  I would have made them more rounded in the first place, but there were already a lot of spheres and cylinders in the design which were causing some pretty long OpenSCAD render times.
  2. Larger molded objects would probably work better.
  3. The mold would probably release the cast object if I made the interior smoother – either with sanding or acetone.
  4. A release agent would probably help.  Maybe petroleum jelly on the inside, perhaps plastic wrap?
  5. I should have sanded the tops of the mold halves – so they would mesh better.  This might have allowed the paper mache to be pressed better into the top part of the mold.
  6. It may help to add something to the paper mache mixture to make it stronger.  My thought is pieces of frayed yarn or pieces of a cotton ball.  This may give it more strength and flexibility.
  7. It’s hard to tell if it would matter, but more glue might have helped.
  8. I think it would have helped to create the mold in multiple pieces – similar to this Chris K. Palmer early Thingiverse chocolate mold.
Default Series Title
  1. I’ll leave it to your imagination to decide who chose the subject matter []