Software for creating a software gallery/"app store"-like system?
October 4, 2013 1:09 PM   Subscribe

Our academic software project needs a self-hosted software gallery or "store", not to sell anything but rather to let people find and download software. I think what would work well is a store/gallery system similar to http://apps.usa.gov and http://apps.shopify.com (except our software is not mobile, but rather desktop software). Does anyone know of an open-source "app store infrastructure" system that we could use as a starting point?

We need the system to be something we can host ourselves (i.e., not a cloud-based service). The software to be listed in this gallery/store is desktop software, not mobile software, and the software packages are written in all types of languages (C, Java, Python, etc.). I would much prefer Linux-based solutions and not Windows-based systems. It doesn't much matter to me what language the system it is written in; I think we can make do with anything. The gallery/app store does *not* need to provide a commerce or purchasing system, nor does it need to provide mobile smartphone access. The store/gallery software system should be open source if possible, though a reasonably priced (for academics!) closed-source self-hosted system would do too.

(I tried to find the source code to apps.usa.gov but failed—if someone knows where to find it, could you point me to it? It might be all I need.)
posted by StrawberryPie to Technology (9 answers total) 3 users marked this as a favorite
 
Various versions of Linux have things like that. For instance, in Ubuntu there is the Ubuntu Software Center, although that might be overkill for your purposes.
posted by number9dream at 1:35 PM on October 4, 2013


The Spree Platform might get you going on the right path. It's an open source ecommerce store package, though I believe it is possible to run it without a purchasing system.
posted by ndfine at 2:03 PM on October 4, 2013


There are plenty of open source shopify alternatives out there, but if you don't need shopping cart or ecommerce functionality, just a browsable tree of categories and product pages, then really pretty much any CMS at all should be suitable.

Some of the more blog-oriented CMSs, Wordpress for example, would include a lot of functionality you wouldn't need, so you might be better off starting with a more generic system like Drupal or Joomla -- but really the right choice boils down to personal taste.
posted by ook at 2:12 PM on October 4, 2013


I agree with ook, you don't need an app store with the automatic updates and all, you need a CMS. I'm partial to Wordpress because not only is it easy to install, but it's also super easy to make it look good visually out of the box.

You could get a theme you like (maybe something set up like Pinterest?), make a post for each piece of software (you could easily automate that if you have the information in a all in one place, like a spreadsheet), include a link to the exe/dmg/zip/tar/whatver, and you'd be all set.
posted by Nonsteroidal Anti-Inflammatory Drug at 2:40 PM on October 4, 2013


Who is creating the apps? Are you creating and listing all of them? Or are you going to have a partner login the way Shopify does?
posted by radioamy at 3:05 PM on October 4, 2013


Thanks for the suggestions so far.

@radioamy: The software applications are written by other people in our community of users. There are 250+ software packages so far. These are scientific software packages, and package each has many facets that we want to list as part of their entries in this gallery/catalog/store. These characteristics are things such as as type of algorithm used, type of user interface (GUI, command-line, etc.), library vs end-user program, data standards supported, and more. The gallery/catalog/store is pretty clearly going to need a database backing it to store all this metadata. To create entries, I will need to create a forms-based interface so that software authors can indicate the different characteristics of their software. The software authors will want to have their own logins so that they can update the entries for their software when needed, although my group (as the coordinators and site maintainers) will no doubt have to do a little bit of curation and updating of entries ourselves. Finally, the users of the site will want to be able to filter and search for software based on characteristics or tags.

For these reasons, using a CMS does not strike me as a good starting point in this case. (However, it was a good suggestion, based on the limited information I provided originally.)
posted by StrawberryPie at 6:42 PM on October 4, 2013


If you're planning on creating your own form interface anyways for your users, maybe check out MIT's Exhibit javascript app. The "Cereal Characters" demo seems like it does the type of sorting and categorization you're looking for and it uses a JSON file as a back-end, so if you can just rig whatever stores your form data to provide it as properly-escaped JSON then Exhibit can slurp it up to display it in the browser.
posted by XMLicious at 9:01 PM on October 4, 2013


I'm a big fan of noDB CMS options when possible. Stacey Template #3 is a pretty clean gridded gallery out of the box. There is no search functionality. A project consists of a folder, with a text file and some pictures. The pictures get loaded, the text file gets parsed for partials/variables. It's PHP. There are no user accounts.

Jekyll is another favorite of mine, and works similarly, but I haven't seen a gallery template. It'd be easy enough to write. You can create a simple search function. Again, there are no user accounts, but you can host it on github and give people access, or accept pull requests. That might be too kludgy.

I'm a Drupal person myself, but for something so simple I'd probably steer people towards their $100/year hosted platform, and outsource all the account management and server maintenance, while being able to make full site backups. A custom WP install will be able to do all the same stuff, but as far as hosted sites, it offers a lot of bang/buck.
posted by Jack Karaoke at 1:33 AM on October 5, 2013


Finally, the users of the site will want to be able to filter and search for software based on characteristics or tags.

Not to beat a dead horse, but that's still totally a CMS. Drupal is based around the entire concept a taxonomy, and most other CMS systems can handle that as well.


The C in CMS is "content", and that's exactly what you have. That fact that it includes a download link is mostly a red herring.


As far as users, I've worked with Wordpress's users system out of the box, and it's pretty robust, especially when you throw a plugin or two at it. Drupal and Joomla have a similar feature set.
posted by Nonsteroidal Anti-Inflammatory Drug at 12:45 PM on October 5, 2013


« Older What's a good email checking-and-handling program...   |   How do I invest in quantum computing? Newer »
This thread is closed to new comments.