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.

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.
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:
- Basic – UI and other commonly used components including
Button,Canvas,Checkbox,Clock,Image,Label,ListPicker,PasswordTextBox,Screen(one and only one per project, automatically created for you, and always namedScreen1),TextBox, andTinyDB. - Media – image and sound manipulating components including
Camera,ImagePicker,Player,Sound, andVideoPlayer. - Animation – a couple of components for sprite manipulation (
Balland the more generalImageSprite). - Social – components to handle picking a person or email from the Android contact list (
ContactPicker,EmailPicker), making phone calls (PhoneNumberPicker,PhoneCall), sending and receiving text messages (Texting), and working with Twitter (Twitter). - Sensor – use
AccelerometerSensor,LocationSensor, andOrientationSensorto detect physical acceleration, location, and orientation of the Android device. - Screen Arangement – components used to arrange on-screen user interface components
horizontally, in atable, orvertically. - LEGO® MINDSTORMS® – allow you to control NXT robots using Bluetooth; note that use of these components rrequires you to have also set a
BluetoothClientproperty in the Designer which specifies which component to use for Bluetooth communication with the robot (this communication component is part of the Other components, not Not ready for prime time as is incorrectly stated in at least one place in the LEGO® MINDSTORMS® documentation). - Other – contains a wide variety of useful components for such things as launching another Android activity (
ActivityStarter), scanning QR codes (BarcodeScanner; requires the free ZXing app), handling alerts and logging (Notifier), recognizing and generating speech (SpeechRecognizer,TextToSpeech), storing data in a lightweight web service (TinyWebDB), and communicating with Web servers and applications using HTTP GET and POST (Web). - Not ready for prime time – experimental components; check the online documentation for the latest available components and their capabilities, but be cautious about using them for anything other than your own experimentation and tinkering.
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.
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.
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.

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:
- The eBay Developers Program homepage is your logical starting point; links to API information, documentation, support, a quick start guide (when in doubt go here first), code samples in various programming languages, tools and SDKs, and much more.
- If you aren’t already a member, you can join the eBay Developer Program for free. Click here to read about the benefits, and here to join .
- Subscribe to the eBay Developers Program blog for the latest official information. Click here for the feed.
- You might also want to subscribe to and read the eBay Tech Blog for in depth information on how the eBay system is constructed, maintained, and operated.
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.
RunKeeper and the Health Graph API
- How @RunKeeper could become the Facebook of fitness http://bit.ly/rhEGod (*intriguing* Health Graph API http://bit.ly/pJ6NAG ) #
- Congrats @RunKeeper on 11 new @HealthGraphAPI partners http://bit.ly/o2ZbMT and the press from it http://tnw.co/q0V9iD http://bit.ly/oZ1prW #
- More on the @HealthGraphAPI enabling DIY electronic medical records http://bit.ly/of3MXl via @bryce #
- How to import @Garmin data into @RunKeeper http://bit.ly/riyDn8 #
PayPal X Platform
- Summertime, and the @PayPalX, payments, and developer news highlights are easy http://bit.ly/r2I5IN #
Wireless and mobility
- #Android development resources: @AppInv materials http://bit.ly/q4VISS including a new book http://amzn.to/o6G8yl from @OReillyMedia #
- Apple and Samsung are eating Nokia's smartphone lunch http://engt.co/nVlik6 #iPhone #Android #VeryBadNokiaStrategy #

Personal things
- The temperature just dropped 30 deg F as a strong thunderstorm passed our house. Blessed rain! #
Running
- My training last week: 2 workouts for 8.44 mi and 1047 calories burned http://bit.ly/mTiWGu #
- Ran 4.2 miles in 48 mins and felt good. First run of 16wk marathon training. Why does it have to be 112 deg F today?!? http://bit.ly/qDtCOk #
- Just posted 4.10mi (4mi run plus some cooldown at the end). http://t.co/wze3oCP #RunKeeper #
- 4.19 mi run – Blessed cloudy morning! http://t.co/JFxoB0n #RunKeeper #

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:
- I encouraged you to vote for your favorite Developer Challenge Android app; note that PayPal has subsequently announced the winners on the X.commerce blog (click here to read the announcement).
- PayPal hosted iOSDevCamp 2011 at their San Jose offices; click here to watch a video highlighting the event and some of the many iOS apps hacked together by attendees.
- eBay acquired Zong, and with it carrier billing capabilities for PayPal; this could open the door to millions of potential new customers for PayPal X based merchants and developers.
- I wrote a high level introduction on how to use PayPal’s new Invoicing APIS to programmatically create and send invoices; watch for updates to these APIs adding additional capabilities later this year.
- PayPal updated their iPhone mobile app to support a transaction history view, among other things.
- I pondered the complaint of abuse of monopoly power brought against Facebook by Consumer Watchdog; whether you believe Facebook’s been illegally playing the system or not, this one may be one to watch vis-à-vis control of the social graph and developer rights.
Other news not to miss from last month:
- Read about how eBay uses Hadoop from the eBay Tech Blog.
- There was a very interesting article on open data, mobile banking, and the app economy in Kenya published on O’Reilly Radar. Highly recommended if you’re interested in where things are headed with mobile services, and in how open data can foster innovation in Africa and elsewhere.
- Radar was apparently on a roll because they also published some good content on why you might want to use Java (perhaps again) and alternative JVM languages.
- Also on the JVM front, a look at Twitter’s architecture and why they’re shifting more and more code into the JVM (and it isn’t all Java, either).
- DevZone contributor Peter Georgeson wrote a very nice article on “Building a POS System with Android, QR Codes, and PayPal“.
- Excellent resource for developers as well as designers: “Designing for Android“.
- Another designer resource that might prove useful for mobile developers, too: How to create mobile web apps using HTML/CSS with Sencha Touch.
Click to read the complete post on the PayPal X Developer Network including links to previous month’s highlights.

PayPal X Platform
- Useful updates to the @PayPal iPhone app http://bit.ly/pqMQSf including three month transaction history #
- The @X_commerce Innovate Conference site is live at http://bit.ly/p4Mvv5 (@eBayDev, @PayPalX, and @Magento developers, please take note) #
Wireless and mobility
- Creating mobile web apps using HTML/CSS with Sencha Touch http://bit.ly/nAAFnT via @smashingmag #
Personal things
- My daughter's interpretation of "Monet's Water Lilies" @nelson_atkins: http://bit.ly/nLrRXj #namonet (fantastic museum, btw!) #
- It strikes me that Seth Godin on building a job versus a business http://bit.ly/rjjCp0 is really about an entrepreneur abstraction layer #
Running
- My training last week: 3 workouts for 13.98 mi and 1771 calories burned http://bit.ly/mTiWGu #
- Ran 6.2 miles in 1 hour and 5 mins and 16 secs and felt great. Final 10k training run before Bedlam Run. http://bit.ly/nId3pM #
- Ran 2.24 miles in 24 mins and felt good. Paces 8:37, 8:03, 8:23, 8:20, and 8:36. 90+ deg F. http://bit.ly/pXrez8 #
- Find the fastest known time on various trails and routes here: http://bit.ly/nEeXUc via @trailrunnermag #
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.

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.



