mercoledì 26 marzo 2014

Need to analyze your competitor's mobile applications results?

Distimo has released a new version of his analytics service AppTrends, now allowing you to search for a full month of data for any application. The service is free and available for all the major platforms such as iOS, Android, Blackberry, Amazon, Windows Phone.

You will be able to track:

  • daily download;
  • revenues;
  • ranking trend;
App Trends also provides an auto-complete search function, a sort by country filter, a mobile-optimized site, actual ranking figures and more





venerdì 14 marzo 2014

@synthetize vs @dynamic in ObjectiveC

Since it's the second or third time that I find myself looking for a response to this question on Internet, I'd like to note it here and share with everyone who needs an explication of the difference between the to directives @dynamic and @syntethize in Objective C.

The response is posted by Alex Rozanski in a Stackoverflow thread

Some accessors are created dynamically at runtime, such as certain ones used in CoreData's NSManagedObject class. If you want to declare and use properties for these cases, but want to avoid warnings about methods missing at compile time, you can use the @dynamic directive instead of @synthesize.
...
Using the @dynamic directive essentially tells the compiler "don't worry about it, a method is on the way."
The @synthesize directive, on the other hand, generates the accessor methods for you at compile time (although as noted in the "Mixing Synthesized and Custom Accessors" section it is flexible and does not generate methods for you if either are implemented).

giovedì 13 marzo 2014

ObjectiveC: Create a thread safe singleton

If you need to create a singleton keeping it thread-safe, Apple recommends to use the dispatch_once paradigm.

Below an example taken from a Stackoverflow thread (where a user mention this method is 2 times faster than using the classic synchronized paradigm):

+ (MyClass *)sharedInstance
{
    //  Static local predicate must be initialized to 0
    static MyClass *sharedInstance = nil;
    static dispatch_once_t onceToken = 0;
    dispatch_once(&onceToken, ^{
        sharedInstance = [[MyClass alloc] init];
        // Do any other initialisation stuff here
    });
    return sharedInstance;
}

martedì 11 marzo 2014

A true Android OS for wearable device is coming

Google executive Sundar Pichai announced Sunday, during the Southwest conference, a release of an Android SDK for wearable devices in two weeks.

The first Google smartwatch should be on the market thanks to LG electronics and the idea to push developers towards this new line of development is to give the OS for free to the device manufacturers following a plan similar to the one deployed for smartphones and tablets.

With releasing the development kit before the products hit the market, Google wants to collect a lot of feedbacks from the developers to improve it first and to make a possible a smooth evolution for many wearable devices (why not, a sensor equipped jacket).

The challenge for the developers will be find the best integration between all these connected devices to create application with appeal for the users.

See more on Wall Street Journal


giovedì 6 marzo 2014

Freemium model: 50% of mobile gaming revenue comes from 10% of active users

San Francisco based firm Swrve published its first Mobile Games Monetization Report. Among all the data some of them looks interesting:
  • 50% of the revenues comes from 10% of playing users. That means 0,15% of the whole users base
  • 50% of users making a purchase will do it in the first 24 hours after the download
  • 60% of the revenues is collected in the first 14 days
  • purchases over 50$ makes 0,7% of the volume but 9% of total revenue
More about the report on Forbes 


Images from forbes.com

mercoledì 5 marzo 2014

Parse adds new metrics to its analytics tool

Very good new features for Parse.com analytics. Recently, the team has added two new metrics now available in their analytics dashboard:
  • users can now see how their collections grows over time (very useful for example to see signup trend);
  • performance analytics allowing a clear vision about how close an app is to his burst limit . As requests exceed the app’s burst limit (20 req/sec for a free plan), Parse will begin dropping requests and returning an error with error code 155
See more about Parse analytics