As stated in my previous post about Roomie, I’ve been using a lot of brain juice to rewrite Roomie’s website. I wrote the original website in ASP.NET with Web Forms, which was pretty standard for the time. Although technology like ASP.NET MVC and the Entity Framework existed in some form, they weren’t even on my radar. So after some coding and hacking and pushing through unfamiliar problems, I eventually got a workable website. (This website, though not the final version, is pictured in this post.)
After merging all of Roomie’s desktop and web components into one self-aware Visual Studio solution, learning a ton of new technology, and a little trial and error, I now have the Roomie desktop client talking directly to the new website. Best of all, I can locally debug everything which means that I can get quicker feedback on code changes and (shrug?) even develop offline. Below I have a simple example pictured. A more impressive example is when I tell the Roomie desktop client to say something using text-to-speech, but obviously that would not convey over a screenshot.
The Roomie desktop client communicates with the Roomie web service using a custom protocol that I developed. Both the server side (web service) and client side (Roomie desktop client) reference the same Visual Studio project to do the communication, so I am guaranteed protocol agreement. It’s really satisfying to add some functionality or refactor in one place and have the changes propagate to every related component.