Thursday, February 28, 2013

Target Technology Stack

To support my work in completing my Open and Networked PhD one of my major tasks will be developing software. My current thinking is I will be developing an internet portal to allow people to bring together their digital badges. I want to provide people a way to bring together all their validated learning accomplishments into one place for display and supporting analytics.

For software development I need to choose a technology stack, or the server software and programming language(s) I will use for development. This will be a LAMP stack for the following reasons;
  1. I have already been developing on LAMP for a number of years. So any additional learning curve for this project will be shallow.
  2. I see LAMP to be the technologies of;
    • Linux (or Ubuntu)
    • Apache (Web Server)
    • MongoDB (Database) - this replaces MySQL as it is now owned by Oracle and can no longer be considered non-proprietary.
    • PhP - used with HTML5 and CSS3 in an MVC pattern
  3. I want to choose an open and popular platform currently used within the education technology space.This stack, with the exception of MongoDB, is used by WikiMedia, Moodle, Drupal, and Wordpress. Pretty much all the major players in the Open Education space.
  4. I will host all this on rackspace... because I've used them for a number of years, for a number of clients, and they totally rock!!!
  5. I seriously considered node.js and it may become a part of the project as I more deeply explore the openbadges infrastructure... this would add to my learning curve.
  6. I will most likely use github for source code librarianship... but I wonder about the best approach and schedule to releasing my work into the open. Mostly, I think about working for free and releasing my work at the correct time.