-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathresearch-software-development-post-pc.html
268 lines (189 loc) · 28.2 KB
/
research-software-development-post-pc.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<!-- Mirrored from soundsoftware.ac.uk/research-software-development-post-pc by HTTrack Website Copier/3.x [XR&CO'2014], Tue, 01 Aug 2017 18:43:54 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Research software development in a “post-PC” world | Sound Software .ac.uk</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="sites/soundsoftware.ac.uk/files/favicon.png" type="image/x-icon" />
<link type="text/css" rel="stylesheet" media="all" href="sites/soundsoftware.ac.uk/files/css/css_96672be50d2b2bf1d283b8d9324e7be5.css" />
<link type="text/css" rel="stylesheet" media="print" href="sites/soundsoftware.ac.uk/files/css/css_9cb387b73479bd590fedb6ec230dc035.css" />
<!--[if IE]>
<link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/zen/zen/ie.css?j" />
<![endif]-->
<script type="text/javascript" src="sites/soundsoftware.ac.uk/files/js/js_5be44a4bd1f33d1988c9f73fe4b7f463.js"></script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, { "basePath": "/", "googleanalytics": { "trackOutbound": 1, "trackMailto": 1, "trackDownload": 1, "trackDownloadExtensions": "7z|aac|arc|arj|asf|asx|avi|bin|csv|doc(x|m)?|dot(x|m)?|exe|flv|gif|gz|gzip|hqx|jar|jpe?g|js|mp(2|3|4|e?g)|mov(ie)?|msi|msp|pdf|phps|png|ppt(x|m)?|pot(x|m)?|pps(x|m)?|ppam|sld(x|m)?|thmx|qtm?|ra(m|r)?|sea|sit|tar|tgz|torrent|txt|wav|wma|wmv|wpd|xls(x|m|b)?|xlt(x|m)|xlam|xml|z|zip" } });
//--><!]]>
</script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
(function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,"script","http://www.google-analytics.com/analytics.js","ga");ga("create", "UA-18698611-1", { "cookieDomain": "auto" });ga("set", "anonymizeIp", true);ga("send", "pageview");
//--><!]]>
</script>
<link rel="alternate" type="application/rss+xml" title="Subscribe" href="rss.xml" />
<meta name="google-site-verification" content="gKmyKIK_OFaFd5f07E7wIMUM59VMmUIZc7xa3qKgFEo" />
</head>
<body class="not-front not-logged-in node-type-story two-sidebars page-research-software-development-post-pc section-research-software-development-post-pc">
<div id="page"><div id="page-inner">
<a name="navigation-top" id="navigation-top"></a>
<div id="skip-to-nav"><a href="#navigation">Skip to Navigation</a></div>
<div id="header"><div id="header-inner" class="clear-block">
<div id="logo-title">
<a href="index.html" title="Home" rel="home">
<div id="site-name"><strong>
Sound Software .ac.uk </strong></div>
</a>
</div> <!-- /#logo-title -->
</div></div> <!-- /#header-inner, /#header -->
<div id="main"><div id="main-inner" class="clear-block with-navbar">
<div id="content"><div id="content-inner">
<div id="content-header">
<h1 class="title">Research software development in a “post-PC” world</h1>
</div> <!-- /#content-header -->
<div id="content-area">
<div id="node-121" class="node node-type-story"><div class="node-inner">
<div class="content">
<p><i>This article was written for the blog of the <a href="http://www.software.ac.uk/blog/2012-12-05-research-software-development-post-pc-world">Software Sustainability Institute</a>.</i></p>
<p>These are interesting times in consumer computing. We’re in the middle of what seems likely to be a generational shift from the traditional desktop and laptop PC to what have been called “<a href="http://www.theverge.com/apple/2012/7/12/3151491/fighting-words-apple-post-pc-microsoft-pc-plus">post-PC</a>” devices.</p>
<p>The term “post-PC” typically refers to modern smartphones running iOS or Android, and also to devices such as touch tablets that are closer in size and utility to a conventional PC. From a user perspective the most distinctive thing about these devices is the touch interface. But just as significant, from the point of view of the researcher developer, is the way software development and distribution are handled.</p>
<p><a name="The-“app-store”-model"></a></p>
<h2 >The “app store” model<a href="#The-“app-store”-model" class="wiki-anchor"></a></h2>
<p>The thing that every “post-PC” device has in common, no matter what the device or who makes it, is the “app store” model for software distribution. This is a means of simplifying the discovery and installation of software for the end user, by restricting distribution from the developer through a single managed channel.</p>
<p>For most users this is an improvement over earlier, more ad-hoc distribution models. But it has implications for users who also develop software, as is typical of researchers. There are two main limitations of the app store model for researcher developers.</p>
<p><strong>You can’t necessarily install software you and your colleagues have written.</strong> You can only install software on your own device through the manufacturer's app store, or using a specially configured connection with your own development PC. If you want to put your own software in the app store so anyone else can get it, you need to pay a fee—often an ongoing annual fee—and pass the manufacturer’s review process.</p>
<p><strong>You can’t just sit down and develop on the device.</strong> Using the device itself to develop applications that behave like proper, first-class native apps is usually either impractical or forbidden; there is a very limited range of development environment options; and many of the facilities relied on for developer best practice (such as a filesystem to manage version control with) are absent.</p>
<p>These limitations vary in extent—Android for example is much less restrictive about installing third-party software than iOS—but they exist to some degree on all post-PC platforms.</p>
<p>Limitations like these could cause serious problems for open and sustainable scientific software development. Or the changed landscape could present an opportunity to start working at a higher level and in a more collaborative way than ever before.</p>
<p>Either way, it's vital to be aware of what is happening and what it means to us.</p>
<p><a name="Why-does-it-matter-We-still-have-PCs…"></a></p>
<h2 >Why does it matter? We still have PCs…<a href="#Why-does-it-matter-We-still-have-PCs…" class="wiki-anchor"></a></h2>
<p>It matters partly because these new devices offer exciting new capabilities that we should be taking advantage of. But it also matters because “we”—the existing body of research software developers—don’t get to control what devices our current and future colleagues will want to use. If a generational shift is happening, it happens whether we want it to or not.</p>
<p>Let’s look at the figures. During 2011, around 350 million traditional PCs were sold worldwide. That was the first full year in which the iPad was available, and in that year 67 million touch tablets running iOS or Android were sold. (Sources: <a href="http://www.canalys.com/newsroom/smart-phones-overtake-client-pcs-2011" class="external">Canalys</a>, <a href="http://latimesblogs.latimes.com/technology/2012/01/ipad-tablet-sales-android.html." class="external">Strategy Analytics</a>.) The iPad alone therefore took about 10% of the combined PC market in that first year.</p>
<p>In 2012 the market for touch tablets grew by about half. Apple sold nearly 60 million iPads by the end of October and numerous new competitors appeared including Google's Nexus 7, Samsung's Galaxy Note series and the Microsoft Surface. Meanwhile sales of traditional PCs were flat at best, giving touch tablets perhaps 25% of the combined PC market in 2012. Apple are now selling more iPads than any individual PC manufacturer is selling PCs. (Sources: <a href="http://bgr.com/2012/10/10/worldwide-pc-shipments-2012-decline/" class="external">IHS iSuppli</a>, <a href="http://www.engadget.com/photos/apple-ipad-sales-topped-100-million-two-weeks-ago-0/." class="external">Apple</a>.)</p>
<p>What’s more, each of the tablets is broadly compatible with its equivalent smartphone, and there are 750 million of those out there. That means a very high level of user familiarity with the new devices’ interaction models and software distribution mechanisms. Android is now level with Windows 7 as the world’s most widely-used operating system. (Sources: <a href="http://www.zdnet.com/apple-q4-2012-hardware-sales-by-the-numbers-7000006435/" class="external">Apple</a>, <a href="https://plus.google.com/u/0/110023707389740934545/posts/R5YdRRyeTHM" class="external">Google</a>, <a href="http://www.zdnet.com/with-600-million-sales-windows-7-closes-on-xp-4010026342/" class="external">Microsoft</a>.)</p>
<p>Equally revealing is the response of the major incumbent in the PC market, Microsoft. With the Windows 8 family they now have a broadly unified operating system across smartphones, tablets, and hybrid touch PCs in which the app store is the primary distribution model. In every current Windows operating system, applications distributed outside the app store—including all Windows 7 applications—are either presented as legacy software or forbidden entirely.</p>
<p>There’s a typical cycle when a new class of computing device appears. A smaller, initially lower-powered device appears that’s cheaper and more widely available than the previous generation. Users quickly become familiar with it and start to rely on its new capabilities—greater portability or a more powerful interaction model—making it their primary device for personal use. These users want to do more and more of their everyday work on them; initially this means accepting a compromise on power, but the newer devices quickly catch the previous generation in power and there is then no reason to go back. We’ve seen this with the arrival of workstations and laptops, and although of course it can’t be expected to happen every time a new device is invented, it seems plausible that it may happen again here. It might soon seem ridiculous to have to depend on a traditional PC for your lab work when you’re carrying a touch tablet of almost the same processing power around with you already. Research students will be using these devices most of the time, and they will want to develop with them too.</p>
<p><a name="So-how"></a></p>
<h2 >So, how?<a href="#So-how" class="wiki-anchor"></a></h2>
<p>How does one develop software for an “app store” device?</p>
<p><strong>Using a separate development PC.</strong> The standard "app developer" model for these devices consists of using a separate PC to write software, which is then pushed to the device, where it runs.</p>
<p>Two of the three current mainstream “post-PC” platforms—Android and Windows RT—allow you to write and deploy software to your own device for testing without paying a fee. But all three platforms require a fee, a contractual agreement, and manufacturer approval if you want to distribute software to the public at large. For Android the fee is a one-time payment, but the others require an ongoing annual fee.</p>
<p>Technically, this approach is complicated by the fact that the three mainstream platforms all have quite incompatible development environments and frameworks. Writing apps that work across outwardly-identical devices that happen to run different operating systems is presently a difficult task even for a professional software house. It’s also not always ideal to have to build a self-contained app for every research idea.</p>
<p>Besides cost and complexity, there is a tension between the app developer model and open publication and open access. Partly this is a problem of principle: what does it mean to publish your software and methods openly, if you can then only distribute it through a locked-down delivery channel? But there are practical implications as well:</p>
<ul>
<li>Is it realistic to consider your work to be reproducible, if it would be necessary to build an app on a separate device and perhaps even get it accepted in an app store in order to reproduce it?</li>
</ul>
<ul>
<li>How realistic is it to reuse code that can’t be compiled on the only platforms it runs on?</li>
</ul>
<ul>
<li>How sustainable is a piece of software if it can only exist for as long as its developer keeps paying the app store deployment fees?</li>
</ul>
<p>Also, there are commonly incompatibilities between app store terms and the use of popular open-source software licences such as the GPL.</p>
<p>In the end though, the fundamental problem with this model is that it can’t satisfy the desire to use one’s everyday device as a development tool. The eternal compulsion to hack suggests that ways must be found to do research development without demanding a separate PC to do it on.</p>
<p><strong>Developing on the device itself.</strong> If the “app developer” model isn't very practical for sustainable research work, is there an alternative? Can we write and run software on the device itself? Of course these devices are not yet suitable for large-scale data processing, but many daily research development tasks are smaller exploratory works that should run fine on an iPad or other tablet.</p>
<p>Only Android amongst these platforms offers the option of developing first-class native apps on the device itself, using the <a href="https://play.google.com/store/apps/details?id=com.aide.ui&hl=en" class="external">AIDE</a> environment. Although in principle this removes a major obstacle to development, the issues of complexity, portability, and redistribution remain.</p>
<p>For higher-level or dedicated scientific development the options appear limited. Some development environments using high-level portable languages such as Python are available (for example, <a href="http://omz-software.com/pythonista/" class="external">Pythonista</a> on iPad), as well as environments such as <a href="http://twolivesleft.com/Codea/" class="external">Codea</a> originally designed for game development. But the iPad lacks a traditional user-visible filesystem or support for dynamic loading of code modules, rendering some facilities often relied on for good management of code, such as version control or modular plugin systems, inefficient or unavailable.</p>
<p><strong>Coding “in the cloud”.</strong> A suitably configured environment hosted at an institution or on a commercial cloud service can support exploratory code development and remote execution through a browser interface using a language like Python (with the <a href="http://www.randalolson.com/2012/05/12/a-short-demo-on-how-to-use-ipython-notebook-as-a-research-notebook/" class="external">IPython Notebook</a>) or <a href="http://julialang.org/" class="external">Julia</a>. A comparable option is available for MATLAB in the shape of <a href="http://www.mathworks.co.uk/mobile/faq.html" class="external">MATLAB mobile</a> from MathWorks.</p>
<p>If the facilities are available, and the requirement to be always online is not an issue, a setup like this has many advantages. It provides persistence across multiple client devices and eliminates the immediate portability problem of getting software running locally. The persistent nature of these systems should also make it possible to retain a readable record of code experiments, facilitating academic publication and reuse. And it can potentially give access to much greater computing power than is available locally.</p>
<p>On the other hand, getting such an environment set up can still be challenging. While a lab notebook format should be suitable for academic dissemination, it might not be so appropriate for software to be distributed to users outside the immediate academic environment. And although in-browser cloud environments have more opportunity than a terminal emulator to provide interactive or graphical facilities, they can’t work with all of the local hardware, particularly for features like sensors or audio.</p>
<p>Even so, it’s clear that cloud computing has a lot of potential for active exploratory research programming, not only in its more traditional role coordinating offsite processing tasks.</p>
<p><strong>A hybrid approach?</strong> If the most fundamental problem with developing “on the device” is a lack of support for code management, persistence, provenance and sharing, and the problem with developing “in the cloud” is a lack of access to native facilities, can a hybrid alternative work? A local high-level language environment, backed by versioning and project support in the cloud, could be a powerful approach. Services such as GitHub already provide many of the necessary online facilities.</p>
<p>One thing that is apparent is that there should be fewer technical and organisational obstacles to development using Android than iOS or Windows RT. However, in line with the view that users will want to develop for the device they already have, it's clear that an ideal environment would be usable regardless of which platform your device happens to run. How close we can get to the ideal remains to be seen: it's likely that manufacturers would reject any solution that made it possible for researchers to develop sophisticated software and distribute it to non-researchers on multiple platforms without going through the app store.</p>
<p>There are plenty of possibilities to be investigated here, and we’re going to be putting some time into looking more closely at them during the coming months. If you have any further thoughts, or experience to share, we’d very much like to <a href="mailto:info@soundsoftware.ac.uk">hear</a> from you!</p>
<p><small><i><b>Note:</b> This article has been updated to correct an error in the original. The original article said that an annual fee was required to distribute software for all of these platforms; as correspondents have pointed out, this is not true for Android (where the Google Play Store requires a one-time fee only and the platform can also be configured to accept installations from sources outside the Play Store).</i></small></p>
</div>
<ul class="links inline"><li class="comment_forbidden first last"></li>
</ul>
</div></div> <!-- /node-inner, /node -->
</div>
</div></div> <!-- /#content-inner, /#content -->
<div id="navbar"><div id="navbar-inner" class="clear-block region region-navbar">
<a name="navigation" id="navigation"></a>
<div id="primary" class="clear-block">
<!-- <ul class="links"><li class="menu-245 first"><a href="/resources" title="">Resources</a></li>
<li class="menu-117"><a href="/activities" title="Activities">Activities</a></li>
<li class="menu-116 last"><a href="/aboutus" title="">About</a></li>
</ul> -->
<ul class="menu"><li class="expanded first"><a href="resources.html" title="">Resources</a><ul class="menu"><li class="leaf first"><a href="tools.html" title="Tools and Facilities">Tools</a></li>
<li class="leaf"><a href="handouts-guides.html" title="Printable Handouts and Guides">Handouts/Guides</a></li>
<li class="leaf"><a href="videos.html" title="Videos and slide presentations">Videos/Slides</a></li>
<li class="leaf"><a href="programming-examples.html" title="">Code examples</a></li>
<li class="leaf last"><a href="archive.html" title="">Blog archive</a></li>
</ul></li>
<li class="expanded"><a href="activities.html" title="Activities">Activities</a><ul class="menu"><li class="leaf first"><a href="rr-prize.html" title="Reproducible Research Prizes">Reproducible Research Prizes</a></li>
<li class="leaf"><a href="soundsoftware2014.html" title="SoundSoftware 2014: Third Workshop on Software and Data for Audio and Music Research">SoundSoftware 2014</a></li>
<li class="leaf"><a href="soundsoftware2013.html" title="SoundSoftware 2013: Workshop on Software and Data for Audio and Music Research">SoundSoftware 2013</a></li>
<li class="leaf last"><a href="soundsoftware2012.html" title="SoundSoftware 2012: Workshop on Software and Data for Audio and Music Research">SoundSoftware 2012</a></li>
</ul></li>
<li class="expanded last"><a href="aboutus.html" title="">About</a><ul class="menu"><li class="leaf first"><a href="overview.html" title="Our aim">Our aim</a></li>
<li class="leaf"><a href="aboutus.html" title="">Who we are</a></li>
<li class="leaf last"><a href="contact.html" title="Contact us">Contact us</a></li>
</ul></li>
</ul> </div> <!-- /#primary -->
</div></div> <!-- /#navbar-inner, /#navbar -->
<div id="sidebar-left"><div id="sidebar-left-inner" class="region region-left">
<div id="block-block-9" class="block block-block region-odd odd region-count-1 count-1"><div class="block-inner">
<div class="content">
<p><a class="twitter-timeline" href="https://twitter.com/soundsoftwareuk" data-widget-id="368361225786126337" height="500" width="auto" data-chrome="nofooter noborders transparent" data-border-color="#3e442c" data-link-color="#be5600">Tweets by @soundsoftwareuk</a></p>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> </div>
</div></div> <!-- /block-inner, /block -->
<div id="block-views-recent_stories-block_1" class="block block-views region-even even region-count-2 count-2"><div class="block-inner">
<h2 class="title">Recent notes</h2>
<div class="content">
<div class="view view-recent-stories view-id-recent_stories view-display-id-block_1 recentnotes view-dom-id-5e2911aa8e4f977ca3a9e5b811ea4bb9">
<div class="view-content">
<div class="views-row views-row-1 views-row-odd views-row-first">
<div class="views-field views-field-title"> <span class="field-content"><a href="rr-prize-mlsp-2014-winners.html">MLSP Prizes for Reproducibility: Winners announced!</a></span> </div>
<div class="views-field views-field-teaser"> <div class="field-content"><p>Announcing the winners of the MLSP 2014 and SoundSoftware.ac.uk Prizes for Reproducibility in Signal Processing, organised by SoundSoftware.ac.uk in conjuction with the IEEE Signal Processing Society for the 2014 IEEE International Workshop on Machine Learning for Signal Processing.</p>
</div> </div> </div>
<div class="views-row views-row-2 views-row-even">
<div class="views-field views-field-title"> <span class="field-content"><a href="soundsoftware2014-videos-available.html">SoundSoftware 2014: Videos now available!</a></span> </div>
<div class="views-field views-field-teaser"> <div class="field-content"><p>The SoundSoftware 2014 workshop, our third annual workshop on software and data in audio and music research, was just as enjoyable as the previous two. Because so much research in this field ends up being expressed through software, a software workshop turns out to be all about the means by which research becomes useful and relevant to people other than the original researchers—fertile ground for interesting and thought-provoking talks.</p>
<p>The workshop videos are now available online at <a href="soundsoftware2014.html" title="http://soundsoftware.ac.uk/soundsoftware2014">http://soundsoftware.ac.uk/soundsoftware2014</a>, so if you weren't able to make it in person, catch up here!</p>
</div> </div> </div>
<div class="views-row views-row-3 views-row-odd views-row-last">
<div class="views-field views-field-title"> <span class="field-content"><a href="soundsoftware2014-registernow.html">Register now for the SoundSoftware Third Workshop!</a></span> </div>
<div class="views-field views-field-teaser"> <div class="field-content"><p>Our third annual one-day workshop on Software and Data for Audio and Music Research takes place on the 8th of July 2014 at Queen Mary, University of London. The workshop includes talks on issues such as robust software development for audio and music research, reproducible research in general, management of research data, and open access. <a href="soundsoftware2014.html">Read more here</a>, clear your calendar, and register now!</p>
</div> </div> </div>
</div>
</div> </div>
</div></div> <!-- /block-inner, /block -->
</div></div> <!-- /#sidebar-left-inner, /#sidebar-left -->
<div id="sidebar-right"><div id="sidebar-right-inner" class="region region-right">
<div id="block-search-0" class="block block-search region-odd odd region-count-1 count-3"><div class="block-inner">
<div class="content">
<form action="http://soundsoftware.ac.uk/research-software-development-post-pc" accept-charset="UTF-8" method="post" id="search-block-form">
<div><div class="container-inline">
<div class="form-item" id="edit-search-block-form-1-wrapper">
<label for="edit-search-block-form-1">Search this site: </label>
<input type="text" maxlength="128" name="search_block_form" id="edit-search-block-form-1" size="15" value="" title="Enter the terms you wish to search for." class="form-text" />
</div>
<input type="submit" name="op" id="edit-submit" value="Search" class="form-submit" />
<input type="hidden" name="form_build_id" id="form-8mQ9Ac4wn8wdj6h9JLwqTkx1vaE6rcixbAyZz218on4" value="form-8mQ9Ac4wn8wdj6h9JLwqTkx1vaE6rcixbAyZz218on4" />
<input type="hidden" name="form_id" id="edit-search-block-form" value="search_block_form" />
</div>
</div></form>
</div>
</div></div> <!-- /block-inner, /block -->
<div id="block-block-8" class="block block-block region-even even region-count-2 count-4"><div class="block-inner">
<div class="content">
<p><a href="archive.html">Archive</a></p>
</div>
</div></div> <!-- /block-inner, /block -->
</div></div> <!-- /#sidebar-right-inner, /#sidebar-right -->
</div></div> <!-- /#main-inner, /#main -->
<div id="footer"><div id="footer-inner" class="region region-footer">
<div id="block-block-1" class="block block-block region-odd odd region-count-1 count-5"><div class="block-inner">
<div class="content">
<p><span class="f-left"><a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/" target="_blank"><img alt="Creative Commons Licence" style="margin-top: 2px; margin-right: 4px; border-width:0; float:left; " src="http://i.creativecommons.org/l/by-nc/3.0/88x31.png" /></a><span>This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/">Creative Commons Attribution-NonCommercial 3.0 License</a>.<br /> © 2011 Queen Mary University of London </span></span><span class="f-right"><a rel="rss" href="rss.xml" target="_blank"><img alt="Subscribe to this site's RSS feed" style="margin-top: -2px; margin-right: 4px; border-width:0; float:left; " src="sites/all/themes/soundsoftware/socialnet_icons/rss_16.png" /></a><a rel="twitter" href="http://twitter.com/soundsoftwareuk" target="_blank"><img alt="Follow us on Twitter!" style="margin-top: -2px; margin-right: 4px; border-width:0; float:left; " src="sites/all/themes/soundsoftware/socialnet_icons/twitter_16.png" /></a><a rel="linkedin group" href="http://www.linkedin.com/groups?mostPopular=&gid=3472350" target="_blank"><img alt="Join or follow our LinkedIn group" style="margin-top: -2px; margin-right: 4px; border-width:0; float:left; " src="sites/all/themes/soundsoftware/socialnet_icons/linkedin_16.png" /></a></span></p>
</div>
</div></div> <!-- /block-inner, /block -->
</div></div> <!-- /#footer-inner, /#footer -->
</div></div> <!-- /#page-inner, /#page -->
</body>
<!-- Mirrored from soundsoftware.ac.uk/research-software-development-post-pc by HTTrack Website Copier/3.x [XR&CO'2014], Tue, 01 Aug 2017 18:43:54 GMT -->
</html>