Let’s Make a Single Page Web

Constraints in design can never be avoided. Every problem has a context, and every context has its own unique set of constraints. So it is with web development. Early websites were simply static HTML pages that you requested from the server. Each new page you go to is a completley new request with completely new HTML. Sites began implementing layouts on websites that kept consistent headers and footers across all pages. So although users are seeing the page go blank and then reload, sites would still attempt to create a smooth experience thoughout.

Now, in 2012, not much has changed. Sure, we have more friendly routing and much faster page loads, but the experience has remained roughly the same. For every new page a user navigates to, the browser window goes blank and a completely new page is rendered.

With the introduction of AJAX, and its popularization by libraries like jQuery, the web has seen a giant leap in development. Single page applications have been built that are able to recreate both the functionality and the experience of native desktop apps. These applications have consistent navigation, and using AJAX and Javascript the app will render new pages and update data without re-rendering what doesn’t need to be re-rendered. This is the web of the future.

(more…)

Status: A Status Manager for Hubot

Remember the days of instant messaging on AIM? Setting status messages, going ‘away’, avoiding people you don’t want to talk to. Well now you can bring that great form of asynchronous communication to your Hubot-enabled chatroom. (more…)

HAML – Whichever Way You Like It

Along with SASS, I began using Haml about 9 months ago and never looked back. It’s such a treat to write clean, concise syntax that is both easier to read and easier to write.

I’ve read a couple articles arguing against using Haml, but I simply don’t buy it. If you want to waste your precious time writing verbose markup and making sure you’ve closed all your tags, go right ahead. Brandon Keepers wrote an interesting article titled, HAML: the unforgivable sin, in which he said, “Typing is not my bottleneck in coding. Thinking is”. I would definitely agree with that statement were he speaking of Rails, Javascript, or some other object-oriented coding language, but it’s hardly the case with HTML. Writing HTML markup is hardly a mentally draining dask. I would even argue that if you’re writing clean, syntactically correct markup you giving little thought to low-level design challenges that you will eventually solve with CSS. Granted, there are some situations when writing markup for complex web apps that require a bit more brain power, but on the whole you should be writing straight forward markup that displays your content. And when you’re writing straight forward markup typing is your biggest bottleneck. (more…)

Advanced SASS Mixins & Color Functions

It was about 9 months ago that I first discovered SASS and fell back in love with CSS. And now that I’ve discovered it, I can’t stand to style without it. I do whatever I can to make sure I can write in SASS using Rails, Compass, Brunch, Fire.app, or some other precompiling framework. Besides simply saving you time with concise syntax, SASS provides variables, functions, extensions, logic, loops, and operations. (more…)