Marvel Internet Group blog

Posts Tagged ‘justrosters.com’

JustRosters Version 2 Launched

Wednesday, May 20th, 2009

It has taken a couple of weeks longer than we planned, but it’s ready to go!

For all existing JustRosters members, the best way to see what we have added is to log in to your account and have a play around.

If you haven’t started a JustRosters account yet, or just want peek at version 2, check out the new feature tour page.

We have also added discounted yearly subscription options, change our pricing to Australia Dollar, and updated the affiliate program to give companies promoting JustRosters higher commissions.

Huge thanks to everyone who has helped us plan out, develop and test the new features. Please contact us if you find any bugs we have missed. In return we will add 100 SMS credits to your account (valued at $25) free of charge.

Happy rostering!

P.S. Anybody with an expired free trial from the first version of JustRosters is welcome to another 30days. Just contact us with your username and we will add it on.

Take the JustRosters feature tour

JustRosters ‘Version 2′ Coming Soon!

Tuesday, April 7th, 2009

It has been just over a month since JustRosters launched. We are stoked to have around 100 members signed up; with next to no marketing! After write ups on a few tech blogs, we received a ton of feedback and support from fellow web developers – thanks guys (the blog writers and web developers)!

Instead of making a series of small improvements and constantly having to update our training videos and print screens, we have been busy working on a version 2. At this stage it looks like this will go live towards the end of the month. We see version 2 as a far more complete staff rostering solution. Most of the new features can be switched on or off with the click of a mouse. This way the interface remains uncluttered for those who appreciate the systems current simplicity.

Features we are working on:

Hour Tracking (Heavily requests!)
Keep track of total labour hours per day, per staff and per roster. Advanced features like lunch break exclusion for specific shifts can be added easily.

Cost Tracking
Keep track of the total staff cost per day, per staff and per roster. Weekend rates, overtime and public holidays are all taken into equation.

Shift Change Request
From the initial request to contacting and allocating a fill in staff member; JustRosters makes those last minute shift changes easier for everyone.

Custom Login Area
Customize your colours and upload your logo to make your JustRosters account look like part of your business. Your staff who login will really feel at home, err… work.

Staff Calendar Notes
Give your staff the ability to add notes to future dates. Perfect for staff needing to indicate times of the day they can’t work, without making a time off request.

Broadcast to Staff
Quickly and easily send messages to some or all of your staff via email or SMS. Handy when letting them know about meetings or events not on the roster.

Staff Roster Viewing
Let your key staff view full versions of rosters they are featured on, from home. Save them the time of having to come in and find out who they are working with.

Availability Rules
Effortlessly set the times and days each of your staff cannot work each week, every week. Great for those casuals with other commitments like another job or university.

As you can see, version 2 is no ’small’ update, it will effectively double time we have spent building the system and triple its features and value to users!

We will put a few screenshots of the new features up soon, in the meantime happy rostering!

Coding JustRosters - Day 1 - Setting up CakePHP

Wednesday, March 18th, 2009

From this week I will be starting a multi-part series on the coding of JustRosters, touching specifically on the challenges and lessons learnt throughout the experience. Our journey starts on a February afternoon (02/02/2009) at 3pm. The first task that needed to be completed was the installation of a basic CakePHP install.

Installing CakePHP is quite a simple process and simply involves downloading it from the CakePHP page, after a donation, then uploading it on to the server. In our case it is our dedicated U.S. server that will host this application to ensure maximum load capacity and lowest latency for our target demographic. After CakePHP is extracted to a desired location we commit it into version control using Bazaar Version Control (bzr). Bzr is a distributed VCS similar to Git, however it is cross platform and has a much simpler command set.

Once we were able to see the CakePHP default page it was time to analyze the database models. Aulay, being the founder of JustRosters had the best idea of what the application should do and designed the database by himself. My job was to just make sure the table and column names matched the CakePHP conventions so that extra configuration settings would not need to be set on the CakePHP generated models. I also took the time to change any columns whose data types could be improved (int to tinyint) as well as start indexing foreign keys.

With only one hour our project foundation had been laid. Although it is not an exciting event our use of RAD frameworks makes it a much more relaxing process than previous projects where at least a week had to be spent gathering together various pieces of software that managed our database access, email access, templating, etc.

The next post will focus on setting up user registration, validation, as well as user logging in and out. Stay tuned for more.

JustRosters - Launched and taking sign ups!

Monday, March 2nd, 2009

Just a quick post to let everyone know Marvel Internet Group’s first in-house web start-up, JustRosters, has officially launched!

JustRosters is a web application developed to make the creation and distribution of staff rosters easier, faster and more accurate. For a full list of features and a free trial, head over the JustRosters website.

Huge thanks to Alan, (lead designer) and Paul, (lead developer) for helping make this happen.

For those following the 8 part build, I will write part 6 and 7 soon.

Part 5.5 - Educating clients on how to use a new application

Sunday, March 1st, 2009

Users on free trials will quickly dismiss an application when they are presented with a problem they cannot figure out for themselves. They do this because the only investment they have made by using a free trial is time, and the thought wasting more time is too much for most.

For most developers, they solve this issue by writing how-tos and FAQs. FAQ pages are one thing I have never quite understood… if a question is being asked frequently, why isn’t it explained where the client first needed the answer?

Anyway, the approach to help / training that we find works:

  • Build a simple, easy-to-use application in the first place.
  • Fill your sales copy with print screens and screen casts of the actual application. This way the user is becoming familiar with the interface before they have even signed up.
  • Add a small ‘?’ icon with a brief help text on mouse over, next to every input box. They are easily accessed and indentified by confused users, and ignored by others.
  • Create a screen cast walkthrough of the entire system; present it to new users when they login for the first time.
  • In the early days, look at every support request as if it is a FAQ; tweak the ‘?’ texts and screen casts where needed.

All the steps above can never completely replace the need for a good old contact page; but they can sure reduce its need.

Part 5: Building the front-end website

Monday, February 16th, 2009

It is about 1month since we started building JustRosters, and what a month it has been! Paul, Alan and I are working on it full time at the moment, and hope to have it complete launched in around 2weeks. The original plan shows building the front-end website as step 6, but in reality this was happening at the same time as the code writing. We finished the front-end ‘store front’ first, so it’s time to share some of our experience and results (print screens can be found after the fold).

We had already established a basic look and feel while designing the back-end mock-ups, so the front-end needed to become an extension of that. Like any web entrepreneur, I spent a few hours half my life looking at other ‘successful’ sites with a similar target market, noting down design and navigation elements I liked. I built a basic sitemap in notepad, and started writing copy for each page. The sitemap went like this:

  • Homepage
  • Why JustRosters?
  • Pricing and signup
  • Order pages (linked from pricing and signup page)
  • Affiliate program
  • Login page x 3 (for administrators, staff, affiliates)
  • Contact us page
  • Any legal pages I needed + a sitemap, 404 page etc.

If you take out all the ‘standard’ web application pages I was left with 4. The homepage, the ‘why’ page, the pricing page and the affiliate program page. These had to be ‘conversion kings’, so I was intent on making them perfect.

It’s funny, most people think a designer is responsible for what a website ANY type of interface ends up looking like, but I think the copy writer has an equal part in the end product. The words we chose ultimately decide how each page can fit together. After what felt like an eternity of writing and re-writing sales copy, (ok, it was only about 4days), I got Alan onto the designs.

Nothing builds excitement quite like watching a front-end site come together in front of you. I was extremely impressed by how it was unfolding, and found it hard to stop hitting the refresh button every 5mins Alan was working on it. Here are some screen shots of what we came up with:

There is still a lot to do between scripting the home-page demo movie, having the legal guys go over the legal stuff and getting all the copy re-checked by a cool little Aussie start-up called Editeam. The semi-completion of the front-end has provided a huge psychological boost for the team and an opportunity to go get some feedback from some of the people I contacted way back in stage 1.

Hour logs show about 40 hours spent on copy writing and 75 on design. It might sound like a lot for a 15 page site, but I figure the difference between a 4% conversion rate and a 2% conversion rate could be the difference between becoming a millionaire or just a 500thousandaire :-)

JustRosters - Rapid development through the use of a company code library

Wednesday, February 11th, 2009

JustRosters is an internal project for us here at Marvel Internet Group. It is a side project that is commercially unproven and therefore a risky investment for the company. With that in mind it is crucial for us to be able to complete the project as quickly as possible in terms of both man hours and actual calendar days. To help us achieve this we decided to comb through our previous work and build a reusable PHP library of our most commonly used functions. This collection of loosely coupled functions allows us to easily enhance any code base; belonging to either a client or Marvel Internet Group.

Our code library is split into three parts. One library contains global functions that are included in Cake PHP’s bootstrap file, which is loaded right after the configuration file and before everything else. We currently place debugging and some custom date/time manipulation functions in here so that it does not have to be duplicated elsewhere. Another part of the library is converted into a Cake PHP component. The custom component allows us to reuse convenience functions that are needed inside our controllers, such as permissions management, emailing with PHPMailer, PDF generation, etc. The remaining parts of our library are turned into a custom helper that performs view related formatting.

In total we have reused about 700 lines of code with the three files combined. Using the general rule of thumb that a programmer will produce about 100 lines of quality code per day we practically shaved seven days off our development time before we even started. The cycle of library building will continue and expand with JustRosters. Being one of our most Javascript heavy projects we are also writing a substantial amount of reusable Javascript code that can be combined into another library, or into jQuery plugins, that can be used by the development community as well as our future clients.

Part 4.5 - Packaging and pricing

Tuesday, February 10th, 2009

Deciding how (and what) to charge for JustRosters was definitely a task I had under-estimated. I started by looking at the pricing for some of sites I discovered in Part 1. Of the sites with pricing listed, (I hate sites that do not list prices!), there seemed no typical pricing model. I decided to tackle this problem from the ground up; for my benefit as much as any future clients.

Once off vs. subscription
This was a pretty easy decision to make; monthly subscription. Client benefits of the subscription model include low up-front cost, ability to stop using the system anytime without losing an ‘investment’ and the reassurance we will continue to work for their business month after month. Benefits for us include a steady flow of income on those rainy months and an easier sell.

Include SMS, or charge extra
One of the major costs in running a service like JustRosters will be the SMS’s notifications which are sent out. My initial thought was to roll this into the cost of the subscription; I quickly decided this was unfair for businesses that do not use this feature. To make things simple I created some SMS credit bundles (with pricing related to quantity), and made a note to include a small amount of SMS credits in each months renewal, for free.

How to split the pricing levels fairly
While providing a ‘one size fits all’ pricing scheme would make things simple, it is not really practical. As the amount of staff each company has increases, so will the cost of our time / resources to support them. Comparing information on typical business sizes I decided on 4 plan sizes:

Micro: 0-10 staff.
Small: 11-25 staff.
Medium: 26-50 staff.
Large: Unlimited staff.

While the unlimited plan seems fairly open ended, I figured income from SMS bundles will increase relative to the businesses size, so I was not concerned about the strain a 500-employee company might put on the system at this stage.

Summery
Now I knew I would charge businesses of each size monthly, it was time to build a spreadsheet factoring expenses and a desired profit margin. I would love to be to say this delivered me some golden numbers which I have used, but it really only gave me an idea on what I ‘needed’ to charge to make the business viable with around 500 clients (my first goal).

I rounded these numbers to slightly prettier ones, and moved on wondering how I ended up spending a day on something I thought would take a couple of hours :-)

EDIT, February 27, 2009: I have decided to reduce my prices by about one third. I have done this for a couple of reasons. First, the weak Australian dollar. Since our pricing is based on USD, I do not want my fellow Aussies having to break the bank to pay for JustRosters each month; the economy over here is bad enough for us. Secondly, the software is brand new. We really want to get as many people on the system giving us feedback ASAP. We can always move the pricing up later and hold it for the guys that get on it early.

EDIT, March 02, 2009: One of our competitors has just re-launched their website with new pricing. I am happy to see it comes in around 3x the cost of JustRosters.