Share This!

Thursday, September 29, 2011

Mixed Messages

I just changed the icon in my application's main form and got this... a success message with the red "Error" (x) icon.



Bryan Valencia is a contributing editor and founder of Visual Studio Journey.  He owns and operates Software Services, a web design and hosting company in Manteca, California.

Thursday, September 8, 2011

TextBox Watermarking in ASP.NET

This post in in answer to a recent request I got to add a gray italicized hint to the search textbox that clears when the user selects the box.

A google search or two revealed that the industry calls that a TextBox Watermark, and it looks like this:
There are 3 things you need to accomplish this.
CSS styles for the watermarked and unwatermarked boxes. 
I added these to my main stylesheet.


Javascript to change the styles...

and the HTML event wireup

Bryan Valencia is a contributing editor and founder of Visual Studio Journey.  He owns and operates Software Services, a web design and hosting company in Manteca, California.

Thursday, September 1, 2011

The Perils of the Fixed Bid

Here's a stupid trick that new freelance software developers often fall into.

You are in business for yourself - maybe part time - and you get a call.  Typically it goes something like this.

How much will it cost to make a web site?

I usually chuckle and say something like "Between $100 and $20million."  I have found that people who call for this kind of work don't know what they want from a web site, they have no idea what they want to say to the world, and they think you have this folder full of pre-made web sites that you can drag and drop on the web.   Tell them that creating a website is a collaborative process, and if they are interested in keeping costs down, the best way is to have a clear idea what they want to say and it's even better if they have already written most of the text.

Even after this, most of the time the answers will be vague and indefinite, like "All I want is a page to let people know I'm out there."  Even at this point, you should avoid giving a fixed price.  The last time I created a "5 page" website, it ended up being 18 pages, a database, a photo organizer and lots more.  As I said, most people have no idea what it's like to create a site, and once you give them a fixed price, they always (and I mean always) start thinking of more things that are part of the original idea.  That "simple page" becomes a shopping cart, private user areas, blog, chat board, and you end up spending the rest of your career working for that original $250 you quoted.  The problem isn't them.  It's all because you took a vague idea and attached a fixed price to it. 

So how do you quote a vague task, like make me a simple company web site

Quote by the hour.
Tell them that you work on a fixed hourly rate.  Tell them that the more details they give you, the faster and less expensive it will be.  Tell them that they (not you) will provide logos and text for the site.  You will record your time and bill them weekly.  You will provide them an estimate, but every time they call up and change anything, the estimate will change.  Trust me, they  will want changes, and they must be made aware that every single change costs time.

When they say, "Hey, I know I told you I didn't care about colors, but can you change it all to a green and yellow theme?"  Don't just say "ok", tell them how much time that will add to the project.

Fight the Fear
The primary fear that your client will have is that your costs will run away and the project will cost many times what you originally quoted.  That's why they asked for a fixed quote in the first place.  They wanted to budget $250 and get 'it' done.  Even though they refused to tell you what 'it' is.  Now you've told them that it will be (say) $65 an hour and you have estimated 5 hours' work.  They instantly got out a calculator and ran the numbers and they put $325 in their heads and told it to their partners. 

The primary tools you need are:
  • Clear instructions.
  • Good communication
  • A written agreement
  • A clear understanding that changes - all changes - add time, and if it means redoing something you have already worked on, it means throwing that earlier time away.
  • Work your ass off to meet your timelines.
The only possible outcome of not doing this is angry, dissatisfied clients.

Oh, and how long will my web site take? Facebook took about 15 years and they're still working on it

Bryan Valencia is a contributing editor and founder of Visual Studio Journey.  He owns and operates Software Services, a web design and hosting company in Manteca, California.

DataGridView: Edit Row on F2

The Problem: The DataGridView control defaults to EditMode=EditOnKeystrokeOrF2. That means that if you're tabbing around and you accidentally hit ANY KEY, you're going to munge your data.

One Solution: There is an EditMode setting called "EditOnF2" which requires the user to hit F2 before editing. It's a lot like locking all edits in your Excel spreadsheets. The user is now required to hit F2 to initiate editing on every cell.

This is annoying. Most all database programs go into edit mode on a per row basis, meaning if you want to edit row 456, you go into edit mode for the entire row, saving changes when you click 'save' or leave the row.


Bryan Valencia is a contributing editor and founder of Visual Studio Journey.  He owns and operates Software Services, a web design and hosting company in Manteca, California.

Contact Us

Name

Email *

Message *