Archive for the ‘Charity’ Category

Dallas Give Camp 2011

Monday, January 17th, 2011

team pic2011 was my second year at Dallas Give Camp. It was just as much fun this year as it was last year.

Give Camp is a chance for developers to donate their time to local charities. While it started in Dallas four years ago, it has quickly grown to include over 25 cities.

Second Wind revisited

Last year, I had the opportunity to help out Second Wind, a local organization that helps families in need to have Christmas gifts for their children. We built them a web application in which the volunteers could organize schools, families, and sponsors. It was an ASP .NET Web Forms application built using Entity Framework 1. I was pleased with the progress that we were able to make, and the charity was happy to move away from a paper-based system.

This year, Second Wind returned for some enhancements to the application. I was not on that team, but I was proud nonetheless to see their results. They ported the Web Forms application to MVC 3 and greatly improved the look and feel. They also added reports that the volunteers found that they needed. Over this past year, they integrated the app into their workflow and discovered some manual processes that they could automate. This is iterative development at its best: put the app into production, see how you actually use it, and then come back to add features.

Legal Hospice of Texas

While my old charity was getting the help they needed, I was assigned to a new charity. New for me, at least. Legal Hospice of Texas ensures that people with incurable diseases get the legal help that they need to put their affairs in order. Two years ago, they participated in Dallas Give Camp to get a new web site built. They were very happy with the look and functionality of the site, but it was difficult for them to make changes on their own. They needed a Content Management System (CMS).

We evaluated several alternatives, including SiteFinity, MojoPortal, and DotNetNuke. We chose SiteFinity for its ease of use. We liked how a non-technical person could change not only the content, but also the layout, without editing code. Styling required some CSS knowledge, but it was not necessary to create a custom master page. It had all of the features that our charity needed out-of-the-box, and Telerik was kind enough to donate licenses. It seemed to be a clear choice.

SiteFinity 4

When we started using SiteFinity, however, we ran into some serious issues. The first couple of issues were related to IIS setup, which Matt Legrotte from Verio was quickly able to resolve. But then additional problems arose. They didn’t just affect us; all charities using SiteFinity this weekend were having trouble.

I am not just talking about Dallas. It turns out that half of the Give Camps in the United States were holding their events on the same weekend. Coincidentally (or perhaps not so coincidentally), Telerik was released their new version of SiteFinity on the same weekend. Gabe Sumner, the Telerik Developer Evangelist who supported SiteFinity this weekend, was stationed in Houston. He provided technical training and support via Net Meeting, Twitter, and email. He was in high demand, as all charities using SiteFinity 4 in all cities were having difficulty.

The problems were numerous. When more than one person publish page content at the same time, SiteFinity throws an exception that puts the application into a continuous restart mode. The only resolution is to recycle the app pool. Furthermore, there were some modules that were missing resources, like background images. When someone tried to add one of these modules to a page, it would bring down the application.

Most ominous was the fact that SiteFinity 4 would sometimes loose data. When building a page, you had to be careful to allow SiteFinity to complete all of its AJAX calls. If you navigated to another page too soon, the content that it was saving would not be stored. In most cases, you could correct this by reverting to a previous revision in history, then reapplying your intended changes. One team, however, changed their template after creating several pages. After doing so, not only did the pages no longer contain content, but the revision history brought up “yellow screens of death”, error dumps all too familiar to ASP developers.

In addition, SiteFinity 4 either has a memory leak, or simply consumes more memory than your typical web application. It was exceeding the allocated memory limits at many hosts. Fortunately for us, Verio set their limits much higher than others, so this wasn’t one of our issues.

With Matt’s help, we diagnosed many of SiteFinity’s bugs and learned how to avoid them. We announced “Publishing” before hitting the button, so others would know to wait. We modified the site with FireBug open so we could monitor the AJAX traffic. In the end, SiteFinity was the correct choice. We produced a site that the charity could maintain on their own, and we fully expect that Telerik will fix their bugs. But it would have been better for them to be more honest about the status of their product. They should have told us that version 4 was not production ready, and encouraged us to remain on 3.7, providing an upgrade path. Instead, we were free labor for Telerik, performing the quality assurance that they obviously either did not complete or ignored.

We’re growing

As compared to last year, the venu and the food were both improved. Last year, BravoTech hosted the event. While they continued to be a sponsor this year, their offices were just too small for the sheer number of participants we had. This year, Bearcom provided space. And there was plenty of space to be had. This being a developer event, there was of course pizza. Dominoes was a gracious sponsor of all cities having events this weekend. But in addition, we had barbeque from Spring Creek, and enchiladas from Mexican Inn. And I got a chance to make my 5-4-3-2-1 Waffles.

Despite the technical issues, the charities received some much needed IT work. It was estimated that we provided one man year of effort in 48 hours. Without this event, these charities simply could not afford an effective web site. I look forward to next year.

We Are Microsoft

Saturday, January 16th, 2010

Second Wind The “We Are Microsoft” charity coding weekend is an opportunity for developers to donate their time to local charities. It is organized primarily by Toi Wright. Matt Lagrotte of Verio has graciously provided web hosting for all of the charities. Without their support, and the support of Microsoft and other sponsors, 20 charities would go without the IT support that they need.

Our charity is Second Wind Dallas. They find sponsors for local families in need. Schools identify those families, and a committee determines which sponsor will adopt which family. Several volunteers coordinate the communications among schools, families, and sponsors. Right now, the system is run completely by phone, email, and Excel. They need help.

We are building an online database to coordinate this information. Volunteer assignments, family referrals, and sponsor adoptions all change year after year. As a result, we are developing this as a historic model.

The primary function of the site is data entry. An administrator will set up the volunteer, school, family, and sponsor records. They will manage the assignments of volunteers to schools, the school referrals of families, and the adoption of families by sponsors.

The secondary function of the site is notification. A volunteer will be reminded to contact sponsors for donations. They will pick up those donations at the school and deliver them to the families. They will be reminded to send a thank you to each sponsor for those donations.

We are building this system using ASP .NET Web Forms, SQL Server 2005, and Entity Framework. We will have it done within the next 48 hours. And when we are done, Second Wind will have a much more manageable process.