<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Max Cutler &#187; Yale Daily News - Max Cutler</title>
	<atom:link href="http://www.maxcutler.com/category/yale-daily-news/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.maxcutler.com</link>
	<description>Dev, Tech, and Life</description>
	<lastBuildDate>Tue, 01 May 2012 22:51:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Courant no longer&#8230;</title>
		<link>http://www.maxcutler.com/2010/02/21/courant-no-longer/</link>
		<comments>http://www.maxcutler.com/2010/02/21/courant-no-longer/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 20:48:09 +0000</pubDate>
		<dc:creator>maxcutler</dc:creator>
				<category><![CDATA[College News]]></category>
		<category><![CDATA[Courant News]]></category>
		<category><![CDATA[Yale Daily News]]></category>

		<guid isPermaLink="false">http://maxcutler.com/blog/?p=238</guid>
		<description><![CDATA[On October 26, 2008, the first bits were committed to the private Courant News project repository. At the time, Rob, Paul and I were going to offer a hosted SaaS product for college news organizations, freeing them from the grasps of College Publisher and providing a stable foundation for the future. In February 2009, we [...]]]></description>
			<content:encoded><![CDATA[<p>On October 26, 2008, the first bits were committed to the private <a href="http://www.courantnews.com">Courant News</a> project repository. At the time, <a href="http://rsbaskin.com">Rob</a>, <a href="http://zpao.com">Paul</a> and I were going to offer a hosted <a title="Software as a Service" href="http://en.wikipedia.org/wiki/Software_as_a_service">SaaS</a> product for college news organizations, freeing them from the grasps of <a href="http://www.collegepublisher.com/">College Publisher</a> and providing a stable foundation for the future. In February 2009, we decided not to pursue the project as a business, but agreed to continue development as an open-source project. On April 7, 2009, we <a href="http://code.courantnews.com/blog/welcome">opened</a> our code to the public. After launching the <a href="http://www.yaledailynews.com/">Yale Daily News</a> on Courant in September 2009, we finally started to pick up steam in the past month. But after deep reflection, we have decided to cease development of the project.</p>
<p><span id="more-238"></span></p>
<h3>Context</h3>
<p>During the fall semester we made significant progress with Courant: <a href="http://code.courantnews.com/changeset/94">switched</a> to <a href="http://haystacksearch.org/">Haystack</a> for search, improved <a href="http://code.courantnews.com/changeset/95">multimedia browse-ability</a>, added the <a href="http://code.courantnews.com/changeset/101">headers app</a> for improved mobile and alternative versions of a site, implemented powerful automated <a href="http://code.courantnews.com/changeset/108">caching</a> <a href="http://code.courantnews.com/changeset/110">busting</a>, <a href="http://code.courantnews.com/changeset/117">refactored</a> the staff app, added <a href="http://code.courantnews.com/changeset/118">OpenX integration</a>, added <a href="http://code.courantnews.com/changeset/122">mapping and basic geo functionality</a>, <a href="http://code.courantnews.com/changeset/112">started</a> <a href="http://code.courantnews.com/changeset/113">work</a> <a href="http://code.courantnews.com/changeset/116">on</a> <a href="http://groups.google.com/group/courantnews/browse_thread/thread/890dc88b05c45e7b">Nando</a>, added <a href="http://code.courantnews.com/changeset/129">batch uploading of photos</a>, and continuously increased performance.</p>
<p>But in early January, Rob and I had a serious conversation about whether it still made sense to develop Courant. Although the YDN was using it, no other developers had joined the team, and we had doubts about the project&#8217;s long-term survivability.</p>
<p>Our last best hope was to convince the team at <a href="http://www.copress.org/">CoPress</a> to help support clients running on Courant. I met with them at their team meet-up in Philadelphia over MLK weekend and tried to feel out their intentions and plans for the next year. There was still some glimmer of hope, and I considered joining their support team to make this a reality.</p>
<p>Two weeks later, the YDN Business and Online departments hosted a conference for college news organizations, at which I gave a presentation about Courant. Two of the attendees were enthusiastic about the idea of migrating to Courant, and I&#8217;ve been in talks with them in the intervening weeks. We even wrote a CP4 to Courant data migration script while working on a prototype installation for one of the potential partners.</p>
<h3>The Decision</h3>
<p>Shortly thereafter, CoPress decided to <a href="http://www.copress.org/2010/02/16/copress-is-closing-down-operations/">shut down their operations</a>. Without CoPress, and without any other potential developers to take over the reins, we had to make a tough decision: continue developing the project and potentially transition these two new sites to the platform without long-term support plans, or abandon the project.</p>
<p>Having worked on this project for over 16 months, pouring countless hours of my life into its development, it was an extraordinarily difficult decision. But, in the end, I feel it would be irresponsible to continue, especially knowing that I am going to have to leave anyways after my term at the YDN expires in October.</p>
<p>I&#8217;m currently working to transition the YDN off of Courant to a commercial system; although the front-runner is currently <a href="http://www.ellingtoncms.com/">Ellington</a> (from which <a href="http://www.djangoproject.com/">Django</a> was originally extracted), a final decision has yet to be made and it will likely be several months before I can talk publicly about our choice.</p>
<p>In the meantime, there may be occasional bug fixes to Courant, but substantial development of new features will not occur. We will leave the website and code online at least through the summer, and will likely move the code to <a href="http://code.google.com">Google Code</a> or <a href="http://www.github.com">Github</a> before retiring the website. Please feel free to use the code, but know that we will no longer be providing support of any form.</p>
<h3>Conclusion</h3>
<p>Had we pursued grant funding or other avenues of development, perhaps Courant could have lived up to its full potential. I truly believe it could have been a major player in changing the landscape of college news. I&#8217;m very proud of the work we did to create a generic and customizable, yet still very powerful, solution tailored specifically to the needs of college news organizations. Components like the <a href="http://docs.courantnews.com/ref/core/gettag.html#ref-core-gettag">get tag</a>, <a href="http://maxcutler.com/blog/2009/05/23/courant-news-model-customization">dynamic/custom fields</a>, the <a href="http://rsbaskin.com/2009/11/introducing-the-courant-headers-app/">headers app</a>, and the <a href="http://maxcutler.com/blog/2009/11/07/courant-news-caching">cache system</a> are beyond the scope of most existing college news CMSes, and represent months of analysis and planning. The system was <a href="http://maxcutler.com/blog/2009/09/23/keeping-courant-with-annie-le-coverage">battle-tested</a> against outrageous traffic spikes and proved to be quite resilient. We are not the first, and will surely not be the last, team to attempt to create a new CMS option for the college news world, and I wish others the best of luck.</p>
<p>I owe immense thanks to Rob and Paul for their contributions to the project over the last 18 months; their support has been invaluable, and I hope to work with them again in the future. I also want to thank <a href="http://www.andrewspittle.net/">Andrew Spittle</a> for his assistance on designs for Nando, it&#8217;s unfortunate that they never saw the light of day. Thanks to everyone who has been supportive and encouraging over the past year, especially those who contributed to discussions on our mailing list and privately via email or IM.</p>
<p>I look forward to seeing how college news organizations respond to the  current crisis in the media industry, and I hope they learn to adapt and  look forward instead of backwards. My stint in the college news world has been enjoyable and a great learning experience, but I&#8217;m ready to apply my skills to new areas of interest. If you need an experienced developer for your software or robotics project, please <a href="mailto:maxcutler@gmail.com">get in touch</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxcutler.com/2010/02/21/courant-no-longer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>October Code Sprint Results</title>
		<link>http://www.maxcutler.com/2009/10/24/october-code-sprint-results/</link>
		<comments>http://www.maxcutler.com/2009/10/24/october-code-sprint-results/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 03:13:13 +0000</pubDate>
		<dc:creator>maxcutler</dc:creator>
				<category><![CDATA[Courant News]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Yale Daily News]]></category>
		<category><![CDATA[headers]]></category>
		<category><![CDATA[multimedia]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://maxcutler.com/blog/?p=190</guid>
		<description><![CDATA[Today Rob and I did a Courant News code sprint to get momentum building again. I did some YDN work first and then worked on finishing search functionality, while Rob focused on a new &#8220;headers&#8221; app that we&#8217;ve been brainstorming for the past week. Multimedia Being both an early riser and three hours ahead by [...]]]></description>
			<content:encoded><![CDATA[<p>Today <a href="http://www.rsbaskin.com">Rob</a> and I did a <a href="http://www.courantnews.com">Courant News</a> code sprint to get momentum building again. I did some YDN work first and then worked on finishing search functionality, while Rob focused on a new &#8220;headers&#8221; app that we&#8217;ve been brainstorming for the past week.</p>
<p><span id="more-190"></span></p>
<h3>Multimedia</h3>
<p>Being both an early riser and three hours ahead by virtue of time zones, I started my day working on some YDN tasks and left Courant for the afternoon. First order of business was finishing the new <a href="http://www.yaledailynews.com/multimedia/">multimedia landing page</a>. We&#8217;ve been without that page since launching on Courant at the beginning of the semester, and the version before was barely functionality as it was. Zeke Miller, the new Online Editor, was the driving force for the design while brainstorming and gathering feedback from the rest of the Online desk. I&#8217;m very pleased with the results, but have opened a <a href="http://www.copress.org/forum/weekly-discussion-topics/multimedia-landing-page-design/">thread</a> over at the CoPress forums to get feedback from the wider college news community.</p>
<h3>Search</h3>
<p>Next on the docket was finishing the transition from Sphinx to Haystack for the Courant News search system. Sphinx was very nice, but Haystack opens new doors and fits better with the Courant News project philosophy; it allows for the use of multiple search engine backends, so that sites can use whatever is most appropriate for their situation.</p>
<p>For example, if a site cannot install a powerful Java system like <a href="http://lucene.apache.org/solr/">Solr</a>, then they can use the pure-Python <a href="http://whoosh.ca/">Whoosh</a> backend (which is also nice for development use). In practice, I ran into problems while trying to use the <a href="http://xapian.org/">Xapian</a> (fast C++ engine) backend and had to switch back to the resource-heavy Solr. Hopefully as Haystack and its Xapian backend mature the situation will improve.</p>
<p>By the end of the afternoon, I had finished implementing it in Courant and had completed the templates for the YDN search system. Please feel free to <a href="http://www.yaledailynews.com/search/">explore</a>. I&#8217;m especially proud of the filtering options, which allowing for filtering of the query results by section, staff members, content type (article, photo, video, etc.), and date range. It makes it very easy to find specific content that you are looking for, or even to just get a broader sense of how popular a given topic is.</p>
<p>Solr&#8217;s relevancy engine is giving disproportionate weight to photos because they aren&#8217;t as long as articles, which is not very desirable. However, I&#8217;m still a Solr newbie and am trying to explore options for resolving that issue. Once I figure out how to do it with Solr, I&#8217;ll have to push the Haystack folks to expose any requisite functionality.</p>
<h3>Headers App</h3>
<p>Rob&#8217;s big project, and his first major code contribution in several months, was the implementation of an app we&#8217;ve been designing for the past few days. He&#8217;s going to write a more in-depth post, so I won&#8217;t step on his toes too much and go too deeply into it right now; essentially, it allows you to vary the display of your news site based on HTTP header values, most importantly User-Agent and Referer [sic].</p>
<p>The biggest example is to show a different set of templates to visitors with mobile User-Agent strings by showing them .mobile templates (using the FileExtension middleware and render() function in Courant News). You can also define a cascade of extensions, so that you only have to customize certain parts of your site if you want, and show the standard .html version elsewhere; this could be interesting if you wanted to take advantage of new HTML5 functionality in browsers (User-Agents) that support it, while not having to duplicate templates on other pages (or if you want to customize only certain pages on your mobile site for iPhone users).</p>
<p>It also lets you simply set extra template context variables, so that you can show special content to people coming from certain referrers (e.g., Facebook or Twitter). There are countless uses for such functionality, I&#8217;ll let you come up with your own.</p>
<p>You can <a href="http://code.courantnews.com/browser/trunk/courant/core/headers">browse the headers app in our code repository</a>; it only requires a bit more work before we will declare it complete, hopefully that will happen in the next several days. When Rob writes his post, I&#8217;ll update with a link.</p>
<h3>Conclusion</h3>
<p>Today was a productive day, with <a href="http://code.courantnews.com/timeline?from=10%2F24%2F09&amp;daysback=1">9 commits</a> to the Courant News repository. Hopefully the pace will keep up, and once these last few features are finalized the path will be clear to begin work on Nando, which will be the real cornerstone of the Courant News platform.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxcutler.com/2009/10/24/october-code-sprint-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keeping Courant with Annie Le Coverage</title>
		<link>http://www.maxcutler.com/2009/09/23/keeping-courant-with-annie-le-coverage/</link>
		<comments>http://www.maxcutler.com/2009/09/23/keeping-courant-with-annie-le-coverage/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 04:18:01 +0000</pubDate>
		<dc:creator>maxcutler</dc:creator>
				<category><![CDATA[Courant News]]></category>
		<category><![CDATA[Yale Daily News]]></category>
		<category><![CDATA[annie le]]></category>
		<category><![CDATA[drudge report]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[templates]]></category>

		<guid isPermaLink="false">http://maxcutler.com/blog/?p=163</guid>
		<description><![CDATA[On September 2nd, the Yale Daily News published its first issue of the fall 2009 semester. Although appearing to the casual observer to be just another issue, there was one huge difference: it was running on the new Courant News online publishing platform. Just one week later, Yale graduate student Annie Le went missing. The [...]]]></description>
			<content:encoded><![CDATA[<p>On September 2nd, the Yale Daily News published its <a href="http://www.yaledailynews.com/issues/2009/09/02/">first issue</a> of the fall 2009 semester. Although appearing to the casual observer to be just another issue, there was one huge difference: it was running on the new <a href="http://www.courantnews.com">Courant News</a> online publishing platform. Just one week later, Yale graduate student <a href="http://www.yaledailynews.com/news/city-news/2009/09/09/medical-student-goes-missing/">Annie Le went missing</a>. The following ten days resulted in enormous national and international coverage of the case and a record surge in traffic to our website. Courant News played a huge role in our outstanding coverage and lack of downtime during the traffic spikes.</p>
<p><span id="more-163"></span></p>
<h3>Chronology</h3>
<p>After being a missing persons case for almost 5 days, Annie Le&#8217;s body was <a href="http://www.yaledailynews.com/news/university-news/2009/09/13/remains-found-10-amistad-street/">found</a> and suddenly it became a homicide investigation. When we published the breaking news at 8:51pm, our server was immediately slammed by an unusually large swell in traffic; in the few hours remaining in that Sunday night, we had twice as many website visitors as we typically get in an entire weekday. As the night wore on, I kept updating our editorial staff on the impressive numbers: 6,000; 8,000; 13,000 hits in 70 minutes. I eventually went to bed proud that we had survived the spike without any problems, but I was in for a surprise.</p>
<p>Out of curiosity before heading to breakfast on Monday morning, I decided to check on the server&#8217;s health. Server utilization was at 100%, and the server was really straining. I immediately went to the <a href="http://www.drudgereport.com">Drudge Report</a> and found that they had placed a link to us at the top of their front page. Out of all the national coverage available, the editor(s) at the Drudge Report had decided linked to us, and the flood gates were opened.</p>
<p style="text-align: center;"><a href="http://www.maxcutler.com/2009/09/23/keeping-courant-with-annie-le-coverage/drudge_ydn/" rel="attachment wp-att-164"><img class="size-medium wp-image-164 aligncenter" title="Annie Le coverage on Drudge Report" src="http://www.maxcutler.com/wp-content/uploads/2009/09/drudge_ydn1-300x185.png" alt="" width="300" height="185" /></a></p>
<p>For the first six hours after Drudge posting the link, we received over 70,000 pageviews per hour before traffic slowly declined to &#8220;only&#8221; 30,000 pageviews per hour by the end of the day. In the 48 hours following, we handled a total of 1.1 million pageviews; in the 10 day period starting when she went missing, we saw over 2 million pageviews. At peak traffic, we were serving 30Mbps in data from our server, which continued for several hours. Despite the 3000% increase in traffic, we had zero downtime and our site was fully operational the entire time.</p>
<h3>Courant News&#8217; Role</h3>
<p>In the last week of August, the YDN Editor-in-Chief and I decided to make the switch to Courant News for our first issue instead of waiting a bit longer to refine it a bit more. One of the aspects of Courant that had not yet been properly tested was performance; Courant News was designed with the lessons learned from operating a high traffic site and <a href="http://online.yaledailynews.com/2008/04/25/the-day-the-music-died/">surviving Drudge&#8217;s in the past</a>, but no special effort had been made to optimize performance yet. Fortunately, the few steps that we had taken in the spring were sufficient, and the system performed like an absolute champ throughout the spikes.</p>
<div id="attachment_176" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.maxcutler.com/2009/09/23/keeping-courant-with-annie-le-coverage/drudge_spike/" rel="attachment wp-att-176"><img class=" wp-image-176 " title="Drudge Traffic Spike" src="http://www.maxcutler.com/wp-content/uploads/2009/09/drudge_spike1-1024x118.png" alt="" width="600" height="69" /></a><p class="wp-caption-text">Hourly traffic during Drudge Report coverage (blue); Typical weekday traffic (green)</p></div>
<p style="text-align: left;">One of the tricks that Courant employs is a full-page cache for anonymous (non-logged-in) users: when an anonymous user attempts to access a page, our <a href="http://www.nginx.net">load balancer (nginx)</a> serves them a cached version directly from RAM using <a href="http://www.danga.com/memcached/">memcached</a>. Nginx is amazing, and can handle enormous amounts of traffic with minimal server resource usage; however, Django (served by an <a href="http://www.apache.org">Apache server</a> instance), is more resource intensive, and would quickly be bogged down by too many simultaneous requests. Having nginx serve the full page caches to the swarms of anonymous Drudge Report referrals meant that very few requests were being passed through to Courant (mostly our EIC and MEs who were adding new content as the day went on).</p>
<div id="attachment_166" class="wp-caption aligncenter" style="width: 505px"><a href="http://www.maxcutler.com/2009/09/23/keeping-courant-with-annie-le-coverage/yaledailynews_017/" rel="attachment wp-att-166"><img class="size-full wp-image-166" title="Log of nginx requests during Drudging" src="http://www.maxcutler.com/wp-content/uploads/2009/09/yaledailynews_0171.png" alt="" width="495" height="271" /></a><p class="wp-caption-text">Nginx requests/second log during Drudge Report spike</p></div>
<p>No downtime is great, but ultimately it&#8217;s all about the content, and our editors and reporters did an outstanding job covering the Annie Le case. Unlike many main stream media outlets that published unsubstantiated rumors, the Yale Daily News supplied top notch coverage and provided unique angles that only Yale students can provide (such as <a href="http://www.yaledailynews.com/news/university-news/2009/09/15/crime-scene-unsealed/">photos from inside the basement</a> before it was identified as the scene of the crime).</p>
<p>One of the new features that Courant News brought to the YDN site was the ability to post multiple media elements in a given article. We made judicious use of this capability, including upwards of three or four items on many articles. Our old system only allowed a single photo on each article, which would have crippled our ability to cover this story.</p>
<p>Another key capability was the ability to use multiple templates for articles and the homepage. We created a new <a href="http://www.yaledailynews.com/news/university-news/2009/09/14/body-identified-annie-le-med-13/">&#8220;Big Photo&#8221;</a> article template to highlight the top media item on many of our stories. We also created a number of new <a href="http://www.yaledailynews.com/issues/2009/09/14/">homepage</a> <a href="http://www.yaledailynews.com/issues/2009/09/16/">templates</a> to highlight our breaking news coverage (note: because we only archive one version of the homepage per day, I cannot show  some of the additional templates we used).</p>
<p>To support the amount of content we were publishing, Courant News allowed us to give limited access to the administrative interface to our Photo Editors and some Production &amp; Design staffers, who helped the EIC and MEs upload content and publish new information in a timely manner. This distribution of work is something that we would like to continue going forward, eliminating the excuse of publishing extra content online being too much work at the end of the night.</p>
<p>Finally, Courant News included new <a href="http://maxcutler.com/blog/2009/07/19/courant-news-email-engine">email</a> and <a href="http://maxcutler.com/blog/2009/08/12/portland-courant-news-short-urls">analytics</a> tracking systems, which allowed us to push breaking news updates to our email subscribers and track engagement from emails and our Twitter updates. Such data nicely complements our Google Analytics reports regarding readership engagement and has provided insight into ways we can improve our coverage in the future.</p>
<h3>Conclusion</h3>
<p>Moving to a new CMS and publishing platform can be a risky endeavor, but Courant News has pulled its weight and played a critical supporting role in our ability to cover this story and survive the massive influx of traffic it brought us. With a promising future ahead of it, including the <a href="http://groups.google.com/group/courantnews/browse_thread/thread/890dc88b05c45e7b">digital newsroom</a> and other <a href="http://code.courantnews.com/wiki/ProjectIdeas">exciting new features</a>, Courant News will help us at the Yale Daily News innovate and experiment with our website in the coming years. I see many interesting projects in our future this year, and I look forward to helping other news organizations take the next step and join us in developing the Courant News platform for the betterment of all college news organizations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxcutler.com/2009/09/23/keeping-courant-with-annie-le-coverage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Email Subscriptions</title>
		<link>http://www.maxcutler.com/2009/04/08/email-subscriptions/</link>
		<comments>http://www.maxcutler.com/2009/04/08/email-subscriptions/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 13:43:39 +0000</pubDate>
		<dc:creator>maxcutler</dc:creator>
				<category><![CDATA[Courant News]]></category>
		<category><![CDATA[Yale Daily News]]></category>

		<guid isPermaLink="false">http://maxcutler.com/blog/?p=34</guid>
		<description><![CDATA[This week&#8217;s topic of discussion at the CoPress forums regards email subscriptions/alerts, something which I&#8217;ve given a fair amount of thought to in the past few months. Today&#8217;s post will cover how the YDN has used email subscriptions up to the present and some ideas for email handling in Courant News. YDN Since the launch [...]]]></description>
			<content:encoded><![CDATA[<p>This week&#8217;s <a href="http://www.copress.org/forum/weekly-discussion-topics/e-mail-newsletters-and-alerts-april-7-2009/">topic of discussion</a> at the CoPress forums regards email subscriptions/alerts, something which I&#8217;ve given a fair amount of thought to in the past few months. Today&#8217;s post will cover how the YDN has used email subscriptions up to the present and some ideas for email handling in Courant News.</p>
<p><span id="more-34"></span></p>
<div id="attachment_36" class="wp-caption alignright" style="width: 82px"><a href="http://maxcutler.com/wp-content/uploads/2009/04/ydn_email_headlines.jpg"><img class="size-medium wp-image-36" title="YDN Headlines Email" src="http://maxcutler.com/wp-content/uploads/2009/04/ydn_email_headlines-72x300.jpg" alt="YDN Headlines Email Screenshot" width="72" height="300" /></a><p class="wp-caption-text">YDN Headlines Email Screenshot</p></div>
<h3>YDN</h3>
<p>Since the launch of the current YDN website in January 2007, we have had a headlines email subscription available for public consumption. Visitors could either <a title="YDN Email Subscriptions" href="http://www.yaledailynews.com/subscribe">sign up</a> with just an email address, or if they had a YDN.com account there was an option in their user settings to subscribe. We currently have several thousand subscribers to our email list, which encompasses both the daily (nightly) headlines and breaking news stories. To the right is the email for today&#8217;s issue.</p>
<p>As I&#8217;ve discussed before, our website currently runs on a custom system built on the CakePHP framework. Because sending thousands of emails at once is a time consuming process, we use a mail queue system to spread out the work. When the editors click the &#8220;Email headlines&#8221; link in the admin interface at the end of the night, we queue up all the emails in a table in our database. We then use a cron job to pull out a certain number of emails from the queue each minute and send them through our outgoing mail server. It can take up to 30 or 40 minutes to process all the emails in this manner, but it prevents overloading or slowing of the server, and the emails are not really time sensitive.</p>
<h3>Courant News</h3>
<p>For Courant News, we have also planned to implement a queue-based mail system. <a title="django-mailer" href="http://code.google.com/p/django-mailer/">django-mailer</a> plans to do alot of what we want, but is still in an early stage of development. It is part of the popular <a href="http://www.pinaxproject.com">Pinax</a> project, so I&#8217;m sure development will continue for the forseeable future. The queue is just part of the email system, however, and we have some ideas about how to make emails more useful and customizable.</p>
<p>The basic premise is that we wanted people to be able to subscribe to emails like they can subscribe to RSS feeds, where they can choose to only receive content from certain sections, or by certain authors, or with certain tags, etc, etc. For example, a parent of one of the staff reporters might want to get an email digest of any articles his/her son/daughter writes, while not necessarily wanting to have to filter through all the rest of that day&#8217;s paper&#8217;s contents. Or someone may only be interested in news in a certain section, such as Sports. The user would also be able to choose a periodicity of the emails, choosing to receive such aggregations daily, weekly, or monthly.</p>
<p>While many younger people are comfortable using RSS feeds, many less tech-savvy students, alumni, and parents are still unaware of or unsure how to use RSS feeds. Others, like myself, may simply prefer emails to digging through an RSS client. By giving such visitors the ability to subscribe to emails with exactly the content they want, we can increase the likelihood that they will follow those links to our site and become frequent visitors. By not forcing them to sift through a bunch of links they probably don&#8217;t care about, we can reduce the friction associated with browsing our content and help them find what they are looking for.</p>
<p>We&#8217;ve currently been exploring how to implement such functionality, and have several ideas. Email alerts/subscriptions are one of the next things on the docket for actual implemention for Courant News, so I welcome any feedback or additional ideas and suggestions from the community.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxcutler.com/2009/04/08/email-subscriptions/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Courant News: A history and status update</title>
		<link>http://www.maxcutler.com/2009/04/02/courant-news-a-history-and-status-update/</link>
		<comments>http://www.maxcutler.com/2009/04/02/courant-news-a-history-and-status-update/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 21:32:29 +0000</pubDate>
		<dc:creator>maxcutler</dc:creator>
				<category><![CDATA[College News]]></category>
		<category><![CDATA[Courant News]]></category>
		<category><![CDATA[Yale Daily News]]></category>

		<guid isPermaLink="false">http://74.53.12.29/~max/blog/?p=15</guid>
		<description><![CDATA[This morning on Twitter I announced that the Yale Daily News would not be migrating to the Courant News platform this weekend as initially planned. That immediately prompted some questions about whether this meant that Courant was not going to be released until next fall when the YDN launches. The short answer: definitely not.  The [...]]]></description>
			<content:encoded><![CDATA[<p>This morning on Twitter I <a href="http://twitter.com/maxcutler/status/1438865783">announced</a> that the Yale Daily News would not be migrating to the Courant News platform this weekend as initially planned. That immediately prompted some questions about whether this meant that Courant was not going to be released until next fall when the YDN launches. The short answer: definitely not.  The long answer follows.</p>
<p><span id="more-15"></span></p>
<p>Sometime last summer, <a href="http://www.rsbaskin.com">Robert Baskin</a> (<a href="http://www.twitter.com/rsbaskin">@rsbaskin</a>), my former &#8220;boss&#8221; and mentor at the Yale Daily News, and I talked about an idea we had for a startup company: create an online publishing platform for college news organizations. The YDN has run on a custom CakePHP-based CMS since January 2007, which Rob built with <a href="http://henryineire.wordpress.com/">Henry Corrigan-Gibbs</a> from scratch. Last spring (April 2008), we held a web conference for the Ivy League newspapers, and the big takeaway was that open source solutions were not good enough; we needed a CMS designed for college news orgs, by college news orgs. College Publisher was a blight upon the college news landscape, and we thought we could create a viable alternative.</p>
<p>Fast forward a few months, and we brought <a href="http://www.zpao.com">Paul O&#8217;Shannessy</a> on board. Paul was finishing his masters degree at CMU where he worked for the <a href="http://www.tcpulse.com">TCPulse</a>. With dreams of a successful company that Paul and Rob could work for after graduating this year, we worked hard for several months, and even had a week-long meetup and code session in the Philadelphia area over our winter break. We courted a few clients, and started refining our marketing materials. We had designed and started building a hosted platform-as-a-service, which was designed to be fully managable through a web-based admin interface ,while still allowing programmers the ability to add new functionality thanks to <a href="http://www.djangoproject.com">Django</a>&#8216;s awesome app-based design.</p>
<p>And then we looked harder at the numbers, and thought about why we were doing this, and it all started to unravel. After some long discussions, we decided to abandon the business venture, and we all agreed to allow the code we had labored over to go into the open source realm. Around this time, in late January, I approached the YDN formally about switching to the new system. It had been built with the lessons-learned from the YDN&#8217;s existing CMS, and encompassed a number of improvements that the Editorial staff had requested. The decision was made to move forward with switching to the new platform, but only under the condition that it launched right after spring break to give time for our new blog to take off before the end of the semester.</p>
<p>With money no longer in the picture, and the reality of the senior essays and full time jobs coming to the fore, Rob and Paul had to step away from the project, leaving me to work on it mostly alone. I took some time off in February to focus on school, but returned and worked hard during March to get Courant and the new YDN site up to snuff for launch. As recently as last week, I thought I could maybe finish things in time for our planned April 5 transition. Once the YDN site was up, I&#8217;d focus on truly open sourcing Courant and getting the ball rolling on that front.</p>
<p>A few days ago, I realized that I wasn&#8217;t going to finish in time, and that I couldn&#8217;t, in good conscience, put the site out there in its current state. We have a working, stable website now, and there was no real reason to rush the launch other than for the sake of the new blog and some new features. As the sole active member of the YDN web staff, I had to make the hard decision to postpone the launch until later this summer to allow for finishing all the features and doing proper testing.</p>
<p>What this means for Courant is that we no longer have our pioneer site at release, but it means I can give the project more of my attention and get other people involved. I will be attending the BarCamp NewsInnovation in Philly this month, and my goal is to have the project site fully up by then, including posting all of the documentation and plans from when the project was in the commercial startup phase. Courant News isn&#8217;t quite ready to support a full site yet, but it&#8217;s close and just requires a few more weeks of work. Hopefully, if other developers and UX people get involved, the project can begin to generate a community of its own and gain some traction.  We&#8217;ve tried our best to make Courant customizable and suitable for just about any type of college news website, and have a few features that I&#8217;ve not seen elsewhere. In the coming days and weeks, I&#8217;ll begin posting about them here and on the official Courant News blog once I find time to set that up. Thanks to all who have expressed in interest in Courant, I&#8217;ll be sure to keep the news flowing on a regular basis from here on out.</p>
<p><strong>Update (April 6, 2009):</strong> At the request of the YDN, I have removed some details about internal affairs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxcutler.com/2009/04/02/courant-news-a-history-and-status-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

