On 12/17/2010 5:03 PM, Gregg Tavares (wrk) wrote:


On Fri, Dec 17, 2010 at 4:16 PM, Charles Pritchard <[email protected] <mailto:[email protected]>> wrote:

    We're actively developing such functionality.

    The limit per directory is for the sake of the os file system. If
    you want to create a data store, use indexedDB or use standard
    file system practices (create a subdirectory tree).


I think you're missing the point. If I have a folder with 6000 files on some server and I want to mirror that through the FileAPI to the user's local machine I'm screwed. I can't **mirror** it if it's not a mirror.
I'm not missing the point. I'm actively developing an app that downloads images from photo sites.

A strict Mirror (lets use a capital M) is something you're not going to pull off with the File System API at this time. You can't set meta data, like permissions/flags and modification/creation dates. Developing a Mirror is not feasible with the current API. You can't create a direct Mirror, one which would work seamlessly with "rsync".

You can "mirror", the data on a remote server, and check that the data already exists on your file system, by using a subdirectory system, much like the two level directory structure that many cache apps use (like Squid).

    Disk space availability (quota) is an issue no matter what
    happens. When downloading 1000 images, you'll still only be doing
    so x at a time.


I don't see the point you're trying to make here. I don't know the size of the images before hand. Many internet APIs make getting the sizes prohibitively expensive. One REST call per file. So before I can download a single file I'd have to issue 1000 REST XHRs to find the sizes of the files (waiting the several minutes for that to complete) before I can ask the user for the space needed. That's not a good user experience. If on the other hand the user can give me permission for unlimited space then I can just start downloading the files without having to find out their ultimate size.

I suppose I can just request 1 terabyte up front. Or query how much space is free and ask for all of it.
Yes, that's correct, you'd hope the space is available.
When you run out of space, you can use a limited amount of RAM while waiting.

There are few resource management APIs available for memory/bandwidth hungry applications.

My point was that these questions you're bringing up are common to all cross-platform applications.

Regarding your issue of "a ray tracing program" : You'd also want to either: create sub directories,
or simply create a large file with its own methods.


    This issues are inherent in the design of any application of
    scale. At this point, the file system API does work for the use
    case you're describing.

    It'd be nice to see Blob storage better integrated with Web
    Storage Apis. Ian has already spoken to this, but no followers yet
    (afaik).

    -Charles



    On Dec 17, 2010, at 3:34 PM, "Gregg Tavares (wrk)"
    <[email protected] <mailto:[email protected]>> wrote:

    > Sorry if this has been covered before.
    >
    > I've been wanting to write an app to download images from photo
    sites and I'm wondering if this use case has been considered for
    the FileAPI wrt Directories and System.
    >
    > If I understand the current spec it seems like their are some
    possible issues.
    >
    > #1) The spec says there is a 5000 file limit or directory.
    >
    > #2) The spec requires an app to specify how much storage it needs
    >
    > I understand the desire for the limits.  What about an app being
    able to request unlimited storage and unlimited files? The UA can
    decide how to present something to the user to grant permission if
    they want.
    >
    > Arguments against leaving it as is:
    >
    > The 5000 file limit seems arbitrary. Any app that hits that
    limit will probably require serious re-engineering to work around
    it. It will not only have to some how describe a mapping between
    files on a server that may not have that limit, it also has the
    issue the user might have something organized that way and will
    require the user to re-organize. I realize that 5000 is a large
    number. I'm sure the author of csh though 1700 entires in a glob
    was a reasonable limit as well. We all know how well that turned
    out :-(   It's easy to imagine a video editing app that edits and
    composites still images. If there are a few layers and 1 image per
    layer it could easily add up to more than 5000 files in a single
    folder.
    >
    > The size limit also has issues. For many apps the size limit
    will be no problem but for others....  Example: You make ray
    tracing program, it traces each frame and saves the files to disc.
    When it runs out of room, what is its options? (1) fail. (2)
    request a file system of a larger size. The problem is (2) will
    require user input. Imagine you start your render before you leave
    work expecting it to finish by the time you get in only to find
    that 2 hours after you left the UA popped up a confirmation "this
    app requests more space"
    >
    > The same would be true for an image downloading app. You start
    the app to download a 1000 images, not knowing their sizes before
    hand. You start it and leave. Half way through the UA puts up a
    conformation asking for more space.
    >
    > Have these use cases already come up and been rejected?
    >
    >
    >



Reply via email to