The Image Service API needs help badly!

82 views
Skip to first unread message

Brandon Donnelson

unread,
Mar 20, 2011, 6:56:26 PM3/20/11
to google-a...@googlegroups.com
The image service api does not work as expected when using the methods in the api. 

Suggestions for improvement to the image service:
1. reading bytes and transforming them does not work as expected.
2. can't push bytes back into an image and transform them. One can only transform using the blobkey. Unless I'm missing something.
3. The api is thin, and needs more of the common image transformation methods that are available in GD2 or Java.awt.image classes.
4. It does not make sense to try to read purely in java when hardware systems are optimized to do the job natively (from my perspective). 
5. image api limits are small, its meant for light duty thumb nailing. Any transformations over 4k, won't work. That eliminates most new camera photography sizes, at least using high res pics online or at least working with them to mold them into needed.
6. There is no watermarking composite option, to help protect images against theft. I know this is impossible, but worth doing for honest folks.
7. Burning CPU time is really easy with the amount of steps to overcome byte reading work arounds to tranform or tile an image.
8. The api itself is confusing, and thats partly due to the expected result not happening I think, mostly due to passing around the raw image bytes to transform.
9. There is no way to push the image to the blob store natively.
10. Images are a core feature to a web page, and building a beafer image service api, would mean resource conservation with shared libraries and less code, and cpu use.
11. Overall, its very very limited for light duty. I have found work arounds that burn up more cpu and resources and create a enormous amount of steps to do the job, which allows for more work, especially for a one mand band developer.
12. Since images are a core function, I would believe it would be a win win for all if you advance this api. Especially for adoption. 
13. There needs to be more documentation on hitting deadlines, that is move the transformation activity to a task. And this is happening b/c I have to read the bytes to get the image sizes(params), in able to see what I need to do to transform it. 

So far, I rank this image service api, very limited for light duty. It can be used for bigger stuff, but with pain!

http://code.google.com/appengine/forum/java-forum.html - Documenting the things I've been running across.


Please upgrade the image service api!!!

Brandon Donnelson

Brandon Donnelson

unread,
Mar 20, 2011, 7:00:53 PM3/20/11
to google-a...@googlegroups.com
One more thing, if you compare the amount of steps you would have to do on a linux server, this really makes the image service api, look bad.

Brandon Donnelson

unread,
Mar 20, 2011, 7:02:27 PM3/20/11
to google-a...@googlegroups.com

Brandon Wirtz

unread,
Mar 20, 2011, 7:12:31 PM3/20/11
to google-a...@googlegroups.com

Your “issue” is mostly a rant.  You will get better results posting “I can’t figure out how to do X, I have Tried Y, but it return Z. Please help”

 

The Image API is meant to be light weight, and be used primarily for Thumbing-scaling images, which it does really well.  It also does a great job with “I’m Feeling lucky” making images look usable no-matter the source.  Basically the things a Search Engine Would do, or a Content Management system, not really an image manipulation system.  It can do some of those things, but you may have do several recursive CPU intensive tasks, which may not make GAE Cost Effective for those kinds of tasks.

 

All of that said:

 

You can watermark using

http://groups.google.com/group/google-appengine-java/browse_thread/thread/0a813aba0e383ff9/59c59f82fadde2d7?lnk=raot

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

Darien Caldwell

unread,
Mar 21, 2011, 11:32:39 AM3/21/11
to Google App Engine
On Mar 20, 4:12 pm, "Brandon Wirtz" <drak...@digerat.com> wrote:
> Your "issue" is mostly a rant.  You will get better results posting "I can't
> figure out how to do X, I have Tried Y, but it return Z. Please help"

I guess one man's rant is another man's constructive feedback. All I
see is someone listing the things they wish the service would do.
That's hardly a rant.

IF you want to see a rant, just get me started on how people seem to
think they need to control how others express themselves on message
boards, that they don't even own or operate. :)

Ikai Lan (Google)

unread,
Mar 23, 2011, 8:13:14 PM3/23/11
to Google App Engine
Hi Brandon,

Thanks for the feedback. We're not currently exploring many improvements to the Images API. In the past, users have been pushing these sorts of jobs to a VPS with a tool like ImageMagick. 

We'll be looking at ways to make it easier to integrate App Engine dynamic instances/task queues with outside services (likely via REST).

Ikai Lan 
Developer Programs Engineer, Google App Engine


andreas schmid

unread,
Mar 24, 2011, 4:26:29 AM3/24/11
to google-a...@googlegroups.com
ill use this topic to put some attention to this issue:

Brandon Donnelson

unread,
Mar 28, 2011, 9:42:28 AM3/28/11
to google-a...@googlegroups.com, Ikai Lan (Google)
Thanks for going over my notes here on my Image transformation challenges I've been having. I am delighted that you take so much time to be in the public's eye.

I'm moved my strategy to transform my images on the client side and HTML5 which may benefit my cpu crunch time. This is another topic.

* Although, after uploading the image to blobstore in base64 encoding blobinfo is recording the wrong file size. I haven't figured out why blobinfo is doing this yet, but my feeling is the size is getting recorded wrong due to the base64 length calculation. I have tested on the production side and the same thing happens. 

http://code.google.com/appengine/forum/java-forum.html - base64 blob upload size error notes.


One more note, even with the challenges I have been having, App Engine beats any other hosting server platform in my opinion (and experience)!
Reply all
Reply to author
Forward
0 new messages