Hello all. In reading Aparajita's response regarding his v11 update to Active4d (see below), it occurred to me that there is a lesson that we all can learn here. -------------------
1) It's pretty clear that Vista is a failure; even Microsoft now knows that. Hardware vendors are shipping their new Core Duo machines with Vista, but with an accompanying DVD that allows the customer to downgrade to Windows XP. After playing with Vista for a few days, I have made the decision to downgrade - even though it requires a complete reformatting of the hard drive and a complete re-install. The thing that pushed me over the edge is the fact that I have a 4D program that checks every few minutes to make sure that my 24/7 4D Webserver is running, and automatically re-launches 4D if it has crashed. Now, with the new Vista security feature that requires the user to click the OK button in another dialog when launching a program, this means I will have to get under the hood and figure out how to OK that dialog whenever 4D automatically re-launches, or my web server will stay down if it crashes. Not good. I believe that Vista failed as an upgrade not because of bugs, but because of changes in behavior, like this one, that caused millions of programs and procedures to break. Microsoft made a Big, Big, Big mistake. 2) v11: I my humble opinion, 4D Inc. made a similar mistake. So many changes have been made in 4D behavior in v11, that virtually every major program running in 4D will break when it is upgraded to v11. It will break not just in one place, but in many, many, many places. I think that 4D is on the edge of the cost-benefit curve: the cost of adjusting to v11 may become larger, for many users, than the benefits to be gained. If this happens, they may be surprised that customers will start demanding that a 4D 2004 license come with every purchase of v11 - or the customers may move on to other products. ------- What's done is done for 4D, but we, as developers, can learn from this: BE CAREFUL ABOUT CHANGING UNDERLYING BEHAVIORS THAT AFFECT THE CUSTOMER. We think that those changes are cool, but the customer sees them, in most cases, as inconveniences. I am mostly developing for my own business, so I can control this to some extent, but I still have one major client for whom I develop about 4-6 hours a day. I'm working on a new module to be added to our system, and since I am on retainer, I have the luxury of being able to do "interactive enhancements," in which I make changes and get the customer's feedback before those changes are carved in stone. Many times, they will REJECT behavior changes because of the tax that those changes create on user comfort levels. In other words, they want improvements, but when it comes to basic behaviors that users have become accustomed to, they want those behaviors to remain unchanged. --------- After more than 20 years as a 4D consultant, this is a major revelation for me. I think back on many of the problems that I have had with enhancements and rewrites, and I can see this pattern occurring again and again. I am amazed that I never saw it so clearly before. So, for those of you who are still doing lots of development for lots of clients, I suggest that you pay attention to this: be very careful when you change basic program behaviors. Those changes can become major customer-relationship-killers. HTH, Walt Nelson - Guam -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Aparajita Fishman Sent: Thursday, February 19, 2009 9:49 AM To: [email protected] Subject: Re: [Active4d-dev] v11 Update? > It's been a little while since the last v11 update ... I was wondering > if you could apprise us of the latest status? The good: I'm killing myself to get this done. The bad: I'm killing myself to get this done, but the end is still weeks away. The ugly: I have to check every line of code, and >50% of them need fixing or total rewriting. I have been battling with several open source libraries I am using (ICU, boost, mcrypt, logging) to get them compiled and working correctly. I'm running into bugs in the 4D plugin API. I have gone down several blind alleys and lost many days as a result. I went through 3 logging libraries before finding one that was usable. What's actually done: - Have a basic native Unicode plugin running on v11 on Mac OS X and Windows. - There is now extensive logging of what's going on internally (with an option to turn debug logging on) so you and I know why things go wrong when they do. - Using Unicode throughout. - Lots of framework code rewritten. - Have key file encryption/decryption working. Doesn't seem like much, but the entire plugin rests on the framework, so getting that redone was essential. Now it's just a matter of ploughing through the plugin itself. I'm starting from plugin initialization and working my way through. At the moment I'm working on key file checking, and now that most of the foundational stuff is done I am moving much more quickly. I have thrown out all planned enhancements except for ones that come with little or no effort. I have already sunk 100+ hours into this rewrite and it will require maybe 100+ more. I'm sorry to say I don't think I will ever recoup my investment in getting this version done, even with it being partially funded by a client. Initially it will probably be v11 only, with a 4D 2004 version coming later (if at all, depending on demand). Regards, Aparajita www.aparajitaworld.com _______________________________________________ Active4D-dev mailing list [email protected] http://mailman.aparajitaworld.com/mailman/listinfo/active4d-dev Archives: http://mailman.aparajitaworld.com/archive/active4d-dev/
