blog

The developers respond: interview with Marcos Trujillo

Xátaka Móvil interviewed Marcos Trujillo for their report "Development of mobile apps: Which mobile platforms should we develop for and which one should come first?”
Read in Spanish →
Read in English →

Could you introduce yourself and tell us what you do and what the company you work for does?

My name is Marcos Trujillo and I work at TAPTAP Networks as Lead Android Developer. We're a premium advertising company and we especially work for large publishing groups in Spain. But we don't just do advertising! We've developed apps such as Sport.es, Cuore, Newscover, etc.

Chosen platform(s)On which platform do you develop apps/games for mobile devices?

At TAPTAP, we develop for Android and iOS but I specialise in Android apps.

What are the reasons for this choice? Are there technical reasons that make it easier or more interesting to develop in one or the other?

Right now, working on platforms other than these two is not worth the effort because there's not enough of a market to make a profit on these developments. Also, each platform has its advantages and disadvantages but, in the end, the effort is more or less the same.

In what languages are the mobile apps you develop mainly coded?

Mainly in Java and Objective-C even though it's very common for apps to require a back-end to complete their functionality.

How is development planned? Which factors are taken into account when approaching a new project? Do you think about issues such as different screen sizes and resolutions, different formats (perhaps specific apps for tablets), security, privacy or even energy efficiency?

In an ideal world, the first thing to do is gather the requirements. You should determine the features an app will have, which goals you want to achieve, plan if several updates are going to be needed, whether you'll develop for tablets and smartphones or only for smartphones, etc. This phase is very important because a good project definition makes the rest of the steps easier. After this, you build a few mock-ups or a rough draft of the app until everyone agrees with the preliminary design and you estimate how much time and money you're going to devote to the app.The work of designers and usability experts comes in at this time and they create PSDs with the real design of the app. Once you have the approved design, you start developing the app until it's ready and you can then go on to the testing phase where, using testing tools, you check both that the code works properly and that the interface serves its purpose. Finally, prior to publishing, there's usually a testing phase where the app is offered so that final users can test it. After correcting the last problems that may be found, the app is published. Unfortunately, we don't always live in an ideal world and, for different reasons, some of these steps are skipped, shortened or combined.

How is something as important as the user interface and usability handled in mobile apps? What part of the success of an app or game is due to this factor (perhaps a percentage, such as "60%")?

The app design phase is one of the most important in a the life cycle of a project. In my opinion, app design and luck account for 70% of success. The rest can be divided between app features and marketing.

Speaking of tablets, when it comes to iOS, there's a clearly defined catalogue of iPads but, for Android, this option is much more diluted. Why?

There are two reasons for this. The first one is that Android apps are often seen as secondary so the development of a specific app for tablets is usually ignored. The second one is the way that Android development works. When developing interfaces, getting them to "look decent" on tablets is practically effortless and, even though with a bit more effort you could develop a specific design, this is dismissed because it looks “good enough".  

Developer communityIs there a lot of action in the developer community? Do you share knowledge?

There's a lot of movement and the best thing is that, from the beginning, an Open Source philosophy and sharing have been promoted. We can clearly see this with Square, who have done great work by releasing many libraries that all developers can take advantage of, such as ActionBarSherlock, Retrofit or ViewPagerIndicator. In the specific case of Android, it's very interesting to see the community that has been developed on Google+ (yes, the deserted social network) where it's usual not only to chat with developers from around the world but also to come into direct contact with Google developers themselves, who keep us up to date with the latest news or help us with great manuals. If you're an Android developer, you need to be on Google+ and follow Roman Nurik, Rich Hyndman, Chet Haase, Matias Duarte, Juhani Lehtimäki and Fernando Cejas. You can add my circle about Android and mobility here.  

Is there a feeling that either Apple, Google or Microsoft treats the developer community better?

I don't notice special treatment from these companies towards their developer communities even though it's obvious that each of them does have specific characteristics that make them stand out from the rest.For my part, Android, Google has got down to work in the last year with new things such as Android Studio, an improvement in the developer console and their interest in creating manuals and video tutorials for app development.  

HTML5Mozilla and Firefox OS–among others–advocate for a market where HTML5 apps are the fundamental pillar of their markets. Is HTML5 the future?

In the future, I'm almost certain it will be but what I do know is that, right now, it's not the present. HTML5 is not yet fully refined and it's still not as standard as it should be. Furthermore, today, the difference in performance between native and HTML5 apps is quite noticeable. Just ask Facebook!

It doesn't look like iOS will focus too much on this type of solutions but Google does have Chrome OS for desktops as an alternative where HTML5 is key. Do you see iOS and Android adopting this type of solutions at a large scale?

This is very difficult to answer and I think even they don't know the answer. Even though we've been in the mobile era for a long time, it's still at the beginning and everything is a bit up in the air. What I do see possible is an intermediate step where both platforms will make development of HTML5 apps easier. For the time being, Google, in its latest version, Android KitKat, has modified WebView, the native element capable of loading web pages, so it uses the same engine and features as Chrome.

Today, with everything that HTML5 provides, is it possible to develop mobile apps and games with the same capabilities as those developed with native SDKs?

Today, the difference is still very big and it's very easy to differentiate between an app that was developed natively and one that wasn’t.  

To become the best, what is HTML5 missing?

It lacks standardisation and performance. Without similar performance, it'll never conquer both platforms and cost savings will not make up for the loss of quality in apps.  

Monetisation. How do you monetise apps? Which models do you consider and, in your opinion, which are the most profitable?

TAPTAP, the company where I work, is an advertising company so, to a certain extend, I work so that others can monetise their apps through advertising. We don't only use traditional banners but we've also developed other solutions, such as NativeAds or sponsored content within apps. At the amateur level, in-app payments are all the rage right now. These are free apps that can be improved or expanded through micro-payments. This system works very well since it's easy to convince users to pay for some additional content after they're familiar with your app, use it and may even consider it essential, instead of just seeing it on the market. At that time, it's difficult to convince them that the app they have right there will be useful enough for them to pay 1 euro.  

It seems that in-app purchases are currently the most successful for developers. Do you think this model will continue into the future?

The advantages of in-app payments compared to "paid apps" or "free apps with ads + paid version without ads" are many and, as many developers have shown, they're much more fruitful. In my opinion, in-app purchases are here to stay but we need to remember that this isn't going to work for all apps. You need to study whether it makes sense for your app because if you force things, it won't work. If users don't see in-app purchases as useful or logical, they're not going to pull out their wallets.  

What other future options do you see in this field?

It's likely for more apps focusing on offering continuous service to begin appearing, as it happens on the web. These would be models like Spotify, where you pay a monthly subscription for the music service, but applied to other fields, such as tools or business solutions.  

The enormous variety of alternatives makes it complicated to monetise an app or game and achieve financial profitability. What do you think makes the success of a project and its profitability?

There's a very, very high proportion of luck involved. One day, no one uses your app and the next day you have to pull it from the markets because success has overwhelmed you, as happened with Flappy Bird. Another important aspect is marketing. Being lucky to have blogs like Xataka Móvil talk about you is very important, not only for the downloads it generates at the time but also because of the word of mouth it creates. For example, I can mention one of the first apps I launched years ago. Thanks to being featured in one of the most important Android blogs at the national level, an important blogger from Thailand must've seen the article and wrote another one in Thai. I suddenly saw that there were thousands of downloads from Thailand, which I would've never imagined. The problem then became how I would translate my app into Thai.  

Tips for those entering the field of mobile developmentDo you have any tips for young developers at the technical level?

If you really like it, read, study, research and test. There are millions of possibilities on the Internet for you to learn. And practise, practise a lot. Try to make the app you're building as good as possible. And, above all, don't look for a "million dollar idea" because you will certainly not find it. If you've got an idea, even though it may seem silly, develop it and publish your work. It's nice to see people in the world with the same needs you've thought about solving. With luck, you may even create a new Flappy Bird. I know a lot of very good developers who don't publish apps because they say they've got "no ideas" and, while they may not have are million-dollar ideas, they do have many modest ones.  

And on a practical level?

The internet is your friend. On the internet, you can find a wide variety of documentaries, tutorials, tips and tricks to get started with development. If you're leaning towards Android, try to use Google+ and stay up to date. It is very important for you to create a good feed with news and updates about Android and I'm not just talking about blogs with "the latest from Samsung" because this world can change a lot in six months. Look at how others do it. You have many Open Source libraries and you can even look at the original Android code to see how Google does it. Learn about design and usability because it's likely that you won't have a designer specialising in mobile technology by your side. I'm not telling you to learn to use Photoshop but you need to know the fundamentals about usability and how the pros do it. If it works for them, don't try to reinvent the wheel. And, while you're at it, try to be a good developer and don't forget about Clean Code, testing and good practices. Each day, there are more and better tools to keep this from being a problem–something it should never be!

Taptap
March 25, 2014

By checking the box, you consent to receive news and product information from Taptap Digital that may be of interest to you. For more information see our privacy policy.
Thank you!
Download Now
Oops! Something went wrong while submitting the form.

Get in Touch

We’d love to hear from you!