BMS Screenshot

Well, I’ve got the layout down to basically what I want it…take a peek! Will post again as it changes into a working website, but for now this has turned into a rush to get version 1 running and released.

My Software Project - BMS

Seven years and four score ago today, I set out to build a very basic software tool for me to use while I was working at The Rock Wall Climbing Gym.  All it needed to do was track registrations for one of our programs.  Well, one thing lead to another, and I am currently in the planning phase of a piece of software that is so far only referred to as BMS or Business Management System.  The software will be a whole system targeted towards small businesses.  I will leave small business life for another post, but for now I will just say that the differences between a small and large business are almost un comprehendable.

So, I have a very specific criteria for what all my BMS must be able to do.  Before I get into specifics of what all tools it contains, here are the requirements.  I’ve told myself that if it does not cover all of these, I have not completed it.

  1. Cost effective.
  2. Easy to use
  3. Well Supportted
  4. Easy to Customize

Cost effective is a very difficult thing for a real programming company to do.  They need to pay their programmers, pay their rent, bills, testers, etc.  I on the other hand, do not.  I am not doing this to make money, I’m doing it to help out small businesses, and to help myself learn more about something I enjoy.

Easy to use is an absolute must for the scope of this project.  It requires almost all of the business’s employees to buy into the system in order for all of the features to work.  If it isn’t easy, people will revert back to the ‘old way’ of doing things.  The old way sucks. I’ve been there.

Well supported. I know that not only will my software occasionally have bugs in it, but that the user will attempt to use it in a way that I have not thought of.  I want to maintain a small customer base, and be able to work with them one on one on the issues that they are having. This is where easy to customize comes in.  I have weighed both sides of this issue, and have decided that each customer will have their own ‘version’ of the software tailored to their specific needs.

I will outline some of the basics of what all my BMS will be able to do; however, the requirements document has not been completed yet, so I don’t even know what all of the features will be! (This may raise the question as to what I have been doing all this time.  I’ve been learning, building small modules, breaking them, learning better ways, rebuilding, and breaking. Repeat.)

Calendar:
Almost every small business has appointments.  The business that I know most about happens to be a rock climbing gym, and such a place will be my main target audience.  The gym I worked for had both an indoor gym, and a portable climbing wall.  Both of these require time and staff, as well as payment, and special needs.  The portable wall needs staffing for events, operators, insurance, maintenance, and a few other things on a per event basis. While this is going on, there is also an indoor climbing gym to be running. It has regular hours, but also has events out side of it’s hours, needs staff for different positions, special events, regular daily weekly and bi-weekly programs, private bookings, and so many other things.

Staffing:

The climbing gym requires staff for both the indoor part, and the portable wall.  The indoor gym requires one supervisor for all of it’s open hours, as well as any outside of hours events.  Different supervisors can handle different events.  Some of the programs also need a coach, sometimes the coach needs some help.  The private events may require a few belayers, or someone that can handle the more unique cases.  A powerful staffing tool is essential for the BMS, and will be the core of most of the system.

Membership:

Most climbing gyms/fitness facilities have a membership system of some sort.  We will need to be able to track contact and personal information, payments due, privleges, family memberships, training, programs the member participates in, and other details. This will be coupled with an option for a swipe card system, so you can track facility usage, and for insurance purposes.

Internal Messages:

Almost every business needs to have internal communications.  This module is fairly simple, as it is basically a forum.

External Messages:

If you can’t contact the business, what good is it? I will need a module for tracking phone messages, emails, and even customer’s that stop in with questions.  If the message is from a member, it needs to be coupled with their account, if it isn’t, than we will need contact details for that person.

Special Programs:
Most gyms/fitness facilities have some special programs. For example, our competitive climbing team meets twice a week. We will need to be able to track the people in this, as well as coaches, and any other details that the coach will want to store.  We have a course that all members take called the ‘belay course’ in which they learn how to work the ropes while they are climbing.  This course needs at least 2 people to happen, and a coach.  A module will be able to track students, and coaches.  When they finish the course, it should update the member’s file to say what qualifications they now have.

To Do List:
This is another fairly basic tool, but covers some special items. For example, on the last day of the month, an employee may need to run a report. This can show up here, as well as any daily, weekly, bi-weekly, etc. tasks.  Special one time tasks can be done here as well.  They can be assigned to certain people, have notes and events attached to them, etc.

Other Tracking:
Some businesses will have needs to track other things, such as first aid.  Tracking lists can be dynamically generated with customizable fields so that the user can pick what sorts of lists they have, and how they are organized.

Web Interface:
I plan on a basic web interface for this, but it may grow into a more advanced feature.  For the start, I would like to have staff able to check their shifts through the company’s website. Later features may include private event bookings online, registering for courses, making your membership payments, and the ability for the company owner to access most of the above information from home/on the road.

Well, that pretty much covers the scope of what I am trying to do.  This first implimentation would be local, but from there I would like to move on to either a ‘you buy it, and run it on your own servers’ or a ‘pay monthly, and it’s hosted on our servers’. I’m leaning towards the latter, as it’s easier to support and guarantee that it will work.

I appreciate any input that anybody may have on this, such as ideas for features, etc.

Blog Ch-ch-ch-changes

Well, one of my many topics of interest is programming.  I had set out about 3 months ago to build my own custom blogging platform.  Due to work load, and basic un-interest in taking up another project, I never actually finished it.  Another blogger and co-worker that I know, Tyler Ingram, just recently moved from his own blogging platform, to the one that I am currently using, Wordpress. Now, this installation of wordpress is very new and basic.  I plan on using my limited programming knowledge to build it into a tool that is more useful to me, and that I will enjoy using more.

I say that it will be more useful to me, let me explain a bit more about what I mean by this.  A more experienced programmer who will not be named once told me that you know you’ve done a good job if you can please 75% of your audience, 75% of the time.  That’s all good if you are building something intended for a large audience, and many uses.  This blog is only intended for me, and the readers.  The reader’s needs are fairly basic, they need to be able to read new posts, comment, and have a way to find older posts.  The basic word press install already does that.  I would like to modify the part of the site that I see.  I have many ideas for things to add and change, but you’ll see those when I get to them.

That said, the first change I will be making is a new skin, I am already tired of the plain blue!