Archive for April, 2009

Web application form design: Should field widths be the same?

April 18th, 2009 No comments

In Designing the Obvious (pg. 188), Robert Hoekman advocates designing your forms so that the fields on the left and right have uniform length fields (textboxes, comboboxes, etc...) . From an aesthetic standpoint, it is much more pleasing to the eye to have the alignment on the right and left hand side, however, if any of your data elements are common elements that have a standard or fixed length in terms of characters, you may be causing users some confusion if the width of the textbox is much greater than the length of the expected data. This is an important point that I think was overlooked in the book.

Before I delve much further, let me say that Designing the Obvious is an excellent book and has some great ideas in it. If you are designing web forms and apps, you should pick yourself up a copy. The one downside is that he does not pay much attention to web applications that must display a large number of data elements. Many internal web apps are heavily data-driven and in our consulting environment that is mostly what we build.

Back to the form elements. The approach of having same width form elements definitely works in some situations and has become very commonplace in simple web forms, such as signup forms, contact us forms, etc...
Squidoo signup pageThe Squidoo signup page (Squidoo is used as an example in Designing the Obvious) you can see that the form elements are all the same width and it's pleasing to the eye and causes no confusion because all the data elements are variable length and can potentially be very long.

But, as stated in my original point, if the data in the field has a fixed or standard length, it may cause confusion for the user if the form element is much wider than the expected data. I am not just speaking from conjecture on this issue, in the past few years I've built numerous web applications and I have attempted laying out web forms where all elements were the same width. I would sometimes receive complaints from users when the field was wide, but the data element was short, such as a two digit number or three digit code. They were confused by the long field and it raised doubts in their mind as to whether or not they understood what data was expected.

Here is an example of a form that I think overdoes the different lengths and appears "choppy".


They do have some field widths the same, but I personally would have made almost all of these fields the same width, with maybe the exception of Zip Code and potentially DOB. The reality is that with public forms you can probably almost always get away with having all form elements the same width. This is because the data expected is so common that almost all users immediately know what to do. The problem occurs more in web apps dealing with many data elements where the user may not be sure what data is expected.

Confusing the user is obviously not good. As user interface designers we strive for clarity so that the user feels confident in the direction they are taking. So we have two choices, (1) we can either set standard widths on our form fields or (2) we can vary the length as needed, specifically in those instances where the length of the data is fixed. To be clear on #2, you should still have a standard length field for long variable length elements, but you should make them shorter if the expected data is fixed and short. Of those two choices which gives us the best user experience?

Fixed length form elements:

  • Increase scannability (marginally I would say, because left side matters more than right
  • Can create confusion on conscious level (why is this field so long)
  • More aesthetically appealing

Variable length form elements (only when needed):

  • Reduce scannability (again, marginally)
  • Give the user confidence that they understand what data to enter
  • Not as eye-pleasing, can appear "choppy"

I think the advantage of reducing confusion far outweighs scannability and aesthetics. Why? Because I think of scannability and aesthetics as emotional benefits. Most users will not be aware of these benefits and will not, in their conscious mind, think about the scannability and aesthetics. But, they will feel that the page is somehow more comforting/simple/clear/etc... than a page with a slightly choppy form.

Reducing confusion is a thinking benefit. As the user is working through a form they will be asking their brain for bits of information and they will be doing a brief mental check that they are entering the correct information. That mental check should pass with almost no thought, but the moment it doesn't, it comes into the forefront of the user's thoughts. After thinking about it for a second they may dismiss the issue, but it did cause a disruption in their user experience. Or they could become flustered by the issue and abandon the form. That might be extreme, but there are definitely plenty of users out there who will abandon a form at the first sense of discomfort.

That's my two cents on the topic. In all of our apps we look at each data element and ones that will be very short in length, we keep the form elements width only as long as it needs to be. We mitigate this by keeping longer form elements the same width, which reduces the "choppiness" of having many form elements with different widths.

MapGuide, ArcGIS Server, and Manifold – First thoughts

April 16th, 2009 7 comments

In this article I'll give a brief overview of three Internet Map Servers (IMS): ArcGIS Server 9.3, MapGuide Open Source, and Manifold. I have scoured the web for information and also talked to consultants for each tool. Please keep in mind that my viewpoint is that of a person who has only acted as an end-user of each product, not a developer.

First, why am I looking for an IMS? Well I'm glad you asked! We are nearing completion of our first "for sale" software product, Landboss. Landboss is a SaaS app that provides lease acquistion and administration functionality to the oil and gas industry. Most of my functionality gathering missions took place in our homestate of Oklahoma. Our initial plan was to support only states that use the Public Land Survey System, but after talking to some folks in TX we realized we could support them (and other non-PLSS states such as the New England area) without too much extra work.

There was a catch, as always. Because tracts of land in non-PLSS states come in all shapes and sizes, mapping is extremely important. The main reason is because users need to visualize their prospect and tracts within it. In a PLSS state you can fake this because most tracts are rectangular in nature. Thus, our potential TX clients want/need mapping in the system as soon as possible.

ArcGIS Server
ESRI is the standard in GIS, there is no arguing that point at all. The ArcGIS Server product seems snappy in all demos that I have used and has a nice look to the maps. The big advantage to ArcGIS Server is that there is a large community and a lot of support for the product and it has been tested heavily in production.

The two downsides of ArcGIS are price and multi-threading performance. ArcGIS Server is expensive for a server license if you want to open it up to the world, more than I want to pay. That problem is compounded by the fact that the ArcGIS engine product is not multi-threaded. The server itself is multi-threaded to handle requests, but once a request gets to the engine, it will not take advantage of a multi-core processor. ArcGIS server has announced native 64-bit support, but I'm not sure if it's available yet or not.

ArcGIS Server will run on Windows, Linux, or Sun Solaris.

MapGuide OS
MapGuide OS is backed by AutoDesk. They open-sourced MapGuide, I assume, to combat ESRI's stranglehold on the marketplace. AutoDesk still sells a licensed enterprise version that is built around MapGuide OS.

MapGuide's interface is nice and response time was quick. The quality of the rendering was good as well, although I don't think there is a significant difference between ArcGIS and MapGuide. The huge benefit with MapGuide is that it is open source and free to use. For what I want to do, the work is fairly straightforward and I'm looking at spending less on a consultant than I would spend on one license of ArcGIS Server!

The main reason the consultant's time would be less is because MapGuide comes with quite a bit of functionality out of the box, like tiling, AJAX, and more. It also has support for all major spatial databases.

MapGuide OS will run on Linux or Windows.

Manifold is a very interesting product. It claims huge performance benefits on it's website and shamelessly bashes ESRI. I have no reason to believe that those performance benefits are false and from reading and discussing with a consultant I have reason to believe they are true. I was very intrigued by their support for NVIDIA CUDA and in future versions they plan to move more function calls to CUDA (currently it's a limited number of functions that can run in CUDA).

The maps themselves are good quality and the rendering speed was good. It would be hard to compare the three products on performance without doing a formal benchmark of each under various loads.

As a desktop GIS product I think Manifold is extremely competitive because of it's pricing and capabilities when compared to ESRI. The IMS falls down short though because the out of the box implementation is horrible. To get to a nice feature set that MapGuide has out of the box would take you hundreds of hours of developer time. The performance benefits are simply not good enough to overcome the extra cost of development time. Manifold does not seem to have any interest in building out the server product, they seem content to focus their time on the engine.

Manifold proudly flies the Microsoft flag and even suggests that supporting only one platform is a benefit because it makes their job simpler.

And the winner is...
If you haven't already guessed it, MapGuide OS is the direction we have chosen. For the quality and features of the software you simply can't beat it when it is free and open source. You can interface with the product using multiple languages (we prefer C#) so it fits into most development environments easily. AutoDesk still supports MapGuide heavily so it is far from a dead product and there is a large support community around the product in case you need help developing your map application.

Once we put MapGuide into production I will post a follow-up and let everyone know how it goes.

Get Rid of Sinus Pain and Headaches

April 12th, 2009 5 comments

Over the last 3 years I have endured sinus headaches that can at times be debilitating. At first I thought they were normal headaches, but as they persisted I suspected they were something more. I began to pay attention to the symptoms and I identified them as sinus headaches.

Once I diagnosed the problem I began self-medicating with Sudafed and ibuprofen, but they simply treated the symptoms and I found myself taking them almost daily during my worst bouts. Not wanting to be dependent on drugs, I began searching for a permanent solution to my sinus headaches. In the rest of this post I will discuss my personal experience and the three tools I've found for naturally controlling sinus headaches:

  • Eliminating allergens
  • Sinus lavage (aka nasal lavage, nasal irrigation)
  • Exercise

How can you tell a sinus headache from other headaches?

Most people associate sinus headaches with colds because they typically occur when you are congested from a cold. However, sinus headaches can be caused by any number of allergens and can occur without displaying any other symptoms except for the pain.

The pain I experience, as most people with sinus headaches, is directly behind the eyes. There is a feeling of pressure and if you put the palms of your hands on your closed eyes and push slightly it will not be comfortable. Conversely, if you take your thumbs and press up on the top of your eye socket, you will feel relief. Sometimes my sinus headaches are accompanied by stuffy ears due to the Eustachian tubes not draining properly, but typically I have no other noticeable symptoms.

What causes sinus headaches and sinus pain?

As I noted before, you can get sinus headaches and pain from having a cold or flu, but the purpose of this article is to address chronic sinus headaches and pain. Chronic sinus headaches usually are typically caused by allergies. Common allergens are mold, dust, pollen, and food.

The direct reason for sinus headaches and pain is the actual inflammation and swelling of the tissue in your sinus cavities which can be caused by allergic reactions. This inflammation and swelling does not allow your sinus to function and drain properly, thus leading to congestion and pain.

In my particular case, the source of the allergies was two-fold, pollen and mold. Now the kicker here is that the mold allergy was not airbone, it was food ingested, which took me quite a while to figure out.

Food allergies cause sinus headaches?!

By mid 2008 my headaches got so bad that I decided I had to take action and figure out what was going on. I called a friend of mine who is a chiropractor and practices natural medicine. As an aside, he's not a quack :), but actually a very analytical (previously an electrical engineer) and competent individual. He suggested that the headaches could be caused by a food allergy because it was common for sinus headaches to manifest by themselves with no other symptoms when caused by a food allergy.

I did some research on the web on my own and found other sources stating that food allergies alone could cause sinus headaches, often without other symptoms. My friend ordered my a blood test to test for food allergies.

In the weeks that I waited for the results I determined the culprit. I had racked my brain for what I had changed in my diet over the previous couple of years. There was really only one item I could think of: Kashi products. I quit eating Kashi products and almost immediately the majority of the headaches went away, it was pretty amazing. I still suffered from the occasional headache and I'll discuss how I overcame those in a moment.

When the test results came back, I only had one severe food allergy, aspergillus. Asper-what? That's what I said. Aspergillus is a common mold that is found in the air and is responsible for many airborne mold allergies, however it is also commonly found on grains and thus ingested by you and me. Kashi touts there 7-grain blend and it is in everything they make, so I could only infer that Kashi products must have a high amount of Aspergillus in them. I thought this might be psycho-somatic, but I have since ingested two Kashi products without thinking (a bar and waffles) and both times I got sinus headaches. It was only in retrospect that I realized the products were Kashi brand.

Sinus lavage and how it can prevent sinus headaches

I still struggled with regular sinus headaches caused by airborne allergens such as pollen. Since my only symptoms are headaches and stuffy ears, I choose not to use any allergy medicine such as Zyrtec, although I have in the past and it does work. The reason I choose not to is because antihistamines dry you out and and only treat the symptoms. I also hate the idea of taking medicine for the rest of my life if I don't have to.

It was at this point I discovered sinus lavage, which is fancy talk for squirting water up your nose. I was talking to my sister about the headaches and she told me that her ear-nose-throat doctor had told her to do sinus lavage. Sinus lavage is the act of taking a big plastic syringe and squirting saline solution up your nose so that it runs through your sinus cavities. Sound fun? It's really not that bad. I used to fantasize about drilling holes in my sinuses when my headaches were at their worst, so squirting salt water up my nose seems reasonable!

I began researching and found that sinus lavage can help prevent sinus headaches, but you have to make sure you use it when you are first exposed to the allergens. The problem is you don't necessarily know when you are exposed (unless it's really obvious, such as mowing the lawn). However, in my experience I've found that doing it anytime you begin to suspect that a headache is on the way is enough to stave off the headaches. Even if you have a headache, sinus lavage definitely helps speed recovery time to just 3-4 hours (as good as Sudafed).

I researched nasal irrigation kits and found Nasaline to be the most recommended. I found it on Amazon (Nasaline Nasal Irrigator) and it has excellent reviews. I've been very happy it and it has almost eradicated the last of my sinus pain.

A few tips on using the nasal irrigator:

  • Use distilled water. You really don't want any impurities in your sinus cavity
  • Warm the water a bit above room temperature (not too much, just so it's comfy)
  • Get the air out of the syringe! (not fun if it's there)

Exercise helps too

When my headaches were at their worst aerobic exercise would definitely help limit the length and severity of my sinus headaches. Doing 20-30 minutes of exercise a day should help and also has a ton of other beneficial effects as well.

I'm happy to be sinus headache free. For awhile it was starting to impact my work and taking Sudafed all the time was making me jittery and wired, which I didn't care for at all. I hope this post can help someone else overcome their sinus pain!

Down the RFP rabbit hole

April 10th, 2009 No comments

InterWorks recently invested a large amount of time into responding to the Oklahoma Department of Central Purchasing's (DCS) RFP for technology services. There were nine categories you could respond to and if you are one of the big winners (4 per category) you get to peddle your wares to state agencies without being required to go through the RFP process to do the work.

Going through the process re-kindled my dislike for the process. We've won very few private-sector RFP's historically. When we do win an RFP it's because of a pre-existing relationship and in many cases we helped write the RFP. If you have not had personal contact with the person putting out the RFP, I think your chances are significantly less.

Government RFP's are a bit different. Because it's the government (or is it duh-verment?) the scoring process is much more systemic and objective, although I'm not fooling myself because I'm sure that any scorers prejudices will come into play while reviewing the proposals. I understand the nature of the objective scoring system, but it tends turn the RFP process into a glorified term-paper writing contest. The merits of the company and their success are taken into account, but only after you carefully navigate all of the tiny little traps laced through the RFP and amendments (wrong font? oops -5, only 9 whizbangs listed instead of the requested 10? -10, and so on).

I also take issue with the minimum qualifications listed for team members included in the response. For example, programmers were expected to have 4+ years of experience if you were going to supply their resume as part of your team. Four years!? really? I know after 2-3 years of programming I thought I was hot sh-- and I met quite a few programmers with 10+ years under their belt who were plodding through their careers with no real passion for software development. Needless to say, someone who is passionate and loves what they do tends to learn faster and also produce higher quality work than the person who is just paying the bill with the good ol' J-O-B. I think 2+ years is more than adequate training for the programmers on the team, I can understand wanting more for an architect as learning how to be a systems analyst and architect take more time.

We put a ton of time into this, especially our COO, Dan Murray, and I really hope we win one of the categories (we bid on 4). Our proposal was not as AWESOME as it should have been, but it was respectable. Overall it was a positive experience and we definitely learned how the process of writing the response should be handled in the future, which could potentially be valuable if the right opportunity presents itself.

Categories: Sales Tags: