Accepting Defeat

For the last couple of days I have been trying to integrate "Rico's LiveGrid component":http://openrico.org/rico/livegrid.page . This component allows you to display large sets of data by only fetching what is currently visible. As the user scrolls down the data set the component retrieves more data. In theory this is terrific from a technical and user perspective. However there are a few caveats, which is typical of cutting edge Internet technology: * Rico components don't work in Safari yet. One of the developers recently bought a Mac so they will get it all working on Safari soon. Apparantly LiveGrid works already but I can't confirm this because I don't have a Mac. Initially I figured Rico would push out a complete Safari release before I could release my latest application so I went ahead because I felt the benefits out weighed the risks. * Cross browser compatibility is always shaky. I found slightly different behaviour in FireFox and Internet Explorer, though enough to really annoy me and force me to re-think my strategy. * Finicky. Don't get me wrong, Rico components are pretty awesome. The API is clean, the code is crisp, and it all works quite well once it's working. The problem is trying to get it all up and trying to work around the subtle quirks you encounter along the way. Finally I gave up. I accepted defeat. I had got to the point where it was looking pretty awesome in FireFox. Sadly, it was not looking so awesome in Internet Explorer. Given that Internet Explorer still dominates the Internet browser market, I figured the struggle was just not worth it. "Microsoft recently announced their plans to enter the Internet application market":http://alexpooley.com/articles/2005/11/02/microsoft-3-0 so hopefully cross browser problems will be less of an issue in the future. In the mean time, I am defeated. After spending virtually two days on this stuff it's hard to let this work go. Admittedly I did learn a fair bit so I guess that's a positive. It's hard to accept this defeat. Though I hope that this defeat will mean a better win when I eventually release my application. The alternative is to continue wasting time and effort by ploughing ahead, and potentially jeopardizing the quality of the eventual release. Long term goals dictate short term goals. If losing a short term battle means a long term win, then accept it and get on with the job.