Re: Private NIBs?
Re: Private NIBs?
- Subject: Re: Private NIBs?
- From: Ryan Stevens <email@hidden>
- Date: Sat, 3 Aug 2002 10:12:27 -0700
On Friday, August 2, 2002, at 08:52 AM, Gibbons Burke wrote:
At 10:50 AM -0400 8/2/02, Jim Correia wrote:
On Friday, August 2, 2002, at 10:08 AM, Ryan Stevens wrote:
I doubt a user that would muck with the .nib would hassle the author
about changes he/she made (or problems arising from doing so).
Speaking from experience, yes, they will.
Invariably, they will either not remember they made the change
(especially if the change was made following someone else's
instructions/patcher) or not correlate the current problems to the
change that was made.
One way to deal with this "problem" would be to create a file listing
the checksum values for each nib file in your application package and
include that file somewhere in your app package. The application, when
launched, checks the .nib checksums against the @build checksums listed
in the file. If they are different, the application alerts the user, as
a service to him, that the application has been improperly modified
from its build state. Let them know that running the application in the
modified state is possibly dangerous and explicitly contrary to the
license agreement (which you will have gotten them to agree too when
they installed the application). You can either prevent them from
running the application at that point, have a button that sends them to
the download site for a new install, or give them a "Run Anyway" choice
in the dialog. (There are cases when users might have good reasons for
modifying the .nibs - for example to localize the application to a
language !
not supported by the developer.
It would be a nice service, included as part of the AppKit, to have
this sort of security checking done automatically, as a way of
preventing mal-ware from operating freely in the wilds on unsuspecting
applications. It would strengthen the Mac's already good reputation in
dealing with viruses, worms, and other mal-ware.
That is a great idea.
<roleplaying>
<user>
You mean, if I change the .nib to support my language or just move a
button 3 pixels over I'll have to deal with a pop-up dialog every time I
run the app? That would suck.
</user>
<developer>
What if we showed the dialog once and, if "Run Anyway", we extract the
support links from the app? We could also put a "warning"(/disclaimer)
in any of the docs that accompany our app as well.
</developer>
</roleplaying>
While your solution would work (technically) I don't think it would be
so cut-and-dry.
If the only way to get support for the app was from the app itself
(link/button/whatever) then it would be a simple matter to check the
checksum(s) and remove that option from a modified app. But, assuming no
changes made, the app won't even run (wrong OS or serious bug) then even
that can cause problems. But then that was my solution to the
user-experience problem of having a dialog pop-up every time the app is
run.
Anyway, I think what I'm saying is that the user would have to know
(every time) that they're running a third-party-modified app. You
couldn't just put a dialog up once and let it be because it could be 6
months from then that the user runs it again and they could forget, have
a problem and expect help. You can't show the dialog every time either
because that introduces the dreaded PoorUserExperience.
I'll go ahead and stop here and let someone else pick that apart if they
want, i'm starting to rant/ramble. Still, nice idea! ;-)
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.