When We "Ship Software", We Literally Put It on a Ship


Technical knowledge helps you deliver high-quality projects. Domain knowledge helps you deliver projects that add value to your client’s business.

When a potential new client requests a quote for their project, you often don’t know anything about their business apart from the description they sent you. If your only goal is to have a satisfied client, then you just need to deliver the project that matches their specifications. That’s great, but what if you want to help your client build a successful business?

Trust is the key

Do you remember when you wanted to repaint your apartment? You hired a house painter to do it and kept an eye on him as he did the work and had a hard time accepting his idea of changing the color of your kitchen. Remember the second time? Yeah, that’s right, you left the guy your apartment keys, trusting him to do his work properly. You probably even recommended him to your friends who were amazed by the kitchen, saving them the hassle of the test run.

In essence – a software design & development company works in a similar way – you provide a service that helps your clients do their business, whether it’s a bank, insurance company, international IT company or just your local pizza place. The difference is that you won’t be working with the same type of industry all the time. This means it won’t be enough to be a good software designer/developer. To excel at your job, you will need to know the domain of each client that you get to work with.

Cruise photography

When we first started working with The Image Group, we knew very little about their business – we knew what we needed to build, but not much more than that. Truth be told, we couldn’t imagine the level of complexity involved in running a photography business on a cruise liner in this time and age.

Our first project was an update to an existing app that allowed guests to view thumbnails of their photos after the cruise and select the ones they wanted to export from the photos they had already purchased, as well as any additional images they wanted to buy in print-ready size. While working on this, we started to grasp the magnitude of this operation – over 600 photographers spread across the fleet of more than 40 cruise ships, taking tens of thousands of photos on a daily basis.


By successfully completing the first project, we helped our client increase revenue in digital sales. This put us in a good position for securing more projects. With each subsequent project, we got a bit deeper into the client’s business domain, understanding how everything works, what kind of applications and tools would help our client drive their business forward. From being a mere developer that just built the application according to specifications, we gained enough domain knowledge to suggest technical solutions that would improve Image’s revenues and guest experience.

Equipping the Quantum

When one of Image’s key clients announced Quantum of the Seas, we knew it was going to be both a challenge and an interesting experience. As it was advertised as a “smart” ship, we knew our expertise in mobile and web applications as well as UX/UI design would be needed to make the Focus Photo Gallery on board the best photo gallery in the world.

Why is Quantum a “smart” ship? First of all, a quality WiFi network which provides broadband speed Internet access covers the whole ship. This allowed Royal Caribbean to install about 15,000 tablets at point-of-sale locations on the new ship. RFID luggage tags provide the option of tracking luggage via a smartphone, while the Royal iQ mobile app enables guests to manage every detail of their voyage on their mobile device. Let’s not forget the Bionic Bar – powered by robot bartenders.


As Quantum is making its first cruise, we’re confident the guests will enjoy all the applications we’ve created to make photos “smart” and easily accessible. As with almost everything on the ship, guests just need to place their keycard or wristband near the RFID reader embedded on various devices to use Image’s services powered by our software:

  • Kiosk – this application is powering a digital kiosk equipped with a 22″ touch screen. Guests can browse through photos, order prints or a disc to take digital photos home, or create a custom photobook.
  • GalleryTablet – alternatively, instead of standing in front of a Kiosk, guests can use the tablet to find their cruise memories – it is essentially Kiosk on a smaller form factor.
  • Digital PhotoFinder – despite the RFID tagging and Image’s patented facial recognition system, some photos end up unsorted. By using a huge 40″ touch screen and our software, even those photos can be found by their potential owners and tagged so that they appear in their personal photo kiosk.
  • Our Cruise Photos Digital – remember the option to create discs with selected photos? This application helps guests select and export their print-ready digital photos and share them on social networks or through email.

Keep in mind that this is all guest-facing software. We have built applications that do the heavy lifting behind the scenes – help photographers synchronize the photos they’ve taken, track guest orders, manage the settings and status of all of the guest-facing applications, configure the sales data and send purchase information to the ship’s central sales system.


I don’t know why they have a bear on board, but it sure looks cool

Ask questions

This all sounds great (and trust me, Quantum is great!), but the question you’ll probably ask is – OK, but how do we enter the domain without having worked on many projects prior to this one? The answer is actually pretty simple – you need to ask questions. A LOT of questions. And, in addition, be careful about the assumptions you make!

I often assure people that there aren’t stupid questions, just stupid answers, but it’s very important that you don’t focus your questions only around technology and the brief the client provided. Focus your attention on the domain, on the business they’re running, on the goals they want to achieve and try to put yourself in their shoes.

Learning the domain will let you earn your client’s trust, assure them you’re not there only to finish the project and leave and that your goal is to be their partner who provides the solutions to grow their business.

The amount of information you can get will depend greatly on the client and their willingness to let you into their world. However, seeing you as a partner who understands them and not just as another vendor is the key to success for both of you!