Live Streaming on iOS

In our work, we often need to implement video streaming from iOS devices in real-time or near real-time. A common example is the use of iOS devices as surveillance cameras or creation of streaming applications like Periscope. Problem statement often imposes additional requirements like enabling of stream playback on another device or running the app smoothly in the browser or VLC player, low latency (video streaming in near real-time), low resource consumption (long battery life), no need in a dedicated media server, etc.

Continue reading

How to Optimize Waveform Rendering in iOS

In the article we are going to share our experience of finding the optimal way to visualize a waveform in an iOS app, choosing between CAShapeLayer and drawRect(), and certain nuances of using Swift. The publication is targeted at those who create complex custom UI components for sound processing, but also any iOS developers wishing to broaden their horizons. Continue reading

Faster Than Real Time Stabilization of Smartphone Videos

Casual videos shot with a smartphone can often suffer from shakiness. ‎Software-based video stabilization methods have been actively developing over the ‎last years and can make such videos look much more professional and fluid. We ‎have just released Deshake, our video stabilizer app for iOS that can enable faster ‎than real-time video processing. In this article, we are going to ‎overview the video stabilization techniques available and discuss some of ‎engineering challenges we have faced during the development.‎ Continue reading

One app story

For quite a long time I was sure that most of my University skills could hardly be used in my business. Just try to think of any use for military- KGB-ideology kind of stuff, taught for 5 years, mixed with development courses in rare devices. No, I didn’t think so either.

I like to think though, that the first part has helped me to deal with complex situations. Next to that, the ideological stuff put me in a lot of very funny situations and they say laugh extends one’s lifetime span, so… The surprise was that my knowledge of development of very specific devices became very helpful. Even better; that knowledge led to a new app creation. Continue reading

Mobile Apps UX optimisation with Google Analytics

Probably one of the most popular terms in mobile business is MVP. Numerous evangelists, advocates, consultants and mentors work with startups and help them apply the Lean Startup ethos. They push them towards building an MVP and going further with incremental updates. The main goal of this activity is to find a product market match and understand financial characteristics. To put things simply, these are preliminary steps to build a real business plan and scale the business. If you scale an unprofitable business model, then you scale losses. There are a lot of materials on this topic, but there is not so much information on how to actually do that, or how to get actionable data. This is not a problem, though. I’ll show you how to make it using Google Analytics, which is both simple and free. To make it more fun and more interesting I’ll use PhotoSuerte app as a case study. Continue reading

Data Syncing in Core Data Based iOS Apps


the-cloud-rainbow-unicorn

In this post, we would like to discuss possible issues that you may face while implementing data syncing in iOS applications, and how you can tackle such issues with various approaches and tools. We are going to approach the issue from different angles, trying to make a generic overview of the topic. Still the main focus for us are applications that have a data model that is sophisticated enough to need a structured database and the Core Data framework.

Continue reading

How to Use UIDynamicAnimator in iOS7 Apps

With the release of iOS 7 developers got empowered by many new tools to make fascinating effects and animations in their apps. However applicability of many of them is still in question. As soon as we made ourselves familiar with them, in our new project we decided to make a new animation, similar to that used by Apple in Messages. Continue reading

How to configure Jenkins CI on Mac OS X to build Android- and iOS Phonegap/Cordova apps and deliver them to TestFlight/HockeyApp

In most cases, mobile apps development is a very exciting experience, particularly if you really enjoy what you do. As we are involved with a substantial number of external projects (mostly custom application and website development), with our native applications also rapidly growing in numbers, we took to minimize the time and effort we spend to build our releases and pre-releases. If you have multiple developers, testers, and lots of projects, the cost to build apps may become substantial. Therefore, to avoid time wastage and focus on really important service-oriented effort, we propose a guide on how to create a system to automatically build your apps. This approach we practice in our apps which we offer to your attention: Together, PhotoSuerte, Veranda. Continue reading

Node.JS & MongoDB: New Apps Prototyping Highway

nodejs

If you have ever started a new mobile app project odds are that you thought about a working prototype right after preliminary mockups were ready. In the context of Lean Startup methodology with its Minimal Viable Product (MVP) concept, it would in no way sound an exageration that making a prototype even before the final design decisions are vital to your project success. Previously, we all had an excuse that making a prototype takes lots of effort. But that’s not true for most of the mobile app projects today. With a prototype you can collect valuable feedback much earlier, making much more conscious decisions in design and app dynamics.

In this post I’m going to describe the usual practice of our projects. We utilize Node.JS and MongoDB to prepare prototypes for all new apps we develop. This involves no significant back end development efforts and gives you a ready to use service in several weeks. In fact, usually you get a scalable architecture as well. So, let’s get deeper into demonstrating a real case study from PhotoSuerte app. It is a photo-messaging app for iPhone that connects users at random. So, let’s not waste your time. Read this post and make a prototype for your next big app! Continue reading

New Photo-Messaging App “PhotoSuerte” Connects Users Around the World

PhotoSuerte-Map
December 2, 2013, Moscow, Russia – in the world where photo chat is one of the most popular and exciting forms of communication, a new app gives users a glimpse into another part of the world.

DENIVIP Group, a Moscow-based app development company, has just released their latest creation, PhotoSuerte. PhotoSuerte is a photo-messaging app for iPhone that connects users at random, allowing them to experience different parts of the world through the eyes of people who live there. PhotoSuerte gives users an exclusive look at another country and share with others their passion for photography and creative expression. Continue reading