The balance of UI elegance; Learning from the Dickbar CoffeeScript, Whitespace, and Coffee
Mar 17

Give me a REST, I just want to get my Message across

Tech Add comments

messagesgami

2011. HTML5^H. JavaScript everywhere. Cross platform mobile. The “Post-Java malaise”. The user experience bar.

It is an exciting time to be developing software. We have multiple stacks that make building the server side easier, and we are on the precipice of pushing into real Ajax. Real modern clients. We are going beyond the world of sprinklin’ some JavaScript into an HTML page.

Progressive enhancement used to be the only viable option because most (by percentage) of the browsers hitting your site kinda sucked. Thus, it made sense to give them an experience of some sorts but enhance that experience for those that could deal with it.

Now, we even have a decent browser from the IE family. It feels like the days of IE5 :)

Since the tables have turned, we then get this crazy idea that we can build for the rich majority…. and regressively degrade for the poor buggers who aren’t able to up their browser due to crazy IT departments or illegal Windows versions. Lord of the shims and polyfills. We have been doing some fun work to make this work in an automated fashion, but that is for another time.

When you start building applications on top of WebSockets (and degrading) you also start to think about different architectures. WebSockets gives us a rich, fast, bi-directional pipe between the client and server. Whether you are a Socket.IO lover with Node++, or an Enterprise sort on Kaazing, you can start to deal with a very simple messaging API (that degrades).

Suddenly, you are building with a rich client MVC framework (enjoying Backbone and the like) but instead of mapping back to REST (which Backbone makes easy) why not deal with publishing and subscribe to topics?

No more polling. Instant real-time. These messages can piggy back and even go straight to the land of MOMs (JMS, Stomp-iness, etc). Now on the server you have loosely coupled processes that consume messages and do their work. Scaling out with a loosely coupled messaging infrastructure is so much easier to deal with that RPC madness.

I am having some fun with this type of infrastructure, and I am curious indeed to see where it leads. You?

2 Responses to “Give me a REST, I just want to get my Message across”

  1. Santosh Rajan Says:

    I was pretty much thinking about this, and am equally curious about this. I was researching this subject. And then I checked to see if my HTC Desire HD, Android 2.2 supported web sockets. Alas No. Back to degrading, polling. I am still curious.

    There is a interesting discussion on quora about two services one going the http streaming way and the other web sockets way.
    http://www.quora.com/What-are-the-competitive-advantages-of-Pusher-vs-PubNub

  2. Jesse Kuhnert Says:

    Yes to the asynchronous durable (or not) work queues part. I accidentally found amazon SQS (I think?) message queue service stuff with additional nice things like locks which sound like tuple spaces.

    Also am somewhat excited at the new github based Apollo project stright up rewrite of activemq using a model that plays well with scala actors and such.

Leave a Reply

Spam is a pain, I am sorry to have to do this to you, but can you answer the question below?

Q: What are the first four letters in the word British?