BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//pretalx//talks.osgeo.org//foss4g-2022-academic-track//speaker//3Z
 UFMM
BEGIN:VTIMEZONE
TZID:CET
BEGIN:STANDARD
DTSTART:20001029T040000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20000326T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:pretalx-foss4g-2022-academic-track-KB7UV9@talks.osgeo.org
DTSTART;TZID=CET:20220825T113000
DTEND;TZID=CET:20220825T120000
DESCRIPTION:1. Introduction\n\nFor most end-users\, the term ‘software’
  is equivalent with executing a given application to obtain a desired resu
 lt. Moreover\, the highest importance is usually attributed to the softwar
 e being free to use. Besides intuitive use\, a key requirement for success
  and wider acceptance of a software application is easy access\, which is 
 often facilitated though open-source projects. While users naturally only 
 care about stability and functionality of the software\, software develope
 rs often see their task completed once the application reaches a certain d
 egree of maturity and its source code is made available. However\, in addi
 tion to ease of use and targeted software development\, a third component 
 in the life cycle of software design [Vogt 2019] is the software provision
 . The importance of adequate software dissemination entails a wide range o
 f aspects\, which are often undervalued but are crucial to best meet end-u
 ser expectations and to achieve the highest application acceptance. \nIn t
 his manuscript\, we outline a perspective on approaches to appropriately a
 ddress issues of software provision aimed at promoting software in an effi
 cient way. We illustrate the motivation and features of various aspects of
  software provision on the recently published software GWB [Vogt et al.\, 
 2022] [1] and its implementation on the FAO cloud computing platform SEPAL
  [2]. \n\n\n2. Software provision\n\nThis section summarises reflections o
 n various aspects when disseminating a software application.\n \n* Source 
 code: The provision of the source code is often perceived as a final produ
 ct delivery. However\, most end-users cannot make any use of the source co
 de because they do not understand the programming language\, do not know h
 ow to compile it or how to properly link required dependencies. The large 
 number of Linux distributions provides an additional challenge due to vary
 ing inter-dependencies of distribution-specific compiled libraries and pac
 kaging policies. Packaging - the conversion of source code into a function
 al executable binary - is a science on its own and is beyond the skills of
  a typical end-user.  \n\n* Target platform: Maximum outreach is achieved 
 through a software setup that will work on as many platforms and operating
  systems (OS) as possible. \n\n* Software packaging: The scope of packagin
 g is to bundle the entire application into a single archive\, including or
  linking OS-specific dependencies\, pre- and post-installation instruction
 s\, and the integration into the OS via menu entries. Examples are rpm and
  deb-packages (Linux)\, dmg-packages (macOS)\, and exe/msi-packages (MS-Wi
 ndows). Packaging allows for efficient system-wide software management: in
 stallation\, upgrades\, and removal of the application and provides applic
 ation access to all OS users. However\, it also requires administrator rig
 hts\, which are not available on many secured or closed IT environments\, 
 such as in government agencies\, where users may fully access a limited OS
 -space only\, i.e.\, their $HOME directory. Yet\, this situation can be ad
 dressed by setting up the software and all required components in a self-c
 ontained single directory\, which is then compressed into a self-extractin
 g installer. Any user can then download such a standalone installer\, extr
 act it and have full access to the application without administrator right
 s. A similar result can be achieved with a Docker container [3].\n\n* Docu
 mentation: Documentation is crucial for software adoption\, including a us
 er manual\, product sheets with application examples\, and guided instruct
 ions in workshop material. The manual should also be completed by a user c
 ommunity to help end-users answer the questions they will raise while usin
 g the software. Developers of the tools should be actively involved in tac
 kling these questions [Srba et al.\, 2016].\n\n\n3. Application\n\nThe Gui
 dosToolbox Workbench (GWB) [Vogt et al.\, 2022] provides various generic i
 mage analysis modules as command line scripts on 64-bit Linux systems.  In
  this section we use GWB to exemplify how we addressed the software provis
 ion points mentioned before.\n* Source code: in addition to the distributi
 on-independent compiled executables we provide the plain text source code 
 for all modules in a dedicated subdirectory of the application.\n* Softwar
 e packaging: all modules are launched via customised Bash scripts and setu
 p in the IDL programming language [4]. Because IDL provides its own set of
  highly efficient processing libraries\, all scripts and required librarie
 s can be stored in a single\, distribution-independent application directo
 ry. Combined with customised packaging setup-files\, this archive is then 
 converted into distribution-specific packages for common Linux distributio
 ns. In addition\, we provide a generic standalone installer using the make
 self [5] archiving tool. The standalone installer can be used on any Linux
  distribution for either\, system-wide installation\, or installation in u
 ser space on restricted systems\, i.e.\, under $HOME. All installer packag
 es include two sample images and module-specific usage descriptions\, aime
 d at generating sample output illustrating the features of each module.\n*
  Target platform:  With its focus as a server-application\, GWB is setup f
 or the Linux OS\, which can also be used on a regular desktop PC. The inst
 allation on cloud computing platforms\, including an interface to upload/d
 ownload personal data\, greatly enlarges the outreach into the user commun
 ity and allows usage of the software from any device having a Web browser 
 and Internet access. A Jupyter [Kluyver\, T.\, 2016] based application was
  developed within the SEPAL platform [2]. This application uses widgets an
 d interactive displays to help the end-user provide personal data to the s
 oftware. This application is developed in Python using the sepal-ui [8] fr
 amework\, embedding a fully independent set of requirements. As the applic
 ation is run using the voila dashboarding tool [QuantStack\, 2019]\, the e
 nd-user is never confronted with the CLI\, vastly improving the scope of p
 otential end-user to non-IT experts.\n* Documentation: the project homepag
 e [1] provides a brief overview and installation instructions. Highly deta
 iled usage instructions are available on SEPAL for the command-line use [6
 ] and the interactive Jupyter dashboard [7].\n\n\n4. Conclusion\n\nSoftwar
 e provision is an often overlooked yet critical component in software desi
 gn. It comprises various aspects\, which when addressed appropriately\, ca
 n make a great impact in the promotion\, outreach and acceptance of a soft
 ware application.
DTSTAMP:20260722T225524Z
LOCATION:Room Modulo 3
SUMMARY:Tackling the challenges of software provision - Peter Vogt\, pierri
 ck rambaud
URL:https://talks.osgeo.org/foss4g-2022-academic-track/talk/KB7UV9/
END:VEVENT
END:VCALENDAR
