Background

When beginning this project, I read the description provided by Prof. Colarusso and was immediately intrigued. The project with Homeline was to digitize their various form letters to address numerous landlord-tenant issues. I worked on this project with Loren Chen and together we created a QnA markup that would serve as a tool for tenants to handle tha majority of the issues that may arise between them and their landlord. The program can be found here: Homeline Tenant Assistance and the its code

Framing

When Loren and I initatially became involed with this project, we set up a meeting with the Homeline team to get a better understand of the problem and their goals. They descriped their problem as twofold: (1) tenants often don't fill out forms properly or not completely, and (2) they don't always have the means to print and mail the form if they do complete it. In order to address this issue, Loren and I decided the best option would be a QnA Markup program that would assist tenants in filling out the forms and would ideally be paired with an mailing service. After having a conference call with the client, this seemed like the best plan for them that most effectively addressed the problem while balancing their needs and goals.

Intro Pitch

After discussing with our clients their problem and how we can solve it, we presented our pitch to the class. The pitch included a brief description of the client Homeline, outlined the goals communicated by them, explained our proposed solution, described the preliminary steps we'd already taken, and introduced the future plans we plan to undertake. Unfortunately I was unable to personally present as I was stuck out of town, but my partner Loren delivered the presentation.

Research

In terms of research, Loren and I did not feel the need in extensive research in order to adequetly meet and exceed the clients needs and goals. The Homeline team had in mind exactly what they wanted to see out of the project and as a result, our job was simply bringing those desired outcomes to fruition. The client wasn't interested in other currently existing models but instead only in the creation of a simple intake that worked well for them. Based on the clients desire to have this program automatically mail the form on behalf of the client, we did begin some research into viablee mailing services with developer APIs. We found the best option to be Lob.com (originally suggested by the client). We began looking into the API's documentation to get a better understanding of how we could implement it. After researching into the API and discussing our findings with Prof. Colarusso, we presented two options to the client along with the prototype.

Prototyping

When Loren and I began prototyping, we created one initial QnA Markup that we used to demostrate the proof of concept. Homeline provided us with the most frequently used form, their Repair Request form. Loren and I split the work and decided I would I dentify all of necessary variables for the form and adjust the form letter provided to us by Homeline in order for it to fit our formatting needs. Loren would develop the QnA and questions that would solicit from the user the information we needed for the variables. After we developed the QnA and paired it with the form letter, we troubleshooted it to ensure that there were not any issues with the letter. Once we were confortable with it, we sent it to the client for their review to demostrate the form letter portion of the project. Based on their feedback, we corrected a couple of minor issues such as empty questions in the QnA, and some missing details such as tenant address. Additionally, the client mentioned that at a later point, their attorneys may like to alter the wording in some questions or add some more in the future.

Refinement

We implemented the corrections that the client wanted and reviewed two different paths for the project to take, which we presented to the client. Here is how we descriped them to the client:

Option 1: We can further develop the program we have for the one form and in addition, we can begin working on some of the back end programming that will communicate with the Lob mailing service. The skills necessary to create a complete program that mails is a bit outside what Loren and I have learned in the course for this fall. However, Prof. Colarusso has told us that this is a project that he would like to continue in the spring course and will be able to complete the foundation we lay this fall.

So in summary: option 1 would result in a functional program that would create a word doc for the repair request for the user to save and/or print and mail themselves. Additionally, we would begin the programming for the mailing portion to be continued in next spring's class.

Option 2: We can develop multiple forms that work just like the repair request. We would be able to set up one program that would assist the user with a variety of needs and would produce the corresponding form with their information filled out just like we've done with the repair request. This would mean we would not start the programming for the mailing service and leave that to next semester's class and instead spend time adding more forms to the bot.

Ultimately, the cliented prefered option 2. The client thought it would be best to have a complete viable product that they could implement on their site sooner rather than later and then subsequently work to develop the mailing servie next semester.

Second Prototype

After implementing the corrections that the client outlined and deciding upon proceeding with option 2, Loren and I discussed the best way to begin. We discussed whether or not we should do separate QnAs for each form so the client can insert that into different part of their site or whether it would be best to create one centralized program that would assist the user regardless of issue. We decided based on client communications and effectiveness that the latter version was ideal. We divided the work between ourselves to minimize the time it would take. I developed the introductary QnA questions that were necessary for all of the forms. This included tenant and landlord names, address, tenant phone number, etc. I also developed the backbone for the rest of the QnA, which was where we would copy and paste the programming necessary for each individual form. We then devided up the forms eveningly between ourselves. I developed the following forms: repair request, demand for return of property (on and off the premises), request a copy of the lease, response for an invoice for bug exterminations, and response for an invoice for repairs. After developing each form, we implemented them into the QnA, updated the csv associated with them and confirmed that the variables were working properly.

Second Refinement

Once we were happy with the first complete prototype of the final project, we presented it to the client for their feedback. The seem to be extremely happy with the work that had been done so far. They did not two major issues: some forms were producing SQL error messages and some variables were not appearing on their respective forms. Thanks to assistance from Prof. Colarusso, Loren was able to fix the SQL problems with his form by saving them as normal Word documents as opposed to ones paired with a mailing list (csv). The second issue was a bit more challenging to solve. I confirmed the issue by trying the forms myself and some variables were blank despite having filled out a value in the QnA. I edited the code to produce a csv rather than the form and noticed the variable did in fact have the appropriate value. I confirmed that link to the form was the most updated and that I had pushed everything to github. After multiple testing and completely redoing the form, I realized that the variable contained the name of another variable and that, that might be causing some sort of glitch within QnA or Word. For example, the variable "needmoreissues" contains the pre-existing variable "moreissues". Suspecting that might be a problem, I changed all the variables that had other variables within its name, published a new csv, updated their respective forms, and published everything via github. Fortunately, this corrected the issue. In addition to the two major issues, the client also requested we had a list of all available form letters offered by the program at the beginning for the user, which we readibly added.

User Testing

Loren and I decided in regards to user testing, that our target audience would best be those who have had a landord or currently have a landlord. We reached out to our friends and family in the area of have had experience with landlord tenant issues and the response was positive. Though the sample size was fairly small (I didn't get much responses from the people I'd approached to test it), the users thought the programw was very smooth and easy to navigate. Additionally, they thought it provided a much needed service. One piece of feedback I received was that it would be helpful to highlight key questions in a different color or font to draw the attention of the user. Due to time contraints when I received the feedback and the fact that we weren't quite sure how to implement that or how the client might prefer the appearance of the program, we decided not to implement it.

Complexity/Robustness

Though our project is somewhat simple in nature, it satisfied the requirements of this assignment. Our projected contained the non-trivial use of an expert system and form letter automation. The problem presented by our clients was in fact a simple one, and the solution to that problem was fairly simple (of course not without its own hurdles). Loren and I spend a substantial amount of time communicating to the client and understanding their needs and goals before putting pen to paper. In addition, Loren and I frequently communicated with the client throught the progression of the project to ensure that it continued to meet and exceed their expectations. In the end, we developed a product that can interact with a client and develop a form for them that is already correctly populated with all relevant information.

Impact & Efficiencies & Fit/Completeness

As far as Loren and I understand through our communications with our client, this product will have tremendous impact and greatly improve the quality of the forms they review. This program will effectivly walk users through the process of identifying the appropriate form, filling out that form correctly, and saving it for them to either print or seek legal aid. These forms are a very large part of their service offered to clients and we've been able to automate that service thus allowing them to reach more users with less work.
We believe that ultimately, this final product fully addressed the problem that was faced based on how the client's needs evolved. Initially, the goal was to produce a program that would assist users in filling out various forms to address landlord tenant issues as well as mail that form automatically. After discussing with the client two options on how best to achieve that goal given the limited time we had with the end of the semester approaching, the client decided it was best to have all of their forms included in the program and to forgo the mailing service for now. Based on those evolved needs, the program completely addresses the needs of the intended users. The program aids users by helping them find the appropriate form, asks them for the requisite information in an easy to understand, clear way, and finally saves a copy of the form to the user's computer. We feel that with this program, the team at Homeline are now free to spend less time assisting users with filling out froms and instead can better utilize their time with other goals or initiatives of the company.

Real World Viability & Sustainability

Fortunately, this project was built in mind to be immediately implemented into real world practice. The program is very simple to install in to the client's website and the client has told us that they plan to do just that. Their attorneys will extensively review the program and once approved, they plan to implement it into their site. In terms of sustainability, the client hopes that while they implement the program into their website, the next class continues to work on developing the integration of this initial step with the API of a mailing service. The hope being that ultimately, this project will evolve to have the ability to automatically mail the forms to the landlord at the user's expense. For now, what we've produced for them brings them a long way from where they once were. They have the ability to automate a service that was in very high demand and they are extremely satisfied with the product and plan to use it as soon as possible.

In [ ]: