<div dir="ltr"><div>Happy New Year, everyone!  We're poking our heads up through the snow here in New England to bring you our latest engineering updates!<br></div><div><br></div><div><b>Collection API</b><br></div><div><br></div><div>One of the new features to come out of our most recent sprint is a <a href="http://arvados.org/issues/4823">revised Collection API</a> that more closely resembles the classic POSIX filesystem API. The Arvados storage system, <a href="http://arvados.org/projects/arvados/wiki/Keep">Keep</a>, is a content-addressed storage system that doesn't offer a POSIX interface for accessing data.  A <a href="https://arvados.org/projects/arvados/repository/revisions/7bf8f6c701e28e574c137b0c942522e8f8ee4d8c">few sprints ago</a>, we released an interface that presents Arvados data streams as "file-like objects", but the overall collection API still just isn't very similar to the POSIX calls that Unix and Linux programmers are so familiar with.</div><div><br></div><div>Our new release brings us much closer to that goal, offering users a single API for both reading and writing collections, with familiar methods for addressing files like <font face="monospace, monospace">open()</font>, <font face="monospace, monospace">rename()</font>, <font face="monospace, monospace">remove()</font> and so on. We anticipate that new users will find it much easier to get into the flow of using Arvados with these patterns, and existing users will find it more convenient to port pipelines to Arvados.</div><div><br></div><div><b>Crunch failure reporting</b></div><div><br></div><div>Another useful new tool is a <a href="https://arvados.org/issues/4598">Crunch job failure report</a>. At present, while Crunch reports every job failure and success into Arvados, identifying the underlying causes of failed jobs can be a little tedious.  Moreover, a breakdown report that gives visibility into why jobs have failed can be a huge boon to debugging.</div><div><br></div><div>With this tool, an administrator can now set up a nightly report breaking down job failures over the last 24 hours -- or get a report over any time period at all.  We've already used this tool in development to help quickly debug knotty job failures, and expect that Arvados administrators everywhere will find it a great help.</div><div><br></div><div><b>New User Interfaces</b></div><div><br></div><div>We're also experimenting with newer ways of writing more responsive interfaces.  Our primary interface to Arvados, <a href="http://doc.arvados.org/user/getting_started/workbench.html">Workbench</a>, is written as a <a href="http://rubyonrails.org/">Rails</a> application that uses the Arvados API instead of a local database. This makes it easy for Rails developers to work on, but also means that every request to Arvados goes through two software layers, which doubles the latency for every action a user takes.</div><div><br></div><div>Since December we've been working with newer JavaScript frameworks like <a href="http://lhorie.github.io/mithril/">Mithril</a> and <a href="https://angularjs.org/">Angular</a> to build a pure JavaScript interface to Arvados that eliminates the need for a Workbench middle layer entirely.  Our recently-launched collection uploader tool is written in Angular, and we've used Mithril to build an experimental administrative interface we're calling "Backstage."  The improved responsiveness we're getting from these tools is really showing a lot of promise, and we hope to have lots more to show you soon!</div><div><br></div><div>Thanks to everyone for your ongoing input. Please give us a shout if you have any questions or idea for us!</div><div><br></div></div>