summaryrefslogtreecommitdiff
path: root/_posts/2007-12-21-a-new-approach-to-development.markdown
blob: 1fcc39e03a0c93faaaf5caafa5753a998a987d20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
---
layout: post
title: A new approach to development
tags:
- Development
status: publish
type: post
published: true
meta:
  _edit_last: '1'
---
As the Web users number increases, so does the number of Web collaborators,
should we call them this way. In fact, we keep watching the wonderful things
the Web has brought since Tim Berners Lee. Today we see a lot of applications
and a lot of content that increases everyone's attention to one thing: the
Internet is not just for richest and the most powerful. It reaches everyone.

Developers should take this seriously, as we are Web users as well. We all
enjoy beautifully crafted web pages and the seamless complexity of a web
application like <a title="Facebook" href="http://facebook.com">Facebook</a>,
<a title="Drupal" href="http://drupal.org">Drupal</a>, <a
href="http://digg.com">Digg</a>, <a href="http://del.icio.us">del.icio.us</a>,
amongst others. Have we even noticed what's underneath it all? Sounds
interesting... I want to share a very simple guideline that's amazingly
powerful for anyone to grab onto: <em>high-level interfacing.</em> Imagine
anything you want. I'm picking a blog, for example; like this one. Yea, that's
right: this very blog has this guideline applied.

A blog as we know it has some basic features:

  * has several "entries";
  * can be commented by anyone (registered or not);
  * can be categorized and it is run by it own author, like a journal.

Now imagine yourself with your journal in front of you, all you have to do as
an author is write in it. As a reader, you just want to read and comment it.
You just wished you had a button called "Post!" and a button called "Post
comment!". It's all part of the same thing, the same object.  Wait a minute:
this reminds me of those boring C++ classes where the teacher yelled at us:
"It's a single object, with its unique methods!". Well, why not try the same
thing in your tiny little webapp?

Start thinking about the things our blog example can do. Each feature you think
of should be a function of our new Blog class/interface - I'd rather consider
this an interface, so it can be implemented in any way you like -.  At the end
of it all you'll come up with a neat, professional and clean set of functions
organized in a single structure, thus gaining sense for the user that actually
uses it and for the developer that immediately recognizes the whole structure
and workflow.

This is high-level information processing; a new approach to web development.