Wednesday, April 30, 2008

Different - and fun.

During the last few days, I did a small ASP.net project. Most of my experience is working on WinForms apps. This proved to be a fun project because it was outside my normal groove.

It is a simple one page internal report. No interaction. It just displays data in two grids. I started out creating a class library - not really knowing how I might deploy a front end. I got the queries and the data massaging done in a few classes. Not really thinking about how this would be used - I did my standard WinForms thing: created a form, dropped two grids on it, wired it up and it worked. I was not impressed. Battleship grey, standard grids, nothing to write home about.

A random thought came to me to try this as a web application. I would not have to write a setup application or worry about deploying and maintiaining it on various user workstations.

I added a web application to the class library solution and started to ponder Default.aspx. Writing an ASP.net application really is a different beast when your brain is configured for WinForms. After a few google searches, some help file reading, and some bookshelf skimming - I had something starting to work. With a little more effort it started to look much better than the WinForms version.

Not knowing much about IIS, I had my co-worker Bob help me get this deployed. Finally, I sent a hyperlink around to the users. They all tried it and sent email within a few minutes!

No technology breakthrough here. This is a very simple non-interactive page. The breakthrough is more in my developer mindset. In the past, I've kept ASP.net applications at arms length...I have a ton to learn but this project got me past that initial hesitation...I should force myself outside the groove more often!

Friday, April 25, 2008

Development Balance

There is a balance to strike. Too few active development projects and I'm not pushing on any boundaries of learning; just what I need for the work layed out before me. Too many projects and each suffers from fleeting focus. Do a little on this project, do a little on that project; none of them are progressing enough to develop that feedback loop. You know the one - where you code some stuff, it works, it feels good, so you code some more - it also works, it also feels good, etc. Just the right number of projects...that is the place to be. Maybe you have one project that really pushes your limits - forcing you into new territory. You have a few others that are in the pure production stage...many of the decisions and thinking are done...you just have to crank the rest of the code. Maybe one or two projects almost finished.

I've been developing software for many years. This balance is elusive. I used to think it was out of my hands; the result of external forces. The longer I develop the more I realize it comes from decisions accumulating as I work. Which projects I push for, which ones I shy away from, which design approach was used , how much unit testing was done, how many simplifying assumtptions were made which ignored broad swaths of possibilities? Like an incrementing counter in a recursive loop...eventually it can overflow.