After thinking about a new concept for our website for quite some time (and answering endless questions about newer projects and why there are no website projects to be found on the old website) we came up with the idea that the most interesting thing to say about us is our projects. So we decided our new website should be one huge interrelated project database.
But as days come and go, clients visit us or call, and projects need to be shown here and there we noticed that the particular collection of projects we wanted to show at any given time was never the same. At one time we need to show all projects done with a special piece of technology, next time done for a certain client. Also we have things we need to say with many projects, like the technology used or the type of the project.
So we came up with the idea of a combination of tags and entities.
Yes. Tags are the smallest unit of this website. They are used as mere keywords, but also as a tool to structure content, to mark a group of projects that have something in common, like a technology or a certain thematic context.
Just enter a url like http://www.meso.net/php (where “php” is the tag) and you’ll get an automatic view of all projects done with php. Nobody programmed this view, it’s generated completely automatically, so we call it the autoview of a tag.
Entities are the building blocks of our website. They are, as we call them, democratical information units, because there is no hierarchy among entities. An entity comes into existence as soon as texts, images and files are attached to a tag. The tag is no longer a keyword, but a “page” of our site.
Besides the usual content types like texts and images we are also able to integrate other entities into the current content, just like reusable text blocks. Just as an example I integrated this entity (that talks about “what is an entity”) as a paragraph into the text about our new website (here if you aren’t already reading the text about our new website).
This makes for an infinitely flexible system while avoiding inconsistencies and ugly copypasting.
And (we hope) a fun tour for you, the reader, jumping around our projects, the heart of our work.
The multiviewer is a flexible way to integrate large numbers of visual content into our website. But this time it’s not only about plain ol’ images. The multiviewer makes it also ridiculously easy to integrate movies and flash content into our entities.
The whole website system is based on our current favorite backend framework, Ruby on Rails:
“Ruby on Rails ":http://www.rubyonrails.com is an Open Source web framework that’s optimized for programmers happiness and sustainable productivity. Web development that doesn’t hurt, but still enables us to get right where we want to.
“Des Pudels Kern (The gist of the matter)” of Ruby on Rails is a dynamic, open source programming language with a focus on simplicity and productivity named Ruby. The basic Idea of Ruby’s creator Yukihiro “matz” Matsumoto is a neutral and unobtrusive so to speak aesthetic language. The connotation “trying to make Ruby natural, not simple” amplifies the widely spread object-oriented programming paradigm by adding subjectiveness (humanization) to the objectiveness.
One of the primary focus is productivity. "Often people, especially computer engineers, focus on the machines. They think, by doing this, the machine will run faster.
“Ruby is simple in appearance, but is very complex inside, just like our human body (”about Ruby":http://www.ruby-lang.org/en/about)."
Only a few coders worldwide focused on Ruby since its public release in 1995. In 2006 – not at least a merit of the “killer application” RoR – Ruby achieved mass acceptance ranking nowadays within the top 10 of the TIOBE Programming Community Index.