Tag Archives: Software Sagacity

The Importance of Wireframing in Software Development

SculptureAt each stage of software development, from design, to development, to deployment, there is opportunity for either keeping the status quo, falling behind, or achieving glory.  Wireframing plays a crucial role in helping software projects achieve glory, as opposed to simply meeting goals.

First, a quick overview on the nature of wireframing.  Similar to CAD drawings or blueprints, wireframes of a software project provide a skeleton outline of how key elements of the system will be laid out on the screen.  The wireframing stage generally does not consist of finalized, high-end graphics or pixel-perfect positioning, but is rather focused on the general position of fields, elements, and user interface buttons.

Wireframes can be drawn on paper, however it is more effective to use a software tool such as Balsamiq, Axure, or Visio for the drawings.  These design tools can make it easy to implement changes, duplicate repetitive content, and handle versioning.  Balsamiq has achieved its own special standing among UI development tools with its quick rise to fame and popularity.  Instead of depicting clean lines and elegant results, Balsamiq makes the entire drawing look especially “sketchy”, so that project stakeholders have no illusion that they are looking at a final product.  Instead, Balsamiq produces wireframes more akin to something that would be sketched on a whiteboard, as opposed to an elegant CAD drawing.  This lets viewers focus on the layout and general concept, instead of on the design elements that may be subject to future change.  Regardless of the wireframing software, the end result will be a set of documents that provide a high-level view of the user interface and software functionality.

The key benefit of wireframing is how it provides a bridge between concept and creation.  Before wireframing, the software is a fuzzy amalgamation of database entities and software architecture components.  Once the wireframes are created, the software takes shape.  Similar to sculpting, that first set of blows to “rough out” the software design are often the most critical.  Not only do they define the final form of the application, they also provide the opportunity to implement creative ideas or enhancements.  While the system is still in the wireframing stage, interesting concepts or UI paradigms can be added relatively easily.  Once the system has progressed from wireframing into development, the UI is generally fixed and requires significant rework for any enhancements.

With all the benefits of wireframing, it can still be a challenging task to execute.  Out of all the development tasks, wireframing takes the most creativity and inertia.  Hewing the system out of rough stone, the architect or UI designer needs to bring everything together: the database, design, layout, and programming workflow.  For sizable systems, this is the task that separates the master from the apprentice, and brings the software to life.

RSS Twitter LinkedIn Facebook Email

Seven Deadly Sins of Software Development: Part 1 – Pride

PridePerhaps nothing instills more fear in the hearts and minds of mortals than disobedience against their Creator.  While the standard deadly sins may ruin a person’s life and soul, the corollary sins of software development can ruin a career.  The first of these deadly sins: Pride.
Continue reading

RSS Twitter LinkedIn Facebook Email

Are Programmers Resources?

Programmer ResourcesOne of the more amusing parts of my workday is getting 2-3 calls each day from offshore companies asking me to outsource our development work. A good portion of their pitches refer to their developers as “resources.” It’s a wistful thought, that I could simply pull out a checkbook and buy a programming resource or two to help out with work when we are overbooked.
Continue reading

RSS Twitter LinkedIn Facebook Email

License to Code

LicenseWith the recent string of high-profile software project failures, from the Healthcare.gov website to the Target / Home Depot data breaches – in many cases caused by a lack of planning, understaffed teams, or underperforming project managers and architects, the field is ripe for creation of a regulatory body to provide guidance and ensure compliance to development standards. While the actual implementation of a wide-reaching government-sponsored regulatory system is still at least a decade away, the early stages of such a system are already becoming apparent in both business and technology.
Continue reading

RSS Twitter LinkedIn Facebook Email

How to Convert HMTL to PDF using PowerShell

PowerShellMicrosoft PowerShell is an incredibly flexible batch scripting engine – essentially the Swiss Army knife of Windows programming. Although the language itself is derivative of Batch files, it gains significant capability through .NET integration. PowerShell scripts can access SQL databases, execute shell commands, parse file and directory structures, and perform I/O, mostly through one-line commands.
Continue reading

RSS Twitter LinkedIn Facebook Email

A Faster Android App Emulator using Android-x86

Android DevelopmentThe key to successful rapid application development is a fast deployment and testing environment. Quick builds and deployments enable better testing of new functionality, since the developer retains the changes fresh in his mind and can make fixes iteratively instead of in large batches. Altogether, this results in more polished, full-featured apps, and faster app time-to-market.
Continue reading

RSS Twitter LinkedIn Facebook Email

What does “Hello World” really mean?

ProgrammingAlmost every modern programming language tutorial starts out with a short script that simply outputs the phrase “Hello World.” This sample code has been used so much that the phrase has become part of the computer programming lexicon – and its ubiquity has caused the words to lose much of their meaning. A stroll through the annals of programming history, however, give us a pleasant refresher of the true reason many of us started programming.
Continue reading

RSS Twitter LinkedIn Facebook Email

Hot Algorithms – The Fourier Transform

AlgoirthmJust like certain clothes never seem to go out of style, there are algorithms that prove their mettle year after year, decade after decade. Chief among these is the Fourier Transform – a mathematical brilliance that is as resilient as it is useful.
Continue reading

RSS Twitter LinkedIn Facebook Email

How to read Excel XLSX files using ASP.NET

.NET DevelopmentIt’s often useful to import Excel files directly into an ASP.NET web application in order to simplify data entry. Excel makes it easier to manipulate data, and has far better integration with other apps than most web grids. As a result, integrating a web application with Excel lets users leverage the best features of a spreadsheet software, while taking advantage of the RDBMS and business logic in the web application.
Continue reading

RSS Twitter LinkedIn Facebook Email

Ghost in the Machine – Deep Software Analysis with ProcMon

AnalysisOccasionally, it is necessary to integrate a software package that just isn’t working, and no support is available.  For instance, the version might be so old that the development company no longer support it, yet the software is still a critical part of the client’s IT infrastructure.  Without the source code, and only a cryptic error message or random failure for guidance, how do we solve the problem?
Continue reading

RSS Twitter LinkedIn Facebook Email