POSITION : ABSOLUT

  Ramblings of Andy Baird

Why I’m loving DJango 0

Somewhere in the middle of the summer I started dabbling with web application frameworks. It’s about time, as I’ve been developing web applications for some time now and have about a few dozen or so under my belt with some pretty decently sized ones as well.

I started with Zend Framework. I’m not new to PHP. I’ve been developing in it for years and it’s relaxed syntax makes it my normal weapon of choice when I’m whipping up code. Hence, Zend Framework seemed like the logical choice given that it is backed by the same company that designed the PHP language. First, I had to wrap my head around some basic MVC stuff - I had not touched an MVC app since dealing with Java, and some of the fundamental ideas have different meanings in web applications. Then, I began hashing out some basic application stuff - database handling, user registrations, forms, etc. It all looked easy, when reading the documentation. But I found the implementation to be a challenge. Zend Framework’s big selling line is everything can be “decoupled” from one another so you can just use the bits and pieces of the framework that you want. I found that this often meant that the connection between objects sometimes seemed a bit convulted. After a lot of pain, I enventually had a basic shell to work with but I found it pretty unflexible. No doubt much of this was due to my lack of knowledge of the Zend Framework (and perhaps web frameworks in general) but I started to lose faith in it a bit. My goal for using a framework is two things: keep code simple, easy to manage AND increase productivity. I realized that while my code might have been easily maintainable, my productivity was sinking to extreme lows. Too much time spent reading documentation on non-native PHP objects and API’s.

I had read about Django a long time before - it intrigued me because it looked like a lot of fun to code in and had a low learning curve. I hadn’t programmed in Python since college though, and considered a language jump to be too expensive to productivity to make the jump. I was wrong.

One day, I got bored and downloaded Django and got it running (very quickly) on my Mac. I followed the provided excellent tutorial and shelled out an application, complete with admin interface, in hours. I was amazed. I was having fun.

I literally recreated one of my biggest web applications in Python in minutes. It’s excellent templating system meant I could worry about the back end stuff and design a pretty interface for it later. The great part about it is the framework turns things like database objects in to native python objects - meaning I’m not just learning the Django framework, but I’m also learning Python. 

As if that isn’t enough, the philosiphy of Django itself strikes a chord with me:

  • Keep things simple, don’t repeat yourself
  • Abstract away things like database connections, queries, etc
I haven’t had this much fun coding since I first figured out how to make a web app. 

The BMW of modern laptops 0

So, I was trying to describe to a friend what distinguishes a MacBook from an ordinary laptop. Our conversation went something like this:

Her: “What’s the difference between a MacBook and a regular laptop?”
Me: “Well, Laptops can do everything you need, but Mac’s are just… more intuitive… things are just more natural”
Her: “What do you mean by more natural?”
Me: “Umm… I don’t know… things are just where you think they should be and stuff…”

Obviously, Apple won’t be hiring me as a retail clerk anytime soon. But, it got me thinking, what does distinguish a MacBook from it’s lower class machinery aside from the giant price tag?

As I was pondering this, a cloud floated pass the sun. My room darkened, and my Macbook’s webcam detected the difference in lighting and dimmed the brightness of the screen so it was not too bright. That’s what it is. It’s the incredible attention to detail that a Macbook brings to my computing experience. My applications, and only the ones I choose and in the order I choose, are one click away at all moments at the bottom of my screen. Programs work as expected, and more importantly, they just work when I need them to. I plugged in a loaned out Sprint Air Card during my drive to Seattle, expecting to go through the usual driver hell and have a ton of proprietary software loaded that would start on every boot. Did that happen? Nope, I didn’t even have to pop in a CD - My Macbook detected the hardware and was on it’s way to connecting to the 3G network before I knew what was going on. Multitasking is seamless, I can load 10+ programs at a time (and often do) without noticing a significant slow down, and more importantly, I stay organized and know where things are without getting overwhelmed by having so many windows open.

This is all aside from the fact that the programs themselves stand above their windows counter part. I have a web development tool that is far above anything windows has to offer with Coda. I didn’t sift through several Bit Torrent clients before finding the one without advertisements and crappy interfaces - Transmission was straight forward and just worked. iChat synced my AIM list quickly and more cleanly then AIM does itself.

The only negative point, in my opinion, is the lack of high powered office tools. I’ve even found Microsoft’s office port slightly lacking (Excel is slow, I’m guessing because it is not using PASCAL strings like it’s windows counter part). The Exchange port (called ‘Entrouage’) gets a C in my book but is a pretty good demonstration of how Microsoft doesn’t understand how to lay out a Mac app.

Of course, this is coming from someone who’s livelihood depends on 50,000 row VLOOKUP’s and downloading of 1000 or more emails per day. For the average person, Office for Mac looks and works just as good as it’s Windows counterpart. 

Does this all make me a technology elitist? Probably, but I could care less - I spent plenty of time piecing together hand-me-down Pentium II’s with outdated video cards and then troubleshooting blue screens, IRQ’s and memory timings. I’ve done my time. Now I get to relax and get work done.

The new facebook design sucks but this guy doesn’t know why 0

So, the new facebook look that is currently being offered to users to ‘test’ sucks, and it has nothing to do with the rounded corners. This guy tries to do a deep analytical break down of why it sucks, but he misses the point: it’s not because facebook isn’t following a certain Web 2.0 design trend, it’s because it looks like the site played musical chairs with all the various info boxes before it decided to render.

The problem is Facebook transcends website design - Facebook is an application and users depend on where things are going to be. Facebook is one of those standard setting type of websites which has already been copied a million times and will continue to be as long as it exists. That’s the down side of being THE hot item:  you cannot successfully remake yourself without taking some serious criticism.

In this case, however, it is warranted criticism. When I log in to facebook, I expect my major actions to be at the top, my sub actions on the left, and my newsfeed in the middle. I can use the right hand side to actually remember my family/girlfriend’s birthdays and see what personal notifications popped up. With the new site, I log in, my main navigation is still at the top, but on the right hand side my sub actions are placed with all the useless crap I never use or care about (ads, invite a friend, people you may know). This sidebar is over 300 pixels wide, which in web terms is frickin’ ginormous.

And it only gets worse from there. All posts, photos, and photo comments now look almost the exact same and get a huge 100 pixels or so of space. The only effect this has other than highlighting every item is making you have to scroll down to read the entire feed. Facebook stalking will never be the same.

I thought the original intent of the redesign was to create tabbed profiles. Or at least that’s what all the huff was about a few months ago. If they stopped there, and left most of the original design in tact, it would have been spot on. We needed a little division from all this “Rate My Left Pinky” and “Which Stapler Brand Are You?” crap that has been giving Facebook a MySpace like atmosphere during the last year. Unfortunately, someone went a little overboard but then decided to half ass the rest of the additions.

In the end though, it doesn’t matter: you need Facebook more than Facebook needs you. Where else are you going to find an abundance of barely legal softcore porn delivered to you in a news feed for free? Hell, this is a recession folks, we all need to save where we can.