MiniFB vs Koala vs Mogli - Facebook Graph Api Ruby Gems

There are a lot of gems for connecting to Facebook's API, and I've wound up using several of them.  Here are my thoughts:

MiniFB

One of the first, and supports the graph api as well as the old REST api. If you think the REST api doesn't matter, think again.  Last time I checked, there was still a fair bit of useful functionality that had not yet been migrated to the Graph API.  So having both is pretty important.  

The gem doesn't come with anything but API wrappers.  So there are no partials to help you embed the javascript bits into your Rails app or anything.  Frankly, if you're using the JS api, you really need to understand how all of that works anyway, so having the partials I don't find to be particularly helpful.  

The return values you get from MiniFB are just deserialized JSON.  This is really what you want, because the Facebook API changes quite frequently. Just deserializing the JSON means that you aren't constantly having to update your gem, or worse, fork and update.

Mogli (and Facebooker2)

Logging in to Facebook is tricky.  There are a lot of edge cases.  With MiniFB, you have to implement this on your own.  Facebooker2 provides some help in that area.  It requires Mogli.  In a nutshell, Facebooker2 helps with authentication/authorization, and Mogli is the Graph client.  

Facebooker2 does a great job. I can't really give Mogli the same recommendation though.  The problem with Mogli is that they've tried to create classes around every conceivable Facebook component...  except for when they don't.  Occasionally it deserializes to Hashes.  It's the worst of all worlds.  When using custom classes, you lose data that the classes can't yet deserialize.  You also wind up a warning sent out for every one of those fields.  When you're using hashes, you're confused because you were just using classes a second ago.  

I am using Facebooker2, which means Mogli is in my list of dependencies, but I'm no longer using it for my graph access.  It was just too painful.

Koala

I've JUST switched to Koala.  So far, I'm loving it! It has all of the advantages of MiniFB's simple serialization mechanism, but to that, it adds:

Documentation:  MiniFB has docs, but they're not quite this complete

Specs

Finally, it appears to be more actively developed.  

Verdict: Koala so far is the best Facebook gem that I have yet tried.

Philly Startups Unite!

This has been a fascinating 2 weeks.  I finally dragged myself to IndyHall (a coworking space in the city) and have found a ton of great folks with fantastic entrepreneurial ideas.  It's always fun to meet other people like yourself, but I've been struck by the tremendous opportunity to connect us all, and help us all become tremendously more successful.  

Most of the Philadelphia entrepreneurs I've met are creators of one variety or another. I'm noticing that many of us are not supremely effective 'connector' types.  However, I've been studying effective entrepreneurs, and this appears to be exactly the skill they DO have.  Repeatedly, it seems like many of us take a "If you build it, they will come" viewpoint.  It's comfortable. It's easy.  

It's virtually guaranteed to fail.

I propose we unite. We band together to support one another in our tech-related startups, and hold each other accountable for becoming better, more well-rounded entrepreneurs. There's a lot of simple things we can do to get started. We start with these, and then we see where it takes us.

  1. Connect with one another in every conceivable online venue.  Different things seem to appeal to different user groups.  Some of us may find success via HackerNews, some via StumbleUpon. We must be prepared to support one another in every conceivable forum. Toward that end, let's all create AboutMe accounts, and be absurdly complete with them. Here's mine:  Jeff Deville  
  2. Come launch time, we're going to do the best we can to get behind one another, and push like hell. Use our personal network to pimp out ideas we believe in, and see if we can't push one another over that critical hump. That'll mean upvoting, tweeting, using, buying, etc.  
  3. Subscribe to the philly startup user group, introduce yourself, and your about.me page so everyone can go follow you and your various ventures.
    Google Groups
    Subscribe to LeanStartupPhilly
    Email: Visit this group
  4. Practice your pitch on us via the forums.  I'm hoping that we'll be small enough and engaged enough to support each other in this.  We all need the practice!  Beyond that, tell us about releases, struggles, new tools etc. This forum is for community, and I want everyone to feel open about posting to it. 
  5. Try to make it in to some meetings at Indy Hall.  We're going to try and meet at lunch on Fridays.  Bring your pitch, be prepared to tell us what you're struggling with.  Or just tell us about your plans, and see if we can't help you improve upon them.  The where and when here may evolve over time, but I highly encourage you to try and meet up with us face to face. I guarantee that it'll be worth it.  You won't be charged just to attend the meeting.
  6. Start working on some marketing material for your startup. I'm going to create a blog for all of us to post news-worthy stories for our respective startups.  Then, I'm hoping we'll all help market that blog as a source for local news agencies, for when they need some content.  This is gonna take some work, but getting external press is one of the best ways for us to get the word out!  If you have any best practices, or suggestions, make sure you post them to the group!

So who's with me? 

What I've learned about marketing your iOS mobile app

Let me be up front here. I'm not an expert in this area.  I've talked to a few, but I myself don't even play one on TV.

I've gotten a lot of ideas from various friends on how to promote MixMeUp.  I've not released yet, but someone asked me to keep the list in the loop on what the plan was, so I figured I'd provide an update on the aspects that might be of interest to other people in the same boat:

 

1. 148apps.biz - This site provides a breakdown on what apps are in what category.  If you're torn between categories, I'd recommend picking a category with as little competition as possible. (Because I have so much experience, you understand. :-/)  You can apparently change categories pretty easily.
2. App Store Downloads - What I hear over and over here is that you need to get a lot of downloads compressed into a small amount of time.  This would seem to argue for making the app cheaper, all else being equal.  For example, I tested how much people would pay for my app, and found very little difference in revenue at $1, vs $2. That of course means twice as many people download my app when it's $1, which presumably carries a placement reward.
3. External Traffic: Everyone seems to agree that you need to find a way to drive traffic externally to your app.
4. Ad supported vs Paid vs InApp purchasing vs Free Version + Paid Version -
  • Ad supported: Means you are expecting people to use your app quite a bit. For something like MixMeUp, which is designed to be helpful quickly, I'm not really expecting that to be the case.  
  • In App purchasing: seems to generate the most revenue for games and magazines. Looking at The Top Grossing apps in the itunes store, those were the only two types of apps I saw in the top 25 that used in app purchases.  
  • Free vs Paid apps: The struggle here presumably is that you have to find a way to promote each app independently. The up side, is that you can show up in both the Free and Paid filters in the app. I don't know which direction to go, but I do know that I've paid for a lot of free apps and then upgraded to paid. That's just 1 data point, but the idea of a 'trial' purchase is hardly new.  That's essentially what you're providing here.
5. Ask for reviews: I have no research to back this up, but I've seen a lot of apps starting to ask for reviews after a few usages.  Presumably, if you use the app more than once, you're provide positive feedback.  Seems reasonable, but I'm not entirely sure how to test it.

If you'd like to keep tabs on our progress, or the app idea interests you, please drop by our launchrock page: MixMeUp or follow us on twitter: @mixmeupapp

I've culled this information from a number of folks, but I'd especially like to call out Daniel Hutchins from Flurry.com, who spent quite a lot of time on the phone walking me through a lot of this information.  He was extremely helpful and gracious with his time.

If you have any other ideas / suggestions, please let me know. Maybe we can help each other out.