Building The Daily Create
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.