Sponsored in part by... Mark/Space, Inc. MARK/SPACE, INC: The Missing Sync provides the very best in
synchronization for Mac users with BlackBerry, Palm OS, or
Windows Mobile devices. Integrates with Address Book, iCal,
Entourage, iPhoto, and iTunes. <http://www.markspace.com/bits>

 [F] TidBITS  / TidBITS  / TidBITS Talk  /

Yojimbo comments

[Lee, Andy]Andy Lee - 07:50am Feb 6, 2006 PST
Guest User

I just learned from the TidBITS article at <http://db.tidbits.com/
getbits.acgi?tbart=08407> that the PDF menu in my Print panels
was modified by Yojimbo. Unfortunately, the menu item seems to
linger if I delete Yojimbo. I want to have been given the *option*
of modifying the Print panel, since I hadn't committed to keeping
Yojimbo yet.

I didn't know apps could do that. Maybe it's like Services and it'll
go away if I log out (at least, I *think* that's how Services work).
But even so, that means I have to inconvenience myself to get rid of
something I didn't ask for.

+++

Hm, I just found this: <http://www.listsearch.com/yojimbotalk.lasso?
id=2>. So Yojimbo creates a symlink in ~/Library/PDF Services. I
see if that symlink goes away, the Print panel menu item goes away.
Seems to me Yojimbo should have the symlink be opt-in and have a
switch in Preferences, the way TextWrangler asks if you want to
install command-line tools and lets you change that with
Preferences. It would still be possible for me to delete the app
without having cleaned up the symlink, but this would be an
improvement. It's a tricky problem in general -- having an app that
is not 100% drag-and-drop to delete.

+++

One more thing: it's not good to prompt for the user's keychain
password on launch, with no explanation why.

--Andy


Mark as Read
  (older msg: 6)OutlineAll MessagesOlder MessagesOldest MessagesNewest MessagesNewer Messages

Curtis Wilcox (apparently) - Feb 7, 2006 9:45 pm (#7 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 345
Re: Yojimbo comments

On 2/6/06 6:02 PM, "John C. Welch" <jwelchbynkii.com> wrote:

> On 2/6/06 08:50, "Andy Lee" <agleeearthlink.net> wrote:
>
>> improvement. It's a tricky problem in general -- having an app that
>> is not 100% drag-and-drop to delete.
>>
>
> That's the problem with Drag & Drop installs. There's really no way to write
> an uninstaller.

Apple (or even a persuasive group of software developers) could establish a
"best practice" for adding an "Uninstall" option to a standard menu such as
the application or Help menu. A dialog could explain that this option will
remove components and configuration changes required by the application then
ask "are you sure?" If they click "yes" the next dialog would report that to
complete the uninstall, the application will quit and the user should drag
the app to the Trash (unless the routine can move a running app to the Trash
on its own).

If a reboot is required to fully remove components like kernel extensions,
including a separate Uninstall app is probably best.



jwblist (apparently) - Feb 7, 2006 10:11 pm (#8 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 768
Re: Yojimbo comments



On Feb 6, 2006, at 3:02 PM, John C. Welch wrote:

> On 2/6/06 08:50, "Andy Lee" <agleeearthlink.net> wrote:

>>
>> One more thing: it's not good to prompt for the user's keychain
>> password on launch, with no explanation why.
>
> What are you using Yojimbo for? It certainly doesn't do that to me

I would guess that John's Keychain unlocks automatically at login (as
Jobs intended) and Andy's doesn't. The common reason for the
Keychain not unlocking at login is that the account's password was
changed without changing the Keychain password. The other reason is
conscious choice in the "First Aid" tab of the Keychain Access
Preferences. But no one ever goes there. ;-)

The "left behind" password frequently leads to Keychain files whose
password is not remembered.

    --John


j-beda (apparently) - Feb 7, 2006 10:11 pm (#9 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 150
Re: Yojimbo comments

At 3:02 PM -0800 2/6/06, John C. Welch wrote:
>That's the problem with Drag & Drop installs. There's really no way to write
>an uninstaller.

        I wonder if maybe it should be standard procedure to have a menu
command within the application that would do the "uninstall". Surely the
program knows where it put all of the stuff, and could move everything into
the trash (or a folder on the desktop) and then quit. Can a running program
be moved? I think so.

        For a program without extensive bits and pieces everywhere this
would seem to be a fairly easy thing to implement, so programers would not
have much reason to not implement it, and for programs where this type of
feature was very useful, it would be nice if it could be done in a standard
manner. Heck, the command could just launch a separate uninstaller program
and quit the original one.

--
* Johann Beda - contact link: <http://public.xdi.org/=j-beda> *
* Johann's MostlyMac Computer Consulting - <http://mmcc.beda.ca/> *

Lorin Rivers - Feb 7, 2006 10:19 pm (#10 Total: 26)  

Reply to this message
Guest User  

Photo of Author
Posts: 1
Re: Yojimbo comments



On Feb 6, 2006, at 8:50 AM, Andy Lee wrote:

> Hm, I just found this: <http://www.listsearch.com/yojimbotalk.lasso?
> id=2>. So Yojimbo creates a symlink in ~/Library/PDF Services. I
> see if that symlink goes away, the Print panel menu item goes away.
> Seems to me Yojimbo should have the symlink be opt-in and have a
> switch in Preferences, the way TextWrangler asks if you want to
> install command-line tools and lets you change that with
> Preferences. It would still be possible for me to delete the app
> without having cleaned up the symlink, but this would be an
> improvement. It's a tricky problem in general -- having an app that
> is not 100% drag-and-drop to delete.

You should provide that feedback to the Bare Bones guys.

> +++
>
> One more thing: it's not good to prompt for the user's keychain
> password on launch, with no explanation why.

It does so when you have .Mac, since it uses .Mac sync services.

--
Lorin Rivers
Mosasaur: Killer Technical Marketing <http://www.mosasaur.com>
<mailto:lriversmosasaur.com>
512/203.3198 (m)



Rich Hansen (apparently) - Feb 7, 2006 10:20 pm (#11 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 6
Re: Yojimbo comments

Curtis Wilcox wrote on 2/7/06 8:45 PM

> If a reboot is required to fully remove components like kernel extensions,
> including a separate Uninstall app is probably best.

Any application that installs a kernel extension anywhere other than
~/Library/Extensions is doing it wrong. Plus installing there means all that
is required is a log out and back in. Rebooting is 20th century. :-)

rich
--
A place for everything and everything all over the place!

Rich Hansen
saoisonic.net
saoimac.com



bitreader (apparently) - Feb 7, 2006 10:21 pm (#12 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 114
Re: Yojimbo comments

On 2/7/06 at 8:45 PM, tidbitscognize.org (Curtis Wilcox) wrote:

>Apple (or even a persuasive group of software developers) could
>establish a "best practice" for adding an "Uninstall" option to a
>standard menu such as the application or Help menu. A dialog could
>explain that this option will remove components and configuration
>changes required by the application then ask "are you sure?" If
>they click "yes" the next dialog would report that to complete the
>uninstall, the application will quit and the user should drag the
>app to the Trash (unless the routine can move a running app to the
>Trash on its own).

>If a reboot is required to fully remove components like kernel
>extensions, including a separate Uninstall app is probably best.

This should be possible for most applications and I think could be done for Yojimbo assuming Barebones thought it worthwhile implementing. But in general I think it would be a problem,

Consider an app that needed some component of Unsantity's APE system. If this was not installed when the app was first installed, presumably (with the user's permission) this would be installed and should be later deleted by an uninstall menu item. But what if that component were previously installed by the user or some other app the user wanted to retain. How would the uninstall procedure know some part of what it relied upon that should be deleted *if* it were the only user of that resource could be safely deleted?

For me to feel comfortable with using this kind of uninstall procedure, I would want more than a dialog asking are you sure. I would want a list of what was going to be deleted and the ability to over ride that deletion for some of the files If all that is being deleted is part of the app bundle then there is clearly no issue. But in that case, there is also no real need for an uninstall utility.

perry (apparently) - Feb 7, 2006 10:38 pm (#13 Total: 26)  

Reply to this message
via email - Perry The Cynic  

Photo of Author
Posts: 22
Re: Yojimbo comments

Of course, the somewhat more likely explanation is that Andy has set his
keychain to automatically lock after some time of inactivity, a practice
that is generally recommended in any situation where strangers may have
access to your computer.

You'd be amazed at how many programmers never consider this situation,
given that the login keychain usually (by default) stays unlocked until the
user logs out. :-(

Cheers
  -- perry


---------------------------------------------------------------------------
Perry The Cynic perrycynic.org
To a blind optimist, an optimistic realist must seem like an Accursed Cynic.
---------------------------------------------------------------------------


John C. Welch (apparently) - Feb 9, 2006 8:14 am (#14 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 755
Re: Yojimbo comments

On 2/7/06 23:20, "Rich Hansen" <saoisonic.net> wrote:

>> If a reboot is required to fully remove components like kernel extensions,
>> including a separate Uninstall app is probably best.
>
> Any application that installs a kernel extension anywhere other than
> ~/Library/Extensions is doing it wrong. Plus installing there means all that
> is required is a log out and back in. Rebooting is 20th century. :-)

IIRC, there was a bug that prevented KEXTs from working reliably outside of
S/L/Extensions. That may have been fixed, I'm not sure.

--
John C. Welch Writer/Analyst
Bynkii.com Mac and other opinions
jwelchbynkii.com


Curtis Wilcox (apparently) - Feb 9, 2006 8:14 am (#15 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 345
Re: Yojimbo comments

On 2/8/06 12:21 AM, "Bill Rowe" <bitreaderearthlink.net> wrote:

> Consider an app that needed some component of Unsantity's APE system. If this
> was not installed when the app was first installed, presumably (with the
> user's permission) this would be installed and should be later deleted by an
> uninstall menu item. But what if that component were previously installed by
> the user or some other app the user wanted to retain. How would the uninstall
> procedure know some part of what it relied upon that should be deleted *if* it
> were the only user of that resource could be safely deleted?

The uninstall procedure would know because the installer would save an
install log, perhaps in the application bundle itself. Really, any program
that uses an installer should record a log of what it does.
 
> For me to feel comfortable with using this kind of uninstall procedure, I
> would want more than a dialog asking are you sure. I would want a list of what
> was going to be deleted and the ability to over ride that deletion for some of
> the files

If there was an installer log and the rule was to not remove any component
not installed (or upgraded) by the installer, there would be little risk.
The "are you sure" dialog could also have a Details button to show a list of
components to be removed and maybe check boxes allowing you to choose files
to be left in place. Anyway, they wouldn't truly be deleted but moved to
Trash from where they could be recovered (and with an installer log, you'd
know where to put it back, manually).


Curtis Wilcox (apparently) - Feb 9, 2006 8:19 am (#16 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 345
Re: Yojimbo comments

On 2/8/06 12:20 AM, "Rich Hansen" <saoisonic.net> wrote:

> Curtis Wilcox wrote on 2/7/06 8:45 PM
>
>> If a reboot is required to fully remove components like kernel extensions,
>> including a separate Uninstall app is probably best.
>
> Any application that installs a kernel extension anywhere other than
> ~/Library/Extensions is doing it wrong. Plus installing there means all that
> is required is a log out and back in. Rebooting is 20th century. :-)

If something requires a kernel extension, I would expect it to be used by
all accounts or be used even when no account is logged in. Anti-virus
programs are the first that come to mind.

What about hardware? If you put the kernel extension for, say a FireWire
audio interface in ~/Library/Extensions/, what happens if you switch to
another account? Does the hardware stop working? What if you delete the
account in which the extension was installed?

Anyway, my observation is that most applications are doing it "wrong."


Chris Pepper (apparently) - Feb 9, 2006 8:19 am (#17 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 838
Re: Yojimbo comments

At 8:44 PM -0800 2006/02/07, Kevin van Haaren wrote:

>It should not be difficult to incorporate one into the program itself as a
>shell script, or even a separate application. Copy the shell script/app to
>the Trash folder, execute the version in the Trash to remove the rest of
>the program.

>[ You can't launch applications or open documents that are in the
>Trash. Do scripts have different rules? -Andrew ]

        The Finder won't let you launch anything in the Trash, which
is probably Launch Services. Shells don't care -- Trash is just a set
of folders.


At 9:21 PM -0800 2006/02/07, Bill Rowe wrote:
>On 2/7/06 at 8:45 PM, tidbitscognize.org (Curtis Wilcox) wrote:

> >If a reboot is required to fully remove components like kernel
> >extensions, including a separate Uninstall app is probably best.

>Consider an app that needed some component of Unsantity's APE
>system. If this was not installed when the app was first installed,
>presumably (with the user's permission) this would be installed and
>should be later deleted by an uninstall menu item. But what if that
>component were previously installed by the user or some other app
>the user wanted to retain. How would the uninstall procedure know
>some part of what it relied upon that should be deleted *if* it were
>the only user of that resource could be safely deleted?

        For a shared extension like APE, the dependent application
could just check for its presence at launch, and offer to install it
if necessary. Audio Hijack Pro, for instance, seems to keep a copy of
APE inside its bundle, and can install or remove a copy inside
/Library on request.

        If something else removed APE, AHP would lose Instant Hijack,
and could replace it easily enough.


                                                Chris Pepper

PS-Note that under Solaris, you can remove a running program. The
system deletes the inode but keeps it around until it's no longer
running, and the file content goes away when the running invocation
exits. I suspect this is true on Mac OS X, but Carbon/Cocoa apps tend
to get upset when you even rename them, so I wouldn't try this with a
graphical application (the Finder warns you if you try).

Rob Hill - Feb 10, 2006 8:30 am (#18 Total: 26)  

Reply to this message
Guest User  

Photo of Author
Posts: 1
Re: Let Yojimbo Guard Your Information Castle

I found Yojimbo too simplistic. It 'straight-jackets' the user into a database paradigm.

I prefer a somewhat more industrial strength organiser - DEVONthink Pro. Its interface is somewhat ugly but the functionality makes Yojimbo look like a single-celled amoeba.

I also use VodooPad for structured data that fits into a story-board paradigm. Its linking capability is very powerful.

Rob Hill.

kevinv (apparently) - Feb 10, 2006 8:30 am (#19 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 1319
Re: Yojimbo comments

--On February 9, 2006 7:14:26 AM -0800 Curtis Wilcox <tidbitscognize.org>
wrote:

> On 2/8/06 12:21 AM, "Bill Rowe" <bitreaderearthlink.net> wrote:
>
>> Consider an app that needed some component of Unsantity's APE system.
>
> The uninstall procedure would know because the installer would save an
> install log, perhaps in the application bundle itself. Really, any program
> that uses an installer should record a log of what it does.

Windows handles this by requiring each app that uses a shared dll to
increment a counter in the registry on install, and decrement it on
uninstall. If the count is zero it can be uninstalled by the app.

It's pretty limited, it would be nice if you could tell WHAT app had
incremented the counter.

Developers could leverage the power of XML Plists by having each app using
a dependent component to record it's dependency in a plist in the app's
bundle, or perhaps in a commonly writable location (Apple seems to have no
qualms about putting all-user accessible info in the /Users/Shared folder,
perhaps that would work). This would allow more information than a simple
counter -- which application was using it, minimum version that application
required, etc...

BTW, a worse scenario for dependencies usually isn't the accidental removal
of a depenedent component but rather when two apps require different
versions of the same compoenent. Java is handled pretty nicely by Apple
for this, not sure if Unsanity implemented a similar system for APE.

Kevin

kevinv (apparently) - Feb 10, 2006 8:30 am (#20 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 1319
Re: Yojimbo comments

--On February 7, 2006 9:20:51 PM -0800 Rich Hansen <saoisonic.net> wrote:

> Any application that installs a kernel extension anywhere other than
> ~/Library/Extensions is doing it wrong. Plus installing there means all
> that is required is a log out and back in. Rebooting is 20th century. :-)

That strikes me as a horrible, horrible idea. Computers are no longer used
by one user. If a kernel extension has to be installed for each user
individually that is just asking for all sorts of possible conflicts.
Consider:

a) Uninstall - better scan every users library folder, don't want old
kernel extensions left behind
b) Upgrade - Admin upgrades. User A still has old kernel extension, not
replaced by the admin's upgrade.
c) Dependency - Admin installs new app with (to use existing example) APE.
User B logins, has APE in ~/Library/Extensions but it's the wrong version.
d) wasted space - do we really need 5 copies of a file just because there
happens to be 5 users?

No, the proper place for kernel extensions is /Library/Extensions, one place
for all users.

allenwatson (apparently) - Feb 10, 2006 3:27 pm (#21 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 55
Re: Yojimbo comments

On 2/10/06 7:30 AM, "Rob Hill" <robhillmac.com> wrote:

I found Yojimbo too simplistic. It 'straight-jackets' the user into a   
database paradigm.

On the contrary, having experimented with DevonThink, StickyBrain, VoodooPad, and others, when I saw Yojimbo I immediately liked it. I like the simplicity of access via the drop pad and the F8 key. I like being able to suck in a web archive quickly, and to print to PDF directly into Yojimbo. The fast searching eliminates, for me, the need for multi-level folders and even linking—although I still foresee using VoodooPad as a creative tool (as opposed to a storage tool for snippets and documents) because of the linking ability.
--
<watson.allencomcast.net>
Scripts for OE and Entourage: <http://homepage.mac.com/allen_a_watson/AppleScripts_For_You>
Entourage questions: <http://www.entourage.mvps.org/>





Bob Williams (apparently) - Feb 10, 2006 3:27 pm (#22 Total: 26)  

Reply to this message
via email - TriVectus, LC  

Photo of Author
Posts: 74
Re: Yojimbo comments



On Feb 10, 2006, at 8:30, Kevin van Haaren wrote:

> No, the proper place for kernel extensions is /Library/Extensions,
> one place
> for all users.

Everyone seems to be arguing for one spot or another, but each of
those possible install locations exists because it makes perfect
sense in some context. However, the current context is a 'soft' thing
unknowable by the computer. Thus, I think the best place is... where
the user wants it.

I'm really the only one that uses the Martok (my desktop), so on
there I'd really prefer to install things, including bits like kexts
and Unix programs, in my user folder. That way, when I switch over to
my 'clean' user account to do some testing, I know that it really is
clean. And when I back up my user folder, I can be secure in knowing
that *everything* that is custom is included.

In contrast, the Puddle Jumper (my laptop) is often used by my wife.
So on there, I'll want some things (like a driver for some piece of
hardware) to be accessible to her as well as to me, which means I
want it installed in one of the more central places.

Unfortunately, the world doesn't work this way. A handful of things
let you select how you want to install, but most don't. As a result,
it's a virtually random mix that breaks all of my above ideals. On
the Martok, my 'clean' account is anything but clean, and the only
way I can get everything custom into my backup is to back up
*everything*. Meanwhile, on the PJ, I'm regularly installing (and
constantly upgrading) things twice into our two accounts. It's a
complete mess, and an utter failure of a wonderfully flexible system
that should easily be able to handle all my needs. (And woe to the
poor soul trying to install something on his Mac at work or school so
that he can do his job, only to be thwarted by a password prompt
because the program wants to install a handy-dandy contextual menu
for all users, or some such silliness.)

One of the great things dictated by old the Developers' Commandments
(i.e., Apple's Human Interface Guidelines) was that the *user* is
always in control, and programs should enforce that by giving the
user choices where it makes sense to do so. The HIG are sadly long
dead, and with them any semblence of order. One result is that such a
big and important decision as whether to install for one or multiple
users is completely out of users' hands.


Regards,
Bob
--
Robert E. Williams, Jr.
E-mail: <bobtrivectus.com> Phone: (602) 357-3296 x111
Web site: <http://www.trivectus.com/>


kevinv (apparently) - Feb 12, 2006 11:13 pm (#23 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 1319
Re: Yojimbo comments

--On February 10, 2006 2:27:17 PM -0800 Bob Williams <bobtrivectus.com>
wrote:

> Thus, I think the best place is... where
> the user wants it.
>
> I'm really the only one that uses the Martok (my desktop), so on
> there I'd really prefer to install things, including bits like kexts
> and Unix programs, in my user folder. That way, when I switch over to
> my 'clean' user account to do some testing, I know that it really is
> clean.

I've seen it in Windows, it's called DLL Hell and it's a bad idea.

<http://www.desaware.com/tech/dllhell.aspx>
<http://en.wikipedia.org/wiki/Dll_hell>

BTW in digging around on this I found out that Apple only actually supports
one location for Kernel Extensions. /System/Library/Extensions. One of the
engineers explains why they didn't want multiple paths.

<http://lists.apple.com/archives/darwin-development/2002/Dec/msg00083.html>
<http://daringfireball.net/2003/08/the_one_and_only_mac_os_x_extensions_folder>

> And when I back up my user folder, I can be secure in knowing
> that *everything* that is custom is included.

I don't quite understand this. The only way for this to be true is if you
either also installed all applications in your user folder too, or
backed-up /Applications too -- which defeats the purpose of backing up only
user folders.

Kernel extensions are part of an application (or according to Apple they're
part of the System). If you don't think /System or /Applications is worth
backing up, then why are KEXTs worth it?

Also I think we're totally forgetting the point of kernel extensions --
these are serious modifications of the low-level kernel of the OS.
Applications that need to do this should be few and far between. Looking
at my system I think PGP might be the only app I have that has them that
isn't using it as a hardware interface. and then iTunesPhoneDriver seems to
be the only software specific KEXT.

> That way, when I switch over to
> my 'clean' user account to do some testing, I know that it really is
> clean.

Depends on what you're testing. If you're having problems as user A,
booting to User B and the problem goes away then you know it's something
specific to User A. But if you're system is setup how you want -- you
wouldn't really know much because everything was installed in User A's
folders, and the only way to really test your clean user is to begin
installing everything in the clean user until the problem shows up. Of
course at that point the clean user isn't very clean.

You would learn as much booting from a clean SYSTEM (i.e. boot DVD,
firewire drive, etc...) plus have the benefit of being able to backup
existing files or doing troubleshooting, without worrying that a corrupt
system is causing the problem -- not just a corrupt user.


Bob Williams (apparently) - Feb 14, 2006 4:13 pm (#24 Total: 26)  

Reply to this message
via email - TriVectus, LC  

Photo of Author
Posts: 74
Re: Yojimbo comments



On Feb 12, 2006, at 23:13, Kevin van Haaren wrote:
>> I'm really the only one that uses the Martok (my desktop), so on
>> there I'd really prefer to install things, including bits like kexts
>> and Unix programs, in my user folder. That way, when I switch over to
>> my 'clean' user account to do some testing, I know that it really is
>> clean.
>
> I've seen it in Windows, it's called DLL Hell and it's a bad idea.

DLL Hell on Windows came about because MS went for a long time
without including a system in Windows to prevent it. When they did
eventually get around to it, it was weak and, worse, largely ignored
by developers. If you design in a good system, and if developers play
along (whether by force or by choice), there's no law of systems
architecture that says you must live in dependency hell.

OS 9's multiple users feature more-or-less failed for two reasons: it
was poorly implemented (largely because Apple was held back by legacy
technicalities), and developers constantly violated the rules. By
your reasoning, should we have given up on the idea of a multiple-
user Mac OS back then? Just because one implementation fails
miserably for whatever reason doesn't mean that an idea is
fundamentally flawed. (Incidentally, the situation is the same with
multithreading between OS 9 and OS X; I don't think any Quad G5 or
Core Duo owners, however, would argue that Apple should have given up
on multithreading back in the OS 9 days when it was of rather limited
use.)

> BTW in digging around on this I found out that Apple only actually
> supports
> one location for Kernel Extensions.

Ah yes, you are correct. I remember reading that in Apple's dev docs
years ago, but had long since forgotten about it. Like many other
developers, I felt (and now feel again) this limitation was a huge
mistake on Apple's part, one that was founded on shortsightedness. Be
that as it may, the decision was made, so we have to deal with it
until Apple decides otherwise.

>> And when I back up my user folder, I can be secure in knowing
>> that *everything* that is custom is included.
>
> I don't quite understand this. The only way for this to be true is
> if you
> either also installed all applications in your user folder too, or
> backed-up /Applications too -- which defeats the purpose of backing
> up only
> user folders.

Why do you think Apple supports an ~/Applications folder? It's not
necessary for all users to have access to all apps. On my mother-in-
law's machine, I have some diagnostics-type applications installed in
my account that could cause a ton of damage if my MIL started playing
with them, but by having them in my user account, she won't even know
they're installed. This also serves to ensure that they'll still be
installed (and not have been deleted with a shoulder shrug as to what
they were) when something goes wrong and I need to fix it.

Ideally, in multi-user settings, apps that general users install
would go into their user folder, and Apple apps would be the only
ones in /Applications. A good place for shared apps installed by the
admin for use by all users is /Users/Shared/Applications (or an
equivalent, like a network volume), with an OS-provided way to
somehow display the merged contents of all apropos app directories
for the benefit of users.

Complete domain enforcement has all sorts of benefits; just a few are:

* Backup user folders and, as applicable, the shared apps folder(s)--
i.e., all the non-Apple parts--and you're good for a basic backup. A
recovery would involve reinstalling the OS and restoring the backed-
up user data. You can still choose to back up the system, but by
having a clear separation between system data and user data, users
are in control.

* Users need not be concerned with nor deal with *anything* that
other users have on the machine. This already applies to documents,
but it makes sense for applications, too. If user A uses Nisus Writer
and user B uses MS Word, why should B need to have Nisus Writer
polluting their applications list (and vice versa)? The user is in
control of what apps they have to deal with.

* Problems like Photoshop being used by the Finder to open JPEG
documents when the current user likes to use GraphicConverter are
completely prevented. The user controls what program is used for
what, with minimal configuration hassles.

Do you see the theme here? It's all about keeping the user in the
driver's seat, where they should be. I remind you that computers are
supposed to work for us and make life easier for us, not the other
way around.

You posted a link to a message where an Apple engineer complains
about all the extra work necessary to support what really is a
relatively small change in supporting kexts in the user domain. My
response: Yeah, there's some work involved. However, all of the
required updates are fairly minor, and frankly, the whole job is
probably a thousandth of the effort required to implement, test, and
document a new UI-theme-of-the-year with each new OS release, and
what benefits does that bring the user? (Oh, wait, Apple doesn't
document such changes, but rather just tosses them out into the wild
without explanation of any sort. This makes things even better for
users and developers alike, while also cutting down on the project
effort. Brilliant idea - why didn't I ever think of it?)

Strict domain enforcement also has benefits on single-user machines,
some of which I described in my previous message.

The problem we have today is that the current system is somewhat
flawed. Apple dropped the ball big-time by limiting kexts to the
System domain, and to a lesser extent by not providing a domain-
unified presentation of installed apps. Developers turned Apple's
errors into a disaster by installing stuff willy-nilly. The system is
not fatally flawed, but it does need some work and some polish. To
me, that means you put in some time working and polishing, not
disregard the whole thing because it's less than optimal, which is
what you seem to be suggesting. Apple seems thus far to be choosing a
third option, which is to simply let the system sit in the sun
unchanged, so that the flaws become increasingly baked in and
difficult to remove in the future. (Remember why Copland and Gershwin
never materialized?)

> Kernel extensions are part of an application (or according to Apple
> they're
> part of the System). If you don't think /System or /Applications is
> worth
> backing up, then why are KEXTs worth it?

You're putting words in my mouth. First of all, *everything* is worth
backing up, but *how* it's backed up--as part of a daily routine, a
monthly routine, or just by keeping the install discs around--is a
decision to be made by the user based on his or her needs (user
control!). Secondly, I'm not saying any data type is more important
than any other, just that OS-level separation of data that are by
their nature orthogonally opposed makes sense. If user-installed
kexts and apps are in the users' folders, they're easily targeted for
backup, whether on their own or as part of a larger backup (user
control!). This is in stark contrast to the current situation where
some user-domain items are stored in the system domain's directory
hierarchy; such mingling means that to target one group or the other,
you must know exactly what is in each group, a difficult if not
impossible requirement to meet. The mere existence of a decent domain
system in OS X proves that Apple agrees with me. They just need to
clean up the implementation details and somehow get developers on
board (so that we can put an end to situations such as a contextual
menu being quietly installed for all users).

Incidentally, let's not forget command line installations that assume
the traditional Unix directory structure. That's yet another giant
can of worms!

> Also I think we're totally forgetting the point of kernel
> extensions --
> these are serious modifications of the low-level kernel of the OS.
> Applications that need to do this should be few and far between.

If this is true, and for the most part, it is, then why should a kext
that my wife installs be able to bring down my account when it
misbehaves? The nature of kexts is all the more reason to keep them
isolated to only those users who need them. OS X can generally load
kexts dynamically, so there's no reason that they always need to be
installed for all users. Admins can still choose to make things like
device drivers available to all users, but once again, it's a user
(admin) choice, not an Apple engineer's choice.

>> That way, when I switch over to
>> my 'clean' user account to do some testing, I know that it really is
>> clean.
>
> You would learn as much booting from a clean SYSTEM (i.e. boot DVD,
> firewire drive, etc...) plus have the benefit of being able to backup
> existing files or doing troubleshooting, without worrying that a
> corrupt
> system is causing the problem -- not just a corrupt user.

That's the whole point. Any point of cross-over between domains is a
potential point of failure in the theory of clean testing. Currently,
there are a ton of cross-over points, most of them unpredictable, so
the value of a clean account has been greatly diminished. There's
just too much spill-over between domains. If the domains were
enforced, the overlap would be both minimal and known, and thus
easily factored out. Why should I have to go through the hassle to
start up off another volume when the OS's purported features should
obviate the need to restart at all?


Regards,
Bob
--
Robert E. Williams, Jr.
E-mail: <bobtrivectus.com> Phone: (602) 357-3296 x111
Web site: <http://www.trivectus.com/>

seth.elgart - Feb 14, 2006 4:13 pm (#25 Total: 26)  

Reply to this message
 

Photo of Author
Posts: 4
Re: Yojimbo comments

After reading about Yojimbo in TidBITS I gave it a try. I absolutely love it, but unfortunately I can't use it. It has a lot of stuff in it (passwords, notes, web archives, etc.) but I need two more things, contacts and todo's, to make it the absolutely the best app in existence. For notes and web archives it's awesome. However, it can't do contacts at all (well, you could always use a notes entry for a contact, but then you won't be able to separate contacts from regular notes).

Currently, I use iData for notes and contacts, and SplashID for passwords. I like iData because I can make my own fields. I've used this to set up a simple contact card that perfectly fits my needs. If Yojimbo could let me name my own fields I could easily get rid of iData. I like SplashID for passwords because it has a Palm conduit. That's a killer feature as it allows me to have anywhere access to my passwords, as well as having them synchronized on several Macs. I don't use anything specifically for bookmarks and archives, so those features of Yojimbo are welcome.

As for todo's, I haven't really found anything useful enough, so I'm currently using a FileMaker database of my own design. For a todo list, I need hierarchical, multi-stage items. For example, I would make a main task heading and then have five or six sub-tasks under that, with each of them needing their own priorities or last-modified dates. Why is there no "ToDo Pro" program that can do something like this? iCal's todo's are nothing more than a list of things to do. All iCal (or Palm Desktop, or Now Up-to-date) can do is remind me of a single item. There's no complexity in those programs that can match a real-life project. If Yojimbo had good todo's it would be awesome.

The problem with Yojimbo, for me, is that it would be yet another app I would need. I want one app that can manage all my everyday computer needs. I don't want to use iData and SplashID and Palm Desktop and iCal and some bookmark program. If Yojimbo could do todo's and contacts I could replace six programs with one great one.

I even wrote to them about this. They were very polite but basically said they're happy with the program as it is and want to keep it simple. I can understand this, but they're so close to doing it all. With todo's and contacts the only other thing anyone would need for general computing, not counting any specialized programs you might use, would be a browser and an email program.

<rant> Let me add that I just don't like iCal or Address Book. I don't really want all my contacts shared across all applications, for example. If I add a new person in iChat, I absolutely don't want them to show up in my Palm. If I add a toner supplier at my office, I don't really want them to show up on my computer at home. A quick and dirty contact sheet is all I need at work. I don't really need to have the light bulb replacer's extension added to my email program's address list. Integration of applications is in theory a good idea, but I don't want to be forced into it. </rant>

Yojimbo is so close to perfect that it's simply frustrating. It's a great program. If only it did a couple more things...

bitreader (apparently) - Feb 15, 2006 12:38 am (#26 Total: 26)  

Reply to this message
via email  

Photo of Author
Posts: 114
Re: Yojimbo comments

On 2/14/06 at 3:13 PM, seth.elgartubs.com (seth.elgart) wrote:

>After reading about Yojimbo in TidBITS I gave it a try. I
>absolutely love it, but unfortunately I can't use it. It has a lot
>of stuff in it (passwords, notes, web archives, etc.) but I need
>two more things, contacts and todo's, to make it the absolutely the
>best app in existence. For notes and web archives it's awesome.
>However, it can't do contacts at all (well, you could always use a
>notes entry for a contact, but then you won't be able to separate
>contacts from regular notes).

This can easily be accomplished using labels. Simply set aside one label for contacts. Further separation can be achieved by putting all contacts in one collection.

>Currently, I use iData for notes and contacts, and SplashID for
>passwords. I like iData because I can make my own fields. I've used
>this to set up a simple contact card that perfectly fits my needs.
>If Yojimbo could let me name my own fields I could easily get rid
>of iData. I like SplashID for passwords because it has a Palm
>conduit. That's a killer feature as it allows me to have anywhere
>access to my passwords, as well as having them synchronized on
>several Macs. I don't use anything specifically for bookmarks and
>archives, so those features of Yojimbo are welcome.

I have been using SplashID for basically the same reasons you've outlined above. But, I am finding I use my Palm device less and less these days. So, consequently, I am moving passwords and serial numbers from SplashID to Yojimbo. I expect SplashID will only survive as an archive for a older items that aren't worth the effort to move. The ease of getting these into Yojimbo and finding them latter (for me at least) trumps having them on my Palm device.





  OutlineAll MessagesOlder MessagesOldest MessagesNewest MessagesNewer Messages


 [F] TidBITS  / TidBITS  / TidBITS Talk  / Yojimbo comments




Add a message

To add a message to this discussion, you must be a registered user. Enter your email address below. If you have an account associated with the email address you enter, you will be prompted for your password. If not, you'll be able to create a new account with no fuss.

Enter your email address:

Submit