Really bursts of RAM usage of up to 10 megs for the term of an image
operation are not likely to increase RAM costs for the image API that
much.  The case of uploading and image is some what infrequent and
they could impose quotas that would, force frequent users of large
memory consumption to pay. Not to mention, the method you described
uses the same amount of RAM to resize the image as my process would
use. The JPEG still needs to be loaded into memory, decoded into
another block of memory, resized into another bock of memory and then
encoded into yet another block of memory with both processes.

I am not saying that I don't want to pay, I am saying that the system
should function on common data.  I will happily pay when my AMOUNT of
USAGE exceeds quotas, just like every other charge in Google App
Engine.

My specific point about turning on charging is not about paying any
way, as I would not be using enough blob store to get charged, but
having to go through extra steps to access something that should be
considered basic functionality.

The image API right now works like a building where all of the doors
are too small for the average person to pass through.

On Jun 16, 2:40 pm, Jaroslav Záruba <[email protected]> wrote:
> On Wed, Jun 16, 2010 at 9:32 PM, Kelly A <[email protected]> wrote:
> > So if I save an image into the blob store then load it from the blob
> > store I can work on it as long as the result is smaller than 1
> > megabyte.
>
> > this would be extremely inefficient in my case:
>
> > 350k Jpeg stored as the primary image
> > 10k Thumbnail created from that image
>
> > I do not need to use blob store for these cases.
>
> > current process:
>
> > Get bits >> resize bits >> Save Bits
>
> > Proposed process:
>
> > Get bits >> save to Blob store >> Read from blob store >> resize bits
> > >> save bits
>
> > Since I am not storing anything larger than 1 megabyte I don't need to
> > keep the blog store around so add in a delete to delete this temporary
> > blob store item.
>
> The idea was to make images you can't load (due to their size) smaller so
> you can load them, In a way that would not bother your users.
>
> > Plus I would need to turn on billing to even get this to work.
>
> > so even though there is a work around here, I say it is still
> > desirable for the Google App team to take a look at this and see that
> > the current limitations on the Image API are not reasonable.
>
> Sure it is perfectly reasonable. Disk-space is cheap, RAM is not, working
> with images takes RAM. You want Google to buy more RAM for you but refuse to
> pay for it.
>
> On Jun 15, 3:17 pm, Jaroslav Záruba <[email protected]> wrote:
>
>
>
> > > On Tue, Jun 15, 2010 at 7:33 PM, Kelly A <[email protected]>
> > wrote:
> > > > Jaroslav,
>
> > > > Yes you can save but if you call images.resize(imagebits, 100, 100) on
> > > > an image that is greater than 1 megabyte it will throw
> > > > "RequestTooLargeError: The request to API call images.Transform() was
> > > > too large.".
>
> > >http://code.google.com/appengine/docs/java/images/overview.html#Trans...
>
> > > import com.google.appengine.api.images.Image;
> > > import com.google.appengine.api.images.ImagesService;
> > > import com.google.appengine.api.images.ImagesServiceFactory;
> > > import com.google.appengine.api.images.Transform;
>
> > > // ...
> > >         BlobKey blobKey;  // ...
>
> > >         ImagesService imagesService =
> > ImagesServiceFactory.getImagesService();
>
> > >         Image oldImage = ImagesServiceFactory.makeImageFromBlob(blobKey);
> > >         Transform resize = ImagesServiceFactory.makeResize(200, 300);
>
> > >         Image newImage = imagesService.applyTransform(resize, oldImage);
>
> > >         byte[] newImageData = newImage.getImageData();
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<google-appengine%2Bunsubscrib 
> > [email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to