Things are moving on with this. I chip away at it a little each day. Slowly, recently, but worth the job.
I managed to achieve something that I had hoped would not be as hard as I expected it to be. The above filter selection palette shows what I managed to do. Instead of a static thumbnail showing how the filter worked on a dummy image, I wanted to show how the filter would work on the image being worked on. Because I had already planned for the same function to process the preview and the final image, it wasn’t too much of an effort to pass it a thumbnail and use that instead in the selection. That helps the user make a more informed choice.
A UI Decision
There are three choices the user is given to select the look of the card: the background card texture, the filter, and the shape of the image frame. Right now, these are all presented to the user when one of the icons in the toolbar along the top is clicked. A sheet appears, showing the selection. I like this, but in testing, I’m starting to think that layers appearing and vanishing are annoying. Or, rather, vexing.
It obstructs the user’s view, and forces focus onto the selection. The importance of the choice is made, but once the selection is made, the OK button needs to be clicked to remove the sheet. The result of the selection won’t be obvious until the sheet has gone. I’m starting to think that this may be more of a hindrance. So while I’m dead pleased I got this sheet to appear and vanish, I’m thinking that it was not the right decision.
So I am now wondering if I should do something like this:
In the above (slightly nasty) mockup, the options are moved to the bottom of the window. The user will be able to select the card/shape/filter and see the results immediately. While I have one selection in the example above, in reality, there would be some kind of tabbed view which would allow the user to swap quickly between the three choices. I think it may be an improvement, but I need to mull this over a little first.
I Made A Mistake
When I set up this project, I had less of an idea of what I am doing that I am one. One thing I thought I’d add to the application is the ability to load/save data as files, so previously saved work can be returned to. Brilliant idea, and I thought I’d need to do something similar to what I was doing in LiveCode (writing the values to a file). However, reading into this subject tells me that there is a file handling system in place, but it‘s an option when the project is set up (no “add this functionality” button seems to be available). As I didn’t select the “document application” option, not available to me. I think I can convert this project to work with documents by adding the necessary files and moving code around, but I need to read more about this, and possibly experiment with a blank application to see how things are done and work before I commit.
Using this, rather than attempt to write my own file saving/loading functions (which would be a foolish errand on my part) would, I expect, help me out with sandboxing too.