Google App Engine for General Web Hosting

I use a free wordpress.com plan for this blog and IMHO it’s a great service. Unfortunately neither this plan nor any of the paid-for versions will allow me to run random bits of Javascript to demonstrate things like a 3D viewer in the browser window to view photogrammetry models. There’s inevitably a suitable WordPress plug-in but part of this exercise is for me to learn about web technologies and I’m worried that a plug-in would obscure some of the details. I’d also like to be able to switch between software packages if necessary which could be difficult with a plug-in.

I could self-host a WordPress installation and do it that way but, for now at least, I’m trying to avoid doing any IT sysadmin and support and concentrate on the writing πŸ™‚ Fortunately there are plenty of other options around and one that I’ve been wanting to try for a while is Google’s App Engine. Running a separate site is less desirable because I have to link out from this blog to a different URL but it’s the path of least resistance to getting something up and running quickly.

Google App Engine Quotas and Billing

App Engine has a free plan / trial but as is usual with Google products it’s quite hard to pin down what the free limits are and what happens if you exceed them. There’s an FAQ discussing a “Free Trial” and “Always Free” plans but these seem to assume that you have an account with Google which I do not, although I do have a Gmail account which is needed to get started. Anyway, after setting up a demo site I had the following information on my App Engine console page:

I deduce from this that I get 1 Gbyte of bandwidth per day and, if I dig into the “Settings” link, 5 Gbyte of cloud storage for free after which some sort of error page will be served. We shall see πŸ™‚

Google App Engine Setup

Setting up a static web page was ridiculously easy, just a question of following the instructions on Google’s Hosting a static website on Google App Engine page. The URL refers to Python but there’s no Python involved, just HTML / CSS / Javascript. As far as I can see you can create as many application / sites as you like and they will have the URL format of <app name>.appspot.com. I suspect that the free bandwidth and storage allocations are aggregated across all your sites.

My demo site is at http://thereteng.appspot.com/ and was up and running quickly with no bother at all. Essentially you develop locally and deploy the site using Google’s SDK which you download and compile. I only use three of the SDK commands:

  • gcloud app deploy [ -v version no] – Deploys the site. The version number is optional and will be automatically added by the SDK if it’s not specified.
  • gcloud app browse – Opens the site in the browser. Or you can just point your browser at the site URL manually.
  • gcloud app logs tail -s default – Live view of the web logs.

Rather than develop the whole site layout from scratch I used one of the many Creative Commons licenced site template downloads available – https://www.html5webtemplates.co.uk/ in this case. It’s a simple layout and I just tweaked some of the colours and formatting.

3D Viewer

The first use for my new demo page was to display some of the PLY models created using photogrammetry in a web based 3D viewer.

The go-to technology for displaying 3D objects in the browser is undoubtedly WebGL ( Wikipedia link ) which is normally not used directly but via a higher level library. I’ve used threejs in past but this time I was looking for something with a higher level of abstraction just to display PLY models. After a bit of Googling I came across the 3D Heritage Online Presenter or 3DHOP which is ” … an open-source software package for the creation of interactive Web presentations of high-resolution 3D models, oriented to the Cultural Heritage field.

It has quite a high level of abstraction so that loading a PLY model becomes just half a dozen lines of HTML & Javascript. The documentation is very good and I was able to get it up and running very quickly. It also has a feature whereby PLY models can be pre-processed so that they can be progressively downloaded and rendered. This saves having a download progress bar showing while the whole model is downloaded.

There’s also a compression option which I haven’t investigated yet and many other display features. The pre-processor as downloaded only runs under Windows. It should be possible to compile it for Linux but I haven’t tried this yet.

Examples of my photogrammetry models can be seen on the demo site here – http://thereteng.appspot.com/photogrammetry.html

Advertisements
This entry was posted in Photogrammetry, Programming. Bookmark the permalink.

3 Responses to Google App Engine for General Web Hosting

  1. richard says:

    That’s pretty amazing. I didn’t realise the stone was hollow. Or that there was a triangular micro-hole in the top to see the sky from inside πŸ˜‰

    Does the texture come from the original photographs? That would appear to be the case for the stone mask, what with the streak of white on the RHS.

    I’m tickled by the observation

    I’m trying to avoid doing any IT sysadmin and support and concentrate on the writing

    Totally agree that IT sysadmin is too tedious to be doing if you’re not paid for it but running WP on a self hosted system isn’t that hard. OTOH you’re a computing libertarian what with not running the demon spawn of MS or Apple, but the big G is of a similar ilk and can also leave you high and dry. Their summary canning of feedburner for example.

    I avoid using third party and non-generic hosting – got burned when a web host held a domain of mine to ransom in 1989 and I had to pay them Β£600 to get control and feel the same about cloud, but each to their own choice of third party dependency poison!

    Like

    • Stone is expensive so you can save money by making it hollow πŸ™‚ I don’t know what the small hole is for, I guess that it’s some sort of government surveillance.

      For PLY files each vertex can have an RGB value which ( I think ) is derived from the original photographs. The PLY viewer then uses these RGB values to create the object texture. You don’t need, for example, a separate JPG file for texture information.

      Your raise a very good point about “free” hosting packages. I’m fully aware that I’m the product rather than the customer in this case. However if WP ditch the free plan then I should get sufficient warning to be able to export and save my purple prose. As regards Google ( and GitHub and Dropbox who I also use ) then in each case I have a local copy should things go really pear shaped. It’s a compromise but one which is acceptable at the moment.

      Like

  2. Pingback: Full 3D Models With openMVG/MVE | The Retired Engineer

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s