- The thing I unexpectedly like best about Snapchat
I’ve been using Snapchat for a few months now, to see what it’s like, how it feels. The thing I like best about it isn’t something I expected.
(If you don’t know, Snapchat is a phone app that lets you send pictures or short movies to friends. After a brief viewing (up to ten seconds, often less), the picture or movie is automatically and permanently deleted.)
I don’t really know why I’m using Snapchat. I don’t have friends that I frequently text or IM, so Snapchat isn’t substituting for that. I feel like I’m forcing it a bit. Making myself use the thing. I don’t know how long I’ll stick with it. Often the photos are images I might have posted to my rarely-used Instagram and Flickr accounts, but instead I just send them to a handful of friends. Often, quite randomly selected friends; it’s rare that I have something that’s aimed at one particular person.
So my usage feels a bit arbitrary, a bit random, but the fact the photos are sent to specific people, rather than published for anyone, still makes it feel a little cosier. Shoving something in front of a friend’s eyes for a few seconds, saying “Ha! Look at this!” Or occasionally using it as a more fun substitute for texts or Twitter Direct Messages.
But none of that is the thing I unexpectedly like best. The thing I unexpectedly like best is the automatic deletion. Not the photo being deleted from recipients’ phones after viewing, but the photo being deleted from my phone after sending.
I’m a digital hoarder and dabble in the pro-am quantified self leagues. So if I want to share a photo from my phone online the process usually involves:
- Take photo.
- Upload to Instagram, adding title and venue.
- Upload to Flickr (separately, of course, not wanting Instagram’s squareness), adding title, description (optional), venue, and tags.
- Weeks or months later, import photo into Lightroom and add title (optional), description (optional), and tags.
- Decide whether to delete this photo from my phone and/or iOS Photostream.
So there are three separate upload/import processes, and a lot of adding of metadata, possibly three separate times (because, really, I’m beyond help), and the decision(s) about whether to keep the photo on my phone/photostream. All this admin makes me think twice about taking a photo. Even if I don’t want to share the photo on Instagram and Flickr, the weight of the Lightroom importing, the tagging, and the deletion decision is often enough to stop me from taking a quick snap.
Whereas, with Snapchat, the process involves:
- Take photo.
- Add text and/or drawing (optional, fun!).
- Send photo.
And then the photo no longer exists. Brilliant! No more photo! No metadata to add, no storage issues, no decisions! Freedom!
And, if someone sends me a photo, that also disappears! Also brilliant!
I don’t care about Snapchat’s USP of photo deletion because it makes things more private or special, but because it saves me from any further decisions. I don’t need to remember to back up this communication, store it somewhere, carefully add any missing metadata and oh God I really am beyond help, go on leave me here, save yourselves, go, I’ll be waiting here, deciding whether my tags should be singular or plural…
- Emails to RSS feed
Go to Zapier and create an account. Each recipe is called a Zap and consists of a Trigger (e.g., receive an email) and an Action (make an item in a RSS feed).
Going to this Zap might do some of the work for you (and get us both extra credits) but I’m not sure quite what that does. There might also be something embedded in this page just… here:
Anyway, once you have an account, here’s the step-by-step.
Go to make a Zap.
Select “Email” for the Trigger service and “RSS” for the Action service. Each of those only has one option to choose from (“New Inbound Email” and “Create Item in Feed” respectively). You should have something like this:
Click “Continue” and the next step just says to “Create a Email account”. Click that “Continue” button, and then step 3 says “Select a RSS account”. Click that “Continue” button. Odd but easy.
Step 4 is “Filter Email triggers”. Enter “newsletters” in the field. Call it what you like really, but that’s what we’re doing:
It seems to wrap strangely, never mind.
While we’re here, click “Copy to clipboard”, go to your email client, and send an email to this address (in this example, “firstname.lastname@example.org”). Be sure to put something in the Subject and body of the email.
Click “Continue” and step 5 is “Match up Email Inbound Email to RSS Item in Feed”. We indicate which bits of the email we want to appear in which bits of the RSS item. Click “Insert fields” for each field, and make the first few look like this:
Note: “Content” has an extra full-stop in it. Initially I had this as only “Body HTML” but that failed. Adding a full-stop (or anything) made it work.
Click the “Copy to clipboard” link at the top of this section. You can subscribe to this URL in your RSS feed reader (you might need to wait until you’ve finished this process, I’m not sure).
Scroll down and click “Continue”. Now you can click the “Test Email trigger” button. Hopefully the email you sent earlier has been received by Zapier and you’ll see something like this:
Click “See trigger sample” to see the fields received from your email. Click “See action sample” to see what gets put into an RSS item. Click “Test Zap with this sample” to see if everything works. Send yourself more emails to try things out if you like (clicking “Refresh samples from Email” to get access to those).
Click “Continue”. Give your Zap a name (e.g., “Email to RSS”) and turn it on.
Now you should be able to use that unique zapiermail.com email address from step 4 to subscribe to newsletters. The confirmation email will arrive in your RSS feed (so subscribe to that first, in step 5, above). It’ll take a few minutes, but should arrive OK.
Once you start receiving emails, come back to your Zap and tweak the fields in step 5, as new options may become available. I was now able to change “Author Name” to use the “From Name” field and “Author Email” to use the “From Email” field.
Let me know if you have any corrections or suggestions for improvements.
To give you a flavour, here’s a snippet from her most recent post, Why I’m Breaking Up with jQuery and Getting Back Together with PHP:
This developer’s choice (me, I’m talking about me, I’m a web developer) was to port all of our jQuery code base into PHP. This was simpler than one would expect, as PHP is basically like Node except wrapped in question marks:
// jquery syntax $someVariable.click(someFunction); // php syntax <?php $someVariable.click(someFunction); ?>
There are two more spaces in the syntax, which means our server side code will never be quite as fast as the client side, but the beauty of server side is that its errors never show in browser developer tools consoles.
If the console has no errors, that means there are no errors in your code.
At the risk of tediously stamping the humour to death, let’s tediously stamp the humour to death by thinking how people might read this. There are three broad positions.
First, if you know a bit about web development, and can recognise this as satirical nonsense you may find this hilarious. (You might not, but that’s humour for you.) It plays with the over-enthusiasm and carefree inaccuracies found in the writing of someone who doesn’t know enough to write what they’re writing.
Second, if you know something about web development but come to these posts fresh you might not realise it’s satirical nonsense. You might simply read it as inaccurate nonsense, of which there’s plenty on the web. The King Of Front End Web Development, Jeffrey Zeldman, was initially taken in by one of Schiffer’s posts, describing it as “misinformation”.
Finally, if you know nothing about web development this post is going to be just as impenetrable as a serious piece about programming and I guess it’s unlikely you’d realise it was either inaccurate or humorous.
That last group is quite interesting — I love jokes that are so focused they mean nothing to people outside a specific audience. Zeldman again, having “got” the joke: “I don’t imagine there’s a huge market for front-end-development-themed satire.” No, but the smaller the audience, the more narrow the references, and the funnier the joke is for those in the know.
However, the middle group, the Zeldmans who know enough to get the joke but don’t initially see it, are the most interesting. I guess this is what makes satire satire: it could be true… maybe? It’s why some people see headlines from The Onion and think they’re real and it’s how politicians were taken in by Brass Eye’s tales of the terrifying new drug Cake.
While Brass Eye was intentionally trying to fool those in power, the programmes themselves, along with the articles by The Onion and Jenn Schiffer, aren’t trying to fool people. It’s only satire if enough viewers and readers can tell it’s satire. But the people who are taken in provide extra humour for those of us in the know; we get to feel superior and laugh at how seriously they take things. They’ll post comments pointing out inaccuracies in the nonsense and even dourly suggest the articles should be deleted so they don’t fool anyone else.
Medium, where Jenn Schiffer writes her posts, are ideal for this kind of satire. Articles on Medium seem to carry an authority that posts on disparate weblogs don’t. Some Medium articles are commissioned, which creates a vague smell of “professional publishing” that wafts across the whole site. Suddenly the most batshit free-market nonsense acquires an aura of respectability in this neutrally-themed arena that it wouldn’t on a site that was known solely for batshit free-market nonsense. (I pick on batshit free-market nonsense because after following links to quite a bit of it on Medium I currently, probably unfairly, associate the site with it.)
I’m hoping there’s more satire on Medium, making the most of this veneer of authority. This is satire (I assume; it’s written by Twategy) but this isn’t. I think. It appears legitimate but uses the kind of language that anyone writing a satirical piece along the same lines would use (“Yesterday I executed a growth hack…”) and it’s the kind of horrible internet marketing bollocks that deserves satire.
It would be possible to take this fake authority a stage further. Create a website that publishes news. It should look like a real news website, with all the styling and language and cross-promotional widgets that make real news websites such a mess. Post enough accurate news stories that it seems entirely legitimate. Completely straight-faced. Obviously this requires work and/or money. But then, every so often, even once a day, slip in an entirely inaccurate article. I don’t really know how or why. Should it be really over the top and ridiculous, aiming for laughs? Should it be biting Onion-style satire? Should it simply report made-up events to cause some kind of trouble? I’m not sure. But playing with that fake authority, and playing with the group of people who can’t distinguish the satire from the not-satire, would be interesting.
UPDATE, later the same day:
Ezequiel Bruni, who first alerted Jeffrey Zeldman to Jenn Schiffer’s post of “misinformation” has published a piece about his error, and what happened next (on Medium, of course). He lists three mistakes he made. Well, basically two mistakes, the first being not reading the article properly and the other:
I automatically assumed, based on where the article had been posted, and prior experience, that the author was in earnest. I allowed the “sacred ground” of Medium to lull me into a false sense of security. I just assumed that everyone who writes here is trying to make a name for themselves as a great thinker.
If a site gives the impression that everyone writing for it wants to seem like “a great thinker”, i.e., is pompous and self-important, that’s fertile ground for satire.
- More rubbish
I was going to write a blog post or two. You know, it’s a new year, with yet another ambition to start blogging again, just like in the ever-older days.
But it seems so much harder now, compared to then. Partly, it’s the usual problem of not having written in ages; the pressure builds up until I feel that the next post will have to be amazing, extraordinary, worth any wait.
But I also feel more resistant to putting my opinions up here than I used to. Which is odd, as I’m happy to do so on, say, Twitter. But writing here feels more permanent, with less excuse for off-the-cuff ideas I’ll regret later. There’s space to explain things here, and so I feel whatever I post should be sturdy, defensible, and will stand the test of time (whether that’s a day or a decade). Whereas a 100-character tweet I knocked out while chewing a mouthful of breakfast is more easily forgivable. A blog post leaves me feeling socially and emotionally exposed in a way that a couple of tweets don’t. Tweets are mere passing thoughts, snippets of transient chat; let’s move on.
Having finished writing this post, including the asterisked footnote at the end, I’m already rewriting the previous paragraph over-and-over, agonising over whether it conveys exactly what I mean. Do I need to add another caveat about that last sentence? It’s a little too absolute isn’t it? I don’t want people to misunderstand what I think here. But this was supposed to be a hasty little thing and I’ve already spent half an hour fiddling around. And now, a few minutes later, I’m tweaking this paragraph over and over like I want to be here for ever.
A decade ago this was the only place I’d post things. It was about the only place I could, really. It was full of tiny, fleeting moments of little consequence, and that was fine. Now, with oodles of financially unsustainable businesses built around encouraging us to share our every thought, I’m not short of friction-free outlets for them. And so a weblog*, to me, feels like it’s only for larger things. Well-digested, crafted, robust, original treatises that will add something to the world. Which is a shame. So maybe I’ll try to post more rubbish instead.
* [Fistbump emoticon] to anyone else who still calls them weblogs.
I’m not sure what people think of Quora these days. The only time I hear it mentioned is when friends annoyed they can’t read much on it without logging in.
I quite like it, especially since they let you opt back in to their weekly newsletter. When Jason Kottke mentioned the newsletter I’d already opted out and there was no way to opt back in. Now you can do so in the preferences somewhere. There are always several things I want to click through and read, which is unusual for any other regular email I’ve ever subscribed to.
Like the rest of the web there is a high signal-to-noise ratio so finding an existing answer to something can take time, but there’s often good stuff in there. It’s handy for asking things that (in my case) aren’t technically specific enough to be asked on Stack Overflow or similar.
Whenever I do go there to read I also find myself getting sucked in to writing. When answering a question I try not to simply repeat what others have said, or increase the noise by rambling on about stuff I don’t know much about. And yet I still find myself writing things. Here are some recent answers I’ve posted there (YES YOU’LL PROBABLY HAVE TO LOG IN TO READ THEM, WHATEVER):
It feels unusual for me to write much on a third-party site, but somehow Quora encourages me to do that just enough to make it seem easy and worthwhile. And this post is partly just an excuse to link to things that I’ve written there.
- Some 2013 conference talks to watch
I never used to go to loads of conferences but I go to even fewer these days. This year I kept noticing mentions of lots of good talks, at many events around the world, and realised that they were often available to watch online.
So I started keeping a list of them, and then asked on Twitter for more recommendations, picking up a few more that I’d missed. Here’s my list of 2013 conference talks that are probably worth watching.
I’ve only got round to watching a few, so they might not all be OMG BEST TALK EVAR!!!, but I’m hopeful. This isn’t a thorough survey of the Top Twenty Talks of 2013; it’s biased to my interests, my friends, and suggestions from a few people on Twitter. If I do this next year I’d love to find great talks that have no relation to the tech world (only Stewart Lee’s is from beyond our little bubble, I imagine).
But for now, here are twenty (probably) great conference talks from 2013 (so far), twelve hours of viewing and listening:
Amanda Palmer – The art of asking
TED. 14 min.
Big Omaha. 40 min.
Beeker Northam – The New Craft: locating the opportunities of now
Fabrica. 65 min (including questions).
Bret Victor – The Future of Programming
DBX. 33 min.
Cabel Sasser – Panic Inc.
XOXO. 25 min.
Clay Shirky – Keynote
Code for America Summit. 26 min.
Dan Williams - Unexpected Item in the Bagging Area (audio only)
dConstruct. 30 min.
Dave Birch – The future of money
Lift (2012). 23 min.
Ian Bogost – Fun
UX Week. 27 min.
Jack Conte – Pomplamoose/Patreon
XOXO. 25 min.
Jack Schulze – In conversation with Kevin Slavin
MIT Media Lab. 91 min.
Jason Kottke – I built a web app (& you can too)
Webstock. 45 min.
Maciej Cegłowski – You Can’t, You Won’t, You Don’t Stop
XOXO. 19 min.
Paul Ford – The Web and Quest for the Perfect Document
Monktoberfest. 32 min.
Stewart Lee – On Not Writing
St Edmund Hall, University of Oxford. 54 min.
Tom Coates – An animating spark: mundane computing & the web of data
Webstock. 57 min.
Tom Francis – How Reviewing Games for Nine Years Helped in Designing Gunpoint
GDC Europe. 25 min.
Tom Stuart – Impossible Programs
Scottish Ruby Conf. 42 min.
- The Twelescreen code
In my previous post I wrote about the inspiration for Twelescreen — wanting to create an overbearing, Big Brother-style screen for displaying Tweets by the government and security forces. As a result I’ve also made a self-hosted, easily customisable, themeable, one-Tweet-at-a-time, full-screen, web-based Twitter client.
Initially this whole thing was a hasty single-word joke. But I soon decided I wanted to make the code more re-usable, a decision that multiplied development time quite a bit. I started fiddling with it five months ago and it’s eaten up a lot of my free time since.
The result is the code on GitHub which is flexible enough to create a similar big-screen Twitter experience for much less scary or satirical uses. Assuming you can get a Node.js application up and running which I appreciate is, statistically, very unlikely.
But still, once over that hurdle, there is plenty that can be customised without altering any of the code. From the extensive README comes this list of features:
- Many categories of Twitter accounts can be created. Each category has its own URL.
- Each category can be included on the top-level menu, or omitted.
- New themes can be made with CSS and, optionally, HTML templates.
- Themes can be applied to all, some or individual categories, and the menu.
- Google Web Fonts can be used.
- A Google Analytics ID can be easily added.
- Customisable introductory texts on the menu page.
- Images attached to Tweets using Twitter are displayed in the slideshow.
- A list of “greeting” messages can be set. These are displayed before newly-arrived Tweets.
- A list of “slogan” messages can be set. These are displayed randomly between Tweets.
- Options for each category include:
- Show on the menu page, or hide it.
- Number of Tweets rotated through.
- Duration each Tweet is displayed.
- Duration of the fade between each Tweet.
- List of greeting messages.
- List of slogan messages.
- Chance of a slogan appearing.
Most of that can be changed by altering a single configuration file. When writing code for use by others I really enjoy trying to work out what kind of things they might want to customise, and how to make that possible in the simplest manner.
Twelescreen comes with two themes (CSS files) — the ‘Big Brother’ one you may now be familiar with (above) and the more practical default theme, seen on this example page (and below) showing public Tweets from my RIG colleagues, whose Dextr is an obvious precursor.
If you’re able, then give the code a whirl. Feel free to send me suggestions, whether for features or ways to improve what it currently does. It’s my first Node application so I’ve learned a lot by doing this.
Not least, I’ve been reminded how much longer it takes to make something with as few rough edges as possible and that has code suitable for other people to use. I estimate the whole project has taken me 15-20 days of work, even though I had something quite similar up and running very early on in that process. Designing by making, refining and polishing, refactoring nasty code, re-working the configuration, writing documentation… it all takes so long, even after the first rough attempt is basically working.
But here we are at last. It seems reasonably stable, but isn’t without problems, not least how best to load Google Web Fonts, which often seem to hold up page loading entirely. I’m sure there are other things that could be done to make it work better.
If you can get it running, and especially if you do anything particularly nice or interesting with it, do let me know!