Home
About
Categories
 Design
 General
 Inspiration
 Project Management
 Resources
 Strategy
 Technology


<April 2006>
SunMonTueWedThuFriSat
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

Your best shot at happiness, self-worth and personal satisfaction - the things that constitute real success - is not in earning as much as you can but in performing as well as you can something that you consider worthwhile.
~ William Raspberry

Art. You never learn it.
~ Milton Glaser

 

 

 Tuesday, April 04, 2006
Better Accessibility with Forms

Forms are always a pain. They are difficult to design and difficult to make user-friendly. Here are a few rarely used tags that can be incorporated into page XHTML mark-up that will improve the usability and accessibility of forms.

Label

<label for="firstName">First Name</label><br />
<input type="text" name="firstName" id="firstName" />

The label tag used in the code sample above relates the descriptive text to the form control. This is important for screen readers.

<input class="input" type="checkbox" title="Select Color" name="color" id="color1" value="red"><label for="color"> Purple</label>

When used with checkboxes it allows users to click on the text to check the checkbox, similar to desktop applications.

Fieldset & Legend

<fieldset>
<legend>Pick a Color</legend>
<input type="radio" id="color1" name="color" />
<label for="color1">Red</label>
<input type="radio" id="color2" name="color" />
<label for="color2">Blue</label>
<input type="radio" id="color3" name="color" />
<label for="color3">Green</label>
</fieldset>

The fieldset tag is used to group form fields. With a little CSS it works well for humans and machine readers alike. The legend tag provides a way to give the grouping a title.

Optgroup

<select name="Colors">
<optgroup label="Reds">
<option>Crimson</option>
<option>Brick</option>
</optgroup>
<optgroup label="Blues">
<option>Azure</option>
<option>Sky</option>
<option>Navy</option>
</optgroup>
</select>

The optgroup tag groups options in drop down lists. They can have CSS styles applied to them.

Other Techniques

Tab Index

input type=”text” name=”field1” id=”field1” tabindex=”2” />
Adding the tabindex attribute to a form control sets the tab order. Make sure your form element tab in the correct order for those who do not use a mouse.

Access Key

<label for="field1" accesskey="f"><span class="access">F</span>ield 1:</label> <input type="text" name="field1" id="field1" accesskey=”1” />

CSS    .access {text-decoration:underline;}

Adding the accesskey attribute to a form’s label control allows users to press a key to focus the form element – again useful for those who don’t use a mouse. To indicate what the accesskey is for a form, underline the corresponding character in the field’s label.

Technology
Comments [0]  

SEO & Copywriting

Nice article on common sense SEO and site content published on the Internet Search Engine database site.

http://www.isedb.com/db/articles/1401/1/SEO-versus-Marketing:-The-Fine-Art-of-Copywriting

Resources
Comments [0]  

Microsoft IE's ActiveX D-Day

Back in 2003 Microsoft was sued by Eolas Technologies for a patent infringement. The technology in question is how Internet Explorer handles the inclusion of objects (ActiveX controls) such as Flash, video and Java applets in web pages.

On April 11, 2006 Microsoft is scheduled to release an update that makes the browser compliant with the lawsuit’s requirements. All IE browsers shipped after that date will also have the update installed. This change will affect thousands of sites with embedded content. This content will no longer automatically display in web pages. Users will have to click a prompt to view the content. This will greatly affect the user experience.

 

The Fix

Sites will have to change how objects are included in the HTML mark-up to prevent this rude disruption. Click here for a Google search on the topic. Here are some resources with more information:

MSDN Instructions on How to Activate ActiveX Controls

MS Knowledge Base Article

Adobe Developer Center

What about other browsers?

They are also in violation of Eola’s copyright, but they haven’t been sued yet. Netscape, Firefox, Opera and Safari have not done anything. Time will tell what will happen to them.

Resources | Technology
Comments [0]  

 Monday, April 03, 2006
Top Traffic Sites

Top 6 domains in terms of page-views in February 2006 according to Media Metrix were: 1) Yahoo, 2) MySpace, 3) MSN, 4) Ebay, 5) Google, and 6) Hotmail.

4 of the top 6 sites (MySpace, MSN, Ebay and Hotmail) run on IIS and Windows.

Linux and Apache may have market share, but enterprise, mission-critical sites rely on Microsoft

Source: Scott Guthrie

General
Comments [0]  

ASP.NET 2.0 and Web Standards

I ran across this excellent resource for building standards compliant web sites using ASP.NET 2.0. The information presented here is useful for any platform. It covers doctypes, mime types, broswer issues, accessiblity and some good tips for forms.

I read so much Microsoft bashing online it was refreshing to read how they have addressed a lot of problems with server control rendering in the new version of ASP.NET.

Resources | Technology
Comments [0]  

Yin Yang

While watching Bela Fleck the other night, I was thinking about how precise and structured the music was yet organic and improvisational at the same time. This balance is the core of a good jam and exemplary of building a good web site. There are logical, learned aspects and emotional, intuitive ones. In web development project planning, database design, programming, and testing are usually the methodical parts while the graphic design, content creation and rich media are more exploratory. My favorite aspect of web development is the blending of technical and creative activities into one homogeneous entity. The better this happens, with careful balance, the better the results.

Both technical and creative people can learn from each other. Technical people thrive on structure, but when creativity is added amazing things can happen. The opposite is also true for creative folks. Applying structure to their process can allow them to concentrate on being creative while maintaining uniqueness to their approach. Technical folks can improve their problem solving skills by approaching tasks in new ways. Try having a developer learn a new programming language, or code something by hand not using the software they usually use. Creative folks may be able to improve hard skills such as using complex software and networks. Have a designer work with someone who is organized and efficient. Pair a creative with a technical person to share knowledge. Learning to be proficient within one's working environment allows them to concentrate on the core problem at hand. Being independent of one’s crutches fosters original thought. Different perspectives result in different solutions improving overall team performance.

Project Management
Comments [0]  

 Friday, March 31, 2006
Friday Afternoon

http://www.metacafe.com/

General
Comments [0]  

DropSend, GodSend

DropSend helps you do 2 things:

  • Send files of up to 1 GB
  • Store files online

Handy-dandy!

Resources
Comments [0]  

The Saga Continues

On Wednesday, March 22, 2006 I posted comments on the closing of Arnold Worldwide in St. Louis and the state of the ad market here.

In today's St. Louis Post-Dispatch newspaper there is an article about the changing industry. I wanted to bring the article up because it supports some of my observations.

It also has some vague information on Kupper Parker Communications morphing into a new entity. Too bad Kupper isn't as good at producing good ad work as he is at corporate shananigans.

I failed to mention in my post that two large ad firms are recent new comers, J. Walter Thompson and VSA Partners, but I'm not sure how much creative is actually produced here.

General
Comments [0]  

 Thursday, March 30, 2006
Add On Or Start Fresh?

I was involved with a project last year that brought to light a major decision that needs to be made early in a project’s initiation.

Do we build onto our existing application, or start from scratch?

As developers we always would like to start with a clean slate, but web projects are often part of ongoing operations and legacy systems greatly influence the how they are planned. There are times to extend systems in place and times to begin anew. Too many times companies throw good money after bad. Let’s look at some things to consider.

How Old Is It?

Spend resources to maintain systems first. If the platform, application, database, infrastructure or hardware is deprecated, or even a few versions old perhaps it’s time for an overhaul before thinking about adding onto it. Whether it’s lack of money, downtime, or human resources it's important to keep your core systems up to date. Technology changes fast. If too much time passes between upgrades it is more costly and difficult to bring things up to date.

How Compatible Is It?

The system should still have significant market share. One year Sun as the best solution and five years later Microsoft is the market leader. Software manufactures are making compatibility improvements with every version, but interoperability may still be difficult to achieve. It makes little sense to spend development dollars on utility software to connect outdated or obscure systems with new ones. This adds tremendous costs to project budgets and the problem still isn’t fixed. It’s impossible to predict the future, but try to choose a platform that will be around.

Does It Suit Your Needs For The Future?

Never build something for today, build it for tomorrow. By the time a project is finished it may already be outdated so it is important to build ahead, or at least plan ahead. Your web server may handle the load today, but what happens when your company doubles in size, or you want to add e-commerce?

What Are The Alternatives?

It may not be necessary to abandon the system entirely. Upgrading to the current version may be enough. Are there products offered that are clearly better for your needs, or are there more cost effective solutions? Should I build, buy or lease? Do due diligence. Explore options. Compare solutions. It takes work to make the best decisions. The less expensive route now may cost more in the long run. Get help doing the homework and making quantified analysis. It pays to put off a project to do it right rather than making this situation worse by employing any less than best practices.

Project Management
Comments [0]  

Overlooking the Obvious

Sometimes I over look the obvious. I'm always looking for good people to help me with web projects: developers, designers, Flash experts, writers... I find some by word-of-mouth, but most by using the web.  Franki Durbin, a designer friend, turned me onto to Creative Hot List the other day when I was looking for a Flash animator. It's a good resource for finding freelance talent and folks between gigs, and since it's run by Communication Arts, the design community is well aware of it.

Resources
Comments [0]  

 Wednesday, March 29, 2006
Technorati

I'm new to blogging and just found this. Cool.

Technorati

Currently tracking 31.9 million sites and 2.2 billion links, Technorati is the authority on what's going on in the world of weblogs. Technorati is a real-time search engine that keeps track of what is going on in the blogosphere — the world of weblogs.

General
Comments [0]  

Shaun Inman

http://www.shauninman.com/ -  Shaun Inman is the designer/developer responsible for Designologue, Mint and IFR. Originally from the Boston, Massachusetts area, he now resides in Baltimore, Maryland.

The IFR technique is very cool. Limited font selection on the web is always the bain of the designer and this is a slick way around it.

ASP.NET offers an easy way using GDI+, the .NET Framework wrapper assembly for Microsoft's GDI (Graphics Device Interface) technology, to generate dynamic jpgs to use for dynamic text if that's your platform of choice, but the Flash method is completely client-side and platform independent. It's probably a bit faster too.

Resources | Technology
Comments [0]  

AIGA Awards

Is TOKY That Good?

Yes, TOKY is that good. The best graphic and branding shop in STL.

"TOKY took home 19 out of 79 professional awards in the 11th annual AIGA Awards, more than any other firm." - from TOKY.com

What is important to me is they are good at web - way better at web than most shops. TOKY has risen from the ashes of Influence, which at one time was the leading web shop in town, and has eclipsed its success.

How?

  1. Eric Thoelke, the leader, and great designer in his own right has built a team by thinking bigger than St. Louis. Most of his talented resources are from out of town.
  2. They measure their work on a global scale.
  3. Every project is executed as it if were a dream job. They make them dream jobs.
  4. Style with substance that meets qualitative and quantitative measure.

Kudos to Kuhlmann-Leavitt, Inc. for also creating kick-ass design, but I don't think they do web as well as print. Too bad.

The Good, the Bad and the Ugly

It has always perplexed me to look at what is possible to bring to the marketplace compared to what is accepted. So much work sucks and so much more is so bland it has no meaning. Is it the fault of the creator or the buyer, perhaps both. On one hand the creator, because more often than not the person paying for it doesn't know better. On the other, companies should have more savvy buyers. It's a complex issue for which I have no answer other than don't do work you are not 100% proud of and put 100% effort into.

A Call to Arms

Let's use the caliber of work produced by these 2 firms as inspiration to help us do better work. Be proactive and take the expert approach to get good creative out of the conference room and into the public domain. Teach your clients what is good and what should be.

St. Louis is loosing ground in the world of creative communications. Agencies are closing. Talent is leaving. Clients are going out of town for work. No one can stop this cycle except the people doing the work. Do your part to do your best.

General
Comments [0]  

 Tuesday, March 28, 2006
CMS or Maintenance

A conversation to have with clients during the planning phase of a project is whether, or not to have a content management system (CMS) for all, or part of their site versus having a maintenance agreement to make updates. It grossly affects the budget and it has an impact on the relationship with the client - pay upfront for the CMS, or pay over time for service. A good rule of thumb is, if content is not updated more than 4 times a year don’t get an administrative tool for it. The idea of the ongoing relationship with the maintenance agreement can be a good thing. It almost always grows into something better than just maintenance.

A scenario that happens all the time is a client thinks they need a content management system (CMS) so they can update the site themselves and save money. A few weeks pass and they call to have the vendor make updates using the CMS system because they don’t have the resources to do it, or need something fixed they messed up. In this case they pay twice: once for the CMS and once for the update labor. No money saved there.

Whether it’s a designer or client making the changes, a web site evolves. It’s one of the benefits of the medium. It’s important to plan how a site’s content is going to change. Decide what control method meets client needs, has the biggest impact on budgets and ensures the site remains effective.

Project Management
Comments [0]  

Client Relationships

The client relationship is the single most important part of any project. They are key stakeholders. Yet, it is often the most under managed part. A good client-vendor relationship is like a good person-to-person one, but many businesses do not treat it in this respect.

Would you like fries with that?

How many times have statements like these been said?

“The client is always right.”
“Just give them what they are asking for.”
“The client said to….”
“All they want is…”

Many companies preach to their sales staff “Excellent service is our business.”, but for some reason the term, “service”, is embodied into sales people becoming glorified order takers. This is bad. It’s bad for the client; they do not get the benefit of the vendor’s expertise. It’s bad for the sales person; they are unable to truly gain the client’s respect. It’s bad for the people actually creating the work; they get forced into producing substandard work and doing a lot of rework which is very frustrating. It’s bad for the management; they loose control of a project.

Jerry Maguire Rocks!

“Help me help you.” Truer words were never spoken when it comes to providing service and helping your clients succeed. Like a healthy person-to-person relationship where there’s communication and respect, and both are the better for it, the client-vendor relationship should be the same.

Sales people please take note. You will be far more successful by managing your clients rather than allowing them to manage you. The approach to take is to assume the role of the expert, establish the ground rules of the relationship early, manage expectations, and communicate openly and honestly throughout the entire project.

Being the Expert

By assuming the role of an expert the other aspects often just fall into place. If your client won’t play this way don’t do business with them, or charge a premium to put up with the added stress, but with the latter you have already really submitted and have lost a great deal of leverage.

Expert behavior wins business. The cutting-edge shops producing the best work have it. It’s not arrogance, but an approach that adds value by becoming a partner with the client.

Expert behaviors:

  • Be a teacher. Teach your clients what, why, and how.
  • Understand the clients’ perspective and make sure they know you understand it.
  • Make sure they understand your perspective and why you have it.
  • Have a process and stick to it. Explain the importance of process and how it will produce the desired results and save them money.
  • Over communicate. Explain everything thoroughly. Make sure clients understand why it’s done that way and what the consequences are for not doing it that way.

Manage the client with the same effort as managing other aspects of a project. The relationship will be stronger. The work will be better. Your team will be happier. You and your company will make more money.

Project Management
Comments [0]  

StlWebDev Awards

The St. Louis Web Developers Organization has an annual awards show. I am please to announce that a site I created won second place for Best Non-Profit Site. The site is the Walter C. Richards Collection, an online gallery of photography from the 1904 St. Louis World's Fair. It is part of the Webster Groves Historical Society's site and also included in the Missouri State Libraries Digitized Collections database and ViruallyMissouri.org. Thanks for the recognition.

I looked at the other winners and I have to say the work this year was very average. This organization has lost traction in the community the last couple of years and the best work was not entered - what a shame. It's nice to have strong industry communities. Perhaps it will come around.

I had been involved with a similar group, the Not Just An Art Director's Club. It was difficult to get people to help run it and it fell by the wayside. Small organizations are hard to sustain. It's always a few core people that keep them going and they get burned out.

General
Comments [0]  

 Friday, March 24, 2006
CSS, Web Standards and Clients

I often have to decide what techniques or technologies will be used to build a site. Some are defined by the project's requirements. Others can ALMOST be arbitrarily made. Examples include databases, MySQL or SQL Server; whether or not to include Flash in a site and to what extent; developing a data access layer or use single tier architecture; or should a table HTML structure or layers and CSS be used.

I can appreciate the benefits of no tables and separating content from formatting, but I have a few issues with the standards compliant way of doing things:

  1. There are no real standards. Therefore it’s almost impossible to build a site with any interface complexity that will view correctly in an acceptable percentage of browsers or situations. Table layouts are pretty much bullet proof.

  2. Time and money - If a standards site is done correctly and does view in all required browsers chances are it took a lot longer to build than if tables were used. Does the benefit outweigh the cost?

  3. Development resources - The one prevalent factor I always consider is who needs to work on the site in the future. It is important deliver a site for which a client can find development resources when changes are needed. I have experienced a couple times when a site was delivered that was too complex. Not only are the user's technological limits a factor, but the client's technological limits can sometimes also be a constraint.

    We once built a killer site with a dynamic content and Flash and within two years the client had a simpler one built because they wanted an intern to be able to make changes using Front Page. (shudder) We were not told this at the time. Another experience was we built a really nice interface for a web app in layers. When it was handed off to the development team they did not know how to make it work with the dynamic content as they said they could. We had to redo the layouts in tables.

The point is, in a perfect world the idea of compliant sites with clean separated code rocks, but the reality is, it's often not practical. Cutting-edge (scary that I'm calling techniques that are several years old cutting edge) always has added risk. Careful consideration must be made before choosing any technique. Rework is too costly.

Project Management
Comments [0]  

Dreamweaver 8 and CSS Tip

Older versions of Dreamweaver put positioning styles for <div> tags as attributes. Dreamweaver 8 has improved this by putting the styles between <style> tags in the head section of HTML. The cool thing is, you can move these styles to a linked style sheet and Dreamweaver will work. Nice.

Technology
Comments [0]  

A Jewel in the Rough

While I was searching the Web for inexpensive ways to build sites for small clients I can across Ruby On Rails. ROR is a framework built with the Ruby programming language by 37 Signals. Not being familiar with Ruby or Rails, I was immediately curious about it.

Ruby is a relatively new language that was created to be clean and simple code. Rails is a framework created for rapid application development. It has a robust set of classes that provide common functionality with a minimum of effort. Cool.

I am a Microsoft developer, but ever since ASP.NET came out I always though it was a bit much for small sites that do not require all the “horsepower” that .NET can provide. This might be a great way to efficiently build sites for small clients. Although I have not had a chance for much hands-on work with Ruby to evaluate it.

My biggest concern with building a site, with a somewhat obscure technology like this, for a client is when they need to make changes they will not be able to find resources that know the language and framework. Market-share does have its advantages. Hopefully Ruby will continue to grow.

Technology
Comments [0]  

Functionality To Go

I’ve been researching ways to provide less expensive solutions to clients with very limited resources. Since I’m a Microsoft developer I looked for products built with ASP.NET.  Content management systems and shopping carts are the two primary applications I was focusing on.

I found two applications that could be used for content management, DotNetNuke and Rainbow portals. Both are open source portal systems that have evolved from the MS IBuySpy portal. Since I was a team leader a few years ago that worked with that app, I was familiar with it. Of the two, it seems DotNetNuke has more users, more modules (functionality components) and better documentation.

I installed DotNetNuke and have been playing around with the admin for a couples weeks. Seems like a pretty good FREE solution for CMS, except it lacks some workflow features like preview, an approval system and rollback, but if you can live without that, it’s hard to beat free. Besides you can always build on top of it. It’s ASP.NET and well built.

Technology
Comments [0]  

 Wednesday, March 22, 2006
Ruby On Rails

rubyonrails.com - the coolest thing since sliced bread?

Resources
Comments [0]  

15 Seconds

15seconds.com - long time ASP and ASP.NET site

Resources
Comments [0]  

Dot Net Nuke

dotnetnuke.com - Popular portal framework built in ASP.NET

Resources
Comments [0]  

C# Corner

CsharpCorner.com - C#, ASP.NET resource site

Resources
Comments [0]  

ASP Alliance

aspalliance.com - tons of ASP and .NET info

Resources
Comments [0]  

4 Guys from Rolla

4guysfromrolla.com - many times this site has provided answers to ASP and ASP.NET questions. Great Forums.

Resources
Comments [0]  

Search Engine Optimization Is Not Magic

There is a lot of buzz about search engine optimization (SEO). A cottage industry has grown just to address this need. It is certainly important for some companies' web sites to rank high on search engines, but SEO is not as mysterious as some claim.

A fundamental truth is search engines rank sites on content and traffic. Think about it. The logical way to rank search results is to have the most popular site with the most relevant content be first. Over the past several years various techniques have been devised to take advantage of search engine algorithms, but as soon as a pattern becomes prevalent the search engines change their algorithms. Tricking search engines is like timing the stock market -- a gamble, or at best a short term win. I am a proponent of a long-term strategy.

Common Sense SEO

  • The title of the page (text displayed in the top of the browser frame) should be descriptive and contain keywords.

  • Use "keyword" and "description" metatags.

  • Have good content on your homepage; content is copy contained in HTML mark-up. Copy displayed in images and Flash is not read by search engines. If you use images that contain important text such as navigation hyperlinks, page titles, and callouts, include the text in "alt" or "title" attributes for that tag. Having a Flashing into/splash page will have no readable content.

  • Good, clean mark-up helps search engine spiders find the content. Using CSS and standards compliant techniques makes for good SEO.

  • Use hyperlinks in the copy to other pages in your site. The easier it is for a human to find information the easier it is for search engines to do so too.

  • Have well written copy that thoroughly describes the services or products. Make sure the copy contains keywords and avoid pronouns or references to terms in informal ways. If a term has an acronym, use that in addition to the full term.

  • If you have copy in Flash, repeat the copy in div tags in the page mark-up and set the "visible" attribute to "hidden". This gets the copy accessible to search engines.

  • Create a site map.

  • Add a glossary of technical terms and general facts pages if applicable.

  • Drive traffic to your site by marketing your site via traditional means: advertising, brochures, direct mail, press releases and e-mails.

  • Link to industry sites and other sites that are managed by clients, vendors, affiliates and divisions.

  • Time is on your side. The longer your site is on the web with the same domain name, pages and content, the more of a chance it has to be found and indexed by search engines.

These unsophisticated guidelines will go a long way to improve the search engine friendliness of your site.

Strategy
Comments [0]  

The Grim Reaper Calls Again

Arnold Wordwide announced it is closing its St. Louis office this year -- another nail in the advertising coffin for St. Louis. When I first began in the industry in 1987 we had several large agencies that produced work here for large clients: BHN, TBWA, DMB&B. Luckily, we still have two players in sales promotion, Zipatoni and Momentum, that are owned by big corporations and have national accounts, but that’s about it. Oh, and Fleishman Hilliard, but that’s not advertising.

Why has St. Louis continued to decline as an advertising hub for the Midwest?

Globalization? It allows companies to work wherever they want.

Chicago? It is a CITY with talent and resources for which St. Louis cannot compete.

Specialization? The typical agency has evolved into small agile firms that provide a narrow range or services and have relationships with only a few clients. The best work comes from these companies founded by big agencies refugees.

Few Good Clients? St. Louis has lost a few big clients. SBC moved to Texas, but still brings enough work to support Rogers Townsend agency (old DMB&B people). PET moved. No retail type of business here, except AB, or at least no one with sizable budgets and good taste. St. Louis is an industrial town with transportation and manufacturing at its core. The old money has tight purses and does not use innovative advertising.

No Talent? Inability to keep talented creative resources and the ability to attract them leaves St. Louis a bit dry. Who is to blame for that?

It’s a shame. We DO have a lot to offer. I know a lot of talented people, but they are not producing work up to their ability. If only there was an answer.

So come on clients. Get your head out of the sand. Listen to the ideas presented to you daily and don’t make your next brochure like the last one. Don’t make your web site so your wife likes it. Do something interesting. Remember, you don’t have to understand and like It for It to be effective. Help the St. Louis advertising community pull its foot from the grave.

Props to the people actually getting good work out the door: TOKY, Oliver Kuhlman, the little boutiques and the younger talent.

General
Comments [0]  

 Tuesday, March 21, 2006
Favorite Website Awards

The FWA - Awesome sites galore

Inspiration
Comments [0]  

Kaliber 10,000

K10K.net - links, design resources

Inspiration
Comments [0]  

Newstoday

Newstoday - posts and goodness

Inspiration
Comments [0]  

PMP Certification

 I recently became a member of the Project Management Institute, PMI, and certified as a Project Management Professional, PMP. It was a difficult test, but well worth it. Many employers and clients are requiring this designation or at least seriously favoring it. The information on the exam is very useful and can be applied to all kinds of business situations. It has surely made me a better PM and business person.

I used online training at PMCampus.com to get the required 35 hours of education. The price wasn't too bad and they had the information covered. My only complaint is the poor graphic design and usability if their site and printable materials. Ugly!

Project Management
Comments [0]  

Das Blog

 This blog is running DasBlog V1.8.5223.2. I thought about building my own, but it seems a lot of ASP.NET folks are using this and it has more features than I would have included. It was easy to implement. I modified an existing theme to match my site's look. It's not exact, but close. A redesign is not far off anyway. So far I'm pleased with the app. It's a good starting point that I can modify as needed.

I also felt it was important to have my blog on the same server as my site rather than using a service such as Blogger. After all, generating traffic and exposure to promote my services as a web project manager is part of my reason for doing this. And it's free.

Technology
Comments [0]  

On the Bandwagon I Jump

Blogs, blogs, blogs everywhere. So on the bandwagon I jump. Jim Coudal, of Coudal Partners convinced me; not personally, but with his site and commentary.

I have been writing a bit lately, so this will be my testing grounds. I plan on publishing professional ideas and information on web development and project management, my areas of expertise, and sharing good stuff I find around the web.

General
Comments [0]  

 Wednesday, February 01, 2006
Build or Buy?

How does one decide whether to buy a packaged solution or build using custom development? Which one will deliver the best results most economically? Each project is different and sometimes either methodology will suffice. This article hopes to shed some light on the underlying reasons for choosing one direction or the other in web development projects.

Portals, shopping carts, content management systems and intranets to name a few, can be purchased, installed and configured in a fraction of the time and cost it would take to build them from scratch. In the past few years there has been a huge shift in how Web application development is marketed and sold to customers. It has gone from primarily custom development services to packaged products. Every technology company has a brand and a product to sell. Often these products begin as a custom developed solution for a specific client then the firm decides they can resell their experience and resulting code. This has three primary benefits to the firm: bigger profit on reselling the same work, generated revenue of customization of the product, it’s easier to for sales people to understand and customers are often more comfortable with purchasing something off-the-shelf. The perception is there is no need for expensive programmers; less risk, better support and upgrades are available. All these reasons are assumptions and may not be true.

Evaluation

Purchasing software is just like purchasing anything else. The quality of a product is only as good as how it has been designed and constructed. There are hundreds of inferior software products on the market that have been purchased by millions of customers. Even leading software manufacturers like Microsoft and Adobe release products that have major inherent flaws.

On the other hand, customers are often aren’t qualified to audit the practices in a custom development project. A demo is done and if the application passes quality testing, it is accepted. Only when another developer looks “under the hood” is when the realization of the quality of the design and construction is revealed.

Let’s define some of the criteria for quality and acceptance of an application:

Performance - Performance is a measurement of speed, reliability, usability, maintainability and how well an application meets business requirements.

Often the packaged solution has extra features that are not part of the requirements of a project. The product is of better grade, but not necessarily better quality. These unnecessary features add to the complexity to the application increasing development expenses, and may consume resources, reducing the overall performance of the application.

Functionality that is essential to the project’s requirements may not be met exactly by the application and this may be costly to alter. Work-arounds and hacks are sometimes used to “just get it to work,” jeopardizing the integrity of the software’s design and performance making it extremely difficult to troubleshoot and modify later.

Business rules may need to be adapted to match the application’s functionality when the opposite is the goal and adding to the scope of the project. Software is supposed to enhance business practices not require them to be changed.


Implementation - Speed of implementation and integration is one of the biggest selling points of packaged solutions. Customers think since it’s already built it must be faster to get in service. This is mostly true and one of the best reasons to use a packaged solution, but in situations were there is integration with existing systems, interoperability problems could stop implementation in its tracks.

Just because the manufacturer said it would work doesn’t mean it will easily or completely. Many times custom developed utility applications are required to connect disparate applications adding to the complexity of the overall system. Specialists intimate with the product are required to provide analysis and uncover the unique way it may work.

A big issue when a project calls for several products to function together is the number of vendors that may be involved. Vendors look out for themselves and when things don’t work as planned the finger pointing starts. Passing blame and not working together will kill any schedule. It is best to limit the number of vendors and have a non-biased project manager not focused on selling you something keeping the project on track.

Expense - Customers are initially seduced by the price of the product itself, but may find themselves paying more. Costs may be upgrades in infrastructure, helper assemblies, and utility software requiring customization by specialists. These costs can quickly become the majority of the total cost. Non-required functionality that comes with the packaged solution may also increase the cost of the product.

Support - Customers feel packaged solutions provide better options for support. This may be true or not. Products get discontinued everyday. Technologies are no longer supported. Resellers go out of business. You cannot count on having the company that you purchase from around to provide service.

The key thing to emphasize is -- it’s not whether the solution is a packaged or custom application, it’s how well it is designed and developed. If the application is built using standard technologies and best practices it can be worked on by any competent professional programmer skilled in those technologies. The caveat is the availability of that resource.

Growth - Both packaged and custom applications can be built with an open architecture that provides access to functionality. Object oriented design, APIs, and Web services all add to the ability to grow and adapt over time. If this is a priority, make sure your application can be scalable and extensible. It may cost a bit more up front but the savings will be huge when time comes for change.

Keep It Simple

Perhaps the best of both worlds is using pre-developed components, assemblies or libraries that provide small units of functionality for custom development. The application can be designed to meet specific requirements. Unnecessary functionality and bloat is kept to a minimum. Best practices can be adhered to. Timelines may be decreased and the support network is increased while not adding to the number vendors or developers directly working on the project. These “mini products” enable developers with lesser experience to create complex applications by following guidelines. They leverage the skills of senior developers and give a great boost to development practices. There are whole modular systems and frameworks in a variety of platforms like ASP.NET, PHP, and RUBY and JAVA. This is a huge area of growth and an exciting direction for custom development.
 
Get Help

Custom development is not nearly as expensive as it was a few years ago. Rates have dropped as competition has increased and Rapid Application Development techniques are improving productivity. Having a properly designed and developed custom application means less code, easier debugging, better performance and an overall simpler piece of software. As with using a packaged solution, make sure your custom application is designed using standard practices, is easily extended, has the source code and development resources are available when it’s time to make changes.

Custom development may not be the answer. Sometimes your site needs is a component and there is a product that will suit your needs perfectly. Packaged solutions excel in smaller, independent applications. They can often be purchased, installed, configured and in service much cheaper and faster than custom development.

Before making the purchase of a package solution make sure the product meets your requirements or can be altered easily to do so. Find out costs hidden in the extras that are needed. Get estimates on custom development for comparison. Think towards the future. Research resources available to provide support and maintenance. Complete due diligence and then you’ll be able to make a sound decision.

There are more alternatives to developing a Web site today than ever before. It is difficult to wade through all the latest information. Products take time to research and a good vendor is hard to select. Working with a good Project Manager to guide the decision making in the best interest of the project is invaluable. Just remember there is no best solution. Each project has its own requirements. Explore all options.

Project Management
Comments [0]  



A practical look at strategy, project management, technology and design for today's web.

Blogs & Portals

 37 Signals
 Ad Pulp
 Adaptive Path
 AdRants
 Alltop
 Brandstorming STL
 Coudal
 David Byrne
 David H Hansson
 David Hayden
 Design Charts
 Design Observer
 DNN Creative
 Flash Authoring Team
 FWA
 Guy Kawasaki
 Joseph Jaffe
 Joshua Jefferies STL
 Kaliber 10,000
 Kottke
 Logic+Emotion
 Newstoday
 Paul Macfarlane STL
 Scott Guthrie
 Scott Mitchell
 Seth Godin
 TechCrunch
 ThoughtWorks Blog
 Tinic Uro
 Web 2.0 Workgroup
 Zeldman
Copyright © blend 2006. All rights reserved. | By James Bielefeldt. |