Design Process

Role & Experience

I started taking pictures in 2009. My love for nature is what drew me to photography. During the process, I learned a great deal. It really got me involved in understanding how the camera works. I'd like you to please understand the aperture, shutter speed, and how they work together. When taking pictures of animals, it's essential to be patient and quick in making adjustments to capture the perfect shot. There is absolutely no control over the subject's behavior or moments. You have to be ready to take the shot when the right opportunity presents itself because you most likely will not get it again. You can't direct the animals on how you want them to stand or look. There is no control. They are going to do what they want, and you must be prepared.


Photo Management App

During this process, I learned the importance of delivering customers their images using a method that ensures their pictures reach them as quickly as possible. I have experience with wedding photography, and customers may not receive their photographs for a month due to the large number of photos taken. The next step is mailing the images to the customer, which can take weeks depending on the location. Lastly, there is the additional cost of how to leverage the cost to benefit both the photographer and the customer.

Research

By the second year of photography, I began taking pictures for weddings, graduations, families, and other events. Once the event is over and the images have been captured, I take them home to be edited and then sent to the client. I needed a way for clients to access their photos for download and printing. This is where my research begins: various photo management apps to serve as a repository and enable clients to access their images at any time, from anywhere. I analyzed the necessary storage and associated cost. I researched free sites, such as Flickr, and paid sites, but they were not providing what I wanted. Although Flickr was free, I wasn't able to restrict users from viewing other photos that didn't belong to them. The paid subscription sites offered the features I liked and wanted, but they were too expensive for me. Depending on the plan, the cost ranges from $50.00 to $100.00 per month, with additional fees for enhanced features. As I was researching, I said to myself, "Why are you looking for an app when you can create your own. You know how to design and code. Create what you want." That is what I did.

Design Decision and Rationale

To create the app, I identified three main features that I wanted to provide to customers: a communication process, an affordable subscription platform, and an organized image gallery. From a development perspective, I aim to incorporate automation features that facilitate the maintenance of the app for updates and scalability. The design had to be simple with direct access to customer gallery(s) for viewing. Within the gallery, customers can view and download a single image or their album to share online or print to create a wall gallery in their house to share with family. To generate income, online payment will be available to pay for the session. A monthly subscription will be available for customers to access their images at any time. They can also schedule sessions and pay using Stripe as the payment processor.

Scheduling A Session

When it comes to the app, it is developed to recognize whether the user has an existing album or not. If the user does not have an album available within the app, they will be prompted to contact me to schedule a session. Currently, the user has to call me or send a message, but I am looking to create a customized, user-friendly calendar system to handle scheduling and payment processes, organize, and maintain them.

Communicating The Album Process

Once a session has been completed, the goal is to get your images to you as fast as possible. One of the most effective ways to access photos is online. The most time-consuming process is the editing process. You may not hear from the photographer because of the amount of work and time it may take. To solve this problem, app communications were sent to the user while I was in the process of editing their photos. When a customer has paid for their session, their album will be created, and the email address provided will be used as the primary means of identification to access it. If no photos are available in the album, the customer will be notified with a page notification that the images are being edited.


Subscription and Gallery View

When the editing process of the pictures is complete, the customer will be notified and prompted to begin their subscription. Although the album was created, the algorithm checks the folder for any available images. As long as the album has no photos or is empty, the app knows not to consent the customer to purchase the subscription. Once the pictures are received, the subscription will commence only after customer approval. Otherwise, the gallery will be disabled. If the subscription has been approved, the customer will be given a 3-day full access pass, and then the subscription will begin billing the customer at $15.00 per month. The subscription can be canceled at any time.

Stripe API Integration

Photography sessions and subscriptions are processed through Stripe, a payment gateway that accepts online payments. Their api provides the opportunity to integrate a payment processor within my own website. I was able to build the forms as I wanted, and Stripe will handle the payment processing. Stripe is PCI compliant, doing their part in processing payments securely. Once the editing of the photos is complete, the customer will be presented with the option to start their subscription to view the album. Once the customer has accepted to start their subscription, the gallery will be immediately accessible for download. The subscription can be canceled at any time.



Challenges & Solutions

One of the main challenges I faced in developing the photo album was becoming familiar with Stripe Payment Integration. I was using Braintree Payments. It was initially free for production use, but after Elon Musk acquired them, everything changed, and a minimum volume requirement was introduced. Everything was set up through the sandbox and was ready. When I contacted PayPal about it, the associate suggested that I use PayPal. That is not what I wanted; I wanted to integrate payments directly on my website without requiring the customer to leave. While working with Stripe, I had to develop a new backend payment processor to meet Stripe's documentation requirements.

The challenging process of developing the photo album involves becoming familiar with integrating Stripe as the payment processor. I intended to use Braintree Payments because I was familiar with the API, but they changed their process for accessing development keys. All the test was completed using their sandbox. My volume was too low to get the development credentials. I can understand that, but it wasn't like that before. I was bringing in some money and growing. Due to the volume, I was no longer able to use it.

Results & Impacts

I completed the development of the photo gallery. The most significant impact on the app is integrating Stripe to accept subscription payments. The key result and effect of creating this app is that it saves me money. I do not have to rely on a third-party application to manage the photos. I can license the app to other photographers to increase my revenue. The app serves as a photo management tool not just for me, but also for subscribers where a record of their albums are kept and maintained for them to access at anytime.

Final Reflections

This app was a lot of fun to develop. It really helped me to realize that I didn't have to rely on a third-party app. I had the skills to build my own and build it how I see fit. Using a third-party app would have been great, but I would have never had total control over it. I do plan to add more to it. I want to explore how I can integrate AI into the app for improved management. At one point, I implemented a feature that allowed customers to order prints directly from the app; however, the API eventually came to an end, and the site no longer had that API feature. Currently, I am looking to see other apps that will allow me the opportunity to add that feature back.