In your opinion what are the most complex web applications built on top of google app engine ?

527 views
Skip to first unread message

Gopal Patel

unread,
Mar 25, 2012, 11:04:39 AM3/25/12
to google-a...@googlegroups.com
We all know that google app engine scales and the prince's wedding website was a prime example of that. 

I would also like to know if someone out there is making highly complex system on top of google app engine ? ( By Complex, I mean, lots of cross entity transaction, more than hundred different tables, complex relationship with tables) and they are successful in doing so. 

I know that admin console is also built on top of google app engine platform. ( which is not much complex IMHO ). 

what are the other applications ?

Jeff Schnitzer

unread,
Mar 26, 2012, 12:47:52 AM3/26/12
to google-a...@googlegroups.com
On Sun, Mar 25, 2012 at 11:04 AM, Gopal Patel <patel...@gmail.com> wrote:
>
> I would also like to know if someone out there is making highly complex
> system on top of google app engine ? ( By Complex, I mean, lots of cross
> entity transaction, more than hundred different tables, complex relationship
> with tables) and they are successful in doing so.

You sound like someone who wants to force a highly normalized SQL
schema into the GAE datastore. It's not going to work. You model
things differently with the datastore; table count is a poor metric.

For example, I have a schema with 13 different 'kinds', most of which
are polymorphic and have varying levels of embedded hierarchical
structure. In a relational world, this might expand to 30-40 tables
depending on how you managed the polymorphism. You'd tend to do a lot
of joins to get answers. With a data model designed for GAE's
strengths, I usually get all relevant data in 1 or 2 rounds of
fetch-by-key.

A better metric is: How many tables do you have to join across in a
single query? That's the kind of complexity that will cause you pain
on appengine.

Jeff

Gopal Patel

unread,
Mar 26, 2012, 3:01:49 PM3/26/12
to google-a...@googlegroups.com
yup right. I was thinking that, if application can be tell complex if it has lots of point of failure. ( or that's what one should avoid when dealing with scalable app. ).  a MMRPOG can be said a complex if its on google app engine. right ? has anyone built one successfully ?


Jeff

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


Brandon Wirtz

unread,
Mar 26, 2012, 4:07:10 PM3/26/12
to google-a...@googlegroups.com

Assuming we don’t fall flat on our face…

Likely we will be one of the most complex web applications on GAE.

Stremor.com

 

Sorry I can’t give you lots of details. But we are building a large content platform, and if you look at some of my questions you can also probably figure out that we are doing Natural Language processing on the content.

Kaan Soral

unread,
Mar 26, 2012, 4:17:35 PM3/26/12
to google-a...@googlegroups.com
I've been reading about your project, on your posts

I am assuming it's not called Stremor :)
With .co .net and possible typo-names still unbought and with a Plesk domain, looks very unprofessional to me :)

You should buy those - and possible typos, if Stremor is the actual name, but I bet its not, it doesn't sound cute

Waleed Abdulla

unread,
Mar 26, 2012, 7:05:45 PM3/26/12
to google-a...@googlegroups.com
I built an RPG Facebook game on app engine a couple of years ago. The text-based kind, like Mafia Wars, in which you do jobs, earn gold, buy weapons, level up, and fight other players. The technology behind it was fairly complex. The game didn't take off, though, and I stopped working on it.

My current app, NetworkedBlogs, is a big app as well: 1TB of data, 60~ front-end instances + 28 backend instances, 37 entity types (many of which contain a lot of data in JSON format, as Jeff said, they would expand to several tables each on a relational database). 

Waleed



--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/TTT9YkSMRSMJ.

Kaan Soral

unread,
Mar 26, 2012, 7:16:36 PM3/26/12
to google-a...@googlegroups.com
Wow, I'm very impressed

Brandon Wirtz

unread,
Mar 26, 2012, 9:12:18 PM3/26/12
to google-a...@googlegroups.com

> Wow, I'm very impressed

 

Waleed is the sleeping giant on this list.  Every so often he steps out of the shadow says something like “I made this change and it cut my instances by about 450” or “My bandwidth usage seems to be about 16 gigabytes high today”, and does such so casually that it reminds all us small folk that we are men amongst the giants.

 

 

Jeff Schnitzer

unread,
Mar 26, 2012, 9:22:05 PM3/26/12
to google-a...@googlegroups.com

+1

Waleed, we'd love to hear some war stories if you feel like writing
about your lessons learned :-)

Jeff

johnP

unread,
Mar 27, 2012, 1:53:05 AM3/27/12
to Google App Engine
Brandon - finally a post of yours that I can agree with :)

Waleed Abdulla

unread,
Mar 27, 2012, 4:44:03 AM3/27/12
to google-a...@googlegroups.com
> Waleed is the sleeping giant on this list.  Every so often he steps out of
> the shadow says something like “I made this change and it cut my instances
> by about 450” or ...

Haha. Having a huge monthly bill is not something to celebrate :)


 
Waleed, we'd love to hear some war stories if you feel like writing
about your lessons learned :-)
 
- About two years ago, the App Engine team organized a meetup for a few early adapters to meet with the App Engine team. In one conversation with one of the App Engine developers, he casually said: So you're using App Engine in production?! You're very brave. I don't think I would do that. 

 In hindsight, he might've been right. The App Engine was so unstable then. I think the early-adapters had more confidence in it than it's own developers. 

- One thing I learned the hard way was how to write code with errors in mind. I'm sure everyone who's been on GAE for a while has learned that as well. GAE is a distributed system and failures happen a lot. It's not a fault in GAE, but rather the nature of distributed systems. On GAE, though, you're running on a distributed system right from the start, not only after your app grows. So the only responsible approach is to assume that any code you write will sometimes crash midway. Writing idempotent code comes naturally to me now. Learning how to order which entities to save first and which to save last is another useful skill to reduce data inconsistencies when the datastore times out and the rest of your function doesn't execute. 

- Recently, I've been storing structured data in single entities more often. It's not for every case, but there are so many situations in which the best way to store your data is to simply convert everything to a json string and store it in a text property. And not only to cut cost, but it actually makes a lot of sense to be able to load one entity and immediately have a rich data structure with everything you need for that operation. I believe the new NDB supports structured properties out of the box now.

- It still surprises me sometimes how much can be done with so little code. Back in 2009, Bill Katz was one of the early developers excited about GAE. He's one of the sharpest people I've met. Among many things, he built a full-text search library that was simple and elegant. It supported full-text search with stemming and multi-word searches, and it was all done in about 500 lines of code (and a stemming library). I've been using it since and I'm very happy with it. It's the reason I'm not too desperate for the App Engine team to launch their long-over-due search feature.

    I'd love to hear your stories as well if anyone is interested in sharing. 

Waleed

Message has been deleted

doright

unread,
Mar 28, 2012, 2:38:39 AM3/28/12
to google-a...@googlegroups.com
well, I'm not in these guy's league but I have built a Saas on GAEJ, it's been in production since late 2010, with paying customers.

I plan to write up my experience at some stage, as I know its not your typical GAE app.  Its more of an enterprise software solution than a true web-startup, but so far I've found GAE keeps on delivering and I have used pretty much most of what they have to offer in terms of infrastructure. Most of what I'm not using yet I certainly plan to use in the future.

Its been a mainly very positive experience.
(you can see links in there to a library of videos demonstrating the sort of functionality)


(re-posted this at the correct level, with link)

Richard Watson

unread,
Mar 28, 2012, 3:01:00 AM3/28/12
to google-a...@googlegroups.com
I think your app is perfect for GAE, actually. Build something you charge for, have it cost less than that, never (or rarely) worry about scaling. The thing is called Google "App" Engine, not Free-Google-Platform-For-Your-LOLcat-Website.  Would love to read more about what you've done.

Gregory D'alesandre

unread,
Mar 28, 2012, 8:16:39 AM3/28/12
to google-a...@googlegroups.com
I'd like to second that, there are a lot of folks in the Group from the startup and hobbyist communities which is why you hear from those segments a lot but there is a large group of folks out there building applications (and businesses) along these lines that talk to the App Engine team in person but don't participate as much on the list.  

I too would love to hear more about it!

Greg D'Alesandre
Senior Product Manager, Google App Engine

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/HE8c9rSpSBMJ.

alex

unread,
Mar 28, 2012, 8:48:41 AM3/28/12
to google-a...@googlegroups.com
How do you "talk to App Engine team in person"? sign me up :)

To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to google-appengine+unsubscribe@googlegroups.com.

Maxim Lacrima

unread,
Mar 28, 2012, 9:20:58 AM3/28/12
to google-a...@googlegroups.com
Waleed, thanks for sharing your experience. It is very useful.

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



--
with regards,
Maxim

Mark Rathwell

unread,
Mar 28, 2012, 10:25:50 AM3/28/12
to google-a...@googlegroups.com
> How do you "talk to App Engine team in person"? sign me up :)

https://developers.google.com/appengine/docs/premier/

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

> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit

> https://groups.google.com/d/msg/google-appengine/-/y9y_XXJ5XGwJ.
>
> To post to this group, send email to google-a...@googlegroups.com.


> To unsubscribe from this group, send email to

> google-appengi...@googlegroups.com.

Jeff Schnitzer

unread,
Mar 28, 2012, 10:42:12 AM3/28/12
to google-a...@googlegroups.com
On Wed, Mar 28, 2012 at 2:38 AM, doright <doug.s...@gmail.com> wrote:
>
> www.bikeshopmanager.com

Cool! A buddy of mine used to be a principal in a bike shop in
Berkeley. We spent a lot of time talking about how bad the point of
sale/inventory/rental/etc software was for bike shops and how much
they really needed some sort of bike-specific solution. It's a
similar story with lots of POS applications. I briefly considered
making a startup out of it.

Why not open this up to US customers? There are a *lot* of bike
rental shops, especially MTB rentals in outdoorsy places like Utah and
Colorado. Touristy beach towns often have bike rental shops too. I
don't know the numbers but I imagine it would at least double your
market, maybe quite a bit more.

BTW you can use CloudFlare to get SSL on your primary domain. We use
this at https://www.voo.st/ and have no complaints with the results.
I've been meaning to write up a HOWTO blog entry but it's not terribly
complicated. I always cringe when I see appspot urls in production; I
fear prospective customers do the same.

Jeff

Gregory D'alesandre

unread,
Mar 28, 2012, 10:54:02 AM3/28/12
to google-a...@googlegroups.com
I would say chat with us at I/O but I assume that would just get me boo-ed and tomatoes thrown for all the people who wanted to get in that weren't able to :(

We do office hours frequently and there is always someone from the team there (which is sometimes me).  

I'm always happy to chat with people about their apps although I have a few time constraints so it might not happen immediately.  This, of course, becomes an issue when the thing someone wants to talk to me about is my-app-is-down-right-now-and-I-want-a-response-in-30-seconds.  There are 100s of 1000s of App Engine developers so if everyone always emailed me they probably wouldn't all get responses, but interestingly few of them do.  At any rate, you have my email address :)

Greg

PS - Should I start the "vent here about how you didn't get into I/O" thread?  Is that what I just did?

To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/y9y_XXJ5XGwJ.

To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.

Brandon Wirtz

unread,
Mar 28, 2012, 11:12:29 AM3/28/12
to google-a...@googlegroups.com
> > How do you "talk to App Engine team in person"? sign me up :)

Option A: (If you are fast)
Google IO.

Option B: (If you have a budget for Alcohol)
Go to Mountain View and Invite everyone from the AppEngine List for Beer.

Option C: (If you are in the Pacific Rim)
Travel to Australia and Kidnap one of the employees working from there.

alex

unread,
Mar 28, 2012, 11:15:31 AM3/28/12
to google-a...@googlegroups.com
c'mon I was kidding :)

Of course it wasn't about my-app-is-down- thing. Plus, Italy => SF is a long way to go anyway, even for I/O. I might stop by the next handout though.

alex

unread,
Mar 28, 2012, 11:18:23 AM3/28/12
to google-a...@googlegroups.com
On Wednesday, March 28, 2012 5:12:29 PM UTC+2, Brandon Wirtz wrote:
> > How do you "talk to App Engine team in person"? sign me up :)

Option A: (If you are fast)
Google IO.

Too late :)
 

Option B: (If you have a budget for Alcohol)
Go to Mountain View and Invite everyone from the AppEngine List for Beer.

Sounds like fun, I could be passing by San Jose in few months
 

Option C: (If you are in the Pacific Rim)
Travel to Australia and Kidnap one of the employees working from there.

I think you've tried that already but it didn't work out or did it?
 

doright

unread,
Mar 28, 2012, 12:20:09 PM3/28/12
to google-a...@googlegroups.com
yeah thanks Jeff, nice to hear from a fellow cyclist on this forum too! I'm sure there's probably a lot more of us lurking silently in google-land..

hey, https://www.voo.st/, nice website, and great to see Facebook integration in action, that's pretty high on my list, along with a nice shiny-backing tracked video like yours ;)

yes, so far it's proving a good market, I've been running a bike shop in France for 6 years and 10 years programming before that, so a good mix of my skills.  I am most definitely open for business in North America, and worldwide in fact.  I was out in Florida a few months ago talking to some bike shops and funnily enough corresponding with shops in Utah before that!  If anyone wants to be my North America agent?!  (guess I shouldn't say stuff like that on this forum)

Thanks for the link about CloudFare, sounds good, I will investigate, definitely not a big fan of appspot URL.

many thanks,
Doug

stevep

unread,
Mar 28, 2012, 1:06:55 PM3/28/12
to Google App Engine
I am a business-use developer and somewhat of a forum lurker (unless
it is a task queue subject).

Absolutely endorse what Greg is saying. GAE is a terrific platform for
business tool development. (Note that I do not do much transactional
tools work such as inventory control. Dealing with GAE's eventual
consistency may be much harder for such work.)

It is amazingly freeing to have no worries about anything other than
features your customers need. And once one gets a sense for it, GAE is
a very productive development environment (more optimization case
studies desperately needed here.)

Having developed a good tool for business, I would think it very
unusual that GAE's cost structure would constrain one's profit
margins.

-stevep

On Mar 28, 5:16 am, "Gregory D'alesandre" <gr...@google.com> wrote:
> I'd like to second that, there are a lot of folks in the Group from the
> startup and hobbyist communities which is why you hear from those segments
> a lot but there is a large group of folks out there building applications
> (and businesses) along these lines that talk to the App Engine team in
> person but don't participate as much on the list.
>
> I too would love to hear more about it!
>
> Greg D'Alesandre
> Senior Product Manager, Google App Engine
>

Jeff Schnitzer

unread,
Mar 28, 2012, 1:07:26 PM3/28/12
to google-a...@googlegroups.com
On Wed, Mar 28, 2012 at 12:20 PM, doright <doug.s...@gmail.com> wrote:
> hey, https://www.voo.st/, nice website, and great to see Facebook
> integration in action, that's pretty high on my list, along with a nice
> shiny-backing tracked video like yours ;)

We used the Mac version of this:

http://www.techsmith.com/camtasia.html

Worth every penny. After watching the introduction videos
back-to-back, it took us about a day to write this video... and most
of that was fumbling around figuring it out.

> yes, so far it's proving a good market, I've been running a bike shop in
> France for 6 years and 10 years programming before that, so a good mix of my
> skills.  I am most definitely open for business in North America, and
> worldwide in fact.  I was out in Florida a few months ago talking to some
> bike shops and funnily enough corresponding with shops in Utah before that!
>  If anyone wants to be my North America agent?!  (guess I shouldn't say
> stuff like that on this forum)

Awesome that you've found a good niche! There are sooo many markets
out there with poor software (or no software at all). It disappoints
me that every startup in the Bay Area is trying to build yet another
chat application or way to share pictures...

Jeff

Kaan Soral

unread,
Mar 28, 2012, 1:50:48 PM3/28/12
to google-a...@googlegroups.com
I'm very curious about this, I've visited CloudFlare website but never figured out what I would use it for?

What do you use it for? - As far as I know I can use SSL on appspot and my google apps domain, Have I been wrong all this time?

Checking it again - I can't reach my google apps domain from https, probably I was confused before because I remember visiting my website from https, anyway I remember reading problems reaching a website via CloudFlare, GAE disabling access to them etc, would you suggest using CloudFlare for a large website?

I know this is a bit off-topic but thanks in advance for any answers

On Wednesday, March 28, 2012 5:42:12 PM UTC+3, Jeff Schnitzer wrote:

Doug Stoddart

unread,
Mar 28, 2012, 3:02:34 PM3/28/12
to google-a...@googlegroups.com
On Wed, Mar 28, 2012 at 7:07 PM, Jeff Schnitzer <je...@infohazard.org> wrote:
On Wed, Mar 28, 2012 at 12:20 PM, doright <doug.s...@gmail.com> wrote:
> hey, https://www.voo.st/, nice website, and great to see Facebook
> integration in action, that's pretty high on my list, along with a nice
> shiny-backing tracked video like yours ;)

We used the Mac version of this:

http://www.techsmith.com/camtasia.html

Worth every penny.  After watching the introduction videos
back-to-back, it took us about a day to write this video... and most
of that was fumbling around figuring it out.

ok cool, I will definitely investigate, thanks.  Wish I'd found this before ;)

> yes, so far it's proving a good market, I've been running a bike shop in
> France for 6 years and 10 years programming before that, so a good mix of my
> skills.  I am most definitely open for business in North America, and
> worldwide in fact.  I was out in Florida a few months ago talking to some
> bike shops and funnily enough corresponding with shops in Utah before that!
>  If anyone wants to be my North America agent?!  (guess I shouldn't say
> stuff like that on this forum)

Awesome that you've found a good niche!  There are sooo many markets
out there with poor software (or no software at all).  It disappoints
me that every startup in the Bay Area is trying to build yet another
chat application or way to share pictures...

I couldn't agree more! 
 
Jeff


--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.

Renzo Nuccitelli

unread,
Mar 28, 2012, 4:20:41 PM3/28/12
to google-a...@googlegroups.com
 My apps are not so complex, but I have a site to Photo Laboratories receive orders through internet running since september 2010 (www.revelacaovirtual.com.br). It has transmited more than 300 thousing pics and there are paying clients too.


Domingo, 25 de Março de 2012 12h04min39s UTC-3, gops escreveu:
We all know that google app engine scales and the prince's wedding website was a prime example of that. 

I would also like to know if someone out there is making highly complex system on top of google app engine ? ( By Complex, I mean, lots of cross entity transaction, more than hundred different tables, complex relationship with tables) and they are successful in doing so. 

I know that admin console is also built on top of google app engine platform. ( which is not much complex IMHO ). 

what are the other applications ?

Jeff Schnitzer

unread,
Mar 28, 2012, 5:41:53 PM3/28/12
to google-a...@googlegroups.com
On Wed, Mar 28, 2012 at 1:50 PM, Kaan Soral <kaan...@gmail.com> wrote:
>
> Checking it again - I can't reach my google apps domain from https, probably
> I was confused before because I remember visiting my website from https,
> anyway I remember reading problems reaching a website via CloudFlare, GAE
> disabling access to them etc, would you suggest using CloudFlare for a large
> website?

Yeah, SSL on your own domain is not available unless you're in the SSL
trusted tester program... which, as far as I can tell, is pretty much
impossible to get into at this point.

We're not operating "at scale" yet, but it seems to work fine and CF
services a lot of traffic. For $20/mo we get SSL. The edge caching,
DOS protection, etc is all gravy - I could turn it off and still be
happy. And turning it off seems to be pretty easy.

Jeff

alex

unread,
Mar 28, 2012, 6:43:56 PM3/28/12
to google-a...@googlegroups.com
1. One of the apps I built is a local restaurant online orders: http://www.orostube.it (they cook pretty much amazingly tasty pizza over there.)

A customer drags whatever they want to eat to the bag, checks out with cash (paying on site) or a credit card. The owner gets notified (Channels API) and confirms the order. Customer receives a feedback by email + instantly on the page (again via Channels API) with the time of pickup. The whole "add to the bag", "checkout", "confirm" and "pick up" thing goes during their lunch and dinner open hours. Actually, "add to the bag" and "checkout" can be done any time.

Plus, the owner has an admin interface where he can add new dishes, pizza, "featured this week", daily and monthly orders stats (using Cron service to launch a couple nightly jobs), etc. 

The site never went down (running 8 months now), even during the worst times GAE infrastructure had. Ever. I've never had such a relief from having to manage my own servers, load balancers, think about a cron service, etc., before I started using GAE in production.

The main challenges were actually not in coding server side but on the client javascript (HTML5, make it cross-browsers compatible, drag & drop events for touch devices). Though, I did have to be careful with credit cards processing and API calls from their local bank, Channel API caveats (http://code.google.com/p/googleappengine/issues/detail?id=4940) and Timezone handling (as stupid as it might sound).


2. An app for a local event, http://2012.ictdays.it/en
The most challenging stuff here is probably handling users registration: there are about 90 companies participating to the event. They offer either job or an internship (or both). Then, there are students (from local universities), who can make a mini-appointment, 10 min interview, with a company(ies) they're interested in. 

So, every company has free timeslots. Whenever a user makes an appointment it becomes busy. There are many users and many slots so, the code updates entities within xg transactions so that two users wouldn't take the same free timeslots.

The other thing is, all those data (e.g. appointments) are being synchronized with a Google Spreadsheet. Why? Organizers love lists and spreadsheets. They can mix and match data w/o asking/waiting me to implement a new feature within the app: they just do something like in the attachment - create a table where pink squares represent busy slots (already "taken"). After having this, they just relax in a chair watching new pink squares appear on that worksheet and focusing on marketing and how to make the event even more popular.

Anyway, the problem here was make Google Spreadsheet sync work: it (Spreadsheets API) gives timeouts and other errors sometimes (I guess I POST to the spreadsheet too aggressively sometimes) so Task Queue service is priceless here.


There's not always that much traffic on those two apps, but when it comes to busy hours it's awesome see QPS raising (sometimes like crazy) and the app simple scales without me having to do absolutely anything.


On Wednesday, March 28, 2012 2:16:39 PM UTC+2, Greg D'Alesandre wrote:

To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to google-appengine+unsubscribe@googlegroups.com.
Screen Shot 2012-03-29 at 12.20.09 AM.png

doright

unread,
Mar 29, 2012, 2:36:51 AM3/29/12
to google-a...@googlegroups.com
Hi Alex, very interesting reading about your apps, see below..


On Thursday, March 29, 2012 12:43:56 AM UTC+2, alex wrote:
1. One of the apps I built is a local restaurant online orders: http://www.orostube.it (they cook pretty much amazingly tasty pizza over there.)

A customer drags whatever they want to eat to the bag, checks out with cash (paying on site) or a credit card. The owner gets notified (Channels API) and confirms the order. Customer receives a feedback by email + instantly on the page (again via Channels API) with the time of pickup. The whole "add to the bag", "checkout", "confirm" and "pick up" thing goes during their lunch and dinner open hours. Actually, "add to the bag" and "checkout" can be done any time.

excellent user interface and experience, very slick, I'm impressed!  I'm not surprised to hear the hardest part for you was javascript.  I compromised on the sexy front-end in favor of  practicalities and opted for GWT and the Sencha framework for mine.   So 95% of the time I just have to write Java and not worry too much about browser issues, which is great when you don't have a big team.Nice part about all this is I can always re-skin the 'end-customer' facing part without touching the backend or the admin console.

Plus, the owner has an admin interface where he can add new dishes, pizza, "featured this week", daily and monthly orders stats (using Cron service to launch a couple nightly jobs), etc. 

The site never went down (running 8 months now), even during the worst times GAE infrastructure had. Ever. I've never had such a relief from having to manage my own servers, load balancers, think about a cron service, etc., before I started using GAE in production.
yes, my site has never gone down, but I've had quite a few wobbles recently with lots of instances starting up and high latencies (theres another thread about this) 

The main challenges were actually not in coding server side but on the client javascript (HTML5, make it cross-browsers compatible, drag & drop events for touch devices). Though, I did have to be careful with credit cards processing and API calls from their local bank, Channel API caveats (http://code.google.com/p/googleappengine/issues/detail?id=4940) and Timezone handling (as stupid as it might sound).


2. An app for a local event, http://2012.ictdays.it/en
The most challenging stuff here is probably handling users registration: there are about 90 companies participating to the event. They offer either job or an internship (or both). Then, there are students (from local universities), who can make a mini-appointment, 10 min interview, with a company(ies) they're interested in. 

So, every company has free timeslots. Whenever a user makes an appointment it becomes busy. There are many users and many slots so, the code updates entities within xg transactions so that two users wouldn't take the same free timeslots.

The other thing is, all those data (e.g. appointments) are being synchronized with a Google Spreadsheet. Why? Organizers love lists and spreadsheets. They can mix and match data w/o asking/waiting me to implement a new feature within the app: they just do something like in the attachment - create a table where pink squares represent busy slots (already "taken"). After having this, they just relax in a chair watching new pink squares appear on that worksheet and focusing on marketing and how to make the event even more popular.

this is fascinating too.  I've been using Google Spreadsheets too, and for me that's one of the massive attractions of the GAE platform; the easy accessibility to a rich API set that has very broad user appeal & familiarity; spreadsheets, calendar, maps etc.  I actually use the database for my calendar coz its at the core of my system, but use spreadsheets to let customers put their bike fleets into and out of the system.  Coz 99% of my clients were using spreadsheets before, as you say it makes sense to leverage a familiar environment for them. I use asynchronous updates to keep the app in sync with the spreadsheet.  (though once loaded they mainly interact with my app).  I even wrote a whole backup system using spreadsheets and Task Queues coz when I started there were very limited backup options in Java (not sure I'd recommend the approach though ;)

Jeff Schnitzer

unread,
Mar 29, 2012, 2:42:50 PM3/29/12
to google-a...@googlegroups.com
On Thu, Mar 29, 2012 at 2:36 AM, doright <doug.s...@gmail.com> wrote:
>
> this is fascinating too.  I've been using Google Spreadsheets too, and for
> me that's one of the massive attractions of the GAE platform; the easy
> accessibility to a rich API set that has very broad user appeal &
> familiarity; spreadsheets, calendar, maps etc.  I actually use the database
> for my calendar coz its at the core of my system, but use spreadsheets to
> let customers put their bike fleets into and out of the system.  Coz 99% of
> my clients were using spreadsheets before, as you say it makes sense to
> leverage a familiar environment for them. I use asynchronous updates to keep
> the app in sync with the spreadsheet.  (though once loaded they mainly
> interact with my app).  I even wrote a whole backup system using
> spreadsheets and Task Queues coz when I started there were very limited
> backup options in Java (not sure I'd recommend the approach though ;)

I have to admit that I'm *really* disappointed with the Spreadsheet
API. I expected an API that resembled, well, a spreadsheet - some
sort of tabular structure. Instead it's a wacky Atom feed (actually,
multiple wacky Atom feeds) which requires an enormous amount of work
to parse and put into an actual tabular structure. I really feel like
Google isn't even trying with this one.

We use a Google Spreadsheet to hold all the master data for
https://www.voo.st/compare I wrote a python script that sucks the
data down and reformats it into html that gets included with our
deployments. Overall the workflow is great and way better than trying
to maintain a shared document in git or dropbox or whatnot... but the
script is janky as hell.

Jeff

roberto.cr

unread,
Mar 29, 2012, 5:06:47 PM3/29/12
to google-a...@googlegroups.com
Congratulations!
Any chance you can open source this great spreadsheet viewer? :)

Adam Sah

unread,
Mar 29, 2012, 5:29:14 PM3/29/12
to google-a...@googlegroups.com
My app is small data but a fair amount of complexity-- the leading e-commerce platform and marketplace designed for wholesale, which is very different than consumer.
 - 1000s of disparate data sources-- Google Spreadsheets (read live), data feeds, and more.
 - third party integrations: email (Amzn SES), search engine, custom payment vault, accounting system, ad server (Google DFP), Google Analytics (incl events), twitter, etc.
 - 7 types of user accounts and 4+ tiers for two of them; catalog subsets ('portals') for partners incl. skins, capabilities, listings, etc.
 - complex business rules for pricing, promos, discounting, order minimums, payments and more.
 - custom/modified GAE-based image processing pipeline, JS & CSS compiler/compressors, littletable-based analytics package, etc.
 - dozens of automation tools for customer service and support.
 - html5 mobile app for assisting sales reps in the field; results affect search ranking.
 - Python 2.5, with appstats, ereporter, pylint and git, selenium/sauce, rietveld -- moving to 2.7 sometime this year...
 - <50,000 lines of code and ~4 person-years, for everything incl the HTML/JS/CSS (!!); two patents pending.

At Google, I got a reputation as a maniac-- the BBF team are the same.  It's hard work, but really fun.  Our customers are a who's who of US specialty food brands and grocery stores, including Hilton Hotels, Whole Foods, and a large tech company based in Mountain View, CA.

Currently, we're looking to extend ereporter to capture the top N useragents (e.g. bots or browsers, and which ones) and referrers (track down the source)-- if you want to help, reply, we'll send code and a bunch of artisan chocolate from the warehouse!

adam
http://bbfdirect.com/ - world's largest catalog for wholesale specialty products

doright

unread,
Sep 11, 2013, 4:28:04 AM9/11/13
to google-a...@googlegroups.com
Hi Greg,

bit belated, but I'm following up on our comment from 18 months back about writing up my very positive GAE experience with my Cloud web app www.bikeshopmanager.com
(been a little busy!)

are you still on the GAE project?  can I talk to you about a couple of PR-related things, if so, how do I get in touch directly?

many thanks,
Doug

On Wednesday, March 28, 2012 2:16:39 PM UTC+2, Greg D'Alesandre wrote:

On Wednesday, March 28, 2012 2:16:39 PM UTC+2, Greg D'Alesandre wrote:
Reply all
Reply to author
Forward
0 new messages