A lean, mean coding machine, Refael brews Rails in the morning, cooks Javascript for lunch, and crunches Objective-C for dinner. Between his weekly “swim” and daily espresso (well… green tea), Refael meditates on the meaning of life in the entrepreneurial trenches. Refael holds a B.Sc. in Software Engineering from Ben Gurion university and frequently lectures on advanced web technologies. A co-author of 4 patents, Refael brings experience from innovation groups in HP Software and in the startup scene.
Tech Resources

Setting up a new Mac for full stack development – UPDATED

This post is an update of an older post we had about how to set up shop on your mac: http://blog.soom.la/2014/04/setting-up-shop.html

Here we’ll describe the basic setup of every one of the engineers here in SOOMLA. This basic installation includes the basic essentials every full stack engineer needs.

Go through these stages to install the full stack

XCode installation

Using The OSX App Store, Install The Latest Version Of XCode, And Run It For The First Time

Command Line Tools

Next, Paste The Following Code In A New Terminal Window

xcode-select --install

Make your terminal work for you (dotfiles)

Everyone in SOOMLA works with the terminal. It’s the fastest and most efficient way to work as an engineer that needs to install things and run a lot of commands all the time.

dotfiles is a great project that incorporates many amazing people’s terminal configurations. We especially like mathiasbynens‘s stuff. It’s a great starting point to the perfect personal terminal configuration.

 Homebrew setup

Paste The Following Code In a Terminal Window

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • Update via the brew update Command
  • Verify Successful Installation via The brew doctor Command

Install different packages

Now we’ll be installing various programs using brew, for each program enter the following command brew install xxx, replacing each time.
You can easily verify installation by running xxx --version after, where xxx is the name of the installed package.

The programs we’ll install using brew (click for further info):

$ git version
git version 2.3.0
$ openssl version
OpenSSL 0.9.8zd 8 Jan 2015
$ redis-cli --version
redis-cli 2.8.19
$ mongod --version
db version v2.6.7

Downloading JDK 1.6

Download And Install JDK 1.6 For OSX here

Installing the Android SDK

  • Enter brew install android-sdk into Terminal
  • Run The android Command From Terminal And Follow Instructions To Continue Installing

Enter brew install android-ndk into Terminal to install.

Setting up your IDEs

These are the IDEs we work with at SOOMLA


Download and install here

Android Studio

Download and install here

Text Editor

There’s a great debate which text editor is good for you. I guess it’s everyone’s choice. This is how we rank the test editors (from best to pretty good):

  1. Atom
  2. Sublime
  3. Textmate 2
  4. Brackets – especially for web development.

Additional utilities you will need

Robomongo – MongoDB Management

Download and install here

Skitch – Image Annotation

Download and install here

StackEdit – Markdown Editor

Get it here

Meld – Use it for git diffs

Follow instructions here

Gitx – Use it to see your git history

Download and install here

Sequel Pro – MySql client

Download and install here

Keep – For notes

You should really try it here

Git-ify your command line

Go over this great post by @gurdotan: http://rubyglazed.tumblr.com/post/15772234418/git-ify-your-command-line
Your command line should be your main tool when using git. Get ready to git in the speed of light.

Online Services Sign-Up

Every team member should be signed up to these services

  • Github
  • Trello


Now you should be up and running, the SOOMLA way!

Feel free to share:
Resource, Tech Resources, Tips and Advice

Engineer – Don’t Over Sell Yourself in Interviews

Over the last few months, we’ve been conducting interviews for various positions and it’s been difficult. Exceptional engineers are hard to come binterview handshake_shadey. So between mobile game reviews and other technical posts, I wanted to take a moment and point out some do’s and don’ts for all you smart candidates out there:

Don’t Over Sell Yourself!

Sell yourself. Of course. But be careful, over selling yourself will lead to people not assessing your character and expertise correctly, which isn’t good.  This is bad not only for the hiring company, but also for you, as the candidate. A wrong perception of who you are may cause you to:

  • … be assigned to a position that doesn’t fit your knowledge.
  • … work in a company that doesn’t fit your character.
  • … be assigned a position that you don’t want.
  • … not get the job by seeming arrogant or sometimes over qualified.

What does over selling yourself look like?

I’m not saying that candidates are lying. If I had a feeling a candidate was lying to me then, of course, I wouldn’t want to work with him. I’m talking about candidates that create an image of someone they aren’t just to get the position. When you create a wrong image, you:

  • … say you know how to do something that you actually don’t.
  • … say you know how to do something that you’re actually just 20% experienced in.
  • … will try to put on a show and act like somebody you’re not. (If you’re not a loving & caring person, don’t try to be)
  • … will try to answer questions you weren’t asked, thinking it will impress your interviewer.
  • … will try to correct your interviewer and be wrong about it. (Oh god that’s a turn off 🙂 )

How To Not Over Sell Yourself

The evident result of over selling yourself is that you will very quickly be back on the market. And that’s if people in the company you joined really care about you. Smart managers know when a new candidate isn’t right and can recognize when they’ve hired the wrong person. Therefore, the best thing is for both sides to say goodbye nicely. It becomes even harder for managers to do this when they know they took the candidate from a previous workplace, but still the smart thing to do is part ways.

In order not to over sell yourself in an interview, think how you can help your interviewer. The guy sitting across from you asking questions and assessing your abilities is not there to fail you. He’s there to actually hire you. Give him the right reasons to hire you and not just reasons to hire you. Ask your interviewer: “What do you need?” and see if you fit that description. If the description is not clear enough, ask him to rephrase and make sure you have a clear understanding of the requirements and that they apply to you.

Another smart thing to do in an interview, is stay humble. Be patient, calm and answer what you’re asked. Don’t try to show how smart you are, if you’re smart it’ll be shown.

So stay focused, answer every question you’re asked and make sure you’re the right man for the job. The goal is not to win the interview, but to win the position that fits you most.

Good Luck!!!

Feel free to share:

SOOMLA Profile brings easier Twitter and Google+ support to game developers

SOOMLA_is_working_on_new_inventions_that_will_make_the_framework_more_open_more_data_driven_and_more_flexible_Developer_happiness_is_about_to_get_a_boost.PNGWe recently announced 2 new modules the complement SOOMLA’s successful Store module and creates the SOOMLA framework something extremely useful to mobile game developers. Those 2 modules were LevelUp and Profile and their purpose is to solve the pain of managing game in the background (LevelUp) and easily handle users’ social engagement (Profile).

Twitter and Google+ introduced in SOOMLA Profile

When Profile came out, it supported user engagement operations using Facebook. We said that we’re going to add more social networks and now it’s happening. You can now use profile to connect your users through Twitter and Google+. It’s another major capability of the SOOMLA framework and another easy way for game developers to add features to their game.

Twitter and Google+ integrations were done using native (Android or iOS) integrations connected to Unity and Cocos2dx through wrappers that are integrated into the plugins. We keep working in the same successful architecture as we did in the Store module to provide you with these new features to Profile.

And it’s all open …

The SOOMLA Framework is an open source initiative so these new features are also open at:


As usual, we encourage game developers to share their ideas and code by contributing code, fixing issues or answer others at: http://answers.soom.la


Feel free to share:
Announcement, Open Source, Plugins, Tech Resources

Vungle integration is now available to SOOMLA on Unity3D

new vungle plugin allows unity developers to add video ads to their games and monetize betterPlugins are coming! The first one is Vungle. The great Video Ads monetization service for mobile apps is now available to SOOMLA developers. With the new soomla-vungle plugin you can easily use Vungle to show ads on Android, iOS and Unity3D.

Give rewards for watching videos

The most important feature in this plugin is the ability to give rewards for watching a Vungle video. Rewards are a new concept we recently presented after watching many games and figuring out how rewards are given to users. There’s even a VirtualItemReward that you can use to give your users a curtain amount of a curtain VirtualItem when he finished watching a video. You can also decide not to use rewards and just use Vungle to present a video at any given time.

Easy to use and (of course) free !

To use the new plugin, just go to the new Github repo at: http://github.com/soomla/soomla-vungle and click on the folder of your selected platform. Follow the Getting Started carefully and you’re golden!
Don’t hasitate to asking anything involving this plugin in SOOMLA’s new answers website at: http://answers.soom.la. You can also just use it to say how much you enjoyed using this new plugin 🙂

Feel free to share:

SOOMLA Store is alive in the Unity3D editor!

Unity_Logo (1)I’m not sure if you guys see what’s going on with the SOOMLA opensource framework but you should know it keeps expanding every moment. We’re adding features and fixing bugs like crazy but the new feature (or major improvement if you like) that I’ll tell you about in this post is one of our most important ones so far.

Improving your game development environment

Community members keep asking us why unity3d-store isn’t available in the editor. This was one of the most wanted improvements for the Unity3d flavor of SOOMLA Store and now it’s here. We knew how important it is to you and we always felt like the SOOMLA library is not complete without it. I’ll explain why …

Working in the editor is beneficial in so many ways. You can now test your games with the SOOMLA Store economy mechanisms as if you were running your game on a device. All balances and other information will be saved in a local storage on your computer and will be available to you through multiple testing of your game.

Your game with SOOMLA everywhere!

Easily testing your game is not the only benefit of working with SOOMLA in the editor. If you want to publish your game to the web or as a desktop game and you don’t need in-app purchases then you can now do that with the amazing features that SOOMLA is offering you. Everything from economy management to level design (unity3d-levelup) can now be used in the editor and built to multiple platforms.

Another option that this major change provides is the option for more billing services to be integrated with SOOMLA Store. Anyone from the community who want to add a billing service for desktop or web games is encouraged to do that. If you feel like contributing today you just start doing it or contact us for assistance at support@soom.la. If you don’t feel like it today, that’s fine, you can do it tomorrow 🙂

Cocos2dx users, don’t feel left behind. We’re getting the work-in-editor spirit to you soon. You will also be able to build and test your games on a desktop emulator and release with SOOMLA inside to multiple environments.

Feel free to share:

SOOMLA LevelUp – Easier and Wiser Game Design

In our quest to provide the ultimate game design framework, we can’t ignore developers’ efforts to easily create and maintain their game’s state and structure. Actually, this is what game design is all about. So we were looking into expanding the SOOMLA framework in that direction and LevelUp is what we came out with.

LevelUp is a set of objects, rules and behaviors for better game design and management. Using LevelUp, you can define EVERYTHING in your game. From Worlds to Missions, from Rewards to Scores, it’s all baked in and ready for use. On top of the game modelling, LevelUp provides a set of functions, events and configurations to help you manage your game state. You can increase or decrease scores, catch events to show notifications to the user, or open and close gates. And of course, everything is kept on the device in SOOMLA’s small encrypted database.

LevelUp Model Overview

When you combine all the 3 modules of SOOMLA (Store, LevelUp and Profile), you get a most powerful tool that can help you manage your game design better than ever. You define everything once and the framework takes care of everything else. Amazing! isn’t it? 🙂

To make this deal even sweeter, we are working on integrating this module with Apple Game Center and Google Play Game Services, so keep following this blog.

You can get LevelUp today for Unity3d and Cocos2d-x (v2 and v3). Make sure you go through the docs before you start modelling your game. The more you understand how it works, the better your game design will be. We’ll keep working to add more documentation, examples and tutorials so LevelUp will be easy to understand and work with.

Feel free to share:

SOOMLA Store is now available for Windows Phone developers !

Store-Windows-Phone-04Good news for the SOOMLA developer community: Windows Phone is supported by SOOMLA Store.

Windows Phone need is now satisfied

We’ve been hearing a lot of developers asking for Windows Phone integration as part of their attempt to release games to more app stores and we just couldn’t stay indifferent to all the requests. We were looking for ways to get Windows Phone support to the community and it was with a lot of luck that we found Guillaume and Fabrice and the rest of the guys from Shinypix, a great indie studio from France, who were already doing it and agreed to polish it and release it to the SOOMLA community. We LOVE contributors! Thank you guys.

wp-store is actually a pretty big thing for us. We wanted to support Microsoft’s great mobile platform for a long time now and we’re very happy it’s here now. It won’t take long until we get it connected to Unity and Cocos2dx (as we do with all native platforms we support).

Same conventions through all Store modules

When you’ll look into the code of wp-store, you’ll see that the features are identical to all SOOMLA Store modules. It includes all the main classes you already know like StoreInventory and StoreInfo as well as the the storage and connections to IAP. We will soon also add detailed docs and articles about wp-store into the new knowledgebase at http://know.soom.la.

Contribution is key for success

We encourage everyone from the SOOMLA community to contribute. Contribution is the key for the success of any open-source community and at the end, you’ll be the ones benefiting from that. It can be more platforms, solving technical issues and answering others on forums. Whatever you can do to get the community forward will bring you respect and will drive technology forward.

Feel free to share:

Congratulations … SOOMLA is 2 years young!

Birthday-botSOOMLA is 2 years young. It might sound like a long time but we felt it just went by in a 2 seconds.

We started 2 years ago with a mission to create valuable solutions for developers. When we looked at different kinds of developers we found that game developers have some areas where we can step in and create some interesting tools that will improve their productivity. We are developers ourselves. The kind of developers who appreciate open-source, community and culture. We always looked up to companies like Parse, Kinvey or Github because they always strive for perfection and want to provide cutting edge technologies to developers without compromising on quality or coolness.

So… Why In App Purchases?!

Try to go 2 years back. Try to remember how mobile games were making money that time. Do you remember those times where you had to pay 1$ to download a game from the App Store? Around the time when we started SOOMLA we found a trend that was emerging. It was (and still is) called Free To Play (F2P). In this model you download a game for free and you can play (try) it for free. The “problem” is that you only get a taste of the game and if you really want to succeed (or sometimes even to continue play) in it you’ll need to buy something. This is In-App Purchases and it was proven to be the better way to monetize a mobile game. We weren’t the only ones who realized that though. Apparently, a handful of gaming studios realized that and started creating games that operate in the F2P model. From “Candy Crush” to “Make It Rain”, from “Clash of Clans” to “Cut The Rope” (that has both paid and IAP versions), Tens of Thousands of games were converted to F2P or created as F2P.

As I said before, we’re developers for developers. So we thought what we can do for developers that’s related to F2P. How we can make game developers’ lives easier when they build their virtual economies or integrate with the on-device stores for IAP. This is how our first open-source project android-store was born. Not long after that, his brother ios-store came along and because we always have game developers in mind we had to create the native game-engine plugins unity3d-store and cocos2dx-store. Those plugins were the building blocks for the “SOOMLA Framework”.

The In-Game Store came and left …

So the SOOMLA open-srouce Framework was underway. The attention it got was increasing exponentially month after month and we started thinking “what’s next?”. We thought about an interesting concept that came naturally after we had a whole technology revolving around virtual economies: “In-Game Store”. It was a smart store that every developer could customize to his \ her needs and easily plug into a game. When the game was published, that store would send information related to the game economy to a server so developers could see analytics and analyze the performance of their virtual economy. We synchronized all virtual economy related assets such as: store images, coin balances, events and more.

As great as this solution was, we couldn’t fulfill the requirements of each and every single studio. After a while, we understood that the product that we planned to be dynamic and applicable for many games was only useful to a handful and we decided to “kill” it. Although it wasn’t easy to close the In-Game Store (we still think it’s a great product), we found something better that game developers can greatly benefit from.

Back to the future

The SOOMLA open-source Framework has became the de-facto way of creating game economies. Thousands of games that are played by hundreds of millions of users have SOOMLA inside. We looked back to the framework and realized that there’s something in this open-source solution that brings the value we want to bring. We know that we need to concentrate on that and make it better and richer. SOOMLA is going to provide more and more open-source solutions under the umbrella of the SOOMLA Framework.

The Store modules was the first one in SOOMLA. We’re on the verge of releasing 2 new modules: Profile and LevelUp. These modules concentrate on making the game design creation process simpler in addition to improving the way you socially engage users to your game. Like Store, these modules are developed to the major mobile platforms and game engines. We showed the new modules to studios that use SOOMLA and the reaction we got was amazing. Game developers really need these tools and we’re happy to provide them.

We’re not stopping there… SOOMLA is preparing more goodies. From Windows Phone integrations to a brand new game analysis services. All fro free, and open source. All for game developers.

2 years and counting…

We’re proud to be doing what we do. Every day in SOOMLA we’re fulfilling this company’s mission. Our products stands for themselves, we provide great value and we do it with flare and enthusiasm. This is what we’re going to continue be doing in the years to come.

We’ve just launched new websites to better explain what we do, what we plan to do and how we’re going to do it. Check them out:


Congratulation SOOMLA on your 2 years birthday 🙂


Feel free to share:
Announcement, Open Source, Plugins, Tech Resources

SOOMLA makes Amazon IAP available for game developers

Amazon in-app purchasing is now fully supported by SOOMLA. Feel free to publish your free to play games on Amazon and rest assured SOOMLA will handle the transactions.A couple of months ago we announced our new direction to add more billing services and allow game developers to use SOOMLA on multiple Android stores. It took us a while to figure out the best way to do this and prepare a scalable and modular architecture but it’s finally ready.

Amazon Store was the most requested feature on SOOMLA

The first billing service plugin we provided was Google Play. It is the default billing service for android-store and the code is maintained in a dedicated Github repo called android-store-google-play. We wanted the second billing service to be something most of SOOMLA developers need.We have being asked for new plugins and features a lot, but Amazon IAP integration was certainly the most frequent feature request. This is why we decided to add Amazon billing service to android-store  which will be SOOMLA’s second android billing service. We open sourced  it on its own repo.

SOOMLA makes IAP easy for developers

It’s now easier than ever to add In App Purchases into your Android game using Google Play or Amazon. The integration instructions are different for the different platforms:

If you need the native android integration (for Cocos2dx or AndEngine) you should take a look at the instructions on android-store: https://github.com/soomla/android-store#amazon

For Unity3D, just take a look at the new SOOMLA Settings panel after you add unity3d-store’s unitypackage into you unity project. In that panel you’ll see the option to select between Google Play and Amazon. Easy as pie 🙂

We’ll keep on working with the community on more and more additions to SOOMLA. We see people from the community asking questions and solving problems and we’re very happy with that. We don’t see any other way indies can become bigger other than joining forces and doing things together.


Feel free to share:

SOOMLA is coming to Gamelab 2014 in Barcelona

Lets meet and talk about the SOOMLA framework and how it can work for you. soombot is coming to gamelab barcelona and would like to meet indie game developers and discuss the future of soomla open source framework

Meet Us To See the Impact of Our Open Source Framework

The Soombot and his gang are coming to Gamelab Barcelona and want to meet you. If you’re an enthusiast indie and you want to learn more about SOOMLA and how indies can achieve more together, we’ll be there to answer all your questions. Your feedback is crucial to the success of yourself and others using the SOOMLA open source framework.

Connect With Us and Tell Us About Your Games

We’re going to be at Gamelab 2014 in Barcelona. If you want to meet us you’re more than welcome to email us at: refael@soom.la See you there 🙂


Feel free to share: