Can you provide a brief description of your company and the role that you play there?
Viteb is a leading web and mobile application development agency with clients across 30-plus countries. I'm [Nilay Dhamsania] the director of global alliances. We've been in business for more than a decade now. As far as mobile applications go, we've been developing apps since 2008. We are a custom app development company with diverse industry experience including enterprise applications, startups, complete software product design, and marketing.
I also have other members of my team participating in this interview: Simon M., project manager; Martin P., Sr. iOS developer; and Harvey B., Sr. Android developer.
Does your team have experience with cross-platform tools? If so, can you tell the difference about developing native vs. developing in one of those cross-platform tools?
We have used the cross-platform tools PhoneGap, Xamarin, Cocos2dX, and Appcelerator; however, we always prefer native app development compared to cross-platform development. Many of the apps that we have developed for clients using cross-platform tools, the clients come back to us to convert those apps to native platforms because of the limitations with cross-platforms, mostly performance. In those situations, we had to redevelop the app or perform code migration to the native framework (iOS or Android) using Apple Xcode and Android Studio.
One of the best things about native development compared to other platforms is most apparent when a new upgrade or operating system is released. With native development, we are able to receive support immediately, with cross-platform development users must wait until the cross-platform software is updated for the native upgrades.
Is one of the native tools better than the other?
Apple Xcode and Android Studio are two different platforms. It is difficult to compare the tools. Based on our app development experience with both platforms we preferably go with Apple Xcode because as new releases come with the different versions they have better support for developers. If you are an iOS developer, you have many tools in the Apple Xcode suite, which allows developers to develop apps quickly. They have also introduced a new language, Swift, and new frameworks like Watch OS, Apple TV OS. We are excited about these new development opportunities and plan to continue to be on the leading edge of innovation.
If we compare Android Studio to any other Android platform like Eclipse, we would prefer to go with Android Studio because it has all the features we need to integrate into an Android app, such as Google Cloud Messaging Services, Google Sharing, Login with Google, and Google Wallet, so we do not need to utilize any integrations outside of Android Studio.
What was the business challenge your company was facing that initiated the need for this platform?
From the very beginning, we have worked on native frameworks; however, based on requests from clients, we have worked on cross-platform tools as well. The ultimate challenge with using nonnative frameworks is that they are not stable and scalable as may be required by the client. At times, we cannot customize the apps the way a client requests. For most enhancements, we typically need to engage the cross-platform's support resources, which is difficult to find due to the limited developer community for particular cross-platform solutions. Performance was the biggest challenge for our clients, with that being said cross-platforms tools are more affordable for many clients. In addition, cross-platform tools do not provide immediate support for new OS releases or whenever an update comes from Apple or Android.
How does your company implement this platform or software?
We write native code using the MVC [model-view-controller] structure, which helps us to achieve easily our application development goals. We also call it our one-stop solution we can handle design, development, testing, and debugging of each bit of code. Using Xcode and Android Studio, we are able to develop and support an app quickly. On top of that, using Xcode and Android Studio we can submit the apps directly to their respective stores.
Was your company considering other platforms? Why this platform?
No. We never recommend cross-platform tools as opposed to native development. We only develop on a cross-platform tool by the request of a client, typically a client working on a specific budget.
On an annual or monthly basis, how much does your company spend to utilize the platform?
The best part of the native platforms is that we don't need to spend any money to code. We do need a developer account in order to submit apps to the respective stores. We need to pay $99 per year for the Apple Store and a $25 one-time fee for the Google Play Store.
RESULTS & FEEDBACK
Can you share any success, metrics, or overall results of your implementation of this platform?
If you look at our portfolio, all the apps were developed using Xcode or Android Studio. We consider all of the apps featured there as success stories from using Xcode and Android Studio.
Were there any software features or tools that really impressed you?
Martin: For Xcode, there are many features that are useful. If we have developed a project in Swift 1.2, we can migrate it to Swift 2.0 easily. Xcode upgrades the Swift 1.2 code automatically to the Swift 2.0 code so code migration is very easy. Xcode has specific simulators for different OS devices like iPhones, iPads, and Apple Watch, which helps to understand the differences between screen sizes. Xcode's crash report management is great. We have a list of crashes encountered on the user's end associated with the application. Once the application has crashed on the user's device, Xcode sends the details to the Apple server automatically and Apple provides an API [application programming interface] to access that crash report.
Harvey: There are many great features in Android Studio. It is very easy to create a user interface for custom preview that allows us to preview the app on a specific device with different resolutions. Google Ads and Google Analytics can be managed through Android Studio easily. It comes built-in with Android Studio. Cloud messaging services also be managed through Google Login easily. When we create an APK [Android application package] file, there is no need to attach a certificate path every time so that the development and debugging process is very easy.
Looking back, are there any areas of the software upon which you feel could be added or improved?
For Xcode, the process that is used for signing and provisioning the application can be improved. Our suggestion is to simplify this process by creating only one provisioning profile for an Xcode project instead of creating multiple profiles for each application and different tools like Widgets, Watch OS, and Apple TV.
Another suggestion is to simplify the app submission and approval process for the Apple Store. What we have found is that in the approval process of iOS apps, every resubmitted app is not going to the same reviewer that initially rejected it. The approval process is already long. It would be great if the app could go to the same reviewer to speed up the approval process the second time around. It is important to consider approval time when making timeline commitments to clients.
Have you had to interact with the platform's support team or reference their support resources?
For Android Studio and Xcode, we interact with their support teams via their technical blogs. We also use their developer communities – both are very helpful. We have referenced support resources for Apple via their technical support blog where we get responses from the Apple team quickly. This community is open to all developers. We contribute to the forum with technical assistance for any issues that other developers may have faced.
We have a few quick questions and, for each question, we ask you to rate the software on a scale of one to five, with five being the best. What would you give the software for functionality of the features available?
What would you give the software for ease of use or ease of implementation into your business?
For support, as in responsiveness of the team or helpfulness of the resources available?
Android: Three and a half.
For overall satisfaction with the platform?
Xcode: Four. We are very satisfied. In every platform, there are some limitations, but we can access most of things without any hassle.
How likely are you to recommend the software to a colleague or similar business?
Android: Five. We give the native platforms fives compared to any cross-platform app development software.