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/

Reply via email to