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



martedì 25 febbraio 2014

My Team Manager is now on Blackberry10



My Team Manager (the application to manage your football teams and to communicate with your players) is now available also for Blackberry10.

Here is the features list:


- Manage more than one team
- Manage your roster and your players' info and statistics
- Rate your players performances and see the average rating
- Add your team's matches, the calls-up, the lineup and your personal notes, the results, the scorers. Share them with your players via  the team Facebook page, SMS or email
- Statistic section with team (segmented by competition) and players stats (top scorers, best goal average, best ratings average, match and training attendance)
- Indicate the type of the matches (league, cup, friendly, other) and use it to filter
- Add and manage your training sessions
- Manage training attendance
- Send any message via SMS, email or on your team's Facebook page

To have more information, contact us at myteammanagerservice@gmail.com

Available for download at http://appworld.blackberry.com/webstore/content/49071892/



sabato 7 dicembre 2013

My Team Manager 2.0

A new version of My Team Manager is available on Google Play. This new release include a big improvements: data are now stored securely on the cloud: that means the application will retrieve all the team's information if installed on another smartphone or if removed and reinstalled on the same one.

Besides that, other interesting features have been added following the suggestions coming from the users (some of them of course...many are still in the todo list):
  • Store of all the information on the cloud allowing to retrieve them on several smartphones
  • Option to change the name of the team
  • Choice for team's number of players
  • My Team Manager account creation
  • Login
  • Forgotten password
Thanks to the users' feedback, many bugs have been fixed.

If you want to give it a try, click below: