Saturday, 28 December 2024

Photo Collage app - progress update

Scope creep was unavoidable since basic functionality took me less than expected :-)

Very enjoyable side project!


7 minutes ago : add filter capability to layouts
2 hours ago : collage items resizing and show values to user to make alignment easier
2 hours ago : delete collage items in layouts with right click
3 hours ago : grid spacing added
2 days ago : clean up
2 days ago : clean up save_collage
2 days ago : adjust crop area saved
2 days ago : basic save capability (ImageGrab)
2 days ago : added filename text field with default time stamp, extension dropdown and save button
2 days ago : Added selection of background color
6 days ago : clean up unused code
6 days ago : interactive viewer in collage area :-)
6 days ago : interactiveviewer in separate screen area
8 days ago : Merge branch 'working_app'
8 days ago : fixed clash between src and src_base64
8 days ago : clean up, remove png thumbnails, only use base64
8 days ago : fixed base64 image thumbnails
8 days ago : clean up
8 days ago : saving layouts now works
8 days ago : remove commented out code
8 days ago : load layouts from files
8 days ago : list layouts and show them
8 days ago : able to save and load new layouts
8 days ago : able to create collage areas
9 days ago : add comments to each secion of the code to group statements related to each area
9 days ago : reorder rail, start new layout section
10 days ago : ImageFit.CONTAIN
11 days ago : set layout as start of rail
11 days ago : initial layout definition accepting photos
13 days ago : placeholder moved to assets folder
13 days ago : files can be dragged to destination
2 weeks ago : draggable photo thumbs
2 weeks ago : create photos.py for first rail action
2 weeks ago : initial page and working areas without any functionality

Wednesday, 25 December 2024

2024: A year in review


The winter solstice is always a good time to reflect on what has happened during the last year. Also a good time to express gratitude for all the good things that have happened. I appreciate this is not the case for everyone and, in fact, the Xmas period can be stressful or downright sad, particularly if you are missing loved ones. Maybe because of this, an extra reason to be thankful.

Holidays played a major role this year, not because we visited distant places such as we did in 2023, but rather because we shared them. First with my parents in our little tour of Extremadura and Andalucía, then with one my nephews in a Summer road trip including five countries in Europe and, last but definitely not least, the Camino de Santiago with my sister, the highlight of the year. So much so that I wrote a 70-page booklet with my travel notes similar to what I did last year with the trip to Japan. Finally, we also stayed overnight in El Toboso, something we had not done for many years.

One thing I did better this year than last was keeping physically active. I did follow through the C25K programe, which was a good enough training to make through the 140km of el Camino. Who knows, maybe next year there will an opportunity to do other parts of el Camino. With so many trips, it was not difficult to take the one or the other nice picture, almost completely with my phone, which I have come to accept as my main camera now. And talking about photos, this year I have (almost) completed something I had been thinking about for a long time, a desktop app to make collages. It turns out it was a lot easier than expected thanks to a great framework I discovered through my brother.

Work wise, another very busy year, although I managed to control the amount of overtime despite (or maybe because of?) a surge in office days compared to previous years. The team managed a couple of major breakthroughs in the product we are developing and, of course, there is no shortage of challenges. Tremendously proud of my team and everything we have achieved. It's now seven years that I am in this position, the longest I have ever been in the same place in the soon to be twenty five years working at Rolls-Royce. Time flies when you are having fun.


Same post rewritten with AI (Gemini)

The Winter Solstice always marks a time for reflection – a moment to acknowledge the journey of the past year. Gratitude fills my heart as I consider the blessings I've received. I understand this sentiment may not resonate with everyone, and the holiday season can be a challenging time, especially for those grieving the absence of loved ones. Perhaps this shared understanding makes gratitude even more meaningful.

Holidays played a significant role this year, not through far-flung travels like 2023, but through cherished moments shared with loved ones. A road trip through Extremadura and Andalucía with my parents, a summer adventure across five European countries with my nephew, and the unforgettable Camino de Santiago with my sister – these experiences stand out as highlights. The Camino, in particular, inspired me to document our journey in a 70-page travelogue, much like I did after my trip to Japan last year. And finally, a long-awaited visit to El Toboso brought joy and a sense of homecoming.

This year, I made a conscious effort to prioritize physical well-being. Completing the C25K program proved invaluable, providing the necessary foundation for the 140km Camino trek. Perhaps future opportunities will allow me to explore other sections of this remarkable path. With so much travel, capturing memories through photography became a natural extension of these experiences. My phone has become my primary camera, and I've embraced its capabilities. Speaking of photography, I finally achieved a long-held dream: developing a desktop app for creating photo collages. Thanks to a fantastic framework discovered through my brother, the process turned out to be far easier than anticipated.

Professionally, this year has been another whirlwind of activity. Despite a significant increase in office days compared to previous years, I successfully managed my workload and limited overtime. The team achieved several remarkable breakthroughs in our product development, though challenges undoubtedly remain. I am immensely proud of my team and their accomplishments. Seven years in this role marks the longest tenure I've held in my 25-year career at Rolls-Royce. Time truly flies when you're passionate about your work.


Saturday, 14 December 2024

Photo Collage app

One tool I would like to have is a mini app which allows me to make a photo collage. I already have a notebook which allows me to do matrix-type of collages but I don´t get to select the order of the photos or manipulate photos (zooming and moving). Instead of doing Advent of Code, this year I will (try to) build this app by myself. I am going to give flet a try and see how far I get. Wish me luck


So, a few requirements:

I want to be able to select photos from a local folder. Stretch: select photos from several folders.

I want to be able to use different layouts for the collage. Stretch: I can define new layouts within the app

I want to be able to drag and drop photos into each area of the collage

I want to be able to zoom in and out and pan the photo within each area of the collage



Update 15th Dec


I can already select Photos from several folders (just click the button several times and they will be appended to the list)
I can already drag and drop photos into certain areas


Update 20th Dec
I can select fotos from local folders. If I select photos from different folders, they are added to the list of available photos
I can define (manually in the code) different layouts and then select one and drop it to be used
I can allocate photos to each collage area dragging and dropping photos into the desired area
I can create new layouts (not yet save them though) creating separate areas of desired sizes and moving them as I wish in the collage area (thanks to Flet Tutorial - Create Image Photo Crop App)



Update 22nd Dec
Almost there, much faster than I thought.
I can pan and zoom in/out each photo separately. Just need to save the resulting photo and a few finishing touches. All in all, great experience. Plus it would work with little effort as a web app. Nice!