Pitfalls in Large-Scale Application Development on Node.js

It has become clear that Node.js has become a striking trend in the community of Web developers. In this post, we are going to discuss, what pitfalls may encroach on the developer in Node.js, and whether it is worth switching to it.

Basically, developers associate Node.js with small services, e.g., chats. (For more details, read "Development of high-performance services for Node.js"). Well, they have a good reason for that. Node.js is a perfect fit for services that support a permanent connection to the client or can wait for a response for a long time. Absence of I/O lock allows you to read large files, keeping your service ready to process new requests. 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

AirPlay and HDMI

If you develop gaming or multimedia applications for iOS, then AirPlay is absolutely a must for you, almost a standard. Indeed, what could be better for a user than watching favorite videos or photos on a big screen of a plasma TV or playing advanced games using iPhone/iPad/iPod as a multi-touch joystick? AirPlay has been designed specifically for this purpose. 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

Intelligent Video Load Balancing

load distribution

All video services are similar in two key aspects. Even with a relatively small number of concurrent viewers the load may become an essential issue. Also, the users may opt to abandon the service in case of faulty video delivery. The issues with video delivery are often relating to high load and suboptimal use of resources. To address such challenges in our projects, we used a special video load balancer module. In this post, we are going to provide you with details relating to the balancer and building of efficient video platform by optimal load distribution. Continue reading

Video Platform Development in DENIVIP Media

developers of video apps

DENIVIP Media has been creating video platforms since 2008 (usually in conjunction with services, portals and applications). Over the 4 years of developing ad-hoc video platforms for different projects, we have accumulated a decent expertise and information on many hindrances that are almost inevitable in video projects. In this post, I would like to brief you on how we design video platforms and what drivers have to be taken into account when creating a new or upgrading an old video platform. Also, I would like to note major forthcoming trends in the development of video platforms foreeable for the near future. Continue reading