<?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>The Freebase Blog &#187; Acre</title>
	<atom:link href="http://blog.freebase.com/category/developers/acre/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.freebase.com</link>
	<description>A blog for data geeks, application developers and interested civilians</description>
	<lastBuildDate>Mon, 23 Nov 2009 20:14:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Some Acre Goodies get you going faster</title>
		<link>http://blog.freebase.com/2009/10/26/1258/</link>
		<comments>http://blog.freebase.com/2009/10/26/1258/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 00:35:51 +0000</pubDate>
		<dc:creator>stefano</dc:creator>
				<category><![CDATA[Acre]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[freebase]]></category>

		<guid isPermaLink="false">http://blog.freebase.com/?p=1258</guid>
		<description><![CDATA[I&#8217;ve spent some effort to cleanup and condense some of the things we do over and over again in acre, for example:

how to start with a reasonable CSS stylesheet that doesn&#8217;t look ugly but it&#8217;s also not a pain to use
a series of highly reusable HTML fragments that do the things we do all the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent some effort to cleanup and condense some of the things we do over and over again in acre, for example:</p>
<ol>
<li>how to start with a reasonable CSS stylesheet that doesn&#8217;t look ugly but it&#8217;s also not a pain to use</li>
<li>a series of highly reusable HTML fragments that do the things we do all the time (like, add jquery to this page, or add a header and a footer, etc)</li>
<li>document a series of javascript libraries that enhance the default Acre environment and simplify your life</li>
</ol>
<p>So, look here:</p>
<ul>
<li> <a href="http://default.freebaseapps.com/">http://default.freebaseapps.com/</a> &#8211; contains some templates that create simple HTML fragments for you to use and a default CSS stylesheet that makes your page look reasonable from the get go (the app uses its own default_stylesheet so it will look like that one)</li>
<li><a href="http://libraries.freebaseapps.com/">http://libraries.freebaseapps.com/</a> &#8211; lists useful JS libraries that you can use alongside with example code you can cut/paste to get you going</li>
<li><a href="http://wiki.freebase.com/wiki/Acre_Recipes">http://wiki.freebase.com/wiki/Acre_Recipes</a> &#8211; contains useful recipes and code fragments that you can cut/paste in your app to do useful things in acre that are not obvious. Now wikified! so you can add/request your own.</li>
</ul>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebase.com/2009/10/26/1258/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Acre stats: 1000 apps, and growing</title>
		<link>http://blog.freebase.com/2009/08/20/acre-stats-1000-apps-and-growing/</link>
		<comments>http://blog.freebase.com/2009/08/20/acre-stats-1000-apps-and-growing/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 02:01:18 +0000</pubDate>
		<dc:creator>skud</dc:creator>
				<category><![CDATA[Acre]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[stats]]></category>

		<guid isPermaLink="false">http://blog.freebase.com/?p=1147</guid>
		<description><![CDATA[Stefano&#8217;s put together an Acre app (what else?) to show some interesting stats and information about new Acre apps: acre-development.freebaseapps.com.  Looking at it yesterday, we noticed that we&#8217;d just passed the 1000 apps mark!  
Some other interesting tools that are part of the acre-development app include:

Most-cloned files
Published apps without a description (are any [...]]]></description>
			<content:encoded><![CDATA[<p>Stefano&#8217;s put together an Acre app (what else?) to show some interesting stats and information about new Acre apps: <a href="http://acre-development.freebaseapps.com/">acre-development.freebaseapps.com</a>.  Looking at it yesterday, we noticed that we&#8217;d just passed the 1000 apps mark!  </p>
<p>Some other interesting tools that are part of the acre-development app include:</p>
<ul>
<li><a href="http://acre-development.freebaseapps.com/most_cloned_files">Most-cloned files</a>
<li><a href="http://acre-development.freebaseapps.com/list_published_apps_without_description">Published apps without a description</a> (are any of yours on there?)
<li>An RSS feed for the <a href="http://acre-development.freebaseapps.com/feed_latest_created_apps">newest apps</a> by creation date.
</ul>
<p>As usual, the <a href="http://www.freebase.com/tools/appeditor/#app=/freebase/apps/hosts/com/freebaseapps/acre-development">source code</a> for the app is there for you to read or clone.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebase.com/2009/08/20/acre-stats-1000-apps-and-growing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Forking Encouraged&#8221; &#8211; Acre talk from OSCON</title>
		<link>http://blog.freebase.com/2009/07/27/forking-encouraged-acre-talk-from-oscon/</link>
		<comments>http://blog.freebase.com/2009/07/27/forking-encouraged-acre-talk-from-oscon/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 23:36:07 +0000</pubDate>
		<dc:creator>skud</dc:creator>
				<category><![CDATA[Acre]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[folk programming]]></category>
		<category><![CDATA[freebase]]></category>
		<category><![CDATA[oscon]]></category>
		<category><![CDATA[oscon09]]></category>
		<category><![CDATA[yoz grahame]]></category>

		<guid isPermaLink="false">http://blog.freebase.com/?p=1091</guid>
		<description><![CDATA[On Friday, Jason Douglas, Yoz Grahame, and I gave a talk titled &#8220;Forking Encouraged: Folk programming, open source, and social software development&#8221; at the O&#8217;Reilly Open Source Convention (OSCON).  Here are our slides and notes!
Forking Encouraged: Folk Programming, Open Source, and Social Software Development
View more documents from Kirrily Robert.

Quick notes:
Yoz started the show with [...]]]></description>
			<content:encoded><![CDATA[<p>On Friday, Jason Douglas, Yoz Grahame, and I gave a talk titled &#8220;Forking Encouraged: Folk programming, open source, and social software development&#8221; at the O&#8217;Reilly Open Source Convention (OSCON).  Here are our slides and notes!</p>
<div style="width:425px;text-align:left" id="__ss_1769750"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/Skud/forking-encouraged-folk-programming-open-source-and-social-software-development" title="Forking Encouraged: Folk Programming, Open Source, and Social Software Development">Forking Encouraged: Folk Programming, Open Source, and Social Software Development</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=forking-all-090726014601-phpapp02&#038;stripped_title=forking-encouraged-folk-programming-open-source-and-social-software-development" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=forking-all-090726014601-phpapp02&#038;stripped_title=forking-encouraged-folk-programming-open-source-and-social-software-development" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/Skud">Kirrily Robert</a>.</div>
</div>
<p>Quick notes:</p>
<p>Yoz started the show with a 15 minute version of a longer &#8220;Folk Programming&#8221; talk he does, followed by me talking about how the concepts apply to open source software, and then Jason talking about how we (i.e. <a href="http://freebase.com/">Freebase.com</a>) applied the concepts to our new app development platform to help encourage adoption and a strong developer ecosystem.</p>
<p>Yoz starts out talking about he first learnt to program (on a ZX Spectrum), and how beginning programmers often <a href="http://en.wikipedia.org/wiki/Cargo_cult_programming">cargo cult</a> as a way of learning.  Cargo cult programming is often stigmatised, but it can be seen as a kind of folk process, like folk music or folk stories, and it&#8217;s a good way to get started.</p>
<p>He then gave a bunch of examples of folk programming in action, from an MIT study of children passing around little games on Dreamcast modules, to Yahoo Pipes and Second Life.  He identifies five things necessary for a real folk programming environment:</p>
<ul>
<li>Create your own code.
<li>View, clone, and modify someone else&#8217;s code.
<li>Free, always-on, ubiquitous hosting.
<li>Huge array of diverse data sources.
<li>Code creates new data for use by others.
</ul>
<p>I then took over and slightly reframed his list for the open source world:</p>
<ul>
<li>Free and Open Source licenses
<li>Easy <strike>cloning</strike> forking
<li>Hosted development environments
<li>Huge array of data
</ul>
<p>I looked at some examples including <a href="http://github.com">github</a>, <a href="http://aws.amazon.com/ec2/">Amazon EC2</a>, and <a href="http://code.google.com/appengine/">Google App Engine</a>, and looked at them to see whether they provided folk programming environments for open source development.  What I found is that each provides some elements, but none provides all of them.</p>
<p>When Jason and his team were starting work on our hosted app development platform, <a href="http://freebaseapps.com">Acre</a>, we got Yoz in to give a lunchtime talk about Folk Programming, and used a lot of his ideas in developing our platform.  Jason walks us through how Acre has BSD licensing, one-click cloning, and interacts with Freebase&#8217;s huge store of open data.</p>
<p>Some of the demos he shows include &#8220;data games&#8221; for Freebase contributors to more quickly add data to Freebase itself, which started off with a single app called <a href="http://typewriter.freebaseapps.com">Typewriter</a> and quickly evolved into a cluster of apps and eventually a library and toolkit to allow people to quickly build more.  (Some were built at our recent Hack Day, for example, including one to easily find CC-licensed images to attach to Freebase topics.)</p>
<p>Another set of apps he showed were clustered around the concept of lists in Freebase, starting with an app to <a href="http://socialist.freebase.com">create lists of anything</a> and then showing <a href="http://tippify.com">a recommendation website</a> and an app for TV fans all based on the same underlying data.</p>
<p>Jason closed by talking about some of the challenges we&#8217;d faced and future directions for folk computing in the open source world.  Challenges included version control and collaboration (because there is a time when you&#8217;re no longer experimenting and need to work together on things rather than fork), and the state of in-browser development tools like syntax-highlighting code editors and <a href="http://getfirebug.com/">Firebug</a>-style console debugging for server-side apps.</p>
<p>Questions from the audience included &#8220;Have you seen people writing large apps in folk programming environments, in the thousands or tens of thousands of lines range?&#8221; to which the answer is &#8220;yes&#8221; &#8212; LambdaMOO and SecondLife being enormous, and some of the Freebase apps being in that linecount range already despite only having properly launched about two weeks ago.  </p>
<p>&#8220;How do you handle security?&#8221; was the second question, which Jason answered at length.  Some of the parts of the Acre security model included sandboxing on the server; having each app on its own subdomain to prevent cookie hacks; and everything being sanitised by default to protect against cross-site scripting attacks.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebase.com/2009/07/27/forking-encouraged-acre-talk-from-oscon/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Acre 1.0, and our revamped developer hub</title>
		<link>http://blog.freebase.com/2009/07/20/acre-1-0-developer-hub/</link>
		<comments>http://blog.freebase.com/2009/07/20/acre-1-0-developer-hub/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 18:02:43 +0000</pubDate>
		<dc:creator>skud</dc:creator>
				<category><![CDATA[Acre]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[freebase]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mashups]]></category>
		<category><![CDATA[platform]]></category>

		<guid isPermaLink="false">http://blog.freebase.com/?p=1081</guid>
		<description><![CDATA[At Hack Day, we launched Acre 1.0 and our new developer hub.
If you haven&#8217;t looked at Acre or freebaseapps.com in a while, a lot has changed, and it&#8217;s worth a visit.

What&#8217;s new:

The Acre platform itself is officially at version 1.0, which means API stability.
Our new App Directory makes it easy to find Acre and non-Acre [...]]]></description>
			<content:encoded><![CDATA[<p>At Hack Day, we launched Acre 1.0 and our new <a href="http://freebaseapps.com/">developer hub</a>.</p>
<p>If you haven&#8217;t looked at Acre or <a href="http://freebaseapps.com/">freebaseapps.com</a> in a while, a lot has changed, and it&#8217;s worth a visit.</p>
<p><img src="http://blog.freebase.com/wp-content/uploads/2009/07/freebaseapps.jpg" alt="Freebase developer hub" title="Freebase developer hub" width="500" height="254" class="aligncenter size-full wp-image-1082" /></p>
<p>What&#8217;s new:</p>
<ul>
<li>The Acre platform itself is officially at version 1.0, which means API stability.
<li>Our new <a href="http://freebaseapps.com/apps">App Directory</a> makes it easy to find Acre and non-Acre Freebase apps.  You can search by app name or author, and our featured apps include some of the best ones from the Freebase developer community.
<li>Our <a href="http://freebaseapps.com/docs">developer documentation</a> has been completely revamped.
<li>Our developer tools, including the <a href="http://freebase.com/app/queryeditor">query editor</a>, <a href="http://acre.freebase.com/">app editor</a>, and <a href="http://schemas.freebaseapps.com/">schema explorer</a>, have been improving by leaps and bounds over the last few months.
</ul>
<p>Take a look at our <a href="http://www.youtube.com/watch?v=dF-yMfRCkJc">screencast</a>, too, to see what&#8217;s new:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/dF-yMfRCkJc&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/dF-yMfRCkJc&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebase.com/2009/07/20/acre-1-0-developer-hub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Check out Stefano&#8217;s Schema Explorer</title>
		<link>http://blog.freebase.com/2009/06/26/check-out-stefanos-schema-explorer/</link>
		<comments>http://blog.freebase.com/2009/06/26/check-out-stefanos-schema-explorer/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 20:32:05 +0000</pubDate>
		<dc:creator>skud</dc:creator>
				<category><![CDATA[Acre]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[MQL]]></category>
		<category><![CDATA[Schema]]></category>
		<category><![CDATA[freebase]]></category>
		<category><![CDATA[stefano mazzocchi]]></category>

		<guid isPermaLink="false">http://blog.freebase.com/?p=1022</guid>
		<description><![CDATA[Stefano writes on our developer mailing list:
If you&#8217;re like me, MQL often feels like a combination of power and dark  magic:  some people can whip up a MQL query in no time, like they knew  all about every type, every property and how they link all the various pieces of the graph [...]]]></description>
			<content:encoded><![CDATA[<p><i><a href="http://www.freebase.com/view/en/stefano_mazzocchi">Stefano</a> writes on our <a href="http://lists.freebase.com/mailman/listinfo/developers">developer mailing list</a>:</i></p>
<p>If you&#8217;re like me, MQL often feels like a combination of power and dark  magic:  some people can whip up a MQL query in no time, like they knew  all about every type, every property and how they link all the various pieces of the graph together.</p>
<p>Asking around how people did it, yielded several strategies&#8230; but many basically revolved around using the &#8216;explore pages&#8217; (those magically  revealed by hitting the F8 key on freebase.com).</p>
<p>Then David wrote the new query editor, with the amazing context completion and I thought I was set&#8230; but while my MQL mojo improved a  lot with it, it always felt like something was missing: if I knew the type I wanted, I could get started&#8230; but what if I didn&#8217;t know where to  start? what if I didn&#8217;t know how to construct the query and I needed  some guidance in navigating how the types were all connected together?  (especially with CVTs and whatnot)</p>
<p>I felt like I was in a fog and with no map: finding my way out felt tentative at best, frustrating at worst.</p>
<p>The Jason showed me an acre app he had written a long time ago and that he uses all the time that offered a browsable interface to all the  freebase domains, types and properties, their IDs&#8230; and how they all connect together.</p>
<p>I had found my map.</p>
<p>Unfortunately, while extremely useful already, the schema explorer app needed some love&#8230; so I decided to give it some and the result has been so successful internally that I&#8217;m happy to announce it to the public so that everybody can benefit from it. Find it at: <a href="http://schemas.freebaseapps.com/">http://schemas.freebaseapps.com/</a></p>
<p>I hope you&#8217;ll find it as useful as I do.</p>
<p>NOTES:</p>
<p>1) suggestions/criticism/feature-requests appreciated and welcome</p>
<p>2) this is an acre app and if you&#8217;re curious (or interested in forking it) you can find it at: <a href="http://acre.freebase.com/#app=/user/jdouglas/schemas">http://acre.freebase.com/#app=/user/jdouglas/schemas</a></p>
<p>3) this couldn&#8217;t have been possible without Jason&#8217;s work upon which I built this so kudos go to him while all the mistakes remain mine</p>
<p>4) I&#8217;ve been working on integrating the schema explorer with the upcoming freebase developer&#8217;s documentation hub, so that newcomers won&#8217;t have to hunt down this URL in the mail archives to find a little guidance in the type maze.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebase.com/2009/06/26/check-out-stefanos-schema-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Acre release</title>
		<link>http://blog.freebase.com/2009/06/03/new-acre-release/</link>
		<comments>http://blog.freebase.com/2009/06/03/new-acre-release/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 21:08:32 +0000</pubDate>
		<dc:creator>skud</dc:creator>
				<category><![CDATA[Acre]]></category>
		<category><![CDATA[freebase]]></category>
		<category><![CDATA[release notes]]></category>

		<guid isPermaLink="false">http://blog.freebase.com/?p=793</guid>
		<description><![CDATA[The Acre development team is proud to announce the release of Acre dev/20, which we consider the first &#8216;release candidate&#8217; for Acre 1.0.
This release introduces a considerable amount of improvements in both the app editor and in the Acre engine itself.
APIs cleanup and deprecation
Acre APIs have grown organically, starting by emulating a simple  CGI-like [...]]]></description>
			<content:encoded><![CDATA[<p>The Acre development team is proud to announce the release of Acre dev/20, which we consider the first &#8216;release candidate&#8217; for Acre 1.0.</p>
<p>This release introduces a considerable amount of improvements in both the app editor and in the Acre engine itself.</p>
<p><b>APIs cleanup and deprecation</b></p>
<p>Acre APIs have grown organically, starting by emulating a simple  CGI-like model. Over time, we realized that a request/response model was better suited for Acre apps.</p>
<p>This Acre release marks the deprecation of the old CGI-like model (for example, acre.environ.* and acre.context.*) and the official  introduction of the new request/response objects (acre.request.* and  acre.response.*) which are now the recommended way to interact with the  HTTP request/response life cycle.</p>
<p>It is important to note that even if deprecated, all APIs are still  available and will remain available for a few more releases: we  understand that back-incompatible API transitions are highly disruptive  and we want to minimize the impact we&#8217;re having on our community of  developers. At the same time, we want to avoid disruption later and this  is why we&#8217;re doing this transition now, before a 1.0 release.</p>
<p>It is worth noting that while Acre will execute apps that use deprecated APIs unchanged, it will also log &#8216;warning&#8217; deprecation messages in the console (which can be obtained by adding setting the &#8220;acre.console=1&#8243; parameter in every URL served by Acre).</p>
<p>We highly recommend following those deprecation warnings to update your apps to the new APIs, so that your app will continue to function in the future once the deprecated APIs will be turned off.</p>
<p>The new documentation hub (mentioned below) shows which API methods and variables have been deprecated and what are the new ones that should be used.</p>
<p><b>App Directory and Documentation Hub</b></p>
<p>Acre now has two important new visible parts: the app directory and the documentation hub.</p>
<ul>
<li>The <a href="http://freebaseapps.com/apps">app directory</a> is the place for browsing and searching for apps. When you release an app to a short url it will be automatically added to  the directory.  You can edit its description, or even de-list it, in the General tab of the app menu (click on your app&#8217;s name) in the App Editor. Find the app directory at <a href="http://freebaseapps.com/apps">http://freebaseapps.com/apps</a>
<li>The <a href="http://freebaseapps.com/docs">documentation hub</a> is the place where you can find information  about all the Acre APIs, the Freebase APIs and web services, the MQL  language, etc. It&#8217;s still a work in-progress, but we&#8217;re also excited to  introduce a new documentation viewer that brings together all of our reference documentation &#8212; for Acre, MQL and the Freebase Web Services.  It&#8217;s both available in App Editor from the help menu, as well as stand-alone at <a href="http://freebaseapps.com/docs">http://freebaseapps.com/docs</a>
</ul>
<p><b>App Editor</b></p>
<p>Several important improvements were made in Acre&#8217;s app editor:</p>
<ul>
<li>new query editor: guides you thru the creation of a MQL query with context-based auto-completion. It will also generate a simple acre  template to generate an HTML page from your query and get you going faster.  The keyboard shortcut for invoking &#8220;query assist&#8221; is the Tab key.
<li>code completion: app editor is now is capable of providing  code-completion functionality and guide you during app development thru  the discovery of Acre&#8217;s API and its parameters.  The keyboard shortcut for invoking &#8220;code assist&#8221; is Alt-Space on the Mac and Ctrl-Space on other platforms. Code assist also shows up automatically after you type a period after &#8220;acre&#8221;.
<li>improved app selection menu: makes it easier to move from one app to another with the list of most recently used apps.
<li>console goodies: the log console now has a link to the source code of the page being executed and a breakdown of the &#8216;costs&#8217; of executing the request (useful for profiling).
<li>no more extra blank lines inserted while cutting and pasting code inside app editor.
<li>files are now automatically saved when previewing.
</ul>
<p>NOTE: if you see some weird behavior of the app editor, try &#8217;shift  reload&#8217;-ing it as some browsers are pretty aggressive with caching parts of the application.</p>
<p><b>Engine</b></p>
<ul>
<li>allow ${} substitutions in &lt;script&gt; and &lt;style&gt; tags
<li>error pages have links back to the originating source line
<li>shift-reload now always returns fresh values
</ul>
<p>For more information on all the bugs fixed in this release, you can look at the <a href="https://bugs.freebase.com/browse/ACRE?report=com.atlassian.jira.plugin.system.project:changelog-panel">issue tracker change log</a>.</p>
<p>Happy Acre coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebase.com/2009/06/03/new-acre-release/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Acre release: short URLs, version control, and more</title>
		<link>http://blog.freebase.com/2009/04/03/acre-release-short-urls-version-control-and-more/</link>
		<comments>http://blog.freebase.com/2009/04/03/acre-release-short-urls-version-control-and-more/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 19:24:58 +0000</pubDate>
		<dc:creator>skud</dc:creator>
				<category><![CDATA[Acre]]></category>

		<guid isPermaLink="false">http://blog.freebase.com/?p=491</guid>
		<description><![CDATA[Posting slightly belatedly about this.  Jason recently sent the following release notes to the Freebase developer mailing list:
We just pushed a new release of Acre, our hosted environment for developing Freebase apps and services.
Some highlights of the release:
Short URLs
You can now register a short http://*.freebaseapps.com URL for your app in addition to the http://*.username.user.dev.freebaseapps.com/ [...]]]></description>
			<content:encoded><![CDATA[<p>Posting slightly belatedly about this.  Jason recently <a href="http://lists.freebase.com/pipermail/developers/2009-March/002635.html">sent</a> the following release notes to the <a href="http://lists.freebase.com/mailman/listinfo/developers">Freebase developer mailing list</a>:</p>
<p>We just pushed a new release of <a href="http://freebaseapps.com/">Acre</a>, our hosted environment for developing Freebase apps and services.</p>
<p>Some highlights of the release:</p>
<p><b>Short URLs</b><br />
You can now register a short http://*.freebaseapps.com URL for your app in addition to the http://*.username.user.dev.freebaseapps.com/ URL your app was given when you created it. Registering this &#8220;release URL&#8221; means your app will also be listed in the up-coming App Directory (soon!). To register a release URL for your app, go to the new Versions tab of the app menu.</p>
<p><b>App Versions</b><br />
While there&#8217;s much to love about the live editing nature of Acre&#8230; it&#8217;s not without it&#8217;s downsides. How do you share your app with people without having to worry about breaking it as soon as you resume development?</p>
<p>To address this problem, we&#8217;ve introduced a new versions feature. Versions are addressable snapshots in time of an Acre app. You create a new version of the current state of your app just by giving it a label. That label can then be used in URLs to always refer to that app as of that moment in time, e.g.:</p>
<p>http://label.appname.username.user.dev.freebaseapps.com/</p>
<p>Note that it&#8217;s only the top-level app that is frozen in time. If your app refers to files in other apps, they do not inherit the same timestamp. (If you&#8217;re adventurous, you can try out the new versioned <code>acre.require</code> &#8212; there&#8217;s now a second argument for the label &#8212; but it hasn&#8217;t been thoroughly tested yet.)</p>
<p>In addition, any version can be mapped to the app&#8217;s release URL if you&#8217;ve registered one. So you can create a version, set it as the released version, and then continue developing. Once you&#8217;re at a new safe point, you can the create another new version, update it as the released version, and your users should be seamlessly upgraded.</p>
<p><b>New Debug Console</b><br />
We&#8217;ve made a shift in this release to sending logs back down in HTTP headers (when the x-acre-enable-log request header is present in the request). This change should be transparent other than the fact that the web-based console is now triggered by the presence of an <code>acre.console=1</code> query arg instead of the &#8216;/acre/preview&#8217; path prefix we used to use.</p>
<p><b>console.log to Firebug with FirePHP</b><br />
The switch to header-based logging also now enables the use of the <a href="https://addons.mozilla.org/en-US/firefox/addon/6149">FirePHP</a> Firefox extension with Acre apps. If you can live with the PHP formatting, this is a great debugging tool as you&#8217;ll see all of your console.log statements for every single Acre request&#8230; including AJAX requests and POSTs.</p>
<p><b>New App Editor Design</b><br />
To accommodate all of these new features (and a few more coming soon), we&#8217;ve redesigned the App Editor. The redesign better surfaces the most commonly-used editor functions as buttons while still showing more code. We also got feedback that having the App and File menus next to each other was confusing, so the App menu is now separate and triggered by clicking on the app name in the header. There are many more improvements too, like IE7 and IE8 support&#8230; so just check it out for yourself.</p>
<p><b>New Code Editor</b><br />
We&#8217;ve also upgraded the version of the <a href="http://marijn.haverbeke.nl/codemirror/">CodeMirror</a> library that we use for editing. In addition to fixing a number of bugs, the current line will now be remembered between file switches. Indentation is also no longer forced. So: </p>
<ul>
<li>Tab key now shifts a line to the right rather than re-setting indentation
<li>Highlighting a section and pressing tab shifts the whole section
<li>To re-indent a selection, press shift-cmd-i on a Mac and shift-ctrl- i on a PC.
</ul>
<p><b>Acre API updates</b></p>
<ul>
<li><code>acre.freebase.img_thumb(id, height, width, mode, errorid)</code> has two new arguments: mode and errorid. Mode takes any of &#8216;fit&#8217;, &#8216;fill&#8217;, &#8216;fillcrop&#8217; and &#8216;fillcropmid&#8217;, while &#8216;errorid&#8217; is the ID of the placeholder image to use if an image is not found.
<li><code>acre.form_url(base_url, dict)</code>. This is a new helper API that will take a base URL and append a serialized Javascript dictionary as a query string to it. This is basically the reverse of acre.environ.params.
</ul>
<p><b>Acre API Reference &#038; Code Search</b><br />
We&#8217;re experimenting with a new API browser (much more current and easy to browse, but still lacking some detail), as well as making all Acre scripts searchable so you can find example uses of different APIs. You can try out both from the Help menu in App Editor or directly at<br />
<a href="http://api.freebaseapps.com/">http://api.freebaseapps.com/</a> and <a href="http://codesearch.freebaseapps.com/">http://codesearch.freebaseapps.com/</a>.</p>
<p><b>Faster JSON parsing</b><br />
All of our JSON parsing used to be done in Javascript, which for large requests (like, say&#8230; a big mqlread :-) could get quite slow. In this release, we&#8217;ve switched to a native Java JSON parser which is much faster.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebase.com/2009/04/03/acre-release-short-urls-version-control-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recent updates to Acre, our app development environment</title>
		<link>http://blog.freebase.com/2009/03/04/recent-updates-to-acre-our-app-development-environment/</link>
		<comments>http://blog.freebase.com/2009/03/04/recent-updates-to-acre-our-app-development-environment/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 00:46:57 +0000</pubDate>
		<dc:creator>skud</dc:creator>
				<category><![CDATA[Acre]]></category>

		<guid isPermaLink="false">http://blog.freebase.com/?p=453</guid>
		<description><![CDATA[Jason&#8217;s recently pushed out an update to Acre, Freebase&#8217;s hosted app development environment.  He sent me an email with a list of changes, so here they are verbatim:

acre.response object. With this release, you can now set headers incrementally and from within templates using the new acre.response object.  Previously, the HTTP headers of the [...]]]></description>
			<content:encoded><![CDATA[<p>Jason&#8217;s recently pushed out an update to <a href="http://freebaseapps.com/">Acre</a>, Freebase&#8217;s hosted app development environment.  He sent me an email with a list of changes, so here they are verbatim:</p>
<ul>
<li><b>acre.response object.</b> With this release, you can now set headers incrementally and from within templates using the new acre.response object.  Previously, the HTTP headers of the response could only be set all at once via acre.start_response.  In addition, acre.start_response was only usable from scripts and could not be called from within templates.  While scripts that currently use acre.start_response should continue to work for now, we do plan on deprecating that API in the future.  <a href="http://freebaseapps.com/wiki/acre_api">More documentation here.</a>
<li><b>Easily pass variables to the browser.</b> To make it easier to send a value from a script running in Acre to a script running client-side in the browser, we have added a new convenience method called acre.markup.define_browser_var(value, name).  This new API just outputs a script tag which declares var name = value.  This API is necessary because it&#8217;s not possible to safely support $-substitution within &lt;script&lt; tags.
<li><b>HTML and XML parser changes&#8230; and Sizzle support.</b> These have been moved to acre.xml and acre.html (form XML. and HTML respectively) in order to avoid some conflicts we were having with Rhino&#8217;s internal parsing.  In addition, thanks to Stefano, there&#8217;s now an example of how to use Sizzle (jQuery&#8217;s DOM selector engine) server-side in Acre.  If you have a use case involving web-scraping, then you&#8217;ll want to take a look: <a href="http://sizzle.stefanomazzocchi.user.dev.freebaseapps.com/">http://sizzle.stefanomazzocchi.user.dev.sandbox-freebaseapps.com/</a>
<li><b>App Editor now supports IE7.</b> Finally, some support for that &#8220;other&#8221; browser.  :-)  We haven&#8217;t had a chance to test it as thoroughly as we&#8217;d like, so please let us know at bugs.freebase.com of any issues you find.  IE6 is still not supported (and won&#8217;t ever be) and we&#8217;re waiting for the official release of IE8 to complete support for that one&#8230; although it should work OK in IE7 mode.
<li><b>New API Keys dialog in app editor.</b> If you want to add or remove API Keys (secrets for using third-party services that you don&#8217;t want others to be able to see or clone in your source code) you can now do that from within the app editor itself by picking API Keys&#8230; from the App menu.
<li><b>More oauth providers.</b> We&#8217;ve added built-in support for Google and Netflix.  Because Google requires oauth credentials to have the scope of a specific service, we&#8217;ve defined separate providers for each to make it simpler to use.  You still only need to enter in an OAuth token and secret once for all of the Google services (in the API Keys dialog), however.
<li><b>Caching off by default.</b> We used to send somewhat non-sensical cache control headers by default.  We&#8217;ll be trying to set more intelligent defaults over the next few releases, but for 17 the default is to not cache at all.  However, you can use acre.response.set_header to explicitly set your own cache control headers if you want.
<li><b>Customize your own error page.</b>  Want to provide something more friendly than the &#8220;fail rhino&#8221; to your users?  If you create a file named &#8216;error&#8217; in your app that will be displayed instead of the default error script.  The error information will also be available in acre.environ.error_info if you&#8217;d like to include that in your page.
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebase.com/2009/03/04/recent-updates-to-acre-our-app-development-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Acre Tutorials</title>
		<link>http://blog.freebase.com/2009/01/23/new-acre-tutorials/</link>
		<comments>http://blog.freebase.com/2009/01/23/new-acre-tutorials/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 01:46:35 +0000</pubDate>
		<dc:creator>philg</dc:creator>
				<category><![CDATA[Acre]]></category>

		<guid isPermaLink="false">http://blog.freebase.com/?p=422</guid>
		<description><![CDATA[Some of you might already know about Acre, Freebase&#8217;s hosted application development environment. For those who don&#8217;t, Acre provides an application editor, and an API and templating commands, that let you build applications that use Freebase data and host them on Freebase&#8217;s Acre server.
Anyone with an intermediate-level understanding of HTML and JavaScript can start right [...]]]></description>
			<content:encoded><![CDATA[<p>Some of you might already know about Acre, Freebase&#8217;s hosted application development environment. For those who don&#8217;t, Acre provides an application editor, and an API and templating commands, that let you build applications that use Freebase data and host them on Freebase&#8217;s Acre server.</p>
<p>Anyone with an intermediate-level understanding of HTML and JavaScript can start right in with building Acre applications, but we&#8217;ve also developed <a href="http://tutorials.freebaseapps.com/">a couple tutorials</a> to show you how it&#8217;s done and introduce the Acre API and templating commands. <a href="http://simple-album-lister.tutorials.freebaseapps.com/">The first one</a> shows how to build an application that retrieves information from Freebase using a MQL query and then display the results. <a href="http://simple-album-lister2.tutorials.freebaseapps.com/">The second one</a> takes the static features of the first tutorial a step further, by showing you how to create a user input that overwrites the MQL query, then display images associated with the results and click through to Freebase topics. On top of these there&#8217;s also<a href="http://facebook-app.tutorials.freebaseapps.com/"> a tutorial on how to build a Facebook app</a> using Freebase data.</p>
<p>In the next week or so we expect to publish some more tutorials, including one on how to incorporate the Freebase autocomplete functionality in your applications, and another on how to create an app that writes to Freebase. If you have any questions, feedback, or comments about these or other Acre tutorials, be sure to let us know!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebase.com/2009/01/23/new-acre-tutorials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Acre release notes: OAuth and more!</title>
		<link>http://blog.freebase.com/2009/01/22/acre-release-notes-oauth-and-more/</link>
		<comments>http://blog.freebase.com/2009/01/22/acre-release-notes-oauth-and-more/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 02:45:42 +0000</pubDate>
		<dc:creator>skud</dc:creator>
				<category><![CDATA[Acre]]></category>

		<guid isPermaLink="false">http://blog.freebase.com/?p=413</guid>
		<description><![CDATA[We&#8217;re pleased to announce the most newsworthy update to the Freebase app development platform, Acre, since its launch late last year.

The first and most important feature is the ability to write to Freebase, enabled by OAuth and the API keystore.  We talked about this at our Hack Day back in November, and we&#8217;ve had [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re pleased to announce the most newsworthy update to the <a href="http://freebaseapps.com/">Freebase app development platform, Acre</a>, since its <a href="http://blog.freebase.com/2008/11/07/introducing-acre/">launch</a> late last year.</p>
<p><a href='http://freebaseapps.com/'><img src="http://blog.freebase.com/wp-content/uploads/2009/01/acre.png" alt="" title="acre" width="500" height="307" class="aligncenter size-full wp-image-414" /></a></p>
<p>The first and most important feature is the ability to write to Freebase, enabled by <a href="http://oauth.net/">OAuth</a> and the API keystore.  We talked about this at our <a href="http://blog.freebase.com/2008/11/13/hack-day-photos-and-blog-posts/">Hack Day</a> back in November, and we&#8217;ve had a kind of rudimentary write support for those who wanted to experiment, but now you&#8217;re fully able to write apps that write Freebase data on behalf of any logged-in user, like data entry tools, games, and more.</p>
<p>What&#8217;s particularly interesting about OAuth and the keystore is that you can use them to connect to other providers, such as Yahoo and Google, that provide OAuth authentication.  You can even write to those services using OAuth.  And the API keystore can be used to store arbitrary API keys, not just OAuth secrets, so you can use it to connect to sites like Flickr, Facebook, or Amazon.</p>
<p>Further reading: More detail on <a href="http://freebaseapps.com/wiki/writing_to_freebase">writing to Freebase with Acre</a>, <a href="http://freebaseapps.com/wiki/oauth">Freebase OAuth support</a>, and the <a href="http://freebaseapps.com/wiki/keystore">Keystore</a>.</p>
<p><b>New Acre APIs</b></p>
<p>In addition to new APIs for the keystore and OAuth, there is also <a href="http://freebaseapps.com/wiki/acre_api#console.log">console.log</a> which allows for full object dumping, and new APIs for using Freebase services (including <a href="http://freebaseapps.com/wiki/acre_api#acre.freebase.search">search</a> and <a href="http://freebaseapps.com/wiki/acre_api#acre.freebase.get_user_info">user_info</a>, which did not previously have helper APIs).</p>
<p>Further reading: <a href="http://freebaseapps.com/wiki/acre_api">Acre API reference</a></p>
<p><b>App Editor improvements</b></p>
<p>App Editor has had a ground-up rewrite that is significantly faster, has a new design, and has a couple of nice new features thrown in for good measure:</p>
<ul>
<li>New preview window with a Firebug-style object browser for things logged with console.log
<li>A new &#8216;App&#8217; menu for moving, deleting and changing the authors of an app (none of which was there before).
</ul>
<p>Further reading: <a href="https://bugs.freebase.com/browse/ACRE/fixforversion/10720">See all bugfixes and improvements in this release</a>.</p>
<p><b>Find out more at our user group meeting</b></p>
<p>We&#8217;re having our semi-regular San Francisco user group meeting next Tuesday, Jan 27th, and members of the Acre team will be demonstrating the new features and taking Q&#038;A.  Please attend!  <a href="http://upcoming.yahoo.com/event/1478570/">RSVP via upcoming.org</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebase.com/2009/01/22/acre-release-notes-oauth-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
