About
OutSCIRT was originally conceived as a web-based HTPC front-end circa 2007. During the rise of homebrew DVRs, a variety of software solutions with a variety of features were made available. Some performed well, but only within certain narrow activities, such as DVRs, game launchers, video players, etc. I found myself desiring a solution that would bring these platforms together: a launcher to connect launchers. Concurrently, I found myself wanting to prove that this could be done through web technologies that were common between operating systems (e.g., PHP, HTML, JavaScript, etc.), so that there would be easy transferability between systems. So, I began coding what became OSOMSOS (Open System Object Management Operating System).
The original OutSCIRT from 2007, previously known as OSOMSOS.
As I continued this journey, I began looking at applying many of the foundational architecture concepts to web sites. In short, I began looking at how solutions could be reused or shared rather than reinvented. Login systems, data storage, and reuse of templates became examples of what could be conceptually shared between websites and HTPC front-ends. From there, OSOMSOS morphed into OpenSOMS (Open System Object Management System), which began abstracting the sharing of functionality between various systems; e.g., I pondered if a framework could be extended to other uses, such as an interface for a home-connected (wall-mounted) tablet, a photo gallery manager, and even a virtual "flip card" quizzer. The common thread was that there was an architecture that allowed for time to be spent on building an idea, rather than reinventing how data would be stored/utilized, access would be managed, and how the presentation would be displayed.
Now known as OutSCIRT, the current state separates data, areas (containers of content or functionality), functions (server and client side), PageTypes (purposes), layouts, and styles. As an extensible framework system (EFS), it allows for mixing and matching of functionality and presentation types, with the added flexibility to layer in other open source solutions such as jQuery, Fancyapps, Google Analytics, and so forth. Functions (such as content sanitization) can also be replaced by the user, as long as it follows a pseudo-"black box" model of providing an inputted value with the expectation that a processed value will be provided in return. The aim is also to minimize dependencies; for example, storage is managed through XML files, meaning that an installation does not requires a SQL server, and that means less configuration and dependencies when using on different devices. Functionality and architecture are also abstracted so as to be as reusable as possible, rather than specific to an isolated use case.
As OutSCIRT evolves, other use cases will be introduced, and as needed, functionality will be abstracted further to encompass those use cases. In the meantime, I share with you OutSCIRT as a solution that I developed for the many needs I've had. Perhaps you too will find value in it.
- Hijinio Reynoso