A New Internet Library: Add Your Website/Blog or Suggest A Website/Blog to our Free Web Directory http://anil.myfunda.net.

Its very simple, free and SEO Friendly.
Submit Now....

Sunday, July 27, 2008

How I Got Started In Software Development

It's a quiet friday afternoon with all of our devs in training today, so I figured I'd take a breather and respond to this meme I've been tagged with by Keyvan and others. How Old Were You When You Started Programming? Have I even started really programming yet? I guess I got my first taste when I was around eight with my first computer, a TRS-80 Color Computer . That sucker could display 9 colors, all at once, believe it or not. My programming experience back then was pretty minimal. My dad and I mostly spent hours typing in program listings from books, complete with pages of DATA lines consisting entirely of 0s and 1s. Pretty much typing by hand the equivalent of binary resources. I also wrote simple programs that would draw pictures and my...(read more)

Source Click Here.

Adding a customer field to a UI: Proposed solution

In yesterday's post, I described a UI problem I was thinking about. Namely, how can you add a customer field to a UI. That post contains the criteria I'm looking for which I won't repeat here because this sucker's already longer than I want it to be.

I was going to let the thing germinate a little first but Ayende was kind enough to propose the exact solution I am considering in the comments. That is, the customer name field will be an auto-complete textbox, like Google Suggest. As the user types, it populates the listbox portion with search results based on what the user has entered. If the user selects one of those values, the other customer info textboxes get populated with the default values. The user is free to change them.

I'll walk through a couple of scenarios. First, adding a job with an existing customer. We go to the customer name field and start typing. The list of search results pops up and we select one of them. This brings back the default contact info for the customer and populates other contact fields on the form as well as a hidden field with the customer ID. The user is free to change the contact details if the defaults aren't appropriate.

When the job is saved, we create a link 'twixt the job and the customer based on the customer ID field we stored. But we save the contact data with the job (not with the customer), even if the user didn't change it from the defaults. The reason being: In the future, the default contact person may change but that doesn't change the fact that, for this job at this time, this is the contact person.

Next scenario: adding a new customer. Again we go to the customer name field on the job page and type a name into the auto-complete textbox. It auto-populates with search values but we don't select any of them. We continue on adding the contact information for this job.

When the job is saved, it recognizes that we didn't select an existing customer because the customer ID field is blank. So we create a new customer record in the database and provide it with the entered contact info as default values. The remainder of the process is the same as if we selected an existing customer, including copying the "default" values into the job record.

Another requirement was that we wanted to update the customer with new default information if we so desired. This can be done with a checkbox. If checked, we update the customer record with the user-entered contact info before saving the job. Everything else in the process is the same.

I can think of a couple of edge cases that may require some tinkering. Firstly, customers with the same name. The business deals with both individuals as well as companies and it's conceivable that they could have a couple of John Smiths (or more likely, given the area, John Kowalchuks) on their mailing list.

Not sure how I'll deal with that or even if I'll address it. This isn't a customer management app after all. They just want some reports on where most of their business is going. This edge case doesn't sound like one that will skew the results one way or the other.

Next edge case: The user misspells the customer name and mistakenly adds a new customer when they already exist. This falls under my personal adage of "You can't save everybody" and again, I don't believe this will have a statistical bearing on the results. Besides which, it's nothing an annual data clean-up can't handle.

Next: What if the user selects a value from the auto-complete list, then decides it isn't appropriate and deletes it, choosing to enter a new customer instead? I won't go into details here mostly because I don't know them yet. Off the top of my head, this will involve some funky AJAX to ensure that the customer ID field is blank when the job is saved.

Lastly: what if the user entered in the wrong customer, saved the job, then later wants to change it? Do we even allow that on the job entry screen? Or is that something an administrator should do in a separate process?

Sounds like a question for the client to me but historically, the person entering the data *is* the administrator so my guess is to make it as easy as possible. Which means having the ability to change the customer for a job at any time.

Final note: I don't intend for this to be the sum total of the customer management capabilities of this application. I still plan to have the ability to update customer information outside of the context of a job.

But the job entry screen is where they will spend a good chunk of their time and it behooves me to make it flow as effortlessly as possible. Their business isn't in data entry and data capture. It's land surveying. My business is to make sure that this application works as seamlessly as possible so that they can focus on the tasks that actually make money for them (and don't ask me what those are because, despite my genetic leanings, I have little idea what land surveyors actually do).

In short, I don't want to be the bottleneck in their process.

Kyle the Averse



Source Click Here.

Drag and Drop Images Into a PictureBox

This article was written simply out of curiosity. I was doing a similar operation using web technologies and just wanted to try out how it works with Windows Forms. I have recorded the steps in this short article, where we will explore how to drag and drop images into a PictureBox.



Source Click Here.

Hyper-V continued

Just wanted to give a brief update on using Hyper-V.  I can't seem to find a reason to not use it.  Right now I can run all my different machines, at any time and when needed, and do everything I need to do for work.  I can also keep things...(read more)

Source Click Here.

Windows Vista Tips and Tricks - Part I

In this article, we will cover some basic Windows Vista tips and tricks that will facilitate your experience with Windows Vista. The tips and tricks have been tried out on Windows Vista Ultimate.



Source Click Here.

Silverlight Tips of the Day - Week 3

3 new Silverlight blogs have been completed for this week. Check them out! GameFest 2008 - Silverlight Game Programming Tip of the Day #21 - How to work with Shapes, Brushes and Gradients Tip of the Day #22 - How to add Sound Effects, Music and Video to your Silverlight App. Thank you. Mike Snow SDET Lead  Visual Studio Web Tools Read More......(read more)

Source Click Here.

Make your Website Mobile and iPhone Friendly - Add Home Screen iPhone Icons and Adjust the ViewPort

If you're noticing when looking at your blog traffic logs that more and more people are visiting your site from a mobile device, you likely want to be accommodating. I have noticed recently that mobile devices like the iPhone, iPod Touch and Danger Hiptop (well, that's probably just one guy) have been creeping up my list of Browsers+OSs that visit this blog. How can I make their experience suck less? Just because the iPhone has Safari and can handle most full-size doesn't mean I should go bonkers with the HTML. There's a few simple things that can be done to make the experience more seamless. Add Home Screen iPhone Icons for your Website If you visit a website on an iPhone and hit the plus button and click Add to Home Screen...(read more)

Source Click Here.

Originals Enjoy