|
|
|
|
Welcome to openFace!
...online archiving software
It's been over three years since I decided to embark upon my own personal
content management ssystem (CMS) specifically for powering my personal
archival space on the internet,
www.kevinludlow.com.
My first version of such a software package was designed under the guidelines
that database designs were not only unnecessary, but also that they provided
gaping security problems to the average user. As a result, my first CMS (which
incidentally has powered www.kevinludlow.com
for the past several years) was
designed such that the administrator could use databases for support, but that
the resulting website would be 'built' and hence all pages would actually be
static. Given the system was driven by pluggable modules, it was titled
staticMOD.
Though the staticMOD system worked well, it became more and more clear that in order for a
CMS to be truly dynamic, it could not rely upon the administrator to 'build' new
database remarks into the static pages. After coming to that sad realization, I
discontinued building the finer features of staticMOD
In the summer of 2006, I began working on new concepts for how a true personal archival
package should be built, and specifically how it should differ from the typical content
management system. The system should avoid more techincal features commonly used for
allowing administrators to set up slashDot style websites, and should rather focus on
the aspects truly desired by users: photo support, video support, personal blog, contact
capabilities, and etc. Additionally that all aspects of text should be taggable in a
wiki-like style thus allowing visitors to truly learn about the website owner's world.
After over a year of here-and-there planning, the first bits of code were written on
the 19th of July, 2007. From then on, the software package has slowly been transformed into
the vision I have had for it all along.
Some of the more interesting features, in my opinion, deal specifically with how entities are
tagged throughout the openFace system. For example, say you are looking at a scanned
photo over 80 years old of relatives, perhaps your grandparents. openFace has the unique ability
to not only let you discern who is who in the picture, it will also tell you roughly (or in most
cases exactly) how old the individuals are in the photo. Additionally, you have the ability to
click on the individual and read more about them and how they pertain to my life. The same profile
display will link you to various stories about the individual, any video footage I may have of them,
some personal information, and of course will allow you to view all images with said individuals.
As far as the look of openFace goes, it may strike you that the website has a remarkably similar
look and feel to Facebook. Though I suppose it is safe to say this is no coincidence, no portion
of Facebook was used to design this website. Additionally, no codebases, external or otherwise, were
in any way borrowed from Facebook. I simply feel that of the social networking sites available online
Facebook is the only one that has done it right as far as a clean interface goes. My imitation of that
cleanliness is nothing shy of flattery to the web-layout team over at Facebook.
To expand on the previous statements, all code was written from the ground up in Linux shells using
nothing more than VIM. The codebase is primarily written in PHP, though it also relies heavily upon
JavaScript, CSS, and of course HTML. To date, the entire codebase (including comments)
is in excess of 16,000 lines. The entire API is also documented with the help of Doxygen.
Though there are still many features and functions on the way, some of which are even discussed in
the former paragraphs, I hope you'll enjoy the first
new version of my content management system personal archival system,
openFace!
|
|
|