Archive for the ‘Software development’ Category

The future of software

Sunday, September 5th, 2010

A desire path is what a person wants rather than what an architect builds. The term desire path originated from landscape architecture, but it’s an increasingly important concept for software architects to grasp. If you understand desire paths, you understand the future of software development.

Large corporations are often slow to respond to change. In no space is this more evident than technology. If you’re a developer and have used both ClearCase and Git(Hub) for version control, you know exactly what I’m talking about. The big business version of source control is painful to use compared to the next generation of light and nimble apps crafted by small or open source development shops. Git and GitHub are a true pleasure to work with, while ClearCase is known to cause nightmares, paranoia, insomnia, dry mouth, anxiety attacks, and lethargy. (They should put a warning label on the box, just sayin’.)


… Continue reading this post!

Integrating Uploadify with Java using Apache Wicket

Friday, April 30th, 2010

One of the most requested features on any site that accepts file submissions is the ability to handle multiple uploads elegantly. The current HTML standard only permits one file upload at a time, which makes transferring a large number of files quite tedious.

This tutorial will show how to painlessly integrate Uploadify and Java using Apache Wicket. You should have at least beginner-level knowledge of Wicket before moving forward, but feel free to dive right in even if you’ve never used Wicket before. (If you haven’t used Wicket before, I can’t suggest it strongly enough for developing stateful Java-based web applications.)


… Continue reading this post!

Eating steak with a dull knife

Friday, March 12th, 2010

What do people expect from your brand on the internet?

In the past, companies relied on putting out a solid product or offering a quality service. Their internet presence may have been a little clumsy and unreliable, but customers were willing to forgive a painful online experience. After all, doing business on the internet was something that very few companies were doing perfectly. There was a time when a mediocre online presence was better than no online presence at all.


… Continue reading this post!

Be a revolutionary

Tuesday, February 23rd, 2010

Good developers always strive to become better. We spend time searching for the perfect language, the perfect framework, the perfect IDE, the perfect testing tool, the perfect methodology.

Building great software requires all of these things, albeit nothing is perfect. There is no perfect methodology, language, or tool. At times we focus so much on the most complex things that we forget how to do the most simple things, like designing software that people actually enjoy using. In some large organizations it can feel like a single line of code is a million miles away from the person using the application. In some large organizations it can feel like everyone is more interested in delivering projects than applications, meeting targets rather than delivering an amazing user experience.

Good developers always try to deliver amazing software in spite of these obstacles. The perfect methodology for our team may not integrate well with the rest of the organization. The perfect programming language may be unknown to most developers on the team. The perfect architecture may require three months to develop but the deadline is three weeks away. Eventually we discover a harmonious balance between pragmatism and idealism, or we struggle to produce quality software. How does a team who is forced to compromise eventually triumph and deliver software that is reliable, easy to maintain, and a pleasure to use?

Morale.


… Continue reading this post!