As I wrote in the previous post, I’ll continue writing an application for managing photos. What is the starting point then?

Local environment

There is none. I’m using OS X and I have only preinstalled Python in version 2.7.


1. prepare env with Python 3 and PyQT (4 or 5)
2. prepare `requirements.txt` with required modules and libraries
3. use virtual env for simplicity and usability


Photochooser was my first attempt to Python application, so the code is very messy. It has no single test written. You can see it on GitHub, but there is nothing to boast 😉


1. learn Python a little bit (I’m reading Python 101 by Michael Driscoll)
2. write tests (TDD maybe?)
3. tag current version as alpha, beta or 0.1 and use branches and/or tags on GitHub for managing versions
4. be proud of the code!

The application itself

I tried to run my application, but, as I mentioned before, I don’t have an environment to do that 😉 But as far as I remember the application was simple:
1. open directory with photos
2. display images in alphabetical order
3. move to next/prev image using arrows
4. perform one of 3 actions:
a. “choose” – save an image in a subdirectory for future print
b. “delete” – delete the image
c. “delete?” – soft delete the image, i.e. move it to a subdirectory for potential deletion
The user interface was very poor, a single window with image and 3 buttons in the left top corner. No way to undo choosing or deleting photos.


1. allow user choosing the best photos for printing
2. allow user deleting crappy ones
3. allow user “save” the state of managing and return to it anytime
4. create simple but usable UI
5. maybe some automatic duplicates recognition?
6. compiled application for Windows, Linux and OS X


So this is my starting point for the competition. I think it is a good start, I have some simple operations implemented (like deleting or moving the files, or opening the directory) and have very basic, yet somehow usable application. I’ll rewrite it entirely for sure, and hopefully do it right this time 😉

What’s next?

I want to create some mockups of the application. Designing it will help me divide work into manageable chunks and give me some time to read the book 😉 Stay tuned!

Want more #GetNoticed2017 posts?