• Search
  • Categories
  • Corporate News Design Solutions IT Solutions Strategic Solutions Proposal Solutions Web Solutions
  • Newsletter Subscription

Looking for a Better Browser?Looking for a Better Browser?

Bryan Hadro
March 09, 2010 | Web Solutions

My web developer colleagues could tell you...I sound like a broken record when it comes to complaining about Microsoft’s web browser, Internet Explorer (IE). And in most cases, I’d say such diatribes are well warranted. But instead of going on a rant in this article, I figured I would take a more rational approach. Let's take a brief look at some of the known downsides of IE and shed light on some alternative browsers.

Properly understood, a web browser is a "program on your computer that allows you to visit websites." And your web browser is important. Google argues in fact that it is the most important program on your computer—because through it you view and interact with hundreds of thousands of websites. And in today's business world, where all signs point towards increased utilization of software by means of the web, browser knowledge is all the more important.

Statistics vary—the number of users who employ IE as their browser ranges anywhere from 35% to 65% depending on who you ask—but chances are you're reading this article using the IE browser.

Internet Explorer (IE) Pros/Cons

Now in its eighth version, IE is one of the oldest existing and most widely used browsers available. However, the IE browser consistently lags in its speed, efficiency and functionality. In a recent performance review conducted in October of 2009, IE’s overall score (as well as the score for many individual feature tests) placed it dead last among the most popular browsers.

But if performance results don't make you wary, perhaps security concerns will. To be fair, no browser is 100% fail-proof. But I will say this—of available browsers, IE has the worst security track record. This is partly because it has been around for so long, and partly of because hackers make IE the target of most of their efforts (because of its popularity). Just this past January, for example, a severe, malicious attack on IE spurred the German government to recommend that all users switch to an alternative browser.

It is also worth noting that IE typically lags behind the trends in introducing new and valuable browser features that enhance the web experience. For example, IE was the last browser to implement a tabbed interface. However, many points in IE’s favor come from its ease of integration with other Microsoft business products—such as SharePoint. For this reason, many (if not most) business professionals use Internet Explorer as their primary (but not to say only) browser.

Alternative Browsers

Some great IE alternatives are available: Google Chrome, Opera, and Safari (to name a few). A browser that I feel to be among the best, if not the best: Mozilla Firefox.

Firefox performs well against other browsers (tied for second overall in the aforementioned tests). It has a reasonably good security record. Firefox conforms to most current web standards (i.e., the websites you visit are likely to appear how they were intended to look).

Like IE,  Firefox is all but universally supported—you are unlikely to encounter errors while performing a common task—for example, paying bills online. Firefox has been successful in distributing its browser widely using strong branding—a very important factor in attaining universal support. Firefox has a large developer community, is design forward, and has been a leader in implementing features that improve the user experience and provide broader capability to web developers.

I hope that this article—although by no means exhaustive—sheds a sliver of light on the world of web browsers. Try Firefox or another alternative browser today, and see what works best for you!

Useful links:

Browser Statistics: http://www.w3schools.com/browsers/browsers_stats.asp

Browser Performance Chart: http://sixrevisions.com/infographics/performance-comparison-of-major-web-browsers/

Security Announcements: http://mybroadband.co.za/news/Software/11239.html

Mozilla Firefox: http://www.mozilla.com/en-US/firefox/firefox.html

Google Chrome: http://www.google.com/chrome/

Opera: http://www.opera.com/

Safari: http://www.apple.com/safari/

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis

Review: The Fable of the User-Centered DesignerReview: The Fable of the User-Centered Designer

Brandon Vaughan
February 09, 2010 | Web Solutions

I recently read an excellent book by David Travis, "The Fable of the User-Centered Designer". It's a short story about a young designer who learns the secrets of user-centered design from three clients of a designer he found in a nearby town. It is a very enjoyable read and the three little lessons learned are great reminders for any designer (or for any executive approaching a product/service design project).

Take the time to read the book—but here is a simple outline of the “secrets” of the user-centered designer (from my perspective as a web user interface designer).

1. Early and Continual Focus on Users and Their Tasks

The first secret stresses the importance of determining goals and requirements from examination of how users interact with a product. Normally, goals grow out of budget concerns or market competition rather than examining how users are performing tasks and where their experience can be improved. The important question is not "What do we need to do to fix this application or make it better?" The important question: "What do our users need/want and how can they attain that more easily?"

2. Empirical Measurement of User Behavior

The second secret is focused on performing user testing within a user's natural environment in order to gather real data about how they interact with the product. With options like Google Analytics designers are able to get an insight into user trends—but nothing can replace sitting down next to users and watching them perform tasks. Metrics recorded from testing influence the goals set while employing the first “secret” and ensure that improvements are made based on tangible data. 

3. Iterative Design

The third secret is to perform continual design tests with users before you start building the design improvements. After testing a user to determine how you should improve a feature, it is pointless to create the feature and release it before testing to make sure the improvements work! Create paper and electronic wireframes and make sure that users find an improvement before you start writing code. 

Remarks

All points that David makes in this book are astoundingly simple and profound. I strive to create user-centered designs, but the emphasis placed on witnessing live user interaction with the design is a great reminder of how important it is not to assume that I know what the user is thinking; we all know what happens when we assume!

I completely agree with David that paper and simple wireframes are an excellent way to show the user how content will be organized—and what they need to do to accomplish the desired goal. However, if I am building a web application with any “animation” (such as might be achieved with AJAX or Flash), I want users to interact with these elements. For example, it is much faster/effective to write a little html and a couple jQuery functions for a toogle or fade-in/fade-out than to attempt to illustrate the effect with a simple wireframe and expect reliable user feedback.

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis

ColdFusion OOP Benefits the Developer and the ClientColdFusion OOP Benefits the Developer and the Client

Jason Kerlek
January 29, 2010 | Web Solutions

During my (lustrous) career using ColdFusion, I have seen a lot change!  One of the most important changes was the introduction of Object Oriented Programming (OOP) interface with ColdFusion 6 in the year 2002. This finally provided a logical way to separate functions and procedures into discrete bundles for reuse. More features and improvements to the OOP interface were found in subsequent ColdFusion releases, continuing up to the present.

A ColdFusion programmer can now create extremely complicated applications using a storehouse of portable objects derived from past work and third-party offerings.

Here is an example of a case where ColdFusion OOP presented an opportunity for both Trinity and a client. Recently, a request came across my desk for an extremely flexible blast email system built in ColdFusion.  The current application being used by the client was good—it did what it was designed to do, which was to send out blast emails using a static template (built specific to the client).  But the client needed more features to satisfy its emerging needs.

The old e-mail system was too antiquated to consider “upgrading”. Developing a new system, incorporating all of the desired features, would be more labor intensive than the client could afford. Therefore, I decided to create a independent application utilizing OOP and hence create a portable object. This would allow me to offer the functionality to multiple clients, customizing it as needed for each specific client.  This would, in turn, reduce the cost to the immediate client, deliver a quality product, and potentially benefit all of our ColdFusion clientele.

Smart OOP development should be standard practice. It benefits both the developer and the client by enabling rapid application deployment and affordable pricing.

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis

ExpressionEngine 2.0 Workshop 2010ExpressionEngine 2.0 Workshop 2010

Brandon Vaughan
January 14, 2010 | Web Solutions

Filled with excitement, I jumped on the DC Metro last Saturday and headed for the EE2 (ExpressionEngine 2.0) Workshop hosted at CDIA. The presenter was Zac Gordon, an accomplished web design and development teacher in the MD/DC area. ExpressionEngine’s first announcement of the EE 2.0 remake was back in 2008, I was thrilled to finally get a good look at all the wonderful improvements slated to be introduced with the new release. I sat down, booted up the Mac and looked around at the other attendees—noticing the same expression on everyone's face: "Show me the goodies!"

First, Zac introduced himself and the teaching he has been doing in the local area. I was impressed to hear that he has started "Freelance Fridays" in his classroom. Zac gives each of his students a chance to work on their own personal projects or the classroom client project. Moreover, he pays the students for any work that is passed on to one of his clients. What a wonderful way to get young designers introduced to live client work!

Zac proceeded to give an introduction to ExpressionEngine and the value that EE presents as compared to other Content Management Syste ms of its kind. One of the primary advantages that he noted was the extreme flexibility of EE's template and publishing systems. 

After introductions, we dived into the administrative interface of the new ExpressionEngine 2.0. Instead of covering all of the features, Zac focused on the main components of content management. I won't go into all of the particulars, but here are some highlights from the presentation. 

EE 2.0 ToolbarNew Custom Fields Toolbar

We first investigated the new custom fields section and discovered the brand new Toolbar feature. The Toolbar provides full control over which content fields are presented to members through very intuitive show/no-show controls. Additionally, custom fields can be moved to admin-created tabs in the admin interface to help organize different content and de-clutter the interface; very impressive! 

Improved File Manager

Next, Zac reviewed the slightly improved File Manger. Before, adding and browsing files was confusing and painful. Now, EE2 has added a decent file browser with thumbnails as well as an option to resize images on upload. But much to my dismay, the resize options are very simple and buggy; one step forward = two steps back.  

Template Design Improvements

Some of the biggest improvements to EE were made to the new "Design" template section. EE2 introduced a new Synchronize feature to improve template editing in external html editors—a major plus to all developers who hated losing all their code after getting logged out of a session right in the middle of intense development.

When it is necessary to code within the EE admin interface, EE2 has added tabbing to the template field allowing developers to write readable indented code; another "finally"! EE2 got a little creative with the addition of "Snippets", a library of custom code or text clippings to quickly add within templates. However, I was quite frustrated to see that EE didn't copy the code tabbing feature to the Snippets section. After waiting almost two years for this release and seeing an increase in price, little oversights like this are annoying. 

EE 2.0 synchronize

Problems Remain

With all the great additions to EE that have been noted, there are still some unpardonable bugs in the system. This release is in no way ready for production usage. Together with the problem of glaring bugs, none of the third-party add-on improvements that EE developers have come to rely on have yet been released for the new EE 2.0. During the "Discussion" section of the workshop, Zac asked the group, "Would any of you consider using EE2 for live projects?" The overwhelming answer was "NO." It was wonderful to see the new eye-candy of the redesigned interface and all the fun controls and JavaScript widgets—however, EE2 still needs some major development before it will be ready for the "real" world. 

Conclusion

All this being said, it was nice to hear from Zac that the ExpressionEngine team has “ratcheted it up a notch” and are pumping out improved versions almost every week. If all goes well, we will see a fully-fledged-new-and-improved-ready-for-action-EE 2.0 before the year is out!

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis

A good user interface is imperative, even for small user groupsA good user interface is imperative, even for small user groups

Jason Kerlek
December 15, 2009 | Web Solutions

Application of best practices for user interface development helps to ensure that programs are intuitive with a logical flow and strong visual cues, and that these positive attributes are further supported by Help/Instructions accessed through an easily recognizable mechanism.

The application development process can often be a tug-of-war between following universal best practices for development and the client’s budget. This is particularly true in user interface development for small user groups, where the developer is fairly confident that the application will be directly presented for orientation to the entire group.

However, even under such circumstances there are considerations that make a compelling case for applying best practices for the implementation of user instruction and orientation within the interface.

First, even a small user group will likely change over time—new users will require orientation. This process will be eased if the orientation is embedded in the system.

Second, infrequency of application use (if such is the case) will render even the most attentive members of the group foggy as to the proper utilization of the program.

Third, in the event that the application receives continued development from another developer, good user orientation will speed the developer’s own orientation to the project (along with other under-the-hood best practices in coding).

Finally, and perhaps most importantly: ease-of-use is often a factor of user satisfaction with the application—which often dictates success in user acceptance and utilization.

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis

Thirteen years of ColdFusion application developmentThirteen years of ColdFusion application development

Jason Kerlek
December 01, 2009 | Web Solutions

This year marks Trinity's thirteenth year in application development using ColdFusion. In that time, Trinity has written more lines of code than anyone at the company can count. Trinity has improved business processes for multiple organizations, and has served multiple different industries.

In 1996, Trinity was at the front of ColdFusion adopters. (Trinity has tested and developed applications for every ColdFusion release since 1.5.) Over the years, Trinity has watched this "rapid application development platform" grow in strength—in terms of capability, stability, and market share.

Trinity has developed and supported ColdFusion applications that have dramatically improved the ability of companies to operate effectively. In doing so, Trinity has covered a lot of ground—programming proprietary content management systems, ecommerce and customer management systems, business reporting systems, construction management systems, distance education systems, etc.

Trinity has also served multiple different industries in both the for-profit and non-profit sectors, including: insurance, broadcast media, trade association, distance education, engineering/construction, information technology, and others. Trinity has performed development work for entities ranging in size from small start-ups to more than $1.7 billion in annual revenue.

Working with ColdFusion presents occasional difficulties—all products have limitations and deficiencies. Adobe seems to take product development for ColdFusion very seriously, and has added striking new capabilities since acquiring the product with its acquisition of Macromedia in 2005.

Overall, ColdFusion is a great product—and Trinity is proud to be an extremely capable ColdFusion development shop!

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis

Browser Compatibility and Internet Explorer 8 Developer ToolsBrowser Compatibility and Internet Explorer 8 Developer Tools

Jason Kerlek
November 18, 2009 | Web Solutions

One of the features of Internet Explorer 8 (IE8) is built-in Developer Tools, and one of those tools is the ability to emulate Internet Explorer 7 (IE7). This would ostensibly make life easier for the developer. In fact, in development experience at Trinity such has not proven to be the case.

One of our developers worked on a web application project requiring IE7 compliance--the client had a large percentage of IE7 users hitting its website. 

Upon the beta release of the application it was discovered that there were several bugs in the application when run in IE7 on user computers.  The developer had used IE8 to program the application, making use of the developer tool "Internet Explorer 7 Browser Mode" to test its IE7 compliance.  Yet, the errors reported by IE7 users during beta testing did not appear during development testing.

To simulate the user's actual experience with IE7 (rather than relying on IE8's development tools), Trinity booted a virtual machine with an installation of IE7 and tested the application fully.  The developer started to experience the same errors that the beta testers did.  When comparing IE8 using the IE7 Browser Mode and an actual installation of IE7, the application pages rendered completely differently.  This led Trinity's entire development team to similarly test other applications. The finding: IE8 using IE7 Browser Mode rendered all of the applications differently from an actual installation of IE7.

This underscores the necessity not only for browser compatibility testing, but also for thorough testing of browser developer tools to make sure that the developer is not being mislead by product claims, resulting in poor development.

If you would like your current web deployments tested for browser compatibility, contact Trinity today.

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis

Browser Compatibility TestingBrowser Compatibility Testing

Jason Kerlek
November 03, 2009 | Web Solutions

Browser compatibility, or the ability of a web site/application to work in multiple browsers, is a concern for every web developer. Recent statistics show that five web browsers hold significant market share. The leaders in that report (in order from greatest to least) are Firefox, Internet Explorer 7, Internet Explorer 8, Internet Explorer 6, and Chrome.

The browser used by the largest number of web visitors can vary from site to site. However, most public sites require compatibility with more than one browser to minimize the difference in appearance, functionality (operability), and performance (speed) from browser to browser.

Browser compatibility testing is therefore done as a matter of routine at Trinity (unless a strategic assessment indicates that it is not necessary), though such is not the case with all development shops.

If you would like your current web deployments tested for browser compatibility, contact Trinity today.

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis

Project Management Via BasecampProject Management Via Basecamp

Brandon Vaughan
October 22, 2009 | Web Solutions

Trinity has used many online project management and team collaboration tools.  We have yet to find one that we can endorse without reservation--every system has its flaws and limitations (some of them more egregious than others).

However, for many client engagements, Basecamp has proven to be a good solution for keeping everyone on the same path--which, when you come to think about it, is the most important aspect of project management.

What Trinity loves most about Basecamp is the Comments functionality. Project details, creative ideas and client/development team communication can all be documented using this feature. Everything is linked to the associated Message, To-Do or Milestone item and neatly organized in chronological order.

Further exploration of benefits:

Store ideas/inspirations

Great projects come from great ideas. Ideas can be easily lost without a repository that can be utilized by the entire team. How often are great ideas appended in an email and lost forever?  How many are scratched on the corner of a notepad and tossed out in a mad frenzy to get organized? Basecamp provides an environment in which ideas can be quickly and easily stored.

Understand the project in manageable process pieces

In Basecamp, major project Milestones/goals are associated with To-Do lists, in which individual To-Do items are assigned to one or more team members.  This provides a series of understandable, manageable action steps (To-Dos).  Accountability for the action steps are clearly defined. This in turn creates ease in project status assessment--you know what exactly what stage the project is at and whose court the ball is in. Workflow made easy.

Organizing a project into detailed action steps can quickly make a workflow very complex--resulting in horribly nested lists as each action requires further sub-actions.

In Basecamp you can’t nest tasks--the farthest you can really go is the name of the To-Do list and the individual items in a single layer underneath it.  This can be a frustration to some users, but it also has the potential to create beauty through simplicity.  This "no sub-tasks" limitation ensures that the workflow remains manageable because it requires the project, problem or necessary action to be broken down simply and creatively.

Track communication in collaborative situations

Managing team communication is imperative.  What many don't appreciate is that Basecamp is first and foremost a communication tool.  Because of Basecamp's simplicity, communication headaches are greatly eased.  Client/development team communication can all be documented and posted via email through the comments attached to a To-Do item, Message, or Milestone.

Additional Notes

- Jamie Pittock at Erskine has written an excellent article “Project management is easy” http://erskinelabs.com/post/project-management-is-easy/, which highlights how Basecamp simplifies project management.
- You can find Basecamp at basecamphq.com
- This post is not intended to be a comprehensive evaluation of Basecamp
- Trinity Consulting, Inc. is in no way affiliated with Basecamp/37signals

If you would like to discuss Trinity's experience with Basecamp as well as similar tools, please Contact Us.

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis

ColdFusion UpdatesColdFusion Updates

Jason Kerlek
October 08, 2009 | Web Solutions

Adobe™ releases Hot Fixes, Cumulative Hot Fixes, and Updates for all versions of ColdFusion™.  It is very important to install many of these available options, and system administrators should perform frequent audits so as to be aware of when updates become available.

The major update for ColdFusion 8 (8.0.1) fixes a variety of issues associated with functionality, performance, stability, compliance, and security. A number of hot fixes have since been issued.

If your business uses ColdFusion, regularly updating the installation may be of paramount importance. If you would like to speak to a systems administrator who is an expert in ColdFusion administration, please contact us and ask to speak to a member of our Web Design& Development team about "updating ColdFusion".

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis

Trinity Creates Bid Automation System for Client, Part IITrinity Creates Bid Automation System for Client, Part II

Jason Kerlek
September 24, 2009 | Web Solutions

Read Part 1 of this article.

These three systems, which currently operate independently, will work together to manage the bid solicitation process. Integration will introduce new efficiencies to a bid solicitation process that has already seen significant application process improvements over the past 12 months, and will facilitate the reduction of more than $100,000 in annual overhead expense (according to Trinity's judgment).

The first step of the improvement/integration process is to bring the Bidders List online. The Bidders List will be converted from an Excel workbook located on the network to an integrated application in the contractor's management suite. Once that first step has taken place, the three systems will be integrated/improved to create the following effect.

(Present tense is used to indicate systems already in place; future tense to indicate the post- integration/improvement state.)

All approved subcontractors and vendors (henceforth, both called "Subs" or "Sub" for convenience) are managed in the contractor's management suite. Also managed in the suite is the contractor's bid list. When a new project comes onto the bid list, an invitation to bid goes out to Subs via the Communications System (fax, email). Naturally, a recipient list is be created as a part of this process.

The system will then use this recipient list to create a record set of Subs for the project in the Bidders List. This record set becomes a working hotlist for communication with Subs, and allows communication tracking. The Bidders List record set is refined both by personal correspondence with the Subs and/or by repeat general correspondence—the system will allow the user to send a refined list from the Bidders List back to the Communications System. If any new Subs respond to subsequent correspondence through the Communications System, they are added as new records to the existing record set in the Bidders List.

The Project File Management/Download System can be visited by any approved Subs within the subcontractor and vendor management systems, and provides access to project documents (including large plan specifications) and other pertinent files. Once the system integration is complete, any visitor to this system will be automatically added to the Bidders List for a project when one or more of the project files are accessed.

The Project File Management/Download System also keeps a log of which files were downloaded by each Sub. This enables the contractor to see whether or not EVERY required file has been download. This is important because federal requirements may stipulate that even some project documents that do not pertain to the Subs' portion of the bid must be provided to them by the contractor. The download logs, along with logs from the Communications System, provides a permanent record of good faith effort.

Value Point Summary:

  • Reduction of labor cost in Subs communication, Subs bid management, project document distribution 
  • Reduction of expense in overnight project document distribution via CD 
  • Bandwidth utilization burst load reduction through elimination of project document distribution via bulk email 
  • Easy accountability reporting for demonstrating good faith efforts to use SBA classified Subs

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis

Trinity Creates Bid Automation System for Client, Part ITrinity Creates Bid Automation System for Client, Part I

Jason Kerlek
September 11, 2009 | Web Solutions

In recent weeks, Trinity has been working on a valuable application for a leading construction contractor ("the contractor") whose primary work comes through federal contracts.

The full application suite (developed by Trinity) encompasses bid solicitation, subcontractor and vendor management, project/contract management, equipment, reporting, technical proposal development, and many other functions.

Trinity will be integrating three tools from the suite's toolset to improve the bid solicitation process: the Communications System, the Bidders List, and the Project File Management/Download System.

These three systems, which currently operate independently, will work together to manage the bid solicitation process. Integration will introduce new efficiencies to a bid solicitation process that has already seen significant application process improvements over the past 12 months, and will facilitate the reduction of more than $100,000 in annual overhead expense (according to Trinity's judgment).

This blog post will discuss the individual tools and their operational capacity, while a subsequent post will discuss the benefits of integration.

Taken independently, the tools to be integrated are defined as follows.

The Communication System enables the contractor to send email and fax communication to known subcontractors and vendors who may be interested in bidding the project (for which the client is preparing an effective bid/RFP response).

  • Value point: the client makes a point of soliciting bids from small/disadvantaged businesses, and the communications system tracks successful communication transmissions (successful fax transmissions are particularly noteworthy). Not only can the client provide information about small business inclusion based on its past performance record, but also information about attempt to encourage small business participation through the bid solicitation process.

The Bidders List is a list of subcontractors and vendors who have responded with interest in bidding aspects of the work for project.

  • The Bidders List is currently an offline system—a set of Excel files created by the client that reside on a server in one of their offices. This makes access and management very difficult and does not provide a comprehensive solution. Notes regarding the management of this list are kept on paper. This system will be moved into the application suite under consideration, prior to integration.

The Project File Management/Download System allows the contractor to manage project documents that will be made available (by download) to subcontractors and/or vendors, per federal requirement.

  • Value point: Prior to recent application upgrades, the client sent out project documents in digital form to all potential bidders, as email attachments. The large size of some of the files, when sent to hundreds of potential bidders, caused extreme bandwidth/network performance problems. The Project File Management/Download system allows the client to upload the project files to the website, where only those subcontractors who respond with bidding interest are permitted to download project documents for review.
  • Project documents are also sent by CD (through the mail) to all parties expressing bid interest. The CD creation/distribution process is time-consuming, but it is a way to demonstrate to the federal government that honest effort was made to provide the bidder with ALL pertinent project documents. However, the necessity of performing this task will be eliminated by refinements created during the integration process.

Next: Part II: Integration and further development of the three systems, including additional client benefit.

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis

Over thinking Your Applications? = BADOver thinking Your Applications? = BAD

Jason Kerlek
August 28, 2009 | Web Solutions

Have you ever received a client application request that at first glance seemed easy and straight forward, but after you start to write the application, you have a list of questions that is longer than the original request?

If your answer is “yes” you are not alone. This is a fairly typical occurrence among programmers. At first I thought the problem was in the initial stage of development (where you scope out the work and fine tune the request with the customer). After a little more review, though, I discovered the root of the problem: feature creep! Feature creep is when a developer adds more and more functionality, beyond the original scope of work requested by the client, because the developer believes that:

A. The end user needs that feature and forgot to ask for it, or

B. A new feature is really challenging, and uses new technology and methodology that the developer is interested in.

To be clear, for the purposes of my definition, “feature creep” is what the developer adds, while “scope creep” is typically what developers attribute to client additions during a project.

The good thing about feature creep is that you may hit upon something that the user really needed and just didn’t convey properly (thus adding value to the process). It means that the developer is truly trying to think like the end user and is trying to make their task easier to accomplish.

On the other hand, the problem is that feature creep can extend the life of the project beyond the original deadline thus increasing time and cost. Also, a developer can over think the application, supplying more than what the client requested and more than the client is willing to pay for the services, and that is never good.

To avoid feature creep, the project manager needs to have the end user write up goals that the application should meet in “non-techno” speak. Then, with the developer, those goals need to be processed through a geek translator. The developer can then use the goal list as a guiding light for the project. All work will then need to meet the goal requirements or they are not implemented. This is called goal-oriented development and helps an application avoid being just a group of features.

If you implement this technique, your applications are more likely to be released on schedule, under budget and it will give the end user a streamlined tool sooner, thus increasing their productivity. If the end user wants more, they can always request additions or changes. In the meantime, the end user gets to use the application and isn’t that the whole point?

As for the developer, you get to mark a task complete, and most of the time, that is more fulfilling than adding unnecessary, but interesting, technology to a project.

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis

Dysfunction JunctionDysfunction Junction

Jason Kerlek
August 24, 2009 | Web Solutions

You have arrived, you say, at the switching station, or junction, of poor CMFL tag utilization and inefficient database querying?

Oh… that’s right…what you said was, “Our ecommerce product placement script is taking too long to load, and our affiliates are dropping it!”

All joking aside, insufferable page load time is probably the #1 inhibitor to getting business done on the web. The case above pertains to an instance where a client, running a ColdFusion-based ecommerce solution, had created a script that could be called from any affiliate site. This system was not unlike Amazon.com affiliate programs widgets, in which a few keywords would cause the most relevant of the client’s products to appear on the affiliate website.

But the products just didn’t display…and didn’t display…and the process often held up the rest of the affiliate’s page from displaying – until finally the affiliate said: “Oh, the heck with it!” The opportunity to earn revenue through the affiliate program was not worth the lost revenue from the fact that the visitor to their site burned up 7 to 10 seconds of their 8.5 second per-page attention span (generous) simply waiting for the freaking page to finish loading.

As it turns out, the problem was easily remedied. Eight hours of diagnostic time later, a solution was produced—and, for the client’s reasonably-spent dollar, a problem was solved that was costing the client a packet in lost revenue.

The result – Trinity continued to perform one limited engagement for the client, and then we went our separate ways! They had in-house CFML development, and as it turned out, only needed us for the on-the-spot insight. And we… we felt great! Trinity did its job and provided high value to the customer.

If you perform your ColdFusion (CFML) development in house, let us know the persistent problems that are nagging you. We just might have solutions!

Enjoy this post? Share it with others.

Permalink del.icio.us Digg Facebook Technorati TwitThis