Galaxy Portal Cross-Platform App Development and Dissemination Master's Thesis Claus Børnich
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSITY OF OSLO Department of Informatics Galaxy Portal Cross-platform app development and dissemination Master’s thesis Claus Børnich Spring, 2015 Abstract This thesis presents the development of an app for mobile devices intended to access the Galaxy bioinformatics service to monitor the status of running analysis jobs. The Galaxy service is widely used in bioinformatics and uses a web-interface, but the interface design did not anticipate the rapid adoption of mobile technologies, such as smartphones and tablets, and so is difficult to use on a small touchscreen device. A bioin- formatics project in Galaxy can often involve several steps where each step depends on the results of previous computations. The analysis processes for such computation jobs can run for a long time, potentially days or weeks. Further progress often depends on the result, and may require new such jobs, creating a chain of analysis processes building upon previous results. The Galaxy Portal app developed in this thesis provides a way for researchers to easily monitor the status of their jobs on a mobile device as a more con- venient and efficient way to track progress than returning to a computer at regular inter- vals. The app was developed as free and open source software using the GNU General Pub- lic License (GPL), using a cross-platform framework, with the source history, binary re- leases and user guide freely available on the GitHub code repository. A completed version of the app was also distributed on multiple operating system platforms, including the Android and Apple's iOS marketplace, and so is freely available to be installed on an iPhone, iPad or any Android device. The app is currently on version 1.1 with focus on monitoring running jobs, but also provides additional functionality for inspecting results and metadata. Developing a mobile app using the GPL open source license created legal challenges that were overcome by dual licensing the software and underlying framework. As part of this thesis a short paper was written and submitted to a scientific journal, and additional authors from the faculty at the university of Oslo and the Galaxy team in the US were invited to participate. Preface With my thesis I wanted to develop not just a proof of concept app, but a complete product available for researchers to install and use. Before starting my master I did not have any experience developing mobile apps and so I had to learn all aspects of the pro- cess and I have tried to share the key insights of this learning in this thesis. In order to achieve my goal of creating and distributing an app there were many prac- tical hurdles that had to be overcome, such as purchasing developer licenses for those platforms, creating marketplace screenshots and descriptions, setting up forums for invit- ing testers, filling out forms to obtain content ratings and so on. I also decided to write a user guide to illustrate how to use the app and what it could do, and in order to use the open source GNU General Public License (GPL) I had to ensure that the source would be available with each release. Using the GPL caused its own problems which was only solved by obtaining a commercial license for the Qt framework the app is built on and dual licensing the app. My supervisor was very supportive and helped me arrange for the University to cover the costs, but this created its own practical problems of transferring license ownership. Taken together all the many small and large practical steps that had to be taken to get the app out into the wild added a lot of extra work and time that is not easy to account for. However, going through the process, reaching out to potential users and exchanging emails with Qt support and sales has been enlightening, and provided me with a much better insight into what it takes to turn an idea into a software product. When presented with the idea by my supervisor of publishing in a scientific journal I jumped at the chance, but it did mean adding a second goal to this thesis. The plan that was agreed and followed was for me to write an initial version without any external guid- ance or input to include as my own work, and then to invite co-authors to contribute to a revised version for submission. There is a lot of code written for the app and readers are encouraged to investigate the source, report any bugs found, and if so inclined do a fork and develop it further. Thank you for reading. Acknowledgements Geir Kjetil Sandve – My supervisor for giving me the freedom to find my own way while offering advise, support and direction when needed. For organising the weekly Mas- ter student group meetings at the BMI department so that we could learn from each oth- er and encouraging a friendly and fun learning environment. For participating in and helping to organise the collaboration on the Bioinformatics journal paper. For assisting in getting developer accounts and licenses, and not least for lending me both his iPhone and iPad to enable the release of an iOS version of the app. Martin Čech - Galaxy Team Member from Pennsylvania State University for testing the app, contributing to the scientific journal paper and providing valuable feedback pointing out bugs, a better way to log in and not least who’s encouragement helped mo- tivate further development at an early stage. Jonas Paulsen and Eivind Hovig – For agreeing to work with me on the scientific journal paper and providing suggestions for both the paper and the app. Sveinung Gundersen and Morten Johansen – For help getting started with Galaxy when I did not know anything about how to use the API. Wolfgang Leister and Trenton Schulz – For taking the time to answer my ques- tions about licensing, and to Wolfgang and Nils Damm Christophersen for teaching a very interesting and incredibly useful course on the subject of licensing and FOSS. Nils Damm Christophersen – For being interested, encouraging and contributing to make the university a friendly place. Family – Last, but certainly not least. Making it possible for me to do a degree by providing me with invaluable support, understanding and not least assuming both the night and day shift on countless occasions in the loving care of our baby daughter so that I could work on my app, journal and thesis. Contents Part I - Background 17 1 Introduction 19 1.1 Goals..............................................................................................................................21 1.2 Overview......................................................................................................................21 1.2.1 Part I - Background..........................................................................................................................21 1.2.2 Part II - Implementation..................................................................................................................21 1.2.3 Part III - Dissemination....................................................................................................................21 1.2.4 Part IV - Discussion..........................................................................................................................22 2 Mobile Technologies 23 2.1 Mobile Applications....................................................................................................23 2.2 Mobile Software Platform Market.............................................................................24 2.3 Cross-Platform Deployment......................................................................................27 2.4 App Design Considerations.......................................................................................28 3 Licensing 30 3.1 Open Source Software.................................................................................................30 3.2 Licensing of the Software Ecosystem.......................................................................31 3.2.1 GPL and LGPL License....................................................................................................................31 3.2.2 MIT License.......................................................................................................................................32 3.2.3 BSD License.......................................................................................................................................32 3.2.4 Apache License.................................................................................................................................33 3.2.5 Academic Free License....................................................................................................................33 4 Mobile Development 34 4.1 Mobile Platform Development..................................................................................35 4.1.1 Android App Development............................................................................................................35 4.1.2 iOS App Development.....................................................................................................................39 4.1.3 Windows Phone...............................................................................................................................40 4.2 PhoneGap.....................................................................................................................41 4.2.1 Background.......................................................................................................................................41