Wednesday, April 16, 2008

Difficult Choices

This is an email I wrote to the users of one of our applications. I realized that none of the users want to hear all of it, so I decided not to send it. Still, I think it's an interesting look into what I do, and the little details that I toil over.

Recurrence, recurrence, recurrence…

One of the most requested features for the new Corporate Events Calendar is now implemented, sort of. We have partially implemented the feature, and plan to finish it soon.

Recurrence is one of those things that are easy to describe, but hard to get right. We had a very crude implementation done by release date. We realized that it was not right and so it was removed from the calendar. In its place was a message [I considered it a promise] that it would come soon. Since then we have spent much time in planning and development to strike a balance between easy to use and powerful, functional and sane.

We believe we have achieved those goals, but you are our ultimate judges. Read on to learn how it works.

Recurrence can be broken into a few questions: How often, how many, and what gets copied.

How often can you schedule a recurring event; daily, weekly, monthly, yearly? We chose the middle two. You can either schedule a weekly or monthly event. Daily and yearly events rarely recur in such a pattern, and we do not want a lot of wasted reservations being created, we are going to handle those differently. I will cover that later. As for the weekly recurrence, you can set what day of the week to start and how many weeks between occurrences. The monthly scheduling is done by selecting the day again and which week of the month the event should be held.

How many events can you schedule at once? This was a particularly challenging question. We would love to allow for infinite scheduling, but that is not very manageable. We chose to limit you to 24 monthly occurrences and 52 weekly occurrences. You will have to revisit your events to create a new schedule each year, which will allow you to make the necessary adjustments and will self-clean any abandoned event schedules.

What gets copied? Again, there were no easy answers. We could copy everything, from basic information to each invitation sent, but only certain values apply to every event. We chose to copy: Event Information, Rooms/Equipment, Scheduling, Capabilities, Facilitators, and Sign Up settings (not the attendees). We have left off the Invitations and Menu, because those tend to change from event to event. Obviously, while the schedule is copied, it is also modified to start as of the new date.

One last feature is that you will see a list of all scheduled occurrences after you have added recurrence. This will allow you to quickly jump to other occurrences. You can also use this list to cancel future occurrences, just select one or more and press the Cancel Selected Occurrences button, then confirm your action.

Now that I have covered what is implemented, I need to discuss what is still missing. The biggest feature that is missing is the ability to modify all of your occurrences at once. After you schedule multiple occurrences of an event you will have to manage each one separately. We will implement a way to push changes to all occurrences and plan to release it in the near future.

Another feature that is missing is the ability to add an individual occurrence. This will allow easy scheduling of yearly events or quick copying of an event with two instances. We think this could be of great benefit and plan to release it shortly.

I cut it off there, realizing that I need no conclusion to an email that I will never send.

I love to be open with my clients about what I do. Sharing information is important to me. I find that when people know what goes into every decision that we make then they're more likely to appreciate what we get right and positively contribute when we get things wrong. The problem here is that most people don't care about the decisions, especially not until they believe it effects them. So, I'll hold this one back.

Monday, April 14, 2008

God, Stop Blessing The Seventh Inning Stretch

Spring is upon us. Among the millions of notable events that this change sets in motion, the start of baseball season has gained a special status with me in the last few years. I've learned new appreciation for the game. I look forward to enjoying games with my son, once he's old enough.

Unfortunately, this also brings the newfound tradition of singing God Bless America during the seventh inning stretch. This is one of the side effects of the 9/11 attacks. I hoped this would go away with time, but it seems to have ingrained itself.

I have two problems with this. The first is that playing this is a subtle reinforcement of Christian Nationalism, as the song itself is. What I take from the song, is that this is a Christian nation and that we would be nowhere without god. There is a wealth of evidence, outside of the revisionist crap taught by most schools, proving the former to be wrong and the latter is argumentative at best. Combine the sentiment in the song with the implied connection to nationalism in America's sport, and you have a strengthened connection between Christianity and nationalism. I'd like my sports to have a little less politics, thanks.

My second problem is that I think the song is second rate when compared to other songs that could be performed. Notably, America the Beautiful and This Land Is Your Land are both better representations of this nation, why it is great, and what is special about it. Neither has god as a main focal point, and only one actually mentions god. Both are more inclusive and have better statements of our countries values.

You'll note that America the Beautiful contains several references to god, and you might question why I believe that it is a better choice. I believe that song speaks of why America is great without attributing it to or without proclaiming reliance upon god. Instead, it acknowledges the writer's belief that we need god to help us and to guide us, especially because we have a potential to be great and powerful. The distinction to be made is that in God Bless America we are a weak country in service of god and we attribute everything to god, in America the Beautiful we are a wonderful country which may need god to keep on the right path. It also helps that I think America the Beautiful also sounds better.

Of course, I also don't think that baseball needs to have any more nationalism pumped into it. I think I'd be happiest if they were to remove patriotic songs from the regular schedule. Take Me Out to the Ball Game is a wonderful alternative.

Wednesday, April 2, 2008

The Problem with Integration

The more you integrate products the more that product A's operation relies on how well product B works. A bug in product A can cripple product B.

That's pretty obvious, but what's less obvious is that you have to be able to trust everyone involved in the integrated products. If you can't trust the developer, or the code, of product B then product A may be doomed. If you're integrating products so that they use the same data then you not only have to worry about the developers, but the operators as well.

On Monday an application stopped working. It's part of our Intranet, but it displays human resources data, and it ties into our accounting system. It turns out that the accounting department had not opened a new period in the system, which broke everything.

Tuesday, April 1, 2008

I Want My H1B

Well, not for me. I'd like one for my coworker. He's a great guy whose been here on a student visa and began interning for us a few years ago. I believe we're hoping to get him one of these visas and I really worry what will happen if we don't. He wants to stay and work with us, but he has to do that legally. This whole situation is a mess.

The federal government on Tuesday begins accepting H-1B visa applications. The government grants 65,000 visas by a lottery system — mostly to tech companies so they can hire highly skilled workers from outside the U.S. Last year, it received more than double that number in applications — on the first day.

The funny thing is, we're not just looking for cheap labor or to replace all of our programmers. [At least I really hope not, because that would include me.] What we want to do is keep a good worker around. He's someone who positively contributes to the company and, I'm sure, the community. We think he's worth the effort to try to obtain a visa, so our HR people have been working on it.

Interestingly, he is not displacing American workers. Last year he took a four month hiatus from the company due to a lapse in his work visa. We tried to hire during this time, not to replace him, but to augment our team and to help fill the gap during his leave. After hundreds of resumes and dozens of interviews, we found no one who wanted the job and fit our needs. It isn't for lack of trying, we just need our guy.

He's far from the best programmer, and I've done everything in my power to ensure he's not the cheapest. The crux is that he's part of our team. I'd hate to see the team suffer because of stupid immigration laws and greedy, abusive companies. I'd hate to see my coworker suffer, too.

April Fools! Finally Admitting The Truth About Red Light Cameras

MSNBC has a report on the recent trend of turning off traffic cameras. It seems that when they work as their proponents say they will then people don't break the law as much. When people don't break the law as much, then there is a decrease in tickets, meaning less money for the municipality.
City officials in Charlotte and Fayetteville, N.C., recently turned off all of their red light cameras, concluding that a state law diverting much of the revenue they generate in fines to schools meant their general funds were actually losing money, NBC affiliate WNCN of Raleigh reported.

In Bolingbrook, Ill., meanwhile, officials ended their red light camera program after statistics showed a 40 percent drop in ticketable offenses.

If safety was the real concern, why turn these cameras off? More importantly, why not lengthen the yellow light? April Fools, America, red light cameras are only about the money.