Hi,
Thank you for the feedback. Since this is not a support request I am filing it as such.
This is an item I am fully aware of and there is an effort underway to make this more integrated. Do bear in mind that a change of this sort significantly changes plugin code (which is very, very stable and can get broken with big changes of this sort). To that effect what I have to put together (and am putting together) cannot overlap with anything currently existing.
Also, a big part of the challenge is that while you are looking at this from the point of view of Google Photos, the plugin supports SmugMug, Flickr and Zenfolio (and the older Picasa too), where you can display content from other users, apply filters etc. So the overall workflow and user experience to show albums / photos is very complex, and not as simple as adding an additional layer on top of it. While other plugins might be able to launch the media window, what Photonic pulls together is much more complex (I don’t believe there is any free or paid plugin that covers all the providers and features that Photonic does, least of all Ultimate Shortcode).
While AJAX sounds cool, it has some very practical limitations particularly for Google Photos. Let me try to explain. If you look at the release notes for the last version and the documentation, Google Photos’ API has been released in a “Developer Preview” mode. This means that at present your Client ID is restricted to 2500 calls a day. To compound things further:
- The Google API can only return 50 albums in one shot
- The Google API does not let you search albums or photos by name. In fact no API lets you search for albums by any parameters
Point #2 above would mean that you would have to get a list of albums, then search through their names. Now let’s say that your search result was showing up in the 10th page. In that case, a simple search on the results would not help (as that can only return the first page) – the code would literally have to fetch all pages of albums (each page would require its own call), then accumulate their names, then check their names against what you have entered. Now throw in the problem of incremental searches (i.e. the more you enter the further refined your searches become), and you are looking at multiple additional calls for each character added. Let’s say that we cache the total list of albums the first time; that still means that I am going to be making multiple calls to pull all albums (assuming you have more than 50).
Now, each of these calls counts towards your limit of 2500 a day. So if you run up against your limit, then visitors to your site will start seeing an error saying that the quota has been exceeded. That is unacceptable, and would point to rather bad design.
To that effect Photonic has been optimized to minimize the number of API calls it makes for any provider, because rate-limiting is a genuine problem.
Also I am not seeing how a tabbed interface will help you – Ctrl+F will let you search on a page quickly, but if you have a tabbed list of pages, you literally have to go through each tab to find your album id.
But, as I mentioned at the start, there is a change that is already underway to support staying on the same screen. It is a very big change (requiring more than 3000 lines of code) and I have to prioritize other pieces of work as appropriate. E.g. the whole Google Photos module was delivered last weekend because it was higher priority (people were not able to see shared albums any more with the Picasa module, and the Google API was brand new).
I don’t have an estimate for when the change will be done – my day job has no connection whatsoever to WordPress and I can only work on this when I get some free time. Just about 30% of the work has been completed so far, so it is hard to say when this will all be ready. I still manage to devote a few hours to this everyday, though.