Wednesday, December 20, 2006
Code implodes for second time at 80K lines of code
This line made me happy to execute today
[dhubler@penguin main-pingtel]$ svn rm sipXconfig
For quite some time, pingtel maintained a fork of sipfoundry code, Damian and I diligently synchronized back and worth. Well Pingtel dropped it's dual license and now there's no need to keep a separate copy.
Think about it, 80K lines of merge burdening code just vanished. We haven't seen an implosion like this since sipXconfig 3.0 when we deleted legacy EJB code and went with Spring....which happened to be 80K lines of code too! I had that honor of blowing that away too. Damian deletes as much code but he prefers the old fashioned way: line by line and svn commit by commit.
So rev 8320 on sipfoundry and 7705 on pingtel of sipXconfig are identical, now I delete sipXconfig on pingtel's side and make a svn external. WHOO-HOOO!
Friday, December 08, 2006
This is not a post about evolution. Or maybe it is. sipXconfig just received a new small addition. Administrators can now easily see all the phones associated with the user. Let's say that lazyboy has a problem with his phone. Administrator can now type lazyboy in the search box, click on lazyboy user link from search results and click on Phones page to see all the lazyboy's phone. This is so much better than figuring out what is lazyboy's phone serial number and entering it in the search box. The only time you do need to know that serial number is when you are adding a new phone to the system.
There is one more bonus. If lazyboy asks for another phone (he does have 5 already, but he does talk a lot (well not really: he does not talk at all (this is kind of internal joke) (joke with a touch of Lisp syntax)))... OK let me start this sentence again. If he asks for another phone, you can just add it right from the screen displaying his existing phone. What's the bonus? Well, since sipXconfig knows you are adding phone for lazyboy, it'll add a line on that phone automatically. And you can generate phone configuration with another click; you may be tempted to never again go to the old Manage Phones list page. That is of course, if you want to spend the rest of your life managing lazyboy phones...
Why missing link? sipXconfig always allowed you to see the list of lines for each phone, now you have a link in the opposite direction. Why evolution? There is really nothing entirely new in this feature. All the components were already implemented in sipXconfig ecosystem. There was a "give all phones for this user" search, the was a phone list UI component, there were various actions like adding phones and generating configuration. All it took to implement new page was some factoring out of components and putting them together in a new way.
You may ask why I am so proud of an obvious feature. It it's really that great why did not we implement it 2 years ago. Well apparently there were other priorities 2 years ago. We implemented a whole bunch of useful features since then. Just like evolution did not start with scarlet tanager, we never intended to start with a perfectly usable system. That's what agile approach is all about: you might be missing features, even important ones, as long as you can add them quickly when they are needed. So keep on adding missing links or risk becoming one.