Model-View-Controller
First there was Last.fm’s
site
redesign, now there’s
Facebook’s.
Both have been given a hard time, however I don’t personally give a
flying fuck about their website design. The ONLY useful thing
from last.fm is the artist information. Fuck the personal statistics.
Fuck the Shoutboxes. Fuck the Friends. The ONLY reason accounts
exist is to prevent spamming which would skew the artist information
database. So, do you want to see how last.fm REALLY looks? Well there
are a few styles:
text
and
XML.
There is also an API (Application
Programmer’s Interface) available, but it requires an account to use so
it can go and die in a bin.
If you are particularly clueless
about how computers work then you might be thinking to yourself “those
look like shit”, and you would be right. However, structure is FAR more
important than presentation, and those documents are well structured.
The reason thinking along those lines is clueless is because such people
have never seen a computer program, they’ve never pressed the View
Source button in their Web browser and they’ve never taken apart any
gadgets in their life. Those of you who have done at least one of those
things will know that beauty is only skin deep. A website might look
pretty, but the HTML the pages are made of look as ugly as sin. The HTML
will have a decent structure though, which means a Web browser can be
stuck in between the user and the HTML to make it look
pretty.
What I am saying is that last.fm allow access to
their database in a structured way, which allows applications (which are
completely stupid and need to be told exactly what to do, hence the need
for structure) to display the data in whatever the hell way the user
wants. You don’t need to use their website, since code for putting data
into and getting data from last.fm exists inside every decent music
player (Amarok, Banshee, Listen, etc.). Your choice of application is
completely up to you, and you can keep using that application for as
long as last.fm’s web services maintain their current structure. If the
structure or protocol or something changes, then that’s not too bad for
anyone using a well written piece of Free Software. If you’re using a
proprietary program to display it then you’re knackered and I hope
you’ve learned a valuable lesson.
Now let’s look at the
recent Facebook change. Can I access Facebook’s database via a well
defined and structured interface? Can I bollocks. That means I’m stuck
with whatever the almighty Facebook deities bestow upon me, and I’d
better pray that I like it because it’s all they allow me. Thank fuck I
don’t use it.
For those of you who haven’t realised it by now
I am talking about the
Semantic Web and
the Model
View Controller architecture. In the
World Wide Web
the stuff that gets passed around is
HTML. That HTML can
contain any data, is layed out in a certain way and the structure is
very freeform, as long as it meets a few rules defined in the HTML and
XHTML standards. The Semantic Web is
different. In the Semantic Web the data is structured in a very specific
way, in
RDF
triples to be precise. There is NO layout in the Semantic Web, since it
is not about anything visual like pages, it is about concepts
and meaning. Applications you use which can access the Semantic
Web (there are as many as people can create, rather than the Web’s
singleton the Web Browser) can do whatever the hell they like with the
structured information they receive. There’s no arguments about the
layout and look of a semantic Facebook because there’s NO SUCH THING as
the “layout” or “look” of anything on the Semantic Web. The layout and
look are ENTIRELY up to the user and which program they decide to view
it with. Some users may even view it with applications they access via
the World Wide Web.
PS: I would just like to point out the
first sentence of Wikipedia’s World Wide Web article:
“The
World Wide Web (commonly shortened to the Web) is a system of
interlinked hypertext documents
accessed via the Internet.”
Thank you.