Developing a media portal for photo equipment & photography
This case study tells how Prophotos & Evrone team provided support for the monolithic Ruby application, introduced new features outlined by the business model, including mechanics for voting in contests and other interactions with the portal’s audience.
Prophotos.ru portal publishes reviews on photo equipment and articles about photography. The primary goal of the portal is to be the first to test equipment and publish independent assessments of cameras.
The founder of the portal is Arkady Akulov, an entrepreneur with extensive experience launching and developing media projects. He sold his first large project, Ameno.ru, to Independent Media, which publishes the Cosmopolitan and Esquire magazines in Russia. After that, he decided to create Prophotos, since photography was a hobby of his and he was interested in photo equipment.
The Prophotos team wanted to make the portal the most respected Russian source of information about cameras. To do this, they developed a special assessment methodology and wrote detailed, multi-page reviews to give readers a complete picture of the products before buying.
The project continues to develop and achieve success, with 470,000 monthly visits, 68% of which come from search engines inquiries related to specific lenses or cameras.
After their initial success, the project team needed a quick technical boost to maintain the site and shift the focus toward feature-driven development. To avoid wasting time looking for new in-house staff members, management decided to hire outsource specialists.
There are pros and cons of outsourcing web development, however, this method of expanding a team is convenient if the scope of tasks is unclear, and project plans are still being clarified. In addition, if you hire a person onto your own team, then management will also have to focus on incorporating them into the workplace and the company culture, shifting the focus away from simply completing the work that needs to be done.
On top of the management advantages, the Prophotos team also liked our previous experience using Ruby/Ruby on Rails to create media portals, such as 420on.cz.
The combined Prophotos & Evrone team had to provide support for the existing monolithic Ruby application, as well as introduce new features outlined by the business model, including mechanics for voting in contests and other interactions with the portal’s audience.
Prophotos' case is one of those in which you can't measure success solely in numbers. The product does not rely on any outstanding technical finesse or innovation, and our goal was simply to carry out routine tasks and set up a basic feature development process that would make the product consistently reliable.
In short, we developed a classic media portal for a team of photo experts, in which the value and competitive advantage comes from their expertise and the deeply immersive experience that they offer.
Standard projects like this, that do not involve innovative new solutions implemented in a product that works with some new technology, are not really talked about on YCombinator or in Forbes. However, solutions like these, that are primarily composed of "boring" tasks, help free up managers' time to focus on strategy and product expertise.
In this case, we achieved success by ensuring the stability of the site, voting, and user registration, allowing the creative team to be able to focus on interacting with the community.
We participated in the development of this product for several more years, helped launch the Fotoshkola.net service, and then carefully transferred both projects to another contractor for ongoing support.
What to consider when you need to outsource
We have already utilized the experience and knowledge that we gained while working on Prophotos and applied it to several other client projects. This case is an excellent example of a successful collaboration, so we have used it to prepare some tips for those who plan to work with developers using an outsourcing or outstaffing model. If you are already planning to outsource media portal development, feel free to skip straight to filling out the form below.
How to find an outsourcing team
- Calculate how many specialists you will need, based on your financial model. Try to calculate different options: only your employees, only outsourced employees, 50/50, etc.
- Determine the requirements for the future team. What kind of experience should they have? What technologies should they be able to work with? If you are at a loss to answer these questions, ask your potential contractor for guidance.
- Feel free to share your idea with different teams. You don’t need to worry about them stealing your idea and rushing off to implement it without you, because they earn money through outsourced product development for customers, not by creating and developing their own products. If you explain your idea to them and get honest feedback, they may be able to shed some light on potential challenges or issues that you hadn’t considered.
- Evaluate experts based on the solutions they offer and their work processes. Do they follow agile methodology? Are they using a product-based approach to outsource development? This will give you a better understanding whether or not they will be a good fit for your existing team.
- Remember that you are not limited to just development process outsourcing services. You can also outsource testing, architecture, and infrastructure optimization and design. This does not mean that they will completely take the product away from you. It will simply free up more time for you to focus on determining your ultimate goals and providing key expertise, which is the heart of the project.
How to manage an outsourcing team
- Give quick feedback, especially when getting started. When you manage an outsourced Ruby on Rails development team, in addition to your own team, difficulties will always arise. But if these issues are not confronted right away, they can lead to a large loss of time and money.
- Record information on the project from the first day of development: all accesses, solutions, applied technologies, and hacks. The teams and people on them can change, but if you have your own knowledge base, joining in mid-project will not be a problem for anyone.
- Get to know the management at the company from which you plan to hire developers. You’ll gain a better understanding of what to expect from them, and perhaps even learn some new methods that you can apply to your management model.