33 comments

[ 2.0 ms ] story [ 62.0 ms ] thread
From the email they sent me:

"Migrating to GREE Platform is easy and a basic integration can take less than a week of engineering time. In addition, migrating your game to GREE Platform allows you to keep your user data and player scores. Please note that migrating to GREE Platform will require you to remove the OpenFeint SDK and re-submit your game to the appropriate platform."

Three cheers for subcontracted proprietary services!

Perfect example of why you should roll your own platform libraries, or at least try to use an open source engine that allows you to control the servers.

All those users just lost faith in yet another service, and all these guys are doing is saying "Hey, we failed you as a SAAS vendor, but we made $100 million, so lube up and try GREE because they need to [overcharge you voraciously to] recoup their investment.

You'd think the geniuses in the game industry could put their collective [self acclaimed] intellects together to come up with a platform agnostic approach to these common issues, and open source it for the betterment of the customer.

Oh, yeah... the... customer. Oops.

>>>>>>>>>>> UPDATE <<<<<<<<<<

OOH.. and it gets better... From GREE's agreement, paraphrased:

ARTICLE 5: Virtual Currency; Revenue Sharing

We've created our own currencies, not unlike BitCoin, called J-Coins and G-Coins. We reserve the right to change the ratios to capture more revenue, but right now you should just trust us that we're being honest.

Customers will pay US, not you. We'll tell you how much they spent of that money with you, and then pay you what we think is fair, in our sole discretion.

Oh yeah, to further confuse the customer, you can't call YOUR currency anything like ours, and we get to decide what you call it, and if you don't change it, we don't have to pay you.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Where the f* do I SIGN UP!!!

I don't think rolling your own, or hosting your own is a feasible option for indie mobile and social game developers in the current climate short development cycles and small budgets.
The whole POINT of OpenFeint was basically: Hey, indie game developers! We know that building and running a game server is really hard and expensive. Why don't you let us run the servers for you, and you just use our (fairly simple and easy-to-integrate) SDK to make some calls to set high scores and unlock achievements?
Exactly, and they sold out and screwed the indies.

If you think OpenFeint had issues, just try getting your concerns addressed now that (a) GREE is in Japan, (b) time shifted 13 or so hours ahead of the US, and (c) works in YEN and uses at least two levels of currency conversion to compute your revenues.

I actually used to work at OpenFeint (and was there through the GREE acquisition). This is a sad day for me.
You have two options:

1. Use a hosted service, and IF they end up shutting down either migrate to another similar service or roll your own.

2. Roll your own from the start.

I'm having a hard time seeing why option 2 is better. Just make sure the services you use give you a clean migration path.

A lot of game developers don't have experience building web services, so it makes sense to outsource the things that aren't their core competency. Do we really want every game developer rolling their own potentially unreliable, unscalable, insecure web services?

I came to the same conclusion for adding usage logging and promo codes to my app. Use Parse for now but try not to use too much of their API and to keep it to a couple of particular lasses that I access it through so that if I need to move it is just a day changing the app and one or two setting up and securing a server with a database.

Not a game but a lists app focussed on reusable lists for things like shopping and packing with a couple of neat features. Http://iTunes.com/apps/fastlists. Free with in-apps if you like it.

I haven't decided how to do shared lists yet, iCloud, Parse, custom server or something else.

For those who don't know the backstory, as I didn't: Openfeint was acquired by Gree last year for $104 million.
Heyzap (YC'09) is launching leader-boards on Android and iPhone. Still in alpha but we have some good results, you can check them out here:

http://developers.heyzap.com/

Unlike most other leader-board services everyone has a name and most people have a picture, so you don't see a lot of playerxxxxx scores, and we give you lots of ways of seeing/challenging your friends. If you have an Android you can try it out on: https://play.google.com/store/apps/details?id=com.piratemonk...

You could roll your own, the benefit in using us is that a) its easy (< 1 hour). b) it allows you to leverage our user base. c) We are working aggressively to add new features like challenges

Get in touch if you are interested or have any questions.

Question: What is your revenue model? What is your motivation not to go the way of the article we were all just reading, reminding us never to trust a platform because it will shut down and leave us with our thumbs up our asses?
I'm sure the guys at HeyZap are good people with the best of intentions, but the issue is that they can't predict the future.

They can't tell you that their servers will be compromised, and all your users will be open game. They can't promise you that they won't bring in a CEO that just wants to get the company sold, and doesn't care about the developers or their customers.

They can't tell you that when they pivot, all your games will be busted. Not because they're hiding this gem from you.

It's simply because they don't know it.

When you roll your own, you know it's going to survive because YOU are responsible for it.

No BS politics are going to force you down an ridiculous migration path you don't already know about, and since YOU are the CEO, you can sell out and not worry about screwing companies who are dependent on your product or service.

Even IF you choose to use a third party, you owe it to yourself to write your own and mirror that data on to yours so that when, not IF, they go down or out, you can flip a switch and you're back in business within seconds, not days.

The deal with GREE stinks of potential currency manipulation, IMHO, and I wouldn't put my livelihood in their hands for one minute. Again, not because they're bad people - I don't know them from Adam, but because they've already shown that they're willing to allow the customer, we developers, to do ALL the work to satisfy THEIR migration to their API instead of requiring OpenFeint to develop a transparent proxy layer and make it turnkey.

Don't indie developers have enough to do already?

People use Heyzap to install games, so its a pretty good opportunity to promote games to them.

We have a sustainable business model and are not too far from profitable with 16 employees.

We also have an API and will make it very easy for developers to download all the data if they ever want it. Openfeint is unfortunately not allowing that at all.

Okay then, why can I scan all your user data without an account or any authentication?

This URL: http://www.heyzap.com/api/v1/users/search?q=mike

Allows me to anonymously see numerous (limited by # of results) users records.

When I choose one from the list and go to this URL: http://www.heyzap.com/api/v1/users/mike_midkiff/activity

I see all of Mike Midkiff's info. All the games he has, WHERE he played (are you f'in kidding me??????), HOW MUCH he paid, and even his unique ID.

hackers, wake up. Bad engineering is bad.

Only the developer whose game Mike bought should be able to request his information, and ONLY relative to that developers game.

Hell. If someone gets mad at him in game, they can use YOUR API to track him down and beat the crap out of him.

Nice.

Mike has a public profile and his activity is public. Its like being able to read peoples public Tweets.

Edit: Location is optional (based on user) and we only give city level with a truncated Lat/Long. Again this is the same as twitter/instagram etc.

Just admit it's a bad implementation and commit to fix it.

Except with Twitter and Instagram, I need to authenticate to get the information about WHERE an action occurred, so at least there's a trail.

With your implementation, I can scan all my competitors users with public profiles (at the very least) and see who's buying what.

If this is a transparency play, then say that and make a stink about it. But when Mike gets the crap kicked out of him, also step up and cover his medical bills.

Edit: Okay.. so the location IS truncated, kudos. Why is this an unauthenticated API?

You sound angry, calm down.

I fail to see your point. I could also just go here http://www.heyzap.com/profile/mike_midkiff and scrape for the same data.

I am SOOO not angry, just shocked.

HeyZap didn't build the games that power them, the developers did. HeyZap, in releasing information such as installs, etc., to unauthenticated API calls is saying "This is HEYZAP's data".

It's not. It's the developers data too.

Without that developers game, you'd have NO data, and each player is a customer of the developer once they buy the game. They're not just HeyZap's users, they are paid customers of that developer.

Treat your developers businesses with respect and limit information to the developer and let them decide if they want to release it.

Hi, just to clarify, we don't have install data or anything from developers, only public information of what's on the app store, and what users share on Heyzap. It is the user's right to share this information if they would like to, in the same way that I can leave a review of an app without the developer's permission.
Wow.. EVEN better than I thought. I can get all the developers sales and stats just following a single, unauthenticated link:

http://www.heyzap.com/api/v1/games/Kqh-bubble-shoot

{ "game": { "checkins_count": 876134, "developer_name": "RUNNERGAMES", "activity_url": "http://www.heyzap.com/api/v1/games/Kqh-bubble-shoot/activity, "android_package": "com.game.BubbleShoot", "tips_and_questions_count": 773, "checkins_url": "http://www.heyzap.com/api/v1/games/Kqh-bubble-shoot/activity..., "description": null, "players_count": 52612, "questions_url": "http://www.heyzap.com/api/v1/games/Kqh-bubble-shoot/activity..., "web_url": "http://www.heyzap.com/game/Kqh-bubble-shoot, "players_url": "http://www.heyzap.com/api/v1/games/Kqh-bubble-shoot/players, "url": "http://www.heyzap.com/api/v1/games/Kqh-bubble-shoot, "tips_url": "http://www.heyzap.com/api/v1/games/Kqh-bubble-shoot/activity..., "thumbnail_url": "http://d2ruqtjkg8og7r.cloudfront.net/mobile_game_icon_com.ga..., "name": "Bubble Shoot", "id": "Kqh-bubble-shoot", "android_price": "Free" } }

AND if I go HERE, I can see ALL the checkins with their locations, again without authentication: http://www.heyzap.com/api/v1/games/Kqh-bubble-shoot/activity

{ "activity": [ { "type": "checkin", "like_count": 0, "message": "", "comment_count": 0, "created_at": 1353111191, "user": { "display_name": "emil", "profile_image_url": "http://www.heyzap.com/legacy/images/users/default_user_photo..., "web_url": "http://www.heyzap.com/profile/emilgousfendi, "url": "http://www.heyzap.com/api/v1/users/emilgousfendi, "username": "emilgousfendi", "id": "emilgousfendi" }, "location": { "truncated_longitude": 106.963, "city": "Bekasi", "truncated_latitude": -6.356, "country": "ID" }, "updated_at": 1353111191, "id": 192146287, "time_ago": "just now", "game": { "android_package": "com.game.BubbleShoot", "web_url": "http://www.heyzap.com/game/Kqh-bubble-shoot, "url": "http://www.heyzap.com/api/v1/games/Kqh-bubble-shoot, "thumbnail_url": "http://d2ruqtjkg8og7r.cloudfront.net/mobile_game_icon_com.ga..., "name": "Bubble Shoot", "android_price": "Free", "id": "Kqh-bubble-shoot" } },

...

I don't really understand your point about authenticated API's.

It seems like twitters API is just authenticated because they want control over the apps that access use it, and not expressly for user's privacy.

For example, this trends map (http://trendsmap.com/) is presumably based on twitters API, has location data, and is open for anyone to access.

Thanks for all that public information. edit: I should really be thanking immad for confirming this data is available for open and free consumption without restrictions.
I thought your first post in this thread was missing the point a bit (i.e., these platforms exist for social integration, so rolling your own doesn't really address the bigger goal of these systems. But this one? This is great stuff. Thanks for taking the time to do this.
My point was simply to spur the industry on to build an open source implementation that anyone can use and run, a la PhoneGap, Apache or PostgreSQL.

I wasn't missing the point. OpenFeint was built on the backs of indie developers, and they sold out and didn't protect the indie developer. Okay, so selling out isn't so bad, but why then make the developers do all the work to get compatibility when THEY were the ones that made you rich?

I don't play tons of mobile games but OpenFeint has been one of the most annoying things to deal with in a lot of the games I play. It slows everything down constantly bothers me with integration popup and adds absolutely nothing to my experience. It sucks for a lot of games and probably a lot of (less casual) gamers but I'm glad I won't be dealing with it in games anymore.
Just what I wanted to say. "OpenFeint Service Shutdown... and nothing of value was lost."
Yes, I don't want those AWESOME features! Thank you.
Finally! I get my name back.
FTW ( http://www.ftw.co ) is an alternative which is in the same space. I did some work for them on the Android side of things.
Something doesn't add up. They are claiming a dec14 shutdown. Regular app approval delay on iOS is maybe one week, but really two during the holiday season. Let's be generous and say that publishers will take only one week to implement the new SDK. That only leaves 10 days of wiggle room? Yikes.
From the end-user (very casual gamer) standpoint, good riddance. When it came out as an a feature of the "upgraded" AuroraFeint, I chucked the game I spent most of my gaming time playing, and have since avoided everything that used it, regardless of how nice the game may have looked.