Skip to content

Mobile apps with PhoneGap and PayPal

I’m currently finishing up a series of articles for the PayPal X Developer Network on building Android apps using Google’s free App Inventor tool.  Click here to read the first article (on getting started with App Inventor) and here for the second article (using web APIs).  Watch for the rest of the articles in that series to publish soon.

As I mention at the beginning of that series, I’m always looking for tools and techniques that make mobile commerce apps simpler and faster to build, debug, and deploy.  App Inventor can take you a very long way for Android apps, especially for building rapid prototypes, but what if you want to build apps for multiple platforms?  And what if you want to build those apps from one codebase, to run natively on all of the major smartphone platforms, with access to device hardware such as sensors and device data such as contacts?  Is that even possible?

Turns out, with PhoneGap (@phonegap) it is.

In the words of PhoneGap’s originators, PhoneGap is an:

HTML5 app platform that allows you to author native applications with web technologies and get access to APIs and app stores. PhoneGap leverages web technologies developers already know best… HTML and JavaScript.

PhoneGap takes your HTML, CSS, and JavaScript based app and wraps it in a chrome-less browser for each supported platform.  As of this writing, PhoneGap supports iOS, Android, Blackberry, Symbian, HP/Palm’s WebOS, and Samsung’s Bada platforms.  You can learn more about the basics of PhoneGap from this introductory video (click here to watch).

PhoneGap enables all this native goodness by providing JavaScript-to-native and native-to-JavaScript hooks so that your app can talk to the native services provided by sensors and other such things.  I’ll leave the details to the PhoneGap Ecosystem presentation included below (click here to watch); suffice it to say that the integration is pretty slick and lets you use one consistent API to build an app that can be packaged up and run on all the previously mentioned platforms.

https://build.phonegap.com/images/landing.png

Important things to note about PhoneGap:

  • It’s open source, and free (as in beer).
  • Getting setup to develop for PhoneGap is pretty straightforward for one platform, but a bit much if you’re targeting several.  Click here for information on targeting each supported platform.
  • Because of the multiplatform packaging complexities, there’s a free “PhoneGap Build” service that will build your apps for all supported platforms in one fell swoop, providing you with downloadable, packaged, native apps suitable for uploading to the various mobile app markets in use across the different platforms.
  • The PhoneGap site provides an API Documentation reference; there’s a lot of additional information including tutorials on the PhoneGap wiki.

Click here to read the complete post on the PayPal X Developer Network including links to PayPal PhoneGap plugin information.

X.commerce Android Apps the Easy Way, Part 2: Accessing Web APIs

This is the second installment in my series showing you how to use Google’s App Inventor for Android tool and eBay web APIs to build mobile commerce applications for Android-based devices.

The previous article introduced App Inventor, how to setup the software and start using it, how to share App Inventor projects and apps, and some of App Inventor’s limitations. If you don’t already have App Inventor installed, please revisit the previous article and work through the setup and testing steps so you are ready to follow along below.

This time, I will focus on the available App Inventor components and especially on how to access RESTful web APIs using the “Web” component. This will set you up to succeed with building an Android eBay commerce app in the final two articles of the series.

App Inventor components

Click here to access the full App Inventor reference documentation. This contains information on the various components you can select from in the App Inventor Designer as well as docs for the blocks available in the App Inventor Blocks Editor. (If you need a refresher on the Designer or the Editor, please refer to part 1 of this series.) The reference pages also discuss some of the key concepts to wrap your head around if you want to have smooth sailing in building Android apps with App Inventor.

For now, let’s focus on the available components. The reference pages break the components out into groups just as they are arranged in the Designer interface. The groups are:

It’s worth your time to at least skim through the various components so you can get a feel for what operations are possible and which components you would use to carry them out. For more information, you can refer to community submitted App Inventor tutorials on a variety of topics and sticking points by clicking here.

Now that you have a high level understanding of the various components available to you, let’s get started creating an app to interact with an example arbitrary web API using the “Web” component.

Creating app components

To start, launch App Inventor (click here or navigate to http://appinventor.googlelabs.com). Create a new project. I’ve called mine “Web_API_Example”.

Suppose that we want to build an Android application that asks its user to enter some location of interest. This may be a street address, a ZIP code, or something even more vague such as a landmark name. We’d like to enable the user to enter whatever location they like, then have our app query the freely available Yahoo PlaceFinder to attempt to geocode the given location and return useful location information about it. We can then display whatever information we want from the response, for instance the latitude and longitude coordinates. How would we build an app like that?

First note that in order to use PlaceFinder, you need to have a Yahoo Application ID. This is used to identify your application in caes of policy abuse or over usage and is a typical requirement of many web APIs these days. No problem, click here to create one.

Once you have your ID, you are ready to create your app. Drag a TextBox1 component into the Designer app screen for the location field, a Button1 to submit that location to PlaceFinder, a TableArrangement1 to contain the resulting latitude and longitude value and label components, and a Web component to submit the entered location to the PlaceFinder via HTTP GET. After renaming and changing some of the default values for the various components, our design might look something like this:

Web API calls

The PlaceFinder Guide details how to format your web API call. Be sure to read through the Requests page as well as the provided Examples. For our purposes, let’s specify a query with a JSON response (flags=J parameter) with a free form single line address. Note that we encode spaces in an address with the + (plus character). The format therefore would be:

http://where.yahooapis.com/geocode?flags=J&appid=yourappid&location=yourstreet,+yourcity,+otherlocationinfo

For instance, querying for PayPal’s San Jose offices at 2211 North 1st Street, San Jose, CA 95131 would be done with a query such as:

http://where.yahooapis.com/geocode?flags=J&appid=yourappid&location=2211+North+1st+Street,+San+Jose,+CA+95131

Submitting the above query with your valid Application ID in place of yourappid should result in the following JSON response from PlaceFinder:


{ "ResultSet" : { "Error" : 0,
      "ErrorMessage" : "No error",
      "Found" : 1,
      "Locale" : "us_US",
      "Quality" : 87,
      "Results" : [ { "city" : "San Jose",
            "country" : "United States",
            "countrycode" : "US",
            "county" : "Santa Clara County",
            "countycode" : "",
            "hash" : "92F01C6AC1A15F33",
            "house" : "2211",
            "latitude" : "37.377919",
            "line1" : "2211 N 1st St",
            "line2" : "San Jose, CA  95131-2021",
            "line3" : "",
            "line4" : "United States",
            "longitude" : "-121.921842",
            "name" : "",
            "neighborhood" : "",
            "offsetlat" : "37.377858",
            "offsetlon" : "-121.921980",
            "postal" : "95131-2021",
            "quality" : 87,
            "radius" : 500,
            "state" : "California",
            "statecode" : "CA",
            "street" : "N 1st St",
            "unit" : "",
            "unittype" : "",
            "uzip" : "95131",
            "woeid" : 12797582,
            "woetype" : 11,
            "xstreet" : ""
          } ],
      "version" : "1.0"
    } }

Likewise, you might submit a landmark name and country based query such as the following for the Eiffel Tower:

http://where.yahooapis.com/geocode?flags=J&appid=yourappid&location=eiffel+tower,+france

which would return a similarly structured JSON response as follows:


{ "ResultSet" : { "Error" : 0,
      "ErrorMessage" : "No error",
      "Found" : 1,
      "Locale" : "us_US",
      "Quality" : 90,
      "Results" : [ { "city" : "Paris",
            "country" : "France",
            "countrycode" : "FR",
            "county" : "Paris",
            "countycode" : "75",
            "hash" : "",
            "house" : "",
            "latitude" : "48.858189",
            "line1" : "Eiffel Tower",
            "line2" : "75007 Paris",
            "line3" : "",
            "line4" : "France",
            "longitude" : "2.294490",
            "name" : "Eiffel Tower",
            "neighborhood" : "",
            "offsetlat" : "48.858189",
            "offsetlon" : "2.294490",
            "postal" : "75007",
            "quality" : 90,
            "radius" : 100,
            "state" : "Ile-de-France",
            "statecode" : "",
            "street" : "",
            "unit" : "",
            "unittype" : "",
            "uzip" : "75007",
            "woeid" : 22907017,
            "woetype" : 20,
            "xstreet" : ""
          } ],
      "version" : "1.0"
    } }

You can do all sorts of things with the responses you get back from PlaceFinder. For our purposes, we merely want to display the location coordinates.

Wiring up blocks

It’s time to open the App Inventor Blocks Editor and hook up our app components. Launch the Editor from the upper right of the Designer interface. Once it loads you can begin hooking together your components’ methods and properties to be executed and set when certain events are generated during app execution.

First, we need to setup the chain that processes input. Select your button, then its Button.Click method. You can then drag in the Web.Url property and supporting components including Web.Get to generate and issue the web API call. Note that you need to use the Web.UriEncode method to encode the location input from the user so that it can be correctly appended to the web API call’s URL. When everything is wired up, the input portion of your app should look something like this (with yourappid replaced by your own ID, of course):

Now that we have our input wired together, we need to drag and wire up the logic to process and display the coordinates returned by the PlaceFinder web API.

For each of the latitude and longitude values, we use the JSON response content, along with a start and end tag from that content, to parse out the pertinent coordinate value. The values are then set via the lat and lon Label.Text properties.

Note how I define a new ParseJSONResponse component to handle the actual parsing. I also use a temporary text variable, tmpData, during parsing.

That’s it! We now have a complete, deployable Android application which queries a the Yahoo PlaceFinder web API and provides information back to the user based upon the user’s requested location. Not too bad, right?

Getting coordinates with our Android app

Now that the app is complete, let’s run it.

You can access and manipulate all of the source blocks from my project pictured above by downloading the project ZIP archive from GitHub (click here to download) and then selecting “More Actions” -> “Upload Source” in the main App Inventor window (see previous article for more on this process). The GitHub project is available from the “Downloads” button here: https://github.com/billday/App-Inventor-Web-Apps

Note: In order to execute the example, you will need to change the yourappid text in the input portion of the program logic in the Blocks Editor to be your own Yahoo Application ID as mentioned above.

You should spend some time working through the Designer and Editor until you thoroughly understand how and why the web API parsing and Android interface components used in this example work. You may also wish two review one of these two examples provided by other developers (I took inspiration from both as I prepared this article): Using the Web component to access Yahoo Finance stock information and the Google Books API.

If you fire up and connect to the emulator as discussed in the first installment in this series, you should now see:

Entering in a location and clicking the “Click to get coordinates” button should execute the call to the PlaceFinder web API and return lat/lon coordinates for the best match to the location you specify.

For instance, if you enter a location of “Eiffel Tower”, you should get back the following:

You can also download the example packaged as an Android application from GitHub: Click here to download the APK. You can run this directly on your own Android device so long as you have it configured to allow non-market apps.

Click here to read the complete article on the PayPal X Developer Network including some conclusions and information on what’s coming in the next part in the series.

X.commerce Android Apps the Easy Way, Part 1: Understanding App Inventor

I am on a never ending quest to teach others about new ways to make commerce and mobile development simpler and faster. When I find something that can potentially enable both in one fell swoop, I get very excited!

What’s caught my attention lately? Google’s App Inventor for Android (@AppInv) and X.commerce web APIs allow you to build commerce apps quickly and visually using web based communication.

This article is the first in a series in which I’ll examine how to use App Inventor along with eBay’s web APIs to build Android commerce apps. In this installment, I’ll introduce App Inventor. I’ll discuss what it is, how to setup the development software and start using it, how to share App Inventor built projects and apps, and some of the limitations of this approach versus developing Android apps in Java using the Android SDK.

Future articles will look at how to access RESTful web APIs from App Inventor and what you can do with the eBay APIs. The final article in this series will build upon all the previous ones to walk you through creating an example Android eBay commerce app built using App Inventor.

What is App Inventor?

If you follow technology news, you know that Android has been a shining star of mobile success for Google. We’ve written quite a bit about Android here in the DevZone, and for good reason: It provides an open, flexible, widely adopted mobile application platform that enables you to build just about any kind of app you can dream up. But in order to develop for Android and use the Android SDK, one needs to be relatively facile with Java programming.

Some smart folks at Google Labs thought it would be interesting to try removing that Java programming restriction. Enter App Inventor.

As Google describes it on their “What is App Inventor” page:

App Inventor lets you develop applications for Android phones using a web browser and either a connected phone or emulator. The App Inventor servers store your work and help you keep track of your projects.

The key pieces of software that you use to build your app include:

  • App Inventor Designer – used to select components for your application
  • App Inventor Blocks Editor – once you’ve select components in the designer, you specify their behavior by assembling them together here
  • Android emulator – used to execute your applications; alternatively, you may connect a real Android-based phone to your system and test deploy your apps to it (recommended if you have an Android handset)

We’ll step through how to set up and use the App Inventor software later in this article. To get a feel at this point for how App Inventor works, I’d encourage you to watch the App Inventor introductory video below (click here to jump to the video on YouTube if the embed below isn’t working for you).

Hopefully you now have a feel for what App Inventor is and the basics of how to use it. It’s time to get it installed and give it a test drive!

Setting up the software

You should follow the provided App Inventor setup instructions to get up and running quickly. Click here to access the instructions.

Important points:

  • You need a Mac, Windows, or Linux system (detailed specs in the setup instructions linked to above)
  • You need a relatively recent version of either the Firefox, Safari, Chrome, or Internet Explorer browser (again details in the setup instructions)
  • You need to have Java 6 installed and properly configured to be able to run Java Web Start applications

You should test your installation by loading the App Inventor Java test page at: http://appinventor.googlelabs.com/ode/JWSTest/AppInvJWSTest.html

Assuming the first part of the test (browser configuration check) passes, you should then click the orange Java icon “Launch” button to test launch a simple provided Java Web Start application (in this case, a Notepad). If all goes well the Notepad will launch and you should see something like this:

Once you have passed the browser and Java configuration stages, you still need to install App Inventor Setup into your development system. This contains the Android emulator and drivers for various Android hardware (the designer runs in the browser and the block editor via Java Web Start). Download and install the setup program via the instructions appropriate to your operating system:

Getting started

After installing the setup software, you are ready to do one of two things: Either setup your Android phone for development or build your first app with the emulator.

Although there are certainly some development and testing advantages to using a real phone, and I would recommend you do so for serious application development, we’ll stick with the emulator for consistency’s sake for the rest of this article. So, click here to start working through building a simple app in the emulator.

Google has provided very detailed instructions for you to follow as you build your first App Inventor app. The instructions being here: http://appinventor.googlelabs.com/learn/setup/hellopurr/hellopurremulatorpart1.html

Rather than reinvent the wheel, I thought I’d just call out the major steps and let you get all the details you need from their instruction page and the previously embedded example video. The main things you need to do to get a new project underway are:

  1. Navigate to http://appinventor.googlelabs.com/ (this will launch App Inventor in your browser)
  2. Create a new project
  3. Drag and drop a “Button” component into the viewer (Screen1)
  4. Upload an image for your button (I chose to use my ugly mug as shown below) and remove the unwanted button text as directed in the directions linked to above.
  5. Launch the editor by clicking “Open the Blocks Editor” in the designer browser window (this will launch a Java Web Start download and may require you to approve several steps via popup windows before the blocks editor launches in a separate window)
  6. Launch the emulator by clicking “New emulator” in the editor window (as noted in the screenshot below, this may take several minutes before it’s ready)

Once everything is launched and you’ve swiped right to unlock the emulator screen if necessary, click “Connect to device” in the blocks editor window and select your emulator instance; more magic will happen (this may also take awhile) and then, presto, you should see your app including the button image you specified running in the emulator.

Now you are ready to complete your application. Click here to work through the second part of the provided example including adding some text with a “Label” component and a “Sound” which you wire up to play when a user clicks on your image button.

The only thing left to do now is to make your app available for others to use. You do this by selecting “Package for Phone”. From there you can choose to:

  • Show Barcode – provides a QR code that Android users can scan to install your app
  • Download to this Computer – lets you save a local Android Package (.apk) containing your app which you can then use or redistribute to others as you see fit
  • Download to Connected Phone – lets you deploy immediately to any phone you’ve been developing with

And that’s about all there is to building a simple Android app using App Inventor!

Click here to read the complete post on the PayPal X Developer Network including a discussion of limitations of using App Inventor versus the full Android SDK.

Senior Developer position in Denver

Also passing this along for talent scout Kelley Zwisler of Goldstone Partners:

Senior Developer (Mobile and Web)

A3 Media Network is an international company whose customers include the largest mobile companies around the world and customers of their app stores. We create mobile apps, TV apps and mobile websites that bring our huge library of videos and images from leading entertainment brands to cutting edge devices all around the world. We are expanding our team of APP DEV NINJAS to create a collection of the greatest apps that mankind has ever seen!

About the role:
Do you like to stay on top of the latest and greatest gadgets and software?
Are you passionate about working with digital media?
Do you love geekin’ out and getting paid for it?
Are you detail oriented, responsible, fun and interesting?
Do you like to play with the coolest new phones?
Would you like to see your creations come to life on them?

Get ready digital media master, the job you’ve been waiting for is here!!!

Here’s how you’ll be spending your days:

  • Developing and designing interface, coding and metadata handling for mobile applications, emerging application development platforms (tablets, connected TV, and beyond), and web sites across several platforms
  • Prototype design, functional mockups, interface design, content updates and site/app maintenance
  • Designing frameworks for products that work within mobile web browsers and can be adapted into smartphone apps
  • Monitoring app/site traffic and scaling site capacity to meet traffic demands and maintain site performance
  • Tracking traffic and conversion stats and adjusting sites to increase conversion and retention
  • Working with internal and external developers to create, implement and improve internal content management systems and site publishing tools
  • Select, edit, resize, rename, transcode and otherwise prepare media for mobile delivery
  • Providing time estimates and manage project timelines for site development
  • Staying on top of the state of the art in web design, mobile development, mobile delivery platforms and tools, and emerging new media platforms.
  • Providing quality control and testing of mobile sites across a variety of handsets and carriers

What you’ll bring to the table

  • Bachelor’s degree in Computer Programming or related Web discipline
  • Advanced and demonstrated competency in OO design/development
  • Sandbox experience with HTML5, jQuery, JSON, CSS3 (including transitions and animations)
  • Comfortable with open source language including PHP, MySQL, HTML, JavaScript, CSS, AJAX
  • Demonstrated ability to deliver rapid prototypes and fast turnaround on layouts and wireframes
  • Able to design, code and assemble an entire website from concept to delivery
  • Your tools of choice include: Phonegap, CouchDB, Objective C, Android SDK, Java, Blackberry SDK, WebOS, Windows Mobile, Qt, Symbian, mySQL, PHP, Flash and ActionScript
  • Experience creating Content Management Systems (CMS)
  • In your spare time you’ve developed a knack for desktop image editing tools (Photoshop, Image Ready, Illustrator) and video editing tools including Final Cut Pro

And finally what you’ll enjoy:

  • Competitive Salary
  • Nice package of benefits including health club subsidy
  • Exposure to the international media scene
  • A very cool team of new media gurus to hang out with
  • The opportunity to play with really cutting edge technology and get paid for it!

Goldstone Partners is helping this fast growing and very cool new media group find world-class talent that is shaping the next generation of consumer entertainment. Please send your resume to me personally at success@goldstonepartners.com. Principals only please. Unfortunately we are unable to support relocation or sponsorships at this time.

Mobile App Developer position in Denver

Passing this along for talent scout Kelley Zwisler of Goldstone Partners:

MOBILE APP DEVELOPER (IOS, Android, Windows Mobile)

A3 Media Network is an international company whose customers include the largest mobile companies around the world and customers of their app stores. We create mobile apps, TV apps and mobile websites that bring our huge library of videos and images from leading entertainment brands to cutting edge devices all around the world. We are expanding our team of APP DEV NINJAS to create a collection of the greatest apps that mankind has ever seen!

About the role:
Do you like to stay on top of the latest and greatest gadgets and software?
Are you passionate about working with digital media?
Do you love geeking out and getting paid for it?
Are you detail oriented, responsible, fun and interesting?
Do you like to play with the coolest new phones?
Would you like to see your creations come to life on them?

Get ready digital media master, the job you’ve been waiting for is here!!!

Here’s how you’ll be spending your days:

  • Developing and designing interface, coding and metadata handling for mobile applications, emerging application development platforms (tablets, connected TV, and beyond), and web sites across several platforms
  • Prototype design, functional mockups, interface design, content updates and site/app maintenance
  • Designing frameworks for products that work within mobile web browsers and can be adapted into smartphone apps
  • Monitoring app/site traffic and scaling site capacity to meet traffic demands and maintain site performance
  • Tracking traffic and conversion stats and adjusting sites to increase conversion and retention
  • Updating sites with a steady flow of new content and features
  • Implementing our affiliate programs and integrating with other affiliate programs. Tracking and maintaining affiliate stats.
  • Integrating up-sells and cross-sells, search engine optimization, keyword buys, marketing campaigns, advertising, SMS campaigns, and web promotion. Tracking results and optimizing each associated revenue stream
  • Working with internal and external developers to create, implement and improve internal content management systems and site publishing tools
  • Select, edit, resize, rename, transcode and otherwise prepare media for mobile delivery
  • Providing time estimates and manage project timelines for site development
  • Staying on top of the state of the art in web design, mobile development, mobile delivery platforms and tools, and emerging new media platforms.
  • Providing quality control and testing of mobile sites across a variety of handsets and carriers

What you’ll bring to the table:

  • Bachelor’s degree in Computer Programming or related Web discipline
  • Intermediate/Expert in HTML5, jQuery, JSON, CSS3 (including transitions and animations)
  • Demonstrated ability to deliver rapid prototypes and fast turnaround on layouts and wireframes
  • Able to design, code and assemble an entire website from concept to delivery
  • Your tools of choice include: Phonegap, CouchDB, Objective C, Android SDK, Java, Blackberry SDK, WebOS, Windows Mobile, Qt, Symbian, mySQL, PHP, Flash and ActionScript
  • Experience with affiliate programs, web traffic generation, web banner and ad creation
  • In your spare time you’ve developed a knack for desktop image editing tools (Photoshop, Image Ready, Illustrator) and video editing tools including Final Cut Pro

And finally what you’ll enjoy:

  • Competitive Salary
  • Nice package of benefits including health club subsidy
  • Exposure to the international media scene
  • A very cool team of new media gurus to hang out with
  • The opportunity to play with really cutting edge technology and get paid for it!

Goldstone Partners is helping this fast growing and very cool new media group find world-class talent that is shaping the next generation of consumer entertainment. Please send your resume to me personally at success@goldstonepartners.com. Principals only please. Unfortunately we are unable to support relocation or sponsorships at this time.

eBay developer resources

https://developer.ebay.com/App_Themes/default/i/fresh/imgDevLogo_237x40.png

A few weeks ago I wrote about the announcement of the merger of the eBay, PayPal, and Magento developer platforms and communities under the X.commerce banner.

As many of us are getting up to speed on eBay opportunities now rather than waiting until after the merger, I thought it might be useful to gather together some of the important resources one would need to learn about and use eBay developer technologies.  I will write a separate post looking at Magento developer resources, too.

Here are some of the top level sites and information you should check out as you start doing eBay-based development:

Click to read the complete post on the PayPal X Developer Network including how to submit your own eBay development resources for other developers’ benefit.

Notes from the week of 2011-08-07

RunKeeper and the Health Graph API

PayPal X Platform

Wireless and mobility

Personal things

  • The temperature just dropped 30 deg F as a strong thunderstorm passed our house. Blessed rain! #

Running

Summertime, and the highlights are easy

July 2011 has come and gone and I can’t say I enjoyed the 100+ degree F high temperatures in my area.

I did enjoy all the payments news and goings-on, however.  So without further ado, let’s get to some of the highlights.

PayPal published the final two articles in my six part series on Alternative Payment Systems.  Part 5 examined mobile card readers from Square and Intuit GoPayment, while Part 6 summarized the series and cross-compared all of the systems against PayPal and each other.   I discussed key takeways from the series and linked to all six of the articles in a blog post and a related bit.ly bundle (click here for the post, here for the bundle).

I found it very educational to write this series.  I hope you found it equally enlightening to read.  And hopefully you reached the same conclusion I did:  While each of the alternatives has their strong points, none are as broad in their capabilities, and widely useful in their applicability, as the PayPal X Platform and PayPal solutions.

Moving on to other things, here’s a quick recap of my other DevZone writing from last month:

Other news not to miss from last month:

Click to read the complete post on the PayPal X Developer Network including links to previous month’s highlights.

Notes from the week of 2011-07-31

PayPal X Platform

Wireless and mobility

Personal things

Running

Do Facebook Credits abuse monopoly power?

I’ve written a decent amount about Facebook APIs and payments over the last few months, including a recent article on Facebook Credits as part of my Alternative Payment Systems series for X.com.

A quick recap:  Facebook Credits is a virtual and online currency used within the Facebook application platform.  Facebook’s Credits API is similar to the PayPal X Platform’s Express Checkout, but currently only works for Facebook-based applications.  Facebook takes a whopping 30% cut of each purchase made using credits, and yet as of 1 July 2011, Facebook began requiring Facebook platform game developers to use Facebook Credits exclusively for payments and purchases.

This last point about the required use of Credits and its 30% fee should give developers pause.  In fact, it’s a major point in a recent complaint brought by Consumer Watchdog against Facebook to the U.S. Federal Trade Commission (FTC).  Click here to read the full complaint.

https://www.x.com/servlet/JiveServlet/downloadBody/3662-102-1-4064/20110518_article_facebookSM.jpg

In effect, Consumer Watchdog is claiming that Facebook is abusing its power in pricing transactions on its Facebook Platform.  Their claims go beyond just gaming transactions, since they note that Facebook could easily apply the same policy to the purchase of other things such as movies, music, and “other real goods“.  This claim may be presumptuous, or it may just be common sense; time will tell.

Click to read the complete post on the PayPal X Developer Network including more about Consumer Watchdog’s other, Zynga related claim and some links for further reading.

Design a site like this with WordPress.com
Get started