I'm happy to announce that a new version of the Crosswords app is in the store. If you've tried it before, you'll notice a few new features:
1) It works. Okay, that's not entirely new, as it used to work. But then the device images got upgraded and it stopped working. (One wonders why we specify a framework version if it doesn't protect us from this.) But a few fixes have counteracted these improvements so that Crosswords works again!
2) New small screen layout. When I first wrote this app, I though that there was no way to fit all the information and the soft keyboard on the phone screen. But I've reconsidered and come up with a design that I think works pretty well. Combined with the pinch-to-zoom action on the grid, this means crosswords is usable on any screen, except perhaps your smartwatch.
3) Importing puzzles. As I was updating the puzzle lists provided, I had to implement support for the Across Lite .PUZ file format. A number of constructors make their puzzles available in this format. Rather than try to list all of them, I decided to implement a puzzle import facility in the app. In fact there are four ways to do this:
i) Drag-and-drop into the window. Works great on the desktop; not so much on Ubuntu Touch.
ii) Import via file dialog. Works great on the desktop and in the browser on Ubuntu Touch. But, oddly, not in the HTML5 container. See Launchpad bug #1467937.
iii) Import via the Content Hub. Crosswords accepts "documents" from other apps (as that seems to be the catch-all for files that don't fit any of the other content types). Unfortunately, no other apps recognize .PUZ files as documents. And there's no way for Crosswords to inform the other apps about the existence of .PUZ files. This strikes me as a serious failing of the Content Hub, especially since I ran into the same problem with Beru.
iv) Shared URLs. Since none of the other methods work on the devices, Crosswords accepts shared URLs of online crossword puzzles. To share a link you come across in the browser, long press it and then select "Open link in new tab". A new tab will open, and then an "Open with" dialog appears, which gives you no options. Touch "Cancel" at the bottom to return to the (empty) tab. Open the menu at the top right, select "Share", and then choose "Crosswords" as the destination. Couldn't be simpler!
More information, including links to the app store, a desktop installer, and a web-based preview, are available at http://rschroll.github.io/crosswords/