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

Push Notifications: Tips and Tricks

push notifications service

Push notifications is a really great mechanism available to all mobile developers (and beyond). With notifications of this type, you can notify users of important events, so that they can respond as quickly as possible, even when the application is not running. Moreover, with this approach you can boost user awareness of your product. In this post, we are going to share our hands-on experience in implementing such functionality in our large-scale projects and provide a number of tips and tricks. Continue reading

Best Practices for Server and Application Interaction

iOS Best Practices

In this modern era of growth and development of mobile applications, enabling of efficient client-server interaction is gaining more importance. In this context, the following factors are critical: flexibility, scalability, documenting, support for older API versions, and caching. In this post, we are going to discuss the most important aspects of service development and design that will help you attain better results. Continue reading

How to Use Google Cloud Messaging in Adobe AIR Applications

Using \Google Cloud Messaging in Adobe AIR applications

However nice the multi-platform nature of AIR is, still it is a double-edged sword. On the one hand, we can write a Flex or ActionScript application that would work correctly on all possible platforms supported by AIR. On the other hand, developers feel much restricted by that AIR sometimes fails to provide all tools to fully use the functionality unique to a particular platform or device. Fortunately, we can write native extensions for a particular platform to implement features specific to this environment only. Such extensions are called Native Extensions and are attached to the AIR project as external libraries.

In our work, we often use such extensions. Here we are going to discuss the as3c2dm extension developed by Piotr Walczyszyn. It allows you to receive push-messages and display them in the notification bar. In our work, we are actively using the extension. As we have detected a number of errors and inconveniences in it, we have tried to correct them. Continue reading

Multiscreen Support in Mobile AIR Applications

As AIR applications can run on multiple platforms and devices, AIR based developers have to take into account a vast diversity of screens, their resolutions and DPIs. Despite a broad diversity of supported platforms, in this post we will focus on multiscreen development for mobile AIR applications based on the Flex framework. Continue reading

Flash Player 11.4 and AIR 3.4 Now Released!

Recently, Adobe announced its new releases of the Flash Player and AIR products, offering a number of new fascinating features:

  • More video cards supported by Stage3D
  • Concurrency (ActionScript Workers)
  • Support of iOS Push Notifications in AIR
  • Direct publishing of AIR apps to iOS
  • Support for iOS 5.1 SDK
  • Carbon APIs no longer supported by AIR
  • Compressed textures with an ATF alpha channel
  • Ambient AudioPlaybackMode
  • StageVideo.attachCamera
  • Camera.copyToByteArray/Camera.copyToVector
  • LZMA support for ByteArray

Below you can find out some details of the new features. Continue reading

How to Develop AIR Video Applications for Android

android video apps

Today, smart phones and tablets have become integral parts of our daily life. People interact with such devices frequently and lengthly over a day. So, mobile and tablet applications have become important channels for content distribution. Launching of virtually any major service includes ad-hoc application development. Segmentation of mobile applications greatly increases the cost to implement a mobile strategy. Adobe AIR allows you to reduce the cost-to-market for cross-platform services. You can develop your application once and then adapt it easily to a range of devices or screens (also, there’s more dexterous Flash developers on the market than iOS or Android experts). In this article, we’ll dwell on some features regarding development of mobile applications with Adobe AIR. Continue reading

Developing Video Player for Android

Android Video Player

One of the issues you may face when developing an application for Android is embedding of a video player into your application. A standard SDK provides two ways of solving this problem. You may use a low-level MediaPlayer class or a ready visual VideoView component in conjunction with MediaController, a standard playback control panel. Both approaches have their downsides, so we decided to develop our own video component, AVideo. In this post, we will discuss how you can use this component in your application and what are its benefits. Continue reading