Indeed it is similar to seam carving. Which technique would you recommend for this task? Do you know of any other example implementations which can be run on a smartphone grade processor in near-real-time?
Yes, it is still young. The currently available version uses an edge detection algorithm which I designed for another purpose (text extraction), subsequent versions use techniques which are more appropriate for images. Also, the algorithm never refuses to square an image, even when there is a high likelihood of a poor result; I am experimenting with ways to visually communicate that to the app user.