Archive for Featured

Managing Complexity in Software Development

One software development book that I have found is very informative and though-provoking has to be Code Complete. One of the main points is that the ultimate goal for software development is to manage complexity.

It goes very well with Wil Shipley’s blog post about being a code samurai, an article that is a favorite of mine. Ultimately, they say the same thing: develop deliberately, with the goal to keep the software simple.

I’ve mentioned keeping it simple in mobile web development, but it applies to all development, in fact. Development shouldn’t just be done with the goal to get things done quickly, it should be done with the goal to get things done right. What’s right? Something that gets the job done efficiently now, but also can be revisited and updated later, which is ultimately the most important goal because very rarely, especially in these days of web development, is software ever “done.” How does getting it done right happen?

It happens when a developer keeps it simple. Both for the current development and for the potential future developments. Ultimately, the best coding comes when the software is simple and readable. This gets the job done well and let’s a developer continue to get the job done well and quickly later. Simple is maintainable, and maintainable is good. More than good, the best.

Minimize complexity, keep it simple.

No comments, be first...

June 6, 2010

Crafting Websites for Mobile Browsers

While I’ve always been a big fan of simple, CSS-based designs, that applies even more in the mobile market. While the speed and power of these devices and the networks they use is quickly increasing, the fact remains that we want to give users the best experience we can now.

With a site that relies on CSS for it’s design instead of background images and the like, that CSS can quickly be minimized. Sure, you can create and optimize a sprite away to your here’s content, but this can be an immense time-sink while still not giving you the benefits of having your design come from CSS.

Similarly, there are a variety of browsers to test against in the mobile market, and a simple design has a far higher chance to remain consistent among these different browsers without relying on hacks. Which, again, makes your site far more maintainable and less complex from a developer’s perspective, making life far easier, not to mention more efficient.

Just another reason clean, simple sites will make a developer’s life better.

1 comment

May 31, 2010

Why I Switched to WordPress from Custom CodeIgniter

I spent some time initially setting up my personal blog using a custom CodeIgniter structure. It went well, but then, as things can do, I began to falter in terms of time to put into the project.

It got me thinking about the more general idea of building something in software versus using a pre-built solution. When do you go with one instead of the other? How is that decision made?

After thinking about it, it really comes down to two things:

  1. Does the pre-existing solution fit what you need?
  2. If not, can it be extended?

What I realized is that spending time on making my own custom software with all of the bells and whistles wasn’t proving my merit, it was getting in the way of me building other, more exiting things that hadn’t been done a million times over before.

It made me realize that, while every decision is different, in many cases it can be far better to take a pre-existing solution and extending it versus building your own from scratch. Sure, it’s not your code, but your overall productivity (the ultimate measure in many ways), can be greatly enhanced from it.

No comments, be first...

March 23, 2010