Last year a lot of us in the ds106 group were shocked when we found out the Daily Shoot website would be taken down by the end of the year. Unfortunately the developers of the site were moving on to other things and didn’t feel it would be worthwhile to release any of the code for others to build on. What a waste. I don’t want to go on a rant here but I can find no reason for a developer who has no plans on ever updating a line of code again to let a popular website die on the vine like that, and then to stubbornly claim that the code is worthless to anyone else and therefore would not be released. I had great respect for the developers of that site, and then I watched them kill that community that was built around their site and they lost that respect from me. But that’s another blog post for another time perhaps. This is about something new.
Last semester when the Daily Shoot closed its doors a few of us talked for a bit on Twitter about how we needed to build our own clone. Obviously we have plenty of people in the WordPress community with the chops to make it happen. And the great thing is we wouldn’t be restricted to photography, it could house multiple disciplines. We talked and ruminated but nothing really came of it until early this year when I started talking in earnest with . He had seen how I was pulling in Twitter posts to DS106 via the hashtag using FeedWordpress and combination of restricted tag searches and started thinking this would be a good method to pull in info for the daily create. As happens most of the time all I need is permission to run with an idea and I’ll do it, and so I started working.
I initially thought I’d do a lot with FeedWordpress for this, grabbing RSS feeds from the various third-party sites like Flickr, YouTube, and SoundCloud. I had also played around briefly with IFTTT (If This, Then That) which is an incredible site that makes it easy to hook up channels that apply actions to certain triggers like posting a photo to website when you favorite it on Flickr. But it turns out IFTTT was too restrictive and I had issues with pulling in RSS feeds with FeedWordpress and getting all that content to look proper. And then I realized I was making things too difficult.
I’m not a programmer, I’m more of a “hack away at something and make it work” type of guy. In the end The Daily Create is very simple in how it works. I’ll break it down here for anyone else that wants to build a similar site, as I’m sure the idea of pulling in visual and audio content based on tags has a lot of potential for a lot of people. Here’s the nuts and bolts that make it work.
The Homepage

The homepage is a WordPress loop that is restricted to a certain category called “TDC Assignments” and only displays 1 post along with a link to the previous post underneath. The rest of the homepage is static content blocks describing what the project is about. We have schedule these assignments to automatically post each day at 10AM EST. When the new one is posted, the old one becomes the previous link and Twitter Tools fires off a tweet to the TDC Twitter account. Basically it’s all automated and makes it look like there’s someone behind the scenes doing a lot of work.
Photography

For photography assignments we’re restricting people to using Flickr. I’m perfectly OK with this because we’re not programmers and Flickr is extremely simple for people to use. We use a plugin called Awesome Flickr Gallery and despite the hyperbole it lives up to its name. You can create multiple galleries, restrict them to a specific tag, and control how they display. Each assignment gets its own gallery which gets put into the post as a shortcode. The only edit we made to the plugin was Alan figured out how to link back to the original Flickr photo so folks could go there to comment. The feed for this pulls in very quickly, with the longest I’ve seen taking no more than 15 minutes and many times photos showing up instantly.
Audio

For audio we decided to use SoundCloud which I have a love/hate relationship with. They’ve built a great social network around sharing audio and they’ve got a dead simple widget for groups that we’re using on The Daily Create. We create a group, anyone can upload an audio file and add it to that group, and the widget automatically puts them in the playlist. If you play audio on the Daily Create site it will automatically move to each new file when the previous is finished. What I hate about it is SoundCloud is very restrictive with free accounts and very expensive for paid features. Free users only get 120 minutes of audio total and can only create 1 group. This means I have to find folks to create these groups for each assignment. Ultimately it may not be sustainable but for now we’re using it and it works really well.
Video

For video YouTube was an obvious choice since so many people already use it and I just needed to find the best way to visualize a tag. The answer to that was TubePress with allows you to build shortcodes with TONS of options. Each video comes in as a thumbnail that uses Lightbox to display the video in an overlay. It looks and works perfect with the only exception being that YouTube apparently has incredibly long and random delays on their tag search. Not only is it not immediate, there were times that users videos took 14 hours to show up on the site. The annoying this is this part of the process is completely out of my control. I experimented with Vimeo to see if that would be a better option because TubePress supports it, but Vimeo had similarly long delays. We’ll work through the long delays because ultimately the site is archiving these posts and keeping them available anyway, so if it takes awhile to feed in that’s not the end of the world for now.
Submissions
The last piece of the pie was allowing folks to submit suggestions for new assignments. Normally people would probably go to a Google Form for something like this, but we’ve already found a better solution which we currently use on the DS106 Assignments Site. We use a plugin called Gravity Forms which I’ve raved about before here that allows us to create a form whose submission automatically creates a new post in draft. The user assigns it a category. All we have to do is decide when it should be published, add the widget/shortcode for visualizing it, and give it a tag. The more submissions we get the more posts will be scheduled in advance and there’s very little turnaround work for us. It’s yet another amazing way we’ve taken advantage of Gravity Forms. Obviously if someone didn’t want to invest in that plugin and wanted to do this on the cheap Google Forms would be a decent alternative and just require you to manually copy and paste the submission into a new form.
After a lot of testing this past week and a fun weekend of people participating in telling jokes to each other, the site is now live and rolled back to Assignment #1 for today. I’m excited about TDC as a way for daily creative prompts to allow us all to quickly find some inspiration in the world and work with it. I hope you’ll consider joining us (no registration involved, just read the assignment, complete it, and tag it) and maybe consider submitting a few ideas for future assignments that people could complete.
By Get in Creative Shape - CogDogBlog January 8, 2012 - 11:51 pm
[...] And look at that, he just posted a detail blog writeup on how he did it. [...]
By John January 9, 2012 - 1:17 pm
Thanks for this write up, one of the big questions in my head when joining ds106 is about the backend mcgubbins. Love all the auto stuff pulling things together.
For short audio AudioBoo is pretty good, you can grab the rss feed for a tag and parse that. Limited to 3 or 5 minutes for free accounts depending on when you joined.
By Tim January 9, 2012 - 2:04 pm
Good call on Audioboo, having a mobile app is a definite plus. I’ll have to explore what options they have for displaying that tagged content on the site but it would be a good alternative to Soundcloud for assignments that aren’t supposed to be too long (which none of them really should be more than that long). Thanks for the recommendation!
By Ben January 14, 2012 - 2:14 pm
Great write up for how you built the Daily Create, Tim, and thanks to your extensive linking and explanation of the road bumps, I think I might almost be able to recreate this. Extra thanks for pointing out GalaxyForms. I was using a very simplistic plugin for allowing users to submit their own posts for a daily poetry site I had created using WordPress, but was a bit on the clunky side. When I get ready to recreate the project, I’ll have to remember to use this.
I’m especially glad you mentioned the issues with Soundcloud, as I was just browsing through the various plans and pricing this morning which produced a number of questions about the viability of the Daily Create “sound assignments”. That top tier plan would simply be too pricey to manage I’m sure, although if you wanted to be unscrupulous with creating new google and gmail accounts, there’s potentially no problem with creating a mass number of accounts just for Soundcloud group creation
Thanks for all the hard work you’ve put in on the Daily Create!
By Tim January 14, 2012 - 3:21 pm
Although I love the visualization of the SoundCloud widget, it’s the one service I’m really unhappy with how we implement it right now. I’m hoping I can write a blog post and maybe coerce them to respond about the possibility of just having a tag widget available with the same functions as “groups”. Here’s hoping we can get some traction on that idea and I welcome any other brainstorming surrounding how to pull in short audio assignments in a clean way.
By John January 14, 2012 - 4:35 pm
Hi Tim,
It might be worth trying Audioboo, you can get a feed for an audioboo tag and use that to show an mp3 player, You will not get the nice player but you could use any of the flash mp3 players(I like dew player myself), or even an html player. I’ve used a combo of html5 audio and flashplayer for my boos: http://johnjohnston.info/where/boos.php be easy enough to do it without a map
By Tim January 14, 2012 - 11:12 pm
I had looked at Audioboo on your recommendation and hadn’t found any real widgets anywhere. If we can get a decent way to visualize based on tag I’m all for it. I’m not hugely concerned if it has to be Flash even though HTML5 is preferred. Are you basically just grabbing them via RSS? I’m open to recommendations on how to build it since I think ultimately it would be more sustainable than SoundCloud is right now.
By John January 15, 2012 - 6:46 am
Hi Tim,
Here are a couple of quick & dirty tests for audioboo:
using the flash player code just grabbed from RSS
http://johnjohnston.info/tests/audioboo.php?t=edutalk
AudioBoo new html player iFrames
http://johnjohnston.info/tests/audiobooiframes.php?t=edutalk
HTML5 audio tag doesn’t play in FF due to use of mp3s:
http://johnjohnston.info/tests/audioboo5.php?t=edutalk
in all you could replace edutalk with any tag
If any of this could be of use send me an email and I’ll send the php files
NB I am not a coder so the code will be horrible:-)
By Tim January 15, 2012 - 2:31 pm
Nice! That HTML one in iframes looks really slick. I think I’ll play around with it and give it a shot for the next time an audio assignment rolls around. Thanks for the help!