A Friend Request to MailChimp

Thursday, February 26, 2015

MailChimp is a great product and friend of the podcasting community, so this may be weird to hear: I do not think MailChimp is a friend to the people who receive emails from them. I wish they would be. MailChimp made a product for advertisers and marketers, which is small percent of the people they interact with.

Email newsletters are a service no one asked for after the mid 2000’s, yet somehow MailChimp has made them rise in popularity. How many emails in your inbox right now are specifically for you? How many of the automated emails are emails you asked for? Chances are you did not ask for any of them, yet MailChimp has done a great job of changing that in some cases. In other cases, one of their customers has uploaded your email address to their system without your permission. With MailChimp, they make it seem easy to get off their list. You press unsubscribe and bam, you are off. Only you are not.

The way MailChimp works is that each time a MailChimp customer sends you an email, they create a campaign using their list of emails. When you hit unsubscribe they remove you from that campaign. Campaigns can be a weekly automated email, but in my experience most campaigns are a one-shot email, so you are unsubscribing from that one email you already received. I would guess this is not how they endorse using their product, but it is how people use it by their design. Your email is still in their customer’s database of people to email again in the next campaign.

MailChimp advertises on podcasts like the people listening are a friend, but if they were your friend they would let you remove your email address from that list you just told them you wanted to unsubscribe to. The unsubscribe button is not only misleading, it is dishonest.

My proposal is a tool at MailChimp that lets you type in an email address and see which companies can email you, and let you opt-out right there, all in one interface. They have the data, they could do this. It would show that they trust the people who get email from people who use their service. Less people would be hesitant about signing up for newsletters and it would build the trust they should strive for.

Update: “MailChimp Compliance Team” Reaches Out

I received an email from MailChimp wanting to clarify that they do not condone people using their service this way. I think that misses the point I was trying to make: the design of their product leads to the customers using the service this way unintentionally.

They also wanted to point out that I used the term campaign where I meant a list of subscribers. I’m not editing the original article, because just this morning I unsubscribed from a MailChimp newsletter for Shyp, where it was quite obvious the person using MailChimp forgot to make a copy of their master list:

You have been removed from ALL Users- - MASTER - - don’t DELETE.

When MailChimp surfaces the, what their customer thinks is internal-only, subscriber list name it becomes clear that there is a design problem.

Where did the screen savers go?

Wednesday, February 25, 2015

In this time of laptops and iPads I guess they just are not nessicary most of the time. I say most of the time, because ever since I have worked in an office I feel like I have needed a nice screen saver. My habbit when I get up from my desk is to lock my Mac behind a password protected screen saver.

What makes a good screen saver?

Some might say a clock. Those people are dead wrong. I feel that in an office space a big giant clock on your screen is just a way to make everyone anxious. Will I make my meeting? Am I going to miss the bus going home? No clocks, not even the beautiful Fliqlo. I forbid you.

Others might use a standard OS X screen saver like Flurry, Word of the Day, or the flashing text with the Apple logo. They all look dated or like you are advocating drug use. I think you can do better.

I do think the iTunes Album Art screen saver is a good idea of a screen saver, but the problem is people can start playing podcasts, audiobooks, or albums on your computer while you are away. That seems like a bad idea to me. Because of this, there is an exit button so you have to click out of it. That’s not a screen saver, that is a full screen app.

Which leads me to my suggestion for good screen savers…

Social Experiments

A few weeks ago on Back to Work, Merlin Mann put a link in the show notes to Achiever, a simple screen saver that turns your Mac in to the Time Magazine mirror from The Big Lebowski. People in my office would come by my desk while I was away and take photos of themselves in front of my computer.

Achiever was made using Apple’s Quartz Composer. Quartz Composer is Apple’s hidden little gem of a tool. Anyone can easily drag and drop their own screens saver using it. So that got me thinking, what other ways could I build a subtle provoking screen saver?

Meet the Detector patch in Quartz Composer. Detector allows you to track heads in a visual input, like a photo or a video camera. Connect this to the camera on your computer and now you are replacing the faces of people who are standing in front of your desk. I made a screen saver that put characters from Bob’s Burgers and Adventure Time over the faces of people around my desk. Passive interaction for the curious people in my office, check.

The Swan Station Experiment

There was an experiment that the Dharma Initiative tried on people at The Swan Station on the television show LOST. A mysterious countdown clock hung high on the wall and would countdown from 108 minutes. People in the station had only one job to do: press a button every 108 minutes or something bad would supposedly happen. An alarm would sound when time started to run out, and then mysterious Egyptian hieroglyphics would replace the numbers on the clock.

This is my latest experiment. A clock that counts down from 108 minutes, turns red at the five minute mark, and then… well, hopefully we will never find out what happens.

It’s a subtle experiment that could get the office security team interested in what is going on, but I am never away from my computer for almost two hours. I imagine people who get the reference get a kick out of it, others probably just assume it is a broken clock.

Now what? I have no idea. The clock from LOST was a big project, but the payoff was worth it. I might build something using an API from a social network or transportation service. Or I could build something else fun and irrelevant.

Thursday, February 19, 2015

Workflow is Automator for your iPhone and iPad. Essentially, it lets anyone build their own miniature app that you can access from anywhere. The workflows I create are incredibly personal. The real challenge for me is coming up with the concepts, building them is the easy part.

The possibilities for this app are endless, but here are some things I do with it:

Here are some workflows I have to share with you:

Thursday, February 19, 2015

Do you remember the Optimus keyboard? It was this cool idea for a keyboard with little screens for each key. If you were in Photoshop it would highlight all the Photoshop shortcuts and stuff like that. It never really came out as a usable product, as far as I know. It was more of a proof of concept that was neat for the time. Alfred Remote essentially is my Optimus keyboard.

You can set up different pages that hold 16 Alfred commands. I have a page just for controlling iTunes. It’s essentially the page that comes with the app, but I added two buttons: Shuffle On and Shuffle Off.

Shuffle On

on alfred_script()
tell application "iTunes"
    tell application "System Events" to perform action "AXPress" of (first menu item of process "iTunes"'s menu bar 1's menu bar item "Controls"'s menu 1's menu item "Shuffle"'s menu 1 whose name ends with "On")
end tell
end alfred_script

Shuffle Off

on alfred_script()
tell application "iTunes"
    tell application "System Events" to perform action "AXPress" of (first menu item of process "iTunes"'s menu bar 1's menu bar item "Controls"'s menu 1's menu item "Shuffle"'s menu 1 whose name ends with "Off")
end tell
end alfred_script

I also have a page for controlling my Mac Mini server, with commands for rebooting various server components and updating the apps without having to VNC or SSH in to my machine.

One of the limitations of Alfred Remote is that it requires you to be on the same network. I get around this by connecting to my Hamachi VPN that my Mac Mini and iPhone are both visible over. Now I am controlling computers from miles away like some sort of magical spell caster.

Wednesday, May 14, 2014

Previously I mentioned that I was going to be working on my own self-hosted solution for replacing GitHub. I’ve been working on it and I am happy with this first step.

There were two things I wanted to cover with this: a place for me to push repositories and others could clone from, and a static Jekyll blog to serve project information and code snippets. Done and done!

Check it out:

Oh, and here are some handy links:

The Self-Destruction of GitHub

Thursday, April 24, 2014

When I moved out to San Francisco I was infatuated with GitHub. They seemed to really get how to make an amazing product. They also made it really easy to learn Git. I think their product helped me out big time getting started professionally. On top of everything their blog was notable because it felt like someone was writing an honest message directly to me, whether it was explaining an outage or announcing a complex new feature. Then comes March.

I was walking home from the bottom of Potrero Hill when my friend, who I encouraged to join GitHub, messaged me a link. TechCrunch had just broke that Julie Ann Horvath had left GitHub because of bullying. I was very sympathetic, a year earlier I had to leave a startup because of intense bullying. I made a few tweets about how this was unacceptable and how I had faith that GitHub would make things right. The next day, Chris Wanstrath, co-founder and senior indoor-sunglasses advocate, wrote on the company blog that they were going to make things right. Then comes radio silence.

During the radio silence, Adrianne Jeffries, writer at The Verge, contacted me about an article she was doing on the situation. I was happy to share what I could. I work across the street from GitHub. That always felt like a real treat, from my desk I can see where one of my favorite products is made.

Earlier this week GitHub broke their silence. The blog that used to feel like it was personally written for me had this oddly worded piece of legal junk toting that there was “no legal wrongdoing.”1 I tried to have faith that they would, in what used to be typical GitHub fashion, do what was right.

As I said, I was a big fan of GitHub. They made a complex product that was well designed, so of course I admired their designers. I have followed them on Twitter and Dribbble for a while now. Well, the day after GitHub announced that they were legally cleared, I saw this in my Twitter stream:

As a white twenty-something male, most of the time I feel downright scared of speaking publicly about diversity and social problems in tech.

Mark Otto, @mdo, April 21, 2014

Oh no. No no no. Accepting people of all types is not something to be scared of. That is how bullying grows. San Francisco is facing big issues right now, from the lack of women in tech to the tech scene kicking lower income families out of their home. Every time someone asks me what I do in the city it gets harder and harder to say that I work in tech.

All that said, I had apparently missed his earlier tweet:

Shoutout to everyone who knows more than everyone else about a situation in which they had no part in.

Mark Otto, @mdo, April 21, 2014

Similar concerns were expressed by his coworkers:

I wish people would spend time getting to know other people before assuming a single god damn thing about them

Brian Lopez, @brianmario, April 23, 2014

I guess nobody really cares about how we feel, yet these people fight to be the first to speak for us.

Mu-An Chiou, @muanchiou, April 23, 2014

I do not think anyone is trying to speak for GitHub2. It has been four days and GitHub has failed to respond to why they only care about how bullying is technically legal, and nothing about what is morally acceptable.

Once again, a reporter asked me for comment. I was contacted by Katherine Noyes at LinuxInsider. I responded promptly. I was angry. I am angry. Maybe when I cool down I will ask myself how I became the go-to tech pundit for the San Francisco startup scene.

I took my stuff off GitHub last night.

I had some pretty popular projects on there. I had some people using my repositories to build things that I really enjoyed. I wish I could delete my entire account, but my work requires it. My blog will have some broken GitHub links for a while as I transition to Jake.codes.

GitHub is over, but I cannot wait to see the forks.

  1. Did you see Mad Men this week? I imagine, in 1968, Bert Cooper would be legally in the clear for not allowing a black lady to work the front desk because people could see her.

  2. Not even GitHub wants to speak up for GitHub. Turns out.

Hazel as a Watch Script

Saturday, March 15, 2014

This site is so fast and smooth because it is statically built with Jekyll and a few days ago I released TakeIt, another kind of static site generator. Running a build script after you make a change to a site is slightly inefficient for most of my needs, so I decided to see if I could get a decent watch script built with Hazel. With some help from my resident Hazel expert, C. Nordengren, I came up with a decent solution.

For Jekyll I set the folder to watch to _posts/ and for TakeIt I set it to watch the images/ folder. It keeps track of changes in modification, if the filename has changed, and if the file is new.

The downside is that when you first set this up for an existing project, I recommend letting the rule run once without setting the Run shell script portion. It will rebuild once for every item it matches, which can be processor intensive. I do not add a lot of changes at once for my stuff, so this works for me. This also assumes you are not using the file’s Spotlight comments for anything, which is a pretty safe assumption.

The Hazel Rule

If any of the following conditions are met:

tell application "Finder"
	set theFileDetails to (get properties of theFile)
	if comment of theFileDetails is name of theFileDetails then
		return false
		return true
	end if
end tell

Do the following to the matched file or folder:

# Your build code goes here
# Jekyll Example:
cd /Users/jake/Dropbox/Blog && jekyll build
# TakeIt Example:
cd /Users/jake/Dropbox/TakeIt && rake