Get Off My Lawn

Adventures of a Curmudgeon

Smalltalk Reboot

Smalltalk, Seaside; Final Answer!

I’m not ashamed to say I’ve been struggling with BF3 Squad, my Battlefield 3-focused web application. I had selected the technology stack: Padrino and Postgres, briefly considering RailsAPI and Ember.js. I had a Look and Feel loosely defined; I even started writing up an HTML mock-up. But I wasn’t happy with my progress, or lack thereof.

But…it’s all about to change again…

Realizing I wasn’t making any progress and, indirectly, pressured by the upcoming Battlefield 4 release, I decided I would take a different tack. At it’s core this application consumes JSON data. I decided I would implment the core functionality and just display the raw JSON, delaying the Look and Feel exercise until I need it. ViĆ³la! I had a plan of attack.

However, more imporantly, I was inspired by Stephen R. Baker (he came and spoke at my Ruby Users Group) I’m going back to Smalltalk, Seaside in particular. Oh, my beloved Smalltalk.

I feel confident I have the general work flow defined; I have some spike code written even. And, in my mind’s eye, nothing, application-wise, changes. I have a different set of deployment issues, but that’s OK. I believe, with Seaside and Smalltalk, I’ll be able to write the core application in short order.

What I believe is the absolute lowest level of functionality consists of the following requirements:

  • Make an HTTP request to an API end-point that returns JSON data
  • Store JSON data, as-is
  • Display JSON data

Now, there are some rules regarding the sending of the API request. And there may be some rules regarding the storing of the JSON data. But other than those two variables, the above list is all this application will do.

At a later point I want to add Accounts and authentication and authorization. I want people to be able to sign up for my application. I want people to be able to add All of their Battlefield soldiers. But I can delay that functionality until I need it.

I’m excited. And I can’t wait to show you some code (once it’s written) and the application (once it’s deployed).