The community is building a future for itself

Make sure you read on past this, there is an important part about discrimination below

It's been almost 3 weeks since Ruby Commotion, the RubyMotion community project started getting together, and lots has happened!

There is now 24 people, some are super experienced programmers, some are just starting out, others have been working with RubyMotion since it came out, and a few are new to it and are getting to learn by doing and working together with the experienced ones.

On top of programming skills, many in the group have different design skills, project management, product management, sales and marketing, and plenty of other skills.

Our first project

A few of us have teamed up in the group to do the first Ruby Commotion project. We're converting Apple's UICatalog sample app to RubyMotion. We're not done yet, but you can see how things are going in the repo on GitHub.

We're hoping to merge this into the RubyMotionSamples repo so new RubyMotion developers can see how to create all kinds of different interfaces programatically.

Bringing Order to the Chaos

Groups like this can be difficult to keep going without problems, but we've all worked together to create some "harmonious working" documents that have really helped speed things along without any hiccups. We've sorted out some great code conventions that suit us all, we know which timezone we're all in for pairing and kickoff meetings, and the most important one is our "Community Etiquette & Guidelines" document, which I'm going to add here.

Community Etiquette & Guidelines

This is the community edited and controlled etiquette and guidelines document. Simple things to do, and idealisms that are shared, that will help us work better together. Please add, edit, and own this document. It is yours and ours.

General/Behaviour

1. We're a non-discriminatory group (gender, race, sexuality, ability, etc.)
2. Defamation isn't welcome, be constructive, positive, and understanding
3. Help others learn, and ask for help when you need it
4. Don't be a hero, we're here to have fun, don't stress yourself out on something
5. We are a self-organising team, we look to each other for guidance, not a leader

Projects

1. Always feel free to share an idea
2. Look for ways we can make the world better
3. Avoid copycat apps
4. Decide as a group where we will take an app (single platform vs universal, large audience or niche, etc.)
5. We should have enough work for everyone that wants it, but not spread ourselves too thin - e.g. only run a few projects at a time, but enough so everyone has a part to play
6. We won't bog ourselves down with rules and regulations
7. We open source everything we can

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

What these guidelines help with

There is particularly important guidelines in here, and I'll quickly mention them and explain why they're so important.

The first is of course that first one in the list. "We're a non-discriminatory group (gender, race, sexuality, ability, etc.)"

All the time there is problems going on in the development community with regards to discrimination and of course the fact we're a heavily male dominated industry, though this isn't going to be a rant about that.

The point for this being number one, is that we're here to embrace differences as a community. Notice I didn't say "We don't see differences", that would be counter productive. Differences are important, differences in peoples genders, race, sexuality, abilities, and other parts that make up who they are, make for an interesting group. Differences are important, and we need to embrace them. Watch this video to see more about what I'm talking about here.

Behaviour guideline number 3 is also a powerful one. Like I said at the beginning of this post, there is a broad range of skill levels and skills in the group, and hopefully this will become more diverse as more people join us. We're all learning from each other, even the experienced programmers are learning from the new ones. This has been a powerful guideline to have, and has had great side effects.

When I started the group, number 5 was pretty important to me. I didn't want to be creating a group that depended on me, a single point of failure, to keep it running, and people took this really seriously and ran with it. I've just got back from a 5 day holiday in Melbourne, and everything kept running amazingly and huge progress was made while I was gone. The group is a force all of it's own, with no need for a leader.

We will always welcome new members

New members are ALWAYS welcome, no matter what your skill level. There is bunch of new projects about to start up, and smaller teams out of the group are appearing to get them done.

There is no minimum commitment, or cost to join, just do what you can and bring a "let's make things better" attitude.

If you want to join the group, just email me, my email address is info@fluffyjack.com.