The Risk of App Development Platforms

Developing applications on platforms like Facebook and iOS allows third party developers to leverage the existing features of the platform to easily delivery their applications and give users a familiar experience. While these are great benefits it is also worth considering the potential risks for the continued function of your application and your business model if the platform provider decides to make changes. There is a good summary of this risks in Zynga’s recent pre IPO SEC filings.

If we are unable to maintain a good relationship with Facebook, our business will suffer.

Facebook is the primary distribution, marketing, promotion and payment platform for our games. We generate substantially all of our revenue and players through the Facebook platform and expect to continue to do so for the foreseeable future. Any deterioration in our relationship with Facebook would harm our business and adversely affect the value of our Class A common stock.

We are subject to Facebook’s standard terms and conditions for application developers, which govern the promotion, distribution and operation of games and other applications on the Facebook platform. We have entered into an addendum to these terms and conditions pursuant to which we have agreed to use Facebook Credits, Facebook’s proprietary payment method, as the primary means of payment within our games played through Facebook. This addendum expires in May 2015.

Our business would be harmed if:

  • Facebook discontinues or limits access to its platform by us and other game developers;
  • Facebook terminates or does not renew our addendum;
  • Facebook modifies its terms of service or other policies, including fees charged to, or other restrictions on, us or other application developers, or Facebook changes how the personal information of its users is made available to application developers on the Facebook platform or shared by users;
  • Facebook establishes more favorable relationships with one or more of our competitors; or
  • Facebook develops its own competitive offerings.

We have benefited from Facebook’s strong brand recognition and large user base. If Facebook loses its market position or otherwise falls out of favor with Internet users, we would need to identify alternative channels for marketing, promoting and distributing our games, which would consume substantial resources and may not be effective. In addition, Facebook has broad discretion to change its terms of service and other policies with respect to us and other developers, and those changes may be unfavorable to us. For example, in 2010 Facebook adopted a policy requiring applications on Facebook accept only its virtual currency, Facebook Credits, as payment from users. As a result of this change, which we completed in April 2011, Facebook receives a greater share of payments made by our players than it did when other payment options were allowed. Facebook may also change its fee structure, add fees associated with access to and use of the Facebook platform, change how the personal information of its users is made available to application developers on the Facebook platform or restrict how Facebook users can share information with friends on their platform. Beginning in early 2010, Facebook changed its policies for application developers regarding use of its communication channels. These changes limited the level of communication among users about applications on the Facebook platform. As a result, the number of our players on Facebook declined. Any such changes in the future could significantly alter how players experience our games or interact within our games, which may harm our business.

Reserve RDS Instance Using AWS CLI

If you have recently reserved a AWS EC2 instances you will know that it can be done easily in the AWS Management Console by selection the “Purchase Reserved Instances” option.

Then you read that you can now reserve a Amazon Relational Database Service (RDS) instance so you look for the button on the Console and find that Amazon haven’t added this feature yet. So what do you do? Here is a step by step guide for novice user of the Command Line Interface (CLI) on how to reserve an instance.

Download public/private keys:

1. Login to http://aws.amazon.com

2. Point to “Your Account” and click “Security Credentials”

3. In the Access Credentials section of the page, click the X.509 Certificates tab.

4. Click Create a New Certificate.

Your X.509 certificate and corresponding private key are generated.

5. From the dialog box, download your private key file and X.509 certificate file.

Setup the RDS CLI:

1. Download the RDS Command Line Interface (CLI) RDSCli.zip

2. Unzip to C:\RDSCli

3. C:\set AWS_RDS_HOME=C:\RDSCli\RDSCli-1.3.003

4. C:\set EC2_CERT=c:\keys\cert-********************************************.pem

5. C:\set EC2_PRIVATE_KEY=c:\keys\pk-********************************************.pem

Reserve Instance:

1. First use the rds-describe-reserved-db-instances command to returns the list of DB Instance reservations for your account or details for one of your reserved database instances.

C:\rds-describe-reserved-db-instances –region eu-west-1

If you have no existing reserved RDS instances for the specified region then this will return nothing.

2. Next use rds-describe-reserved-db-instances-offerings to returns the list of DB Instance offerings that are available for purchase.

C:\rds-describe-reserved-db-instances-offerings –region eu-west-1

OFFERING  248e7b75-3883-4c10-b628-5ce44f4b53ea  db.m1.xlarge   n  1y  $1820.00   $0.471  mysql
OFFERING  3a98bf7d-fed8-4912-8e40-f0bb5491d217  db.m1.large    y  1y  $1820.00   $0.471  mysql
OFFERING  4b2293b4-65c7-46c2-a92e-a6c03000a28b  db.m2.4xlarge  y  3y  $16000.00  $2.816  mysql
OFFERING  4b2293b4-679e-4c98-b2e6-35ab9d841f72  db.m2.xlarge   n  1y  $1325.00   $0.352  mysql
OFFERING  60dcfab3-4eeb-4f93-8cfe-998181354391  db.m2.2xlarge  y  3y  $8000.00   $1.408  mysql
OFFERING  60dcfab3-eaf2-4d60-a422-f05ced59f8d1  db.m2.4xlarge  y  1y  $10600.00  $2.816  mysql
OFFERING  649fd0c8-3b34-4876-b3ec-31bf4067bffb  db.m1.xlarge   n  3y  $2800.00   $0.471  mysql
OFFERING  649fd0c8-5c8a-4eb7-b34d-50ebf9cf99cc  db.m1.large    n  3y  $1400.00   $0.235  mysql
OFFERING  649fd0c8-6b22-4d6a-ba19-9c44a434749c  db.m1.small    y  3y  $700.00    $0.118  mysql
OFFERING  649fd0c8-8e0e-4b61-be86-56b61cfed4df  db.m2.4xlarge  n  3y  $8000.00   $1.408  mysql
OFFERING  649fd0c8-c5dc-4ac9-b3f6-4da80d2fbc35  db.m1.large    y  3y  $2800.00   $0.471  mysql
OFFERING  649fd0c8-f8f2-4403-a78c-4d40891d72b1  db.m1.small    n  3y  $350.00    $0.059  mysql
OFFERING  c48ab04c-3dc4-45e4-8fb5-ed524e0d427b  db.m2.xlarge   y  3y  $4000.00   $0.704  mysql
OFFERING  ceb6a579-3643-46fc-bb5c-dfeda95895b0  db.m2.xlarge   y  1y  $2650.00   $0.704  mysql
OFFERING  ceb6a579-4495-45fb-b4ad-752e93c31a27  db.m2.4xlarge  n  1y  $5300.00   $1.408  mysql
OFFERING  ceb6a579-a4f3-4b55-ac53-7208e3c4b0fd  db.m1.small    n  1y  $227.50    $0.059  mysql
OFFERING  ceb6a579-afd6-4446-bd79-f6c3a6af17fc  db.m2.2xlarge  n  1y  $2650.00   $0.704  mysql
OFFERING  ceb6a579-c113-4a40-be7c-59c4ac3681fa  db.m2.xlarge   n  3y  $2000.00   $0.352  mysql
OFFERING  d586503b-4abb-49fa-837a-415b8e7360e9  db.m1.xlarge   y  3y  $5600.00   $0.942  mysql
OFFERING  d586503b-6fb4-4c87-a1cf-df1535f75d54  db.m1.large    n  1y  $910.00    $0.235  mysql
OFFERING  d586503b-9a28-4512-91b4-173d0a808e69  db.m2.2xlarge  n  3y  $4000.00   $0.704  mysql
OFFERING  e5a2ff3b-511c-4f8e-9737-8899eff42b8d  db.m1.small    y  1y  $455.00    $0.118  mysql
OFFERING  e5a2ff3b-62dc-457a-8320-906818958672  db.m2.2xlarge  y  1y  $5300.00   $1.408  mysql
OFFERING  e5a2ff3b-eb93-4c31-83b1-4db9c473c736  db.m1.xlarge   y  1y  $3640.00   $0.942  mysql

3. Looking at the list of instance types and prices select the ID of the one you require, in my case the db.m1.small for 1 year and use the rds-purchase-reserved-db-instances-offering command to purchase it.

C:\RDSCli\RDSCli-1.3.003\bin>rds-purchase-reserved-db-instances-offering ceb6a579-a4f3-4b55-ac53-7208e3c4b0fd –region eu-west-1 -c 1

RESERVATION  ri-2010-11-17-13-17-40-410  db.m1.small  n  2010-11-17T13:17:40.410Z  1y  1  payment-pending  mysql

4. Check a while later to see the status, it should now be active.

C:\RDSCli\RDSCli-1.3.003\bin>rds-describe-reserved-db-instances –region eu-west-1

RESERVATION  ri-2010-11-17-13-17-40-410  db.m1.small  n  2010-11-17T13:19:19.272Z  1y  1  active  mysql

All done, you have now purchased your RDS reserved instance.

Creating iPhone App Demos

To demo an iPhone App without a phone for a presentation, video demo etc. there are a number of options each with its own advantages and disadvantages.

1. Screen captures

Use the built-in screen capture shortcut (hold the “home” button, then hit the “power/sleep” button) to capture of your screen as a photo. You can then use these images to create an animation or include in a PowerPoint presentation.

Advantage: No extra software or equipment required.

Disadvantage: Not a true capture of the app use, just a series of screen shots.

2. Video Camera

Use a video camera to show someone using the app.

Advantages: It shows a true working scenario.

Disadvantages: Relatively easy to do but difficult to do well i.e. camera needs to be stable, the lighting needs to be correct to prevent glare on the screen and the users hands can get in the way of the screen.

3. Screen capture the simulator

If you have the Xcode IDE and the iPhone Simulator installed on a Mac then you can run the app in the simulator and capture the screen then use a tool like iShowU to do a video capture of the simulator on your Mac screen.

Advantages: Good representation of the working app.

Disadvantages: The simulator is not an exact copy of the iPhone device and not everything works the same especially if you are trying to show features like dialing a number or a hardware feature such as the camera which is not included in the simulator.

4. Capture the iPhone screen

The final option is to record the iPhone screen itself. This is something when you first go to do it you think there should be a straight forward way either via a built in feature or an app but there isn’t.

This can however be done as follows but only on a jailbroke phone:

  1. Install ScreenSplitr via Cydia on the iPhone
  2. On the Mac install iDemo
  3. Install iShowU on the Mac (or a similar tool)
  4. Start ScreenSplitr on the iPhone
  5. Launch iDemo on the Mac (the iPhone may ask you to accept the connection) – it will list available phones (this will work via. USB or WiFi)
  6. Launch iShowU to record the session.

I have only tried this on the iPhone 3 with ScreenSplitr but Display Recorder may be better  but only runs on 3GS and higher.

Advantages: Allows you to record a true life demo directly from the iPhone device.

Disadvantages: You need a jailbroke phone and there are allot of pieces to get working.

Startup Weekend Dublin

Ireland’s first startup weekend held at the NDRC in Dublin, May 7th – 9th. Startup weekend is a great concept where you get 50-100 people in a room over a weekend to “builds communities, companies and projects”. It was a great experience to participate and I met some excellent people and learned allot. Rather than writing another lengthy account anyone interested should read Sean Murphys post on web2ireland for a full account.

Skype Access

The new Skype Access service provides a very convenient way to access public WiFi hotspots in hotels, airports and other public locations. While there are many places that offer free WiFi and many of us use some sort of mobile broadband there are always times especially when traveling that you are confronted by a screen where you have to “sign up for…”, “enter code…”, “pay with credit card” etc.

Skype Access allows you to pay for access to these hotspots via Skype Credit which if you are an existing Skype user you will already have for making calls to fixed line or mobile numbers. There is no additional sign up required for the local providers.

When you connect a Skype Access box pops telling you that the hotspot supports Skype Access:

It then displays the cost and asks if you want to connect:


An information screen (or tool bar item) shows how long you have been connected and the cost of the session when connected:

Skype Access was introduced in Skype 4.2 for Windows (April 8, 2010) and Skype 2.8 for Mac OS X (February 10, 2010).

Skype claim the service is available at “100,000 WiFi hotspots worldwide” and a list of supported WiFi providers and rates are available from Skype. I have tried this with eircom and BT Openzone and it works well.

Samsung bada Mobile Platform

Samsung have launched their new mobile platform for apps development called bada. To promote the new platform they are running developer days throughout the world, including one in Dublin yesterday. The first Samsung phone to ship with the bada platform will be the Wave S8500 in June. Samsung sold 227 million phones in 2009 making them no. 2 in the global market with 20.1% market share (26% in Ireland).
Some of the highlights of their strategy are:
  • Multi platform strategy Android, bada, Windows Mobile etc.
  • In 2010 devices will be 40% Android and 40% Bada
  • 100 operators in 50 countries in 2010
  • Target the largely untapped sub-€200 smart-phone market aimed at prepay mobile users
Some Irish specific info:
  • The Wave phone will be released in Ireland in June on all operators
  • The free app store will be available in June with the pay store to follow

Samsung have build a full end-to-end ecosystem for apps.

For those interested in developing for the platform. There are tutorials an SDK and tools available from developer.bada.com. The developer tools are based on Eclipse and C++.

Samsung are also running a Developer Challenge competition with a prize fund of $2,700,000 consisting of 300 prizes up to $300,000.