Why doesn't this error message...

"Only ancestor queries are allowed inside a transaction."

...look something like this...

"Only ancestor queries are allowed inside a transaction. Entity X is
not an ancestor of Entity Y"

...or maybe...

"Entities X and Y are not in an ancestor relationship."

...where X and Y are keys I can look up in the datastore?

I can think of only three reasons:

1. Laziness
2. Internally GAE percolates only (int) error codes and not error
details
3. The number of possible reasons for the error is so high and/or the
logic so complex that the specific reason can't be determined at all,
or can't be determined without significant performance degradation.

It's obviously not 3, but any of the three is a reason for me to
consider giving up on GAE. It's not that I can't figure it out -- oh,
I will -- it's just a matter of how much time it's worth spending due
to Google's laziness or poor design.

Am I asking too much? Am I a moron for expecting details in error
messages? Am I overlooking something obvious and making a complete
fool of myself? If so, I'd be more than happy in my moronitude to be
set straight.

One thing I'm fairly sure of is that GAE's uptake would be much higher
if Google invested in documentation. It's not that the GAE
documentation is incorrect or incomplete or unclear -- from what I've
seen anyway -- it's just extremely minimal. Surely they could reduce
the learning curve by an order of magnitude with some diagrams and
animations and better examples. GAE requires a whole different
mindset, does it not? Couple the minimal documentation with the
useless error messages and you get whiners like me. Yes, I've seen the
sample apps and the (unorganized) cookbook and the youtube videos.
Those are definitely helpful, but that's not what I'm talking about.

The bottom line is that developers are smart enough to figure things
out, but the competition for their attention is fierce, and when you
waste their time, you lose. Mark my words: as the speed of
technological innovation increases, platform/API uptake will be
strongly correlated with the quality of the documentation it ships
with. There literally won't be enough time to learn a poorly
documented API before it's time to move on to the next.

Bonus classic Win32 error message: The data is invalid.




-- 
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