Uncategorized #4 – Tinkering with Cleveland

January 26, 2020 in Uncategorized

Our membership drive worked! I’m pleased to report we are now at 53 subscribers, myself included. I’m truly overwhelmed by your interest and willingness to receive yet another weekly email! I feel proud of you all, like you’ve been brave, and taken the plunge, and now I’ve got to live up to your commitment. Pressure!

Previously

[Last week] we got into talking about product development inside of institutions. We looked at a couple of products we’ve been developing at [The Studio], and I really started thinking more about how we can service the cultural sector in this way. Well, we can try, right? I should add that I don’t think it’s unreasonable for an organization like a museum to develop their own products in house. In fact, I think it’s something many orgs should strive for. But, I also think of the possibilities when you introduce a company like ours who isn’t necessarily burdened by bureaucracy and policy. Plus, that whole idea where we are building something that will benefit others, makes me feel good, so I’ll keep talking about this topic often.

This Week

I’ve been pushing our team to get us ready to launch our “MVP” version of [Accession]. It’s been coming together quickly in these last few weeks, but there’s still a ton to do. I started helping in the ways that I’m able now that the “engineers” have sort of taken over the engineering. I set up a support portal, and started putting together the beginnings of a real landing page to replace our “always blue” placeholder page. I’ve also been providing lots of “notes” to our engineers, mostly solutions to problems for another day. Sometimes I need to just step back and let things happen. Let the team do their thing. 

So, in the meantime, I’ve been tinkering. This is a thing I do, which I think is super important. I wish more orgs would tinker. I wish more people would too. Just pick something up, play with some ideas and see where things go. 

I don’t really consider myself an engineer, or a developer. I mean, I am pretty familiar with a number of languages, and have worked on some pretty complex projects, but most of my experience with coding has been at the prototype stage. I’m “good enough” with a handful of concepts and technologies where I am able to build on my ideas and create working prototypes. Usually, once I get something to a certain point I need to call on actual engineers to rewrite most of my work from scratch and make it “production ready.” 

OK, I’ll give you a few examples of what I’m talking about.

  1. [Little Message] — A little micro-app I built while on parental leave. I was up late at night with not much to do. I had been reading one of my favorite [newsletters by Craig Mod] and he was talking about a new project where he would be sending photos to subscribers by SMS. It turned out, he had worked with a developer in Brooklyn to build him some custom software to help him easily do this while on one of his walks. It was a nice idea and I wondered why there wasn’t already a service that let you do this. So, I built one. I spent maybe three days, mostly in the middle of the night, and before long I had a working prototype. It’s still very much a demo project, not very user friendly, but it works, and I got to explore some concepts I hadn’t really done much with in the past. 
  2. [Object Phone] — While working at Cooper Hewitt, I built a little experiment (also using SMS) where you could call or text the museum’s API and get a voice or text reply describing an object in the collection. It was a simple project that was born out of a playful day at the office where my colleagues and I were thinking of ways to prank our boss. “Wouldn’t it be funny if every time he sent a tweet, this phone on my desk would ring?” That’s how it all started. We didn’t build that idea at all (although I did order a few parts on Adafruit) but I would up coding up a little project, which wound up being much more interesting. Years later [SFMOMA made a lot of buzz] by building something very similar, albeit with a simpler concept and pictures!

Cleveland Photos

OK this one isn’t quite ready for prime time yet, but since you are now part of my inner circle, I figured I’d share it here. That’s because I was literally working on this last night and wound up unwinding a bunch of the good stuff I had created because I got sort of sidetracked with another idea. This is generally what happens when you play and tinker, good ideas get shelved, and then you go to sleep and when you wake up you realize you need to get back to them. 

So what is it? Well, recently I was reading about a [project where someone coded up a way to fill your placeholder images] with something more fun like generative art. This is actually a common issue with museum collections websites where they have a record and no image. While at Cooper Hewitt, Aaron built a similar project called [Albers Boxes]. Instead of just a “we don’t have an image of this thing icon”, he chose to generate little images that evoked Josef Albers artwork. This new project I mentioned essentially does the same thing, but with a Piet Mondrian aesthetic. Nice! 

So, I was thinking how it would be nice to have something that just inserted OpenAccess museum images (something I deal with quite a bit at The Studio) into your project as a placeholder. Kind of like [Lorem Ipsum] but with images. It turns out there’s already a project called [Lorem Picsum] which does this exact thing, but with random photos. So I started to play. 

Recently, I’ve been tinkering with the [Cleveland Museum of Art’s Open Access API]. They released it about a year ago, and it has over 30,000 images available to anyone who wants them. Their API, however, only has a couple of methods, so I started off by expanding its capabilities. I knew that I’d want to grab random images from across the entire collection of 30,000, so I wrote a little function to do that. In the process I learned a new [thing in Python], which lets me get a bunch of random numbers from a range. It’s super easy, and worked perfectly for what I was trying to do. I also wanted to experiment with writing a [Serverless function], and realized this was probably a good application of that kind of technology, so I spent some time working up my idea into a prototype. 

The end result is a URL you can go to and get a random Cleveland Museum of Art image URL in return. Since it’s a prototype, I still have some issues to work out. For example, if you try to do it twice, you may get the same image because your browser is cacheing the result. A workaround is to add an incremental number after the URL, like in the example below. I’d also like it to process the resolution of your choice on the fly. For now:

This works:

[https://ylw4e52gsc.execute-api.us-east-1.amazonaws.com/dev/random]

This works too (note the numbers at the end of the URL)

[https://ylw4e52gsc.execute-api.us-east-1.amazonaws.com/dev/random?123]

Obviously there’s more to do on this. But, it was a fun experiment, and maybe one day I’ll finish it up and make a fun webpage to show it off like Lorem Picsum. 

Tinkering and play is super important. All my best ideas and creations come out of this kind of work. When we work with institutions as consultants I am constantly trying to teach the staff we work with ways to build playfulness into their daily work, make room for tinkering and experimentation, and to save time for exploration. It’s not easy to do in an office setting, but there are some techniques I’d be glad to tell you about on our next site visit to your org!

Playlist

This week’s playlist is just my favorite Led Zeppelin songs. I’m mostly a fan of their Song Remains the Same soundtrack, which I tend to listen to over and over again. The movie is a really good concert, set against some really bizarre video montages. 

I have a funny relationship with Zep. I’ve loved them since I was a kid, but while most people associate Zeppelin with the late 60’s counter culture thing, they always remind me of Christmas in Ohio. My uncle once found out I liked them, and so every year he’d give me a couple more of their CDs.

So, here’s some of my favorite songs from Led Zeppelin. 

[https://music.apple.com/us/playlist/episode-04-2020/pl.u-bEZDCrk1a1]

Reading List

  1. The highlight this week was finishing Dark Matter by Blake Crouch. It was a page turner! [https://www.goodreads.com/book/show/27833670-dark-matter]
    1. I also got most of the way through Machine Learning by Hugh Howey. It’s good, but now I’m into some stories that are a little different than what I’m used to from him, so we’ll see! [https://www.goodreads.com/en/book/show/33503613]

Epilogue

I can’t stop [thinking about the fire] at the [Museum of Chinese in America]. It’s a huge tragedy whenever we lose a part of our world history and culture. I’m glad they had a good portion of their collection digitized, but it can’t replace the actual objects. I started wondering what I can do to help. The museum is right down the road from The Studio, and well they’ve just been on my mind.

As usually, I’m glad you are here. Please feel free to reply and forward! We are now 53, and growing!

-micah


If you'd like to receive a weekly email, consider signing up for my newsletter "Uncategorized" by adding your address in the box below!