Not signed in (Sign In)

Vanilla 1.1.4 is a product of Lussumo. More Information: Documentation, Community Support.

  • Search


  • Adding Images in Posts

      In order to add an image to a discussion, you need to first have a url to the image. This means that you have to upload the image to somewhere on the internet.


      One easy way to do this is to use www. www.postimage.com.


      You need to upload your image (remember anyone can see the image by reading a posting here, or other methods). After you upload the image you need to copy the 'html' line and paste it into a discussion comment.


      Here is the format of an image in html. (only needed if you do not use postimage.org)


      <img src="http://site.com/pictlink.jpg"/>


      This forum does not use BBCode - rather it uses html.


      --Tom

  • Adding Link

      You can add a link to a posting: Copy the template below, and replace xxx with the URL, and yyy with what you want to call it (which can be the same as the URL).

      <a href="xxx">yyy</a>

      --Tom

Ironic's community site has been set up for support and discussion. Please feel free to join and offer your ideas and solutions. Anyone can add a comment or question to a discussion topic that is already listed. In order to start a new discussion, you need to be member. Membership is easy.

    •  
      CommentAuthorBLUEFROG
    • CommentTimeFeb 4th 2009
     
    Jono:

    Tom has worked out a workaround that includes backing up OpenMeta Tags on-the-fly. We should be seeing something with it soon (updated Tagit).

    Yea, this problem particularly affects me as I 'live' in Illustrator & Photoshop. I filed a bug report a few days ago, but don't really expect Adobe to do anything about it (at least not in the near future).
    I understand your cynicism but this also affects users not using OpenMeta. It is a BUG in every sense of the word. I would love to start a "class action bug report" with them - shake 'em up so they recognize the seriousness of the issue. I encourage you to spread the word (and the URL) - the more we file, the harder it is for them to ignore. 8^)
    •  
      CommentAuthorJono
    • CommentTimeFeb 4th 2009
     

    BLURFROG:
    Tom has worked out a workaround that includes backing up OpenMeta Tags on-the-fly. We should be seeing something with it soon (updated Tagit).

    Oo, that sounds great. Can't wait for that then!

    I'll spread the word on the bug, & hope they surprise me by fixing it!
  1.  
    Tom,

    The advantage of using a month by month system is that old months could be heavily optimized. Also a file by file system is friendly to Time Machine, is easily readable by simple Cocoa programs and is fairly easily understood. As for disk space, 100,000 4k attribute backups use up 400MB of disk space, which is about 6 cents worth of file space on a new desktop, or perhaps 50 cents on a laptop. The space used is trivial.


    I think it's more like 60 cents of disk space, not 6. (A bare 1 TB drive is around $100 now.) Anyway, it's not really the dollar cost that bothers me. Disk space is super valuable on a laptop because it's so limited. Also, there's the overhead of having so many extra files (especially in the same folder), which slows down the file system as well as backups and synchronizations.

    It sounds like you have a plan to eventually compact or delete the old backups, although this isn't implemented yet. I wonder, though, why we need multiple backups in the first place. Under what circumstances would we not use the most recent backup?

    This is a backup - if there is any OpenMeta data on a file already, then that is for the most part considered to be accurate. The backup is only used if there is no meta data found on a file.


    Then it sounds like a Time Machine restore of a file could bring back old tags in the xattrs, and these would be used even though the backup has newer tags?

    The xattr system is designed to hold meta data - old programs that use 'old apis' will almost always work properly with xattrs. In order to not work with them, you need to go out of your way. Which I guess Adobe does, and is a huge bug on their part for all sorts of reasons.


    I agree that it's a bug if Adobe's software doesn't preserve xattrs. However, I think you and Bluefrog are mistaken about having to go out of one's way to make it not work. The problems probably don't come from deleting the metadata, but rather from not actively doing something to preseve it when saving a new file. My understanding is that an application needs to go out of its way to call an API such as FSReplaceObject (added in 10.5) in order to preserve the metadata.

    When someone writes a better backup system for extended attributes, for OpenMeta or not, then OpenMeta could use it. The present backup system is designed to be simple to change, expand or replace.


    I want to make sure that the backup system really is a backup that's independent from the core OpenMeta functionality. This was not totally clear as I tried to explain in the previous post. What I'm getting at is that I don't want there to be any problems caused by having multiple applications, some using the original OpenMeta code that doesn't do backups (or Gravity's similar code), some using the current code, and some using a hypothetical newer backup system.
    •  
      CommentAuthorBLUEFROG
    • CommentTimeFeb 5th 2009 edited
     
    The problems probably don't come from deleting the metadata, but rather from not actively doing something to preseve it when saving a new file. My understanding is that an application needs to go out of its way to call an API such as FSReplaceObject (added in 10.5) in order to preserve the metadata.
    I am only an advanced layperson, not a "real" programmer (but a really good Applescripter! 8^) so I don't know how much water this argument holds but… I have documented proof that the xattrs are not removed in all circumstances when saving from either program (which makes the problem doubly frustrating. It's like "Hey, you preserve them when I do this but not when I do that?!?"). Maybe they are triggering FSReplaceObject under certain conditions but I can't see why they wouldn't always try to maintain the metadata.


    And for anyone who wants to know… this is the last response I got from a Photoshop engineer:
    Jim - of course the original is not retained: the apps are doing a safe save (where you save to a new filename, then replace the original with the duplicate in a semi-atomic way). This is done using standard OS APIs whenever possible, and is done in most applications. All file saves in Photoshop behave the same way, except maybe PDF (which is in some code we don't control) and SaveForWeb (also different code).

    Again, the root cause is an Apple bug in the way they chose to associate metadata with the files, and how they updated existing APIs to deal with the additional metadata. We might be able to work around this using new APIs -- but should apps have to change their code every time someone decides to add new metadata invisible to the app and separate from the file? Shouldn't the design of the metadata system be more robust, and work with existing applications? Shouldn't someone have thought about this before releasing a metadata system, that, well, nobody knew about?
    • How could the saves be the same when some preserve extended attributes and others dont?!!?
    "…metadata invisible to the app and separate from the file…"?!? So, Photoshop doesn't use it so it's worthless? What about Spotlight Comments - how does Photoshop use those?!? Yet they are preserved And how are extended attributes "separate from the file"?!?
    • And lastly, the very cavalier "…Shouldn't someone have thought about this before releasing a metadata system, that, well, nobody knew about? …" Gee, I didn't know Apple had hidden extended attributes from everyone except for people in this discussion. ;^) Oh wait, that was most likely a dig at us - lol [rant off]

    I fully admit I don't know the deep mechanics of some of this stuff but it is apparent there is a bug with the Adobe apps and this disregard is sad to see (though it won't shut me up!) I wonder what John Nack would think of this guys comments? 8^D
  2.  
    Bluefrog:

    It's not a question of removal because Photoshop uses safe saving (as all apps should). The new file doesn't have any metadata, and it isn't supposed to. The metadata gets added back when the app calls the API to swap the new file with the old one. Until 10.5, the proper way to do this was using FSExchangeObjects. However, FSExchangeObjects does not handle xattrs or hard links (or, at least doesn't do so consistently--some consider this a bug in the OS). So now apps are supposed to be modified to use FSReplaceObject, but this API did not exist until 10.5, which shipped after CS 4.

    I don't like the Photoshop engineer's attitude, but he or she is correct on the facts. Apple designed xattrs in such a way that applications must take positive steps to preserve them. They actually are "separate from the file," in some respects. Applications that have not been updated to use the latest APIs, or which use the normal Unix APIs, will not preserve the xattrs. (Even the Finder did not preserve them under Tiger.) Application that want to use xattrs must take this unfortunate reality into account.
    •  
      CommentAuthorBLUEFROG
    • CommentTimeFeb 5th 2009
     
    Thanks for the clarifications, Michael. Why then if you open and save a JPEG file are the xattrs preserved? I'm really trying to understand what's going on here, BTW.

    Here's my "experiment":

    1. Add xattr metadata to a file (using Tagit or omtool for expedience)
    2. In Terminal: mdls the file to verify xattrs are present
    3. In Terminal: ls -li the file to record the inode
    4. Open the file in Photoshop (or whatever app I'm testing)
    5. Make a minor change that will trigger fileModified to be true and Save not Save As, etc.
    6. In Terminal: ls -li the file to verify the inode
    7. In Terminal: mdls the file to check for preservation of xattrs

    This may be simplistic but I went with the logic of: an inode is assigned when a file is created, therefore if the inode changes, it is a new file so xattrs don't belong to it. If the inode is the same, it is the same file and xattrs should be preserved.

    JPEGs saved maintain the inode and the xattr (perfect and makes logical sense to me). TIFF files do not maintain the inode (so the file has been replaced with a renamed duplicate) and xattrs are gone (again, logical from the metadata standpoint) but why the replacement? This one surprised me. PSDs getting "safe saves" seemed less surprising. So to my slightly trained eye 8^) it appears that Photoshop is not using safe saving for all file formats.

    Does that make sense?
  3.  
    Bluefrog:

    My guess is that Photoshop CS 4 is not doing a safe save for the JPEG in that situation, and that's why the xattrs are preserved. (I'm using Photoshop Elements 6. In this situation, it does not preserve the xattrs.)

    By the way, if the inodes are different, you can conclude that the file is new. However, if the inodes are the same you cannot conclude anything, because one of the features of the metadata preservation API is that it assigns the old inode to the new file.
  4.  
    The bigger issue I see is that everyone in this discussion is being a little short-sighted. OpenMeta is a first step, but where is the journey going to end? Why restrict it to just OS X? IMHO, the end goal should be a widely supported solution for attaching meta data to files that is supported cross-platform and preserves meta data as files are moved between platforms. It's a long journey, but I think the results would be worth it, and this first step is absolutely necessary, but it needs to be in the right direction.

    In order to achieve that goal, meta data needs to be stored in a portable location, i.e. not com.apple. There should also be support for namespaces (e.g. my tags should be distinct from say, corporate tags) and the user should have control over which namespaces are used on their machine. Obviously all this complexity would be abstracted away from the user by nice applications like Leap.

    Anyway, that's a short explanation of my vision, which is may be a bit grander than what was envisioned when OpenMeta was launched.
    •  
      CommentAuthorBLUEFROG
    • CommentTimeFeb 6th 2009
     
    Welcome, Colin!

    Your vision is just fine, 20/10 possibly! >.<

    Actually that is on the 1000 yard view for this whole thing. The ideal is dissolution of application / operating system boundaries for metadata. It is a grand vision indeed but we need to start somewhere and that's in our own neighborhood. (Think globally, act locally - right? ;^)

    We welcome any and all comments (though we should have new threads going for new ideas - this one's getting a little long in the tooth).

    Thanks for your comments.
    • CommentAuthorstep21
    • CommentTimeFeb 6th 2009
     
    @colin yeah, that would be very nice, but I think for storing metadata on the platform xattrs are quite o.k. Seperately from the above discussion there are other issues to consider then. No matter whether you use com.apple or org.openmeta, the programm copying the files needs to make sure xattrs get copied too, and not just as a .* file. This would be easiest to implement for linux etc. i think, because most files systems there now support xattr and in most modern installations it should be enabled by default, although I'm not aware of a "tagging" program like leap or so on that platform. On Windows however while NTFS in theory supports some kind of metadata, afaik it is much more limited and even less supported then xattrs on os x or linux.
  5.  
    Just to be clear in my suggestion, I wasn't suggesting moving the meta data anywhere other than xattr. NTFS supports attributes sufficiently to implement a Leap-type app on Windows. I agree that the best thing to do is get widespread adoption on OS X and then try to expand globally, but, and I believe I am making the same point as Mr. Tsai, although for different reasons, you don't want to start out by choosing a namespace that isn't going to be portable (to be fair, their is no reason you couldn't use a com.apple namespace on Linux, but it makes little sense for a number of reasons, the biggest being the fact that OpenMeta neither owns nor controls that domain).

    As for preserving/copying attributes, it's a bit of a chicken and egg problem. Nobody is going to worry about preserving attributes across file systems until there is widespread need to do so and nobody is going to create apps with need for attribute preservation without support (witness the Adobe problems, which I do sympathize with Adobe over).

    My proposal is that OpenMeta should own the OS-level meta data specification on the OS X platform, and when it has begun to really take off, start approaching the Linux community, maybe even setting up a working group to manage the specification (partnering with freedesktop.org would be a good idea here). Then you go after Windows. Contrary to popular belief, Microsoft will support community-lead initiative when it is in their interests to do see (e.g. recent integrated support for JQuery in their flagship development IDE).

    Personally, as a professional software developer, I think the correct approach is to store OpenMeta tags in an OpenMeta namespace, and, to achieve the Spotlight integration, keep a shadow copy of the tags wherever Spotlight is expecting to find them. That way you have a future-proof primary storage, and you can react to whatever changes are introduced by future versions of Spotlight (e.g. if Apple were to provide a supported extension mechanism).
    • CommentAuthornggalai
    • CommentTimeFeb 9th 2009
     
    I hear you, Colin. Especially in your last posting, regarding how to approach, err, global domination.

    For what it’s worth, I published a rather shallow (German) article about how I see OpenMeta on Apfelquak.

    I’m posting the link in this thread as I’m referencing, well, to this thread. I’m quite interested in the technical discussion here, I may add. Even though as a writer, I’m not even a layman. But it puts things into perspective, hence, thanks!

    Cheers,
    -Sascha
    • CommentAuthorcountach
    • CommentTimeFeb 9th 2009
     
    Since other OSes store xattrs in different places and different ways, I think trying to solve things for the world is premature and overly ambitious, and simply won't work at this time. I think we need to solve real problems that exist now, and KISS - keep it simple. If there are compelling reasons why com.apple makes things simpler, I think we should go with that and worry about what Apple may or may not do next year when that happens. We can always write a utility to update things later. I don't think we should complicate things for things that in all likelyhood won't happen.
    • CommentAuthorguest
    • CommentTimeFeb 11th 2009
     
    <strong>Guest:</strong><br /><br />Posted by MatthewB,

    I'll have to post this as a "guest" as my application for a account on this board has not yet gone through.

    I've read this entire thread and I support Michael Tsai's, shg's, and colin_young's positions. I would like to see OpenMeta use its owned named space (org.openmeta has been suggested) to store tag attributes and include the ability to mirror these attributes into the com.apple space to allow Spotlight searching (when and if desired by a particular app). It's a good suggestion.

    - matthewb
    •  
      CommentAuthorBLUEFROG
    • CommentTimeFeb 11th 2009
     
    Welcome, matthewb (your account is active now)

    Thanks for your comments.
    • CommentAuthorguest
    • CommentTimeFeb 13th 2009
     
    <strong>Guest:</strong><br /><br />I think Michael Tsai's suggestion is very reasonable. My only comment would be that an application that *modifies* an already existing tag that is present in both org.metadata and com.apple, modifies both copies, even if the app in question has been set to not store the tag as a spotlight- indexable tag, and has thus been set to not touch com.apple. This would be a good compromise to reduce user confusion.

    charles
    (waiting for username approval)
    •  
      CommentAuthorBLUEFROG
    • CommentTimeFeb 13th 2009
     
    You're all set, charles. Welcome and thanks for your comments.
    • CommentAuthorsjk
    • CommentTimeFeb 13th 2009
     
    •  
      CommentAuthorBLUEFROG
    • CommentTimeFeb 13th 2009
     
    Thanks for the heads-up, sjk.
    • CommentAuthorguest
    • CommentTimeFeb 13th 2009
     
    <strong>Guest:</strong><br /><br />I think the problem is that there are two different things at work here. The first is the desire to create a standard place to store metadata information that any application can access. The second is the desire to add a feature that allows searching using Spotlight.

    From the outside looking in it appears that the needs of the feature are overriding the needs of the standard. Perhaps the Spotlight searching was the initial goal and the standard came up later. The problem is that the whole point of creating a standard is to make something that is as bullet proof and future proof as possible. Something that you can grow, but still expect to maintain some backwards compatibility with if things change in the future. Using com.apple.metadata as the standard place to store information completely defeats this purpose. I've seen a lot of back and forth about how probably something going wrong is. Some think it's extremely unlikely. That may be true but it completely misses the point. Just because it's unlikely doesn't mean it won't happen. Any thing that relies on something that may go away at any moment isn't a standard but a future tech support nightmare.

    It's early enough in the process that you can change the xattr tag to openmeta.org or what have you with out the huge amount of pain it would cause in the future. In addition it would be more attractive to developers that won't use something that hasn't been endorsed by Apple. I would expect that this would increase interest in the project and help it actually become a true standard.

    The Spotlight searching really is a feature, and extension to the idea of having a standard meta data repository. Yes, to implement it now, you have to store duplicate data in two places. So what? If it's handled in the library it makes no difference to the user or the developer. What happens if Apple decides to make all xattr information indexed? Just turn off the code that puts it in com.apple.metadata. If Apple decides to store a 5MB image of a unicorn in com.apple.metadata? Spotlight searching stops working but applications can still access the meta data with out any need for an update.

    It's more work now yes. But it will prevent a hell of a lot more work later on.

    Michael Krzyzek
    • CommentAuthorguest
    • CommentTimeFeb 13th 2009
     
    <strong>Guest:</strong><br /><br />I'm a late comer to this discussion (via Daring Fireball), and I am quite intrigued. The two main points of discussion seem to be: 1) using com.apple.metadata: as the xattr prefix for non-Apple xattrs; and, 2) Spotlight's (in)ability to index xattrs that are _not_ prefixed by com.apple.metadata.

    I come from a background of xattr from BeOS (and its BFS, which was designed by the same person who is now employed at Apple working on filesystem and Spotlight-related work), so I have a different perspective on xattrs. HFS+ has had xattrs for quite some time, but only recently received OS level support for them. With BFS files, xattrs did not have to have any specific &quot;prefix&quot;, they were indexed by default, and if a particular filetype had a set of xattrs associated with it, those xattr fields would be present on newly created files of that type.

    Back to OpenMeta: Why do the xattr fields have to prefixed at all? Is that just for the ease of programatically reading them? If that's the case, I personally see no reason _not_ to use com.apple.metadata. Spotlight is an Apple program, and if it can only read metadata prefixed in that manner, then that's OK. It's similar to other programs that perhaps want to access to read (and possibly modify) your Safari bookmarks (say for iPhone syncing). Apple &quot;owns&quot; Safari's bookmarks, but access to the bookmarks file must conform to what Safari expects. In this same manner, access to indexed metadata must be what Spotlight expects.

    I'm not up to par on the limitations of Spotlight plug-ins, but as I understand from this discussion, mdimporter will only recognize xattrs prefixed with com.apple.metadata. Is that correct? If that is correct, then I fully support OpenMeta using this method. However, if it is also correct, then it is a distinct limitation of Spotlight, and should be changed and filed as a bug. If Apple's search and index mechanism for their filesystem does not let me search or index the things I put there (such as custom xattrs), then this is an artificially imposed limitation. Apple has hindered the state of HFS+'s metadata on OS X for *years*, and it's time they finally let users have control of their own metadata. If OpenMeta can do this, then I fully support their effort. It does not appear they are doing anything in a &quot;hack&quot;-like manner, but rather working within the artificially-created limitations that Apple has imposed on developer's because of the lackluster implementation of xattr indexing.

    -- R. Patrick Cameron
    rpcameron at rpcameron dot net
    • CommentAuthorguest
    • CommentTimeFeb 13th 2009
     
    <strong>Guest:</strong><br /><br />As a programmer, I think this is an interesting discussion that could go on for ever.

    As an end user, however, I do not care at all about how anything works below the surface. What I do care about, is that everything keeps on working after I run a software update on my machine. And if OpenMeta writes to any com.apple.* files whatsoever, NO ONE can guarantee that.

    In general, developers tend to care too much about making things technically possible, and care less about how the end user will experience their wonderful technical ideas.

    I for one am going to be VERY angry as an end user when the OpenMeta systems fails to work after a simple system or security update which I always install immediately and automatically.
    • CommentAuthorguest
    • CommentTimeFeb 13th 2009
     
    <strong>Guest:</strong><br /><br />Let me add the perspective of someone who manages application supportability and risk for a living.

    Whenever you write an application that makes use of data structures, APIs, etc. that are provided by another system -- in this case the OS-X file system and Spotlight -- you are making certain choices about what to rely on. Apple provides documentation that essentially says &amp;quot;if you want to add xattr metadata in your own namespace, we promise to respect that.&amp;quot; They don't make any promise to respect data other people put in com.apple.* namespaces.

    OpenMeta wants to accomplish two main goals:
    1. tag files in a standard way that other applications can use and manipulate
    2. make those file tags searchable in Spotlight

    Goal 1 can be accomplished using either an org.openmeta namespace or a com.apple namespace. All other things being equal, if this were our only goal it would be silly not to use org.metadata. After all, Apple has made an implicit promise to leave that data alone.

    Goal 2 can only be accomplished if OpenMeta uses the com.apple.metadata namespace.

    So here comes the first decision: do we use this item even though Apple hasn't promised that it will work in reasonable ways? If we do, we gain a great feature, but at the risk that it might break something unexpectedly either now or in the near future (not to mention that the feature might disappear entirely without any kind of warning). At least with org.openmeta.* we have some assurance that Apple won't just yank the feature without warning, and some assurance that doing this isn't supposed to break anything.

    Now, OpenMeta has chosen to use com.apple.metadata and accept that risk.

    **HOWEVER** the claim that OpenMeta &amp;quot;doesn't use any secret API&amp;quot;, which is *technically* true, is a little misleading. There may not be a secret API in use, but something unsupported is being used, which means the user is taking a risk -- even if it's a small one -- by trusting tag data to OpenMeta. At the very least, OpenMeta should be, well, more open about that. Users can decide whether they're willing to accept that risk.

    Mr. Tsai has made an additional suggestion: OpenMeta can achieve Goal 1 in a way that's supported by Apple (using the org.openmeta namespace), and supply an application *option* to the user which will achieve Goal 2 by mirroring that data to the unsupported com.apple.metadata area.

    This way, the user can get a lot of good out of OpenMeta even if they don't want to accept the risk in using an unsupported file system feature. User choice is a good thing. The approach has the additional advantage that if Apple dramatically changes how the com.apple.metadata feature works (say, by altering its data format), then all users lose is the Spotlight-searching feature -- their tag data is still safe and can be accessed by OpenMeta and other applications. Resilient software is *also* a good thing.

    --Darren Meyer
    • CommentAuthorguest
    • CommentTimeFeb 13th 2009
     
    <strong>Guest:</strong><br /><br />Hi there,

    I used SpotMeta in 10.4 and was devastated when my great organization of files was dead with the 10.5 Update. I took me weeks to get back to a similar system (with YEP). OpenMeta was announced as an open standard (which I understood was playing after Apple's rules), and now I feel scared that everything will be lost again.

    This isn't amusing at all...

    If you value you customers, please, play safe with their data, their work and their time.

    So I see that Michael Tsai has asked some questions which are in dire need of an appropriate answer... OpenMeta is a great idea, but don't toy with us


    Best


    Bernt
    • CommentAuthorhoge
    • CommentTimeFeb 14th 2009 edited
     
    This thread may be too long to read everything. The fact is that OpenMeta now backups all the tags in ~/Library. This is repeated in this thread.
    • CommentAuthorrlfsoso
    • CommentTimeFeb 14th 2009 edited
     
    Hello,

    hoge, I think the backup of OpenMeta date is only a (small but important) part of addressing the questions posed and pondered again and again on this thread. Currently I think the arguments in favour of NOT using com.apple-sth. as main starting point for openmeta data but using org.openmeta-sth. prevail, problems for developers notwithstanding… If Apple choses to change the underlying basement with a systems update I and others don't want to be left standing on the side of the road.

    I do think the spotmeta was suffering from a different problem though: the frontend of manipulating and displaying data applied by spotmeta was not compatible with Leopard and didn't get updated. Though ironic and gravity do things not open-source and in their freetime and thus development will probably make things work again in a similar situation, the argument to design and implement a PROPER (future-proof) standard seems a very valid one.

    Rolf

    Just want to add that the developers of BibDesk and Skim have voiced their concern that using com.apple instead of org.openmeta is potential dangerous, following Michael Tsai's line of thought (on the BibDesk-user-list)
    • CommentAuthorhoge
    • CommentTimeFeb 14th 2009 edited
     
    Rolf,

    My personal opinion is simple and I've already talked this issue with Michale and I think he understood my point. Using org.openmeta as a primary place and let developers/users choose to use com.apple.metadata as an option just brings chaos. I've wrote how such a world brings confusion to users. At least, I think Michael understood this point.

    Of course, I know the superiority of org.openmeta. So, I personally prefer mirroring both com.apple.metadata and org.openmeta.

    However, a person who is in charge of Openmeta does not seem to take this route. Instead, this person decided to store backup in ~/Library. It is not exactly what I prefer but this is much better than nothing. Furthermore, this is much better than a chaotic world where tags are primarily stored on org.openmeta and only the wishful developers use com.apple.metadata.

    I strongly fear to lose tags. But, I strongly believe the solution should not destroy usability and I personally believe it is possible - just mirroring com.apple.metadata and org.openmeta. It looks just simple to me. I, an end-user, wonder why we need theological arguments.


    Below is what I wrote in this thread two weeks ago. Who wants to live in such a messy world?
    ----
    Imagine that X.app saves tags only on org.openmeta and Y.apps saves on both places and uses spotlight for searching tags. It is not difficult to imagine an end-user who does not know the exact mechanisms but know both apps use OpenMeta starts to wonder why s/he can't search a tag added by X with Y. S/he wonders why only the tags added by Y can be searched from both X and Y. What if he uses many more OpenMeta applications? Furthermore, what if users can choose whether to use com.apple.metadata when they first install applications? Do standard end-users remember their choice of configurations? It is almost obvious that allowing users to make a choice makes the situation much more complicated. I recommended you to write demonstration partly because I didn't have any idea how you are to dissolve this problem.
  6.  
    Hoge: I understand your point, but I don't agree that your chaos scenario is what's likely to happen. So I still think the primary storage should be in org.openmeta, with mirroring to com.apple.metadata. If an app wants to make a backup in ~/Library, that's fine, but (a) I don't think that backup system is a good general solution, and (b) it doesn't address the points I've raised.
    • CommentAuthorguest
    • CommentTimeFeb 14th 2009
     
    <strong>Guest:</strong><br /><br />With regards to the 'cost' of 400MB...I pay for continuous online backup. I pay per GB uploaded, and per month it's stored. So the 'cost' is not 6 cents, nor 60 cents. If all my applications made 400MB of backups, I'd be broke.

    Aside, I think Michael Tsai made an excellent point, which has yet to be refuted (except by logical fallacies; 'show me where it says we can't do this'). Rather than address what he raised we've had doubt in his credibility; 'show me the Apple email', which he disproved, to be met with silence (not even a thank-you!). We've had 'why are you attacking only us', followed by an explanation, again met with silence. We’ve had a suggestion he would contribute if his work would be accepted followed by...silence. And then we've had a 'theological' discussion as to the whys and wherefores of making a decision which made this so pointlessly academic (I use that word very loosely) it was, at times, painful.

    It's your project and you can do what you want, but please just man up and say 'we're doing it this way because...'. Going for the defensive 'well Apple didn't say we can't, ok they did but forget that for a minute, blah blah blah' looks really shoddy. As does the 'secret api' rubbish. People want transparency.

    Guest
    • CommentAuthormatthewb
    • CommentTimeFeb 14th 2009 edited
     
    Why do I care about this?

    I to am an ex-SpotMeta user. I've been down this path before. Quite frankly the larger portion of work, and risk, is with the people managing content who trust a tagging system (because this work is continuously on-gong and is multiplied by the number of users who use the tagging software). Before I start down this route again with my 45,000 text documents I need to be sure about the system. I've been hoping for a resurrection of SpotMeta, or some other contender emerging (something more robust than Spotlight comment area tagging). I really want OpenMeta (and Leap) to be it. Unfortunately, I'm unwilling to bet on OpenMeta while it is primarily based on using the com.apple namespace.

    I think OpenMeta is tremendously important but also that the hurdles it has to overcome are substantial. If it is to gain wide acceptance in the programming community, and more importantly gain the trust of the community of informed content managers, it needs to have *everything* going for it. We want, and need, a tagging system to become an integral and standard part of Macintosh file management whether Apple acknowledges it or not. If OpenMeta succeeds in this role it will become the underpinning for a great deal of functionality for many applications and fundamentally change the way many people manage files. I think it is close to being on the right path for this to happen. Adopting the org.openmeta (or some such) namespace for it's primary data storage will, I think, put it over the top and result in a broad and growing groundswell of support. (It feels close already.) But without this change I'm afraid the project will not be the answer. At least it won't be for me. And if it pulls in all the applications that are looking for an improved method for system-wide tagging it might even do harm (those programmers will no longer be looking, thinking they have found the solution). Sounds a bit corny, but there is a fair amount of responsibility in this. OpenMeta is good enough now that it may become the dominant behind-the-scenes tagging mechanism as it is. That's why it is important that this decision is right (as in, from my perspective, that compromises are made if necessary to assure, with the greatest degree of likelihood, that tagged collections continue to function without major upheaval regardless of normal operating system evolution).

    I have Tags, and Leap, and omwizard, and the other Tags. I really want to begin tagging and improving access to my documents. "No secret APIs" (and my positive experience with Leap) had me believing that OpenMeta would be it. Not creating it's own namespace and writing its tag attribute data into the com.apple space is a bit contrary to what "no secret APIs" had me thinking (though I acknowledge that it is literally true). I understand why writing to com.apple is a more elegant programming solution (avoiding the need to mirror the tag attributes into the com.apple space to gain automatic Spotlight indexing). But, in this case, I think there is a need to go with more certainty, at the expense of programming elegance.
    • CommentAuthorhoge
    • CommentTimeFeb 14th 2009 edited
     
    Michael,

    >So I still think the primary storage should be in org.openmeta, with mirroring to com.apple.metadata.

    If you mean that org.openmeta should be forcefully mirrored to com.apple.metadata as a default setting, I am perfectly with you. I don't care which is called primary or secondary. I believe (perfect real-time) mirroring is the best option.

    I think many people concerning this problem want to achieve two goals. Use org.openmeta and allow users use spotlight by default. Only the solution I can think that can achieve both goals is mirroring. Honestly speaking, I don't understand why this option is not chosen by those who are in charge of OpenMeta. It seems to be so simple and user don't need to change anything in their daily usage.

    Making backups in ~/Library is just the second best. As I asked the question in another thread, I feel that this second option may cause some problems aside from what you pointed out. However, it is much better than nothing. If the best option is implemented, we don't need to consider the necessity of this second option. I support this second best option only for assuring users who worry the tags they are currently adding may disappear. I am not perfectly happy with this backup solution. However, I think some people are getting too nervous given that the current OpenMeta system has a backup system.
    •  
      CommentAuthorsherkaner
    • CommentTimeFeb 17th 2009
     
    This is an interesting discussion. I guess what I'm curious about here is what you guys think is the real likelihood that using com.apple.metadata will lead to lost tags? It sounds like this risk is simply Apple's lack of commitment to protecting that data, but is there any reason to believe (ie. some plausible reason why) Apple would "lose" these tags at some point?

    Another way of looking at this: if Apple *did* guarantee that com.apple.metadata was safe to use, then even the ~/Library backup wouldn't be necessary, correct? If we are "pretty sure" that there is no reason why com.apple.metadata shouldn't be safe, then the ~/Library backup seems like a very reasonable insurance policy, ensuring a recovery if something catastrophic happens. Going all the way to full mirroring between com.apple.metadata and org.openmeta seems "dirty", and only necessary if we expect frequent problems of losing the com.apple.metadata tags, where single files would need to be frequently repaired in the background.
    • CommentAuthorguest
    • CommentTimeFeb 17th 2009
     
    <strong>Guest:</strong><br /><br />sherkaner here is the problem, the standard is that the domains are owned by the developer, whether it's Apple or Whacky Company. So com.whackycompany is a unique identifier that they can use. Now since Apple writes the OS it's tempting to use com.apple.metadata. But Apple still owns that data space. It's not that they didn't commit to protecting the data. They said in dev speak that it should not be used. While you may think using org.openmeta and mirroring it to com.apple.metadata seems dirty it is really the safest thing to do. Apple can remove com.apple.metadata at any time whenever they do an update. Mirroring the data means that user information is still preserved even if Spotlight search is impacted if Apple changes things. From a dev perspective the fact that they said that using com.apple.metadata is unsupported means they are going to change Spotlight searching of meta data at some point. Doing things the &quot;dirty&quot; way means that OpenMeta can be more flexible in the future. I'm really quite stunned that there is so much push back on this.

    Michael Krzyzek
    • CommentAuthorcountach
    • CommentTimeFeb 17th 2009
     
    Ok folks, where does apple say that if you don't use com.apple you are safe, and conversely not to use com.apple because it is reserved? As far as I know, and I'm happy to be corrected, Apple says no such thing. In fact it says nothing whatsoever about what names to use, and doesn't even suggest that the reverse domain name convention be used. For all we know, Apple might start using org.openmeta next year, with or without owning the corresponding domain. In fact, the openmeta.org domain is already owned. Why would owning the domain make you feel safe? What if someone in our cabal does own the domain, then it is sold, are you now unsafe?

    For all we know, com.apple is Apple's preferred method for people to specify Spotlight indexing. As far as I see, you make it work now the way that makes sense now. If that changes in the future, in ways we can't predict now, THEN you build in backwards compatibility. Maybe in the future Apple gives its blessing to com.orange or com.grapefruit or com.metatags or com.apple.metatags, or who knows what. Then you're going to have to do something else again, and you'll have two legacies to clean up instead of just one.
    • CommentAuthorguest
    • CommentTimeFeb 18th 2009
     
    <strong>Guest:</strong><br /><br />countach first of all the revers domain is a convention used so that each developer can have a unique namespace. It's the equivalent of application creator codes from back in the day. Take a look at the Preferences folder for bloody sake. No proper developer is ever going to use a domain they don't own, seriously get real. Secondly the openment.org domain was used as an example, Michael Tsai even offered to buy it so perhaps he did. Thirdly read the whole thread. Do you see the comment from Michael Tsai where he asked Apple about using com.apple.metadata and they said it wasn't supported? That means that they do not want people using it. That is their way of saying it is reserved. Lastly the idea that you should wait for something to break and then fix it is just laughable. Why not be proactive and avoid the whole problem in the first place? That is the whole point of this discussion that keeps being missed over and over again.

    At this point it seems like OpenMeta is a good idea with a flawed implementation. As it stands I don't see it getting much uptake from the rest of the developer community.

    Michael Krzyzek
    • CommentAuthorrickdude
    • CommentTimeFeb 18th 2009
     
    I can't help suspecting that this whole controversy has arisen for largely non-technical reasons, even though the technical reasons are the ones being talked about. Maybe some readers saw the title of Michael's post and thought he was being deliberately provocative or hostile. Maybe some readers knew who he was, and thought he was coming to sow doubt to ruin OpenMeta and thus somehow benefit his own program. Maybe the developers had breathed a big sigh of relief at finishing the OpenMeta code, generating some interest from other developers in the process, and were looking forward to devoting a few months to further development of Deep and converting Leap to OpenMeta, and were taken aback at the criticism (which may well have been the first). Maybe they even thought subconsciously "Shit, he's right, but no way are we going to go back and rewrite the thing." And quite likely they simply haven't had time to give the criticisms and suggestions the attention they deserve, and have thus unwittingly given some readers the impression that they're avoiding or have something to hide. (Note that they haven't taken the easy option of moderating discussions on the forum.)

    I'm not criticizing here. From where I'm sitting, Ironic Software have created the best example so far of a comprehensive metadata-based file browsing solution (Leap) that clearly shows that Apple is no longer the place to look for interface innovation, in addition to a similarly-spirited PDF management program (Yep), and now an even more imaginative application for image management (Deep). They could easily have focused only on improving their own programs, but instead opted to leverage their expertise in this field to benefit users and developers of competing software. As far as I know, they've devoted lots of time to OpenMeta and haven't really received any tangible rewards. (Perhaps this is the kind of thing that goes without saying, but I think it can still sometimes be useful to say it.) They're human beings, too, and a feeling that they've done enough, or simple fatigue, or just being really busy, are all things that we can all identify with.

    Going back to the technical issues, I've seen counter-arguments to Michael's ideas to the effect that using com.apple.metadata isn't as dangerous as he suggests, but I haven't seen one easily understood argument AGAINST his proposal, i.e. that what he suggests is inordinately costly or dangerous, or whatever.

    Anyway, I hope that the talented programmers in many companies who will actually be bringing OpenMeta to us users can maybe take a bit of time out and recharge their batteries while further clarifying their thoughts on this matter, focusing on the future rather than what's gone before. Who knows, maybe conversations are already taking place by email and other channels and an understanding is already being reached. And perhaps we users can remind ourselves that none of this comes to us by god-given right: it's the vision and effort of dedicated developers that gives us even the hope of a long-term solution to metadata portability.
    • CommentAuthorGotow
    • CommentTimeFeb 20th 2009 edited
     
    Jon Gotow from St. Clair Software here - I'd like to add my two cents to the discussion. This matters quite a bit to me because I've got a build of Default Folder X sitting here with OpenMeta support built in, and don't want to release it until we get this sorted out.

    First, I'd like to get past the semantic quibbling - by convention, namespaces and files tagged with a company's domain are reserved for that company. That IS the convention and I don't think we need to argue about it. Writing a com.apple.metadata prefix in a file's extended attributes is writing to a data store that you don't own, regardless of whether you're technically using a private api or not.

    I'll summarize the issues that have been raised:

    1. Extended attributes on the filesystem are not always preserved because some applications use old API's that are not EA-preserving. Photoshop and Illustrator's 'safe save' procedures are among these. In my mind, this is essentially an early-adoption problem in which we're relying on a filesystem service that is not fully supported yet.

    2. Writing extended attributes to the com.apple.metadata space works now, but because the format and use of this data is controlled by Apple, that may change or conflict with future formats and/or uses.

    3. Spotlight is hard-wired to only index extended attributes prefixed with com.apple.metadata.

    Now ideally we'd like to address all of these - doing so would make things as safe as possible, though still not guaranteed since we're fiddling with features and data that Apple owns and has not documented for public use. The goal here is to make OpenMeta work for the end-user. To that end, we need to:

    a. Patch up the incomplete extended attirbute support in the filesystem. If EA's worked completely, they would be the ideal way to attach metadata to files, since the data is paired explicitly with the files themselves (as opposed to keeping it in separate parallel storage, as Spotlight comments and OpenMeta backups do). Unfortunately, the data can currently be wiped out by certain apps, or by transferring files to a non-EA-aware filesystem.

    b. Provide a safety net that protects user data as best we can from changes to the com.apple.metadata changes in the future, while allowing indexing in Spotlight as it functions today.

    As far as proposed solutions, we have:

    A. OpenMeta now creates backups to ~/Library. This takes care of issue #1 and is already a done deal (though we can still argue about the implementation - I haven't looked at the code in enough detail to do that yet).

    B. Michael has proposed that OpenMeta store tags in an org.openmeta labeled extended attribute, then 'mirror' those tags into the com.apple.metadata prefixed attribute. That makes complete sense to me and is the best we can do with issue #2. We should have OpenMeta write to a data store that it owns, and then push the tags to Spotlight as a separate 'mirroring' operation. com.apple.metadata should not be the primary storage space, since Apple owns that, not OpenMeta. Ideally, tag 'mirroring' should merge OpenMeta tags with whatever already exists in the com.apple.metadata store so that we don't stomp on any other data added by Apple or others. Yes, the logic is messy and not completely deterministic (because we don't know what others are doing, we have to 'play it safe' and may end up leaving extra tags there in certain exceptional cases - if that's the price of ensuring that we don't mess up the user's data, so be it).

    I personally think that BOTH of these are necessary. Just writing to org.openmeta and mirroring to com.apple.metadata does not take care of issue #1. Issue #2 cannot be solved perfectly, since we don't know what Apple will do in the future. What we do know is that com.apple.metadata is currently a property list - we can check for that and not touch the data there at all if we see an unexpected format - that will 'future proof' things to the extent that we won't be corrupting data if things change. And by storing OpenMeta tags in org.openmeta as the primary store, we're preserving user data so that a utility can be written in the future, if necessary, to deal with changes from Apple when they occur.
    •  
      CommentAuthorJono
    • CommentTimeFeb 20th 2009
     
    I'm not a programer so don't understand all the technicalities, but I've been following this topic for a while.

    (To me) there doesn't seems to be much difference in implementation or the work involved if the the primary storage is com.apple.metadata mirroring to org.openmeta, or the other way around.

    But it seems that quite a few developers are wary about adopting this as a standard with the way it works at the moment. If developers are holding back on adopting OpenMeta because of this then wouldn't it make sense (if only to instil confidence & get more developers to accept this as a standard) to make the primary storage org.openmeta, with mirroring to com.apple.metadata?
    •  
      CommentAuthorsherkaner
    • CommentTimeFeb 20th 2009
     
    Pretty compelling argument Jon makes there (even more so as the developer of a utility that I really want to see OpenMeta support in :)
    • CommentAuthorshg
    • CommentTimeFeb 20th 2009
     
    Yeah, probably the most important issue is that the fact that OpenMeta uses the unsupported place to store metadata can be solely a sufficient reason for some developers to hesitate to join OpenMeta. We should note that this is true independently from the possible bad outcomes (losing data, interferences with the system, etc.). It's not a good situation since OpenMeta has been proposed to be a standard...

    Actually this point was already pointed out in the first post by the starter of this discussion.
    •  
      CommentAuthorsherkaner
    • CommentTimeFeb 20th 2009
     
    Hopefully Jon and Tom will be having some discussion :)
    • CommentAuthorrlfsoso
    • CommentTimeFeb 21st 2009
     
    Hi,

    I'd like to point out that the developers of BibDesk (and Skim by the way) though having implemented basic openmeta support in BibDesk (display of openmeta tags) consider the use of apple's namespace not advisable. They have insured that openmeta-tags are read-only in Bibdesk (access via applescript - still need someone to write me such a script…).

    Rolf
    • CommentAuthorguest
    • CommentTimeFeb 23rd 2009
     
    <strong>Guest:</strong><br /><br />I've spend a significant portion of my day reading through this entire thread. I work for a company that really needs a metadata solution like openmeta. That said, as an IT person, I need to make sure that our data is future proof (as much as possible). That is why I support using org.openmeta as the primary storage location and mirroring data to com.apple.metadata (I don't care if the mirroring is forced or an option the user can turn off and on). Given the current implementation, I am reluctant to adopt the standard. Please make this change for the good of this very promising standard.

    - RainDelay
    • CommentAuthorjamwilki
    • CommentTimeFeb 24th 2009
     
    FWIW,
    I'm anxious to get my hands on open meta copies of Yep and Leap. I'm not a developer or a programmer, I'm an end user. Most of these discussions are WAY over my head. I firmly believe tagging over hierarchical structure is the way to go and I also believe the powers that be at Apple know a good idea when they see one.

    With that said, I encourage those at Ironic Software. And I'll support you with my wallet.

    James
  7.  
    I'm glad to see a weight of opinion turning to using org.openmeta as the primary store & mirroring tags to com.apple.metadata. I think that's a cleaner solution, and less risky in the long-run.

    My experience was that I went through and tagged a huge number of files in YEP. Subsequently all the tags went missing, leaving me perplexed & irritated :D
    I really don't want that to happen again because my tags were slid in under the spotlight radar. I've given up using YEP for tagging my files, because I don't trust its tagging mechanism (spotlight comments). I came on here to check progress towards YEP using OpenMeta, which I thought would be more robust. Now I'm cautious about any app using OpenMeta (or any other way of writing tags exclusively to com.apple.metadata)

    I'm not sure where that leaves me, but I'm currently building a file tagging and storage workflow utility, and am now less convinced of using OpenMeta.

    A further concern I have, is that the ~/Library backup solution is, in my eyes stupid (sorry ;-) The bulk of my files are on an external drive, which I share between 2 Macs. What will the behaviour of the Backup folder be? I dunno! I really hope that it's not just going to force create a /Volumes/ExtDisk/Library/OpenMeta Folder, akin to what YEP did, which I hated.

    My 2c...
    • CommentAuthorpaxton
    • CommentTimeFeb 24th 2009
     
    In addition to stuartleith I am wondering what happens to tagged files on encrypted volumes. Do they show up in the ~/Library backup as well?
    • CommentAuthorrickdude
    • CommentTimeFeb 28th 2009
     
    May I respectfully suggest that Ironic post an "official" response at about this point, summarising the issues raised in this thread and explaining their plan moving forward? Ideally, they could then close down this thread, while inviting people to continue this discussion on other threads. If we continue like this, I'm worried that this long and unsatisfactory thread will be the first thing that prospective OpenMeta users or developers see, coming here from Daring Fireball, and also the last, as they get a false impression of stubbornness and unresponsiveness.
    •  
      CommentAuthorJono
    • CommentTimeMar 1st 2009
     
    Yea, at the moment it seems like the situation is in limbo. The silence from the OM developers is a little unnerving. If this was my 'baby' I'd be on here all the time responding to posts, reassuring developers etc. It doesn't strike me with confidence that the matter of bringing developers on board & making this a standard can move forward.
    • CommentAuthorChristianW
    • CommentTimeMar 1st 2009 edited
     
    But Jono, maybe instead of replying here the guys are working hard to please everyone ;)

    Who knows! In irony, uh, ironic I trust ;) ^^
  8.  
    Well the app is open source for a reason. Ironic sw is sitting around like deity in a Golden Palace.

    The best solution for approaching customers with this is honesty. I would simply inform them that
    Open Meta uses a portion of OS X that may not remain stable over large upgrades but shouldn't be harmful
    to their computer.

    The developers have to find a consensus about how to implement Open Meta in a way that shields them from
    support costs should Apple do something to render tags unstable.

    I don't think i'm alone in my feeling that tagging is nigh useless unless its system wide. Tagging requires that I
    set up a schema or hierarchy that works for me and after that actually tag my files. I don't enough sweat equity if
    this burden simply locks me into an app. I need ALL my tag aware apps to follow a system.

    Apple's silence in this area is par for the course. They're not going to say anything until they're ready to ship a solution which
    may or may not come. My guess is "hardened" tagging that is system-wide won't come until 10.7 at the earliest. The only way
    to spur their efforts is to build a case for it.

    Spotlight, in its current incarnation, is marginally useful. I'm beholden to basica metadata in my files and I frequently get too much
    data making finding the right data harder.

    I kind of laugh when we get this futuristic and halcyonic speculation about how we'll use computing devices and OS in the future when I don't even
    think we've nailed finding a users files efficiently and Apple and Microsoft have great poker faces here because neither seem to be up challenge openly.

    They seam more intent on telling me i'm going to be flipping shiza around with my fingers. Yawn.
    • CommentAuthorrickdude
    • CommentTimeMar 5th 2009
     
    Am I right in thinking that perhaps this is supposed to be the answer to the issues raised in the current thread?
    •  
      CommentAuthorsherkaner
    • CommentTimeMar 5th 2009
     
    That seemed to be the official Ironic statement on it, but a lot of the input from other developers that we've seen has happened since then, so my hope is that Tom is talking to these guys to find a solution that gets OpenMeta adopted more widely.
    • CommentAuthorrickdude
    • CommentTimeMar 11th 2009 edited
     
    The most thorough answer seems to be here, posted by Jon of Default Folder fame. Poor Michael Tsai had to come back and ask again whether using org.openmeta wouldn't be better, and the answer is that "also storing tags in an org.openmeta:kOMUserTags xattr would result in extra data shuffling without a real benefit". If Jon's satisfied, I guess I am, too.

    I hope the developers of BibDesk, Skim, DevonThink, Bookpedia (probably lots of others, too) are alerted to the new thread.
    • CommentAuthorrlfsoso
    • CommentTimeMar 12th 2009
     
    Hi,

    send the bibdesk-list a link. Skim will not write openmeta tags because of its way of saving files (that is what I understood).

    Rolf
  9.  
    I’ve posted additional thoughts in these threads: 1, 2, 3. Christiaan Hofman of Bibdesk/Skim agrees with me that Jon Gotow is mistaken. I respect Jon, but keep in mind that his main product is a haxie, so he’s probably more accustomed to relying on unsupported OS behavior.
    • CommentAuthorguest
    • CommentTimeApr 9th 2009
     
    <strong>Guest:</strong><br /><br />I am not Jon Gotow but, Michael, I now really hate your way of handling this issue. Do you enjoy downgrading the others? You may not agree but what you're doing is the same as a personal attack. I really, really hate discussion over OpenMeta is getting a personal attack.
    •  
      CommentAuthorBLUEFROG
    • CommentTimeApr 9th 2009
     
    This thread is now closed. Official discussions have been taken to a more appropriate venue. - Jim