|About All Things...|
Publish / Subscribe
|...taking programming beyond:|
Threads, Message Queues, Client-Server, CORBA, Web Services, SOAs, Agents, Synchronous Architectures, Imperative Programming - and even Applications, Desktops and Documents
|...works for ThoughtWorks UK; originally from April 2002 to July 2007 and now recently re-joined. Previously worked as a Web Architect for the Financial Times.|
|...went to both UCL and Imperial College of the University of London (in the Eighties); specialising in Logic during his MSc.|
|...wonders when his LinkedIn Account will be useful|
|...has a phone-cam, and used it on himself once, just before his weekly shave:|
|...can be contacted by
and followed on Twitter.
December 19, 2008 17:05
Mobiles are unique - if you want to miss out on the opportunity they represent, you
could choose to see them as just slow computers with tiny interfaces and dodgy Internet
connections. Then try to squeeze in your traditional applications; try squeezing the
office desktop metaphor with its sedentary documents into a device the size of a mouse!
Alternatively, see them as the most personal, social and dynamic of devices that are
becoming connected to the Internet. Now a multi-billion-scale global opportunity opens
up to you. That's customers and dollars! In trying to grasp this, some are calling
it 'Mobile 2.0', by analogy with its sibling, Web 2.0.
In that light, the Killer App for Mobile 2.0 is the sharer, masher and updater of
People, Things, Times and Places... The key to getting Mobile 2.0 right is for it to
merge seamlessly into our lives. That means the handling of dynamic and shared data
becomes the top priority, even above the handling of applications.
This article describes a Mobile 2.0 platform that makes people and their stuff first
class - not applications.
July 18, 2008 19:49
can talk to
I've been thinking again about RESTful Virtual Reality.
I'm not the first, of course. Others have been motivated by the same
goal: To bring the Web's scalability, linkability and interoperability
into Virtual World platforms.
Ultimately, how to use the same techniques as the Web to link
Virtual Worlds together into a single, massive 'Virtual Universe'.
Here's how I would architect the Universe Web...
June 26, 2007 15:17
Web 2.0's definition
includes seeing the Web as an application platform. Which means it
is in competition with Java and .Net, and with SOA, for both local
and widely distributed applications.
If the Web is going to be a platform, the skills you need to learn
to program it are the core Web 2.0 technologies such as Ajax, JSON,
Atom, Microformats and OpenID.
And Ruby. This language, that's capturing the hearts of many Web 2.0
programmers, is ideal for easing the transition from the Java
and .Net platforms to the Web platform, as I will show.
Even if you're part of a big company that is generally immune to the
latest trends, the marriage of Ruby and the Web-as-platform may be
something to prepare for. It could even displace your SOA agenda...
June 23, 2006 17:58
Open Data ..
Openness is a classic Us-and-Them issue. Big, nasty
Apple/MySpace/Flickr is trying to control what little
me/SingleStatus/Zoomr can do with my/our own stuff.
Open Data vs. Closed; Open Source vs. Proprietary; P2P vs. DRM;
privacy vs. surveillance. The battles between the freedom of
the pioneer, the individual and the minority against the rules
and stability of the establishment and the majority form the
endless shape of human history.
Us beating Them is Hollywood's favourite subject on-screen -
and ironically Them fighting Us Hollywood's favourite battle
As an Us-and-Them issue, with Us less powerful than Them, it's
also tempting to give up and to follow the crowd - to do what
we're told, to not ask for or sieze the privacy and open data
we feel entitled to.
However, at XTech 2006 recently, there was a set of talks on
the subject with a more positive approach.
March 22, 2006 17:00
Declarative Architectures focus on the What, not the How, of programming. The How has dominated the field - perhaps 80% of programming is done in the traditional Imperative style, where we tell the computer How to do a task in explicit steps.
I'd like to show in this blog how Declarative Architectures and technologies are not just an interesting sideshow to the main Imperative attraction, but a complete and powerful programming alternative in their own right - indeed, one which has already dominated certain fields.
Imagine being able to simply express What we want the computer to do - to give it constraints and rules - then let it work out for itself How to achieve our goals.
I believe that saying What, not How, will become the dominant paradigm in programming.