News
Pancake App
Three days ago I received my copy of Inc magazine. I was scanning through it and low and behold there is a 1/4 page blurb about Pancake App! Phil is a leader within the CodeIgniter community and a member of the Reactor Team so I was very excited to see this. After doing some research I found that we have never done a showcase on Pancake App so this entry is to make that right. Congratulations to Phil, Lee, Bruno and Adam! You guys deserve the recognition that Inc. Magazine is bringing you.
Tell us a little about Phil and Lee.
Lee Tengum is a PHP developer with a keen eye for design. I am a long-time CodeIgniter user and contributor who also likes to build distributed applications. We make a good team, as I couldn’t design a website to save my life and I have plenty of experience building backend systems.
How did you two come to work together?
We’ve been working together on various projects for years now after we crossed paths on the CodeIgniter forums back in 2007. Lee built a very simple CMS which I ended up buying and that CMS became the great grandaddy of PyroCMS. Since then there have been a few client projects we’ve worked on and while Lee is a talented programmer we generally split the work as Lee on UI and myself on the main development. About a year ago Lee started building a simple internal application to collect payments from a difficult client.
After showing it to a few different people they were interested and wanted more features added in, which was when Lee decided to migrate the code to CodeIgniter and get more people involved. Throughout Pancakes lifetime it has had contributions from several prominent CodeIgniter developers and the team currently consists of Lee, Bruno De Barros, Adam Jackett and myself.
What can you tell us about the app in general?
I like to describe PancakeApp as a freelancers sidekick. PancakeApp handles the full project life-cycle from Proposal to Payment. You can draft Proposals and send them to your client, who can then accept or reject until an iteration is agreed on, all from within the app. That saves a lot of PDF emailing! With the Proposal agreed upon you can make a Project, add Milestones and Tasks and even track time against each task. You can generate invoices based on the Projects which automatically take all your tasks and tracked time into consideration, so your Project is instantly turned into line items and totals. You can of course also create invoices from scratch. The invoices are sent to the client who then has multiple options of paying based on what you’ve enabled in the settings, so you can take money via PayPal, Authorize.net, Bank Transfer or even accept cash; instructions will be listed on the invoice.
You might be thinking of a hosted service that sounds similar too, but PancakeApp is not a hosted service. It’s a single payment to download the software and then it’s all yours to go on your own server. No worries about other companies having your client details, no monthly fees, just one payment.
There is one last thing that makes PancakeApp awesome: Auto-updating. If you turn this feature on in the control panel, PancakeApp will upgrade in the background as soon as we release a new version. You don’t need to keep logging into your FTP server to replace files or worry about running an upgrade script, we send out a HTTP notification to installations to grab the new files and CodeIgniter Migrations take care of the database changes.
I know you are on the Reactor team but when building something major like this you can build it using anything. So what was your major consideration in using CodeIgniter for this?
The most obvious answer would be that both me and Lee know the framework well and have been using it a long time, but the main reason is that CodeIgniter is currently the most simple and most portable framework around. While some frameworks undergo large rewrites to implement the very latest PHP 5.3 features, CodeIgniter maintains backwards compatibility for older servers meaning it is perfect for distributed applications in two ways: 1) We won’t have to re-write PancakeApp in a year, it has already gone from 1.7.x to 2.1.0 without a hitch, but also 2) it will work on PHP 5.1.6 servers. While as developers we have probably all upgraded any servers in our control to PHP 5.3 and are trying to convince our clients to upgrade theirs, when you release a distributed application like PancakeApp it has to work in as many places as possible and CodeIgniter makes that incredibly simple. After-all if we used a PHP 5.3-only framework and 30% of servers are still on PHP 5.2, we’ve just reduced our target market by 30%!
What is next on the plate for pancake app? Any additional functionality you can tell us about?
There are some brilliant features coming for PancakeApp at the moment. We’ve just finished up some improvements to User Management and Permissions meaning that you can add plenty of users with varying levels of access, and there are plans to improve the existing REST API even more to allow for more integration with other services.
Do you have any other information you’d like to share with the community? Tips from this project you’d like to share? Lessons you’ve learned?
The API is something I really wish I’d focused on more at the start. It is a well-known developer habbit to build an application or website then add the API in as more of an after-thought. While we are happy to have an API if we’d build it first and used it as a core for the system (much like Twitter does for example) then we’d have been able to make it much more powerful and have web features and API features keep up with each other without duplication of effort.
A positive lesson we learned was open, honest, personal customer support. While PancakeApp was still in its first year we had a few users on Twitter and in various forums make some complaints that certain features were not included. While some developers would take a defensive position, we admitted there was room for improvement and engaged them in conversation. Those users who complained all now have a PancakeApp license and have become some of our best evangelists. It’s thanks to users like this that PancakeApp has started to spread and we even got quite a big mention in Inc Magazine this month!*
Posted by Marcus Neto on January 25, 2012
ZoomShift
What can you tell us about the team that built ZoomShift?
Zoomshift is a rather young 4-person team composed of 2 developers, a designer, and a sales and content person. Our team is very tight knit and incredibly passionate about entrepreneurship and technology. We are strong believers in lean methodology and are constantly searching for new technologies to set our product apart. We all agree that we can’t see ourselves doing anything else. We love what we do and have a strong passion for entrepreneurship.

What can you tell us about the site in general? What are the goals of the site and the main audience?
The idea for ZoomShift was born from experience working in the service industry. From serving tables to selling tickets we realized first-hand that employee scheduling can be an absolute nightmare for many organizations. After doing some research we were unable to find a solution that was intuitive, affordable, and truly simplified the scheduling process. In turn, we decided to build ZoomShift with the goal of making scheduling simple for both employees and managers. Our vision for ZoomShift has always been very focused with the mentality that less is more. We focus on the core functionality of online employee scheduling and purposefully leave out all of the extra features that many other solutions provide.
Currently, we have customers ranging from restaurants and hotels to volunteer organizations and small medical clinics. ZoomShift is not designed to fit one specific industry, but rather it is intended to work for any organization that needs to schedule employees hourly. We love that our customers are other small businesses and from their feedback we are constantly finding new ways to make scheduling even simpler.
What was your major consideration in using CodeIgniter?
Choosing CodeIgniter was an easy decision for us. We wanted a lightweight and flexible framework that was relatively easy to learn. From a development perspective we didn’t want to be confined, and we knew that we would be needing to extend the framework quite a bit. CodeIgniter offered us a solid foundation in MVC that we could then comfortably build on top of. Also, it was incredibly important to us that the framework was well documented. The documentation was evidence to us that CodeIgniter was polished and built with care. We clearly made the right decision with CodeIgniter. It’s simple, not bloated, and suitable for the pro down to the novice.
What is next on the plate for ZoomShift? Any additional functionality.
Mobile is next. We have been waiting to pull the trigger on mobile development for a few months now. We really wanted to dial in the core feature set of the application before turning our focus to mobile. Now that we have a steady customer base and have validated our core features it is time to push onto mobile. While the current application runs smoothly on mobile browsers we want to offer our customers a native application for iOS and Android.
Do you have any other information you’d like to share with the community?
Build a strong team. It is the team behind a product that makes it great, and an idea is only worth something if you have the team to execute it. Finding a group of talented individuals that share a passion is incredibly powerful. Do what you love, talk about what you love, and go where other people are doing what you love. If you immerse yourself and reach out to others you will naturally build relationships with people that think like you do. These relationships will be a source of energy and inspiration as well as an incredible source of knowledge. Do what you love and make friends.
Posted by Marcus Neto on January 20, 2012
CPA Site Solutions touts CI
CPA Site Solutions just put out this Press Release that touts CodeIgniter. They used it to create their new email marketing system.
And I quote:
“We evaluated several frameworks for PHP web application development. Many of them could have worked, but they really tried to lock you in to their way of doing things,” explains Bob Rayl, Chief Technology Officer at CPA Site Solutions. “They did not offer the flexibility we need to accomplish some of the heavily proprietary functionality we bundle into our systems.”
As part of the original article they also state that CI helped cut their development time.
If you have used CodeIgniter for a project that you think deserves a mention email Marcus
Posted by Marcus Neto on December 20, 2011
PHP Framework Usage Survey
A PHP framework usage survey has been created with our community in mind. Though not strictly limited to CodeIgniter and ExpressionEngine developers, the questions are particularly relevant to you. The anonymous survey is very brief—just seven questions—and should take no more than five minutes or so to complete. The survey is open immediately and will remain open over the weekend.
We quickly discovered after opening the survey that Survey Monkey has a setting to enable “Other” as an option in addition to providing the “Other” box. This results in requiring you to make a valid selection in addition to filling in your own response. If you need to fill in your own response, go ahead and select an item from the list in addition to your answer for “Other”, and we will remove the selected item from the results. We are unable to edit that option as the survey has already begun collecting data, and we do apologize for any inconvenience this causes.
Thanks for participating!
Posted by Derek Jones on December 09, 2011
Sky Clerk
What can you tell us about the team that built skyclerk.com?
Skyclerk is a product of Cloudmanic Labs, once a consulting firm, now more of a product company. Currently, we are a 5-person team: 2 designers, 2 programmers, and a content person. Our team is simply amazing. We have a love of strong design, from the UI to the code. We spend much time looking at different products on the market and have a great deal of internal debate on how we could make things better. While the resumes of the team are impressive, our real secret sauce is our deeply shared passion to always make super high quality products.
What can you tell us about the site in general? What are the goals of the site and the main audience?
Our main mission is to make small business bookkeeping simple, fast, and engaging. Skyclerk started out many years ago as an internal tool. Most bookkeeping products were just too complex, slow, and annoying to work with. In our non-skyclerk days often someone would take an entire day off of work each month just to do bookkeeping. Also, not every small business owner has a masters degree in accounting (at times it seems you need one for other solutions).
Everyday we focus on finding new ways to make bookkeeping even more straight forward and seamless. Currently we don’t provide all the bells and whistles other bookkeeping packages provide, so our customers tend to be smaller companies, often no bigger than 10 people. Our customers are anyone from a web designer, to a small law firm, to pool cleaners. We have customers all over the world, the UK and Brazil being our top countries outside of the United States.
What was your major consideration in using CodeIgniter for this?
Flexibility. We played around with all the other PHP frameworks, and always felt confined to doing things by the framework’s rules; very hard to expand. Some of them seemed too bloated. Before we discovered CodeIgniter we set out to write our own framework, with which Skyclerk was originally written. We were having internal debates on open sourcing our framework but the extra hard work of documenting it and adding the extra polish needed for public consumption seemed like a lot of overhead for a small company. One day we stumbled on CodeIgniter from a Google search of well documented frameworks. After looking at its guts, we realized CodeIgniter was where we were striving to be. We shortly killed our framework and have been a CodeIgniter shop ever since. So fast, so not bloated, so expandable. Perfect for what we value in a code base.
What is next on the plate for skyclerk.com? Any additional functionality you can tell us about?
At Cloudmanic we break our time up into what we call a 60/20/20 rule. We spend 60% of our time bettering our current features and product offering. This 60% comes mainly from user feedback. We have engaged users, who are always happy to tell us what they like and dislike. 20% of our time is spend building new features. Sometimes we build features from market demand and sometimes we build features we just internally really want. The last 20% is spent building new random things, for which we do not require a reason. The interest or passion of a team member is all that is needed, and all that matters. Sometimes these ideas flop. Sometimes it turns into some open source tools we release, and sometimes they become brand new products.
We have spend a great deal of time on our mobile apps (Android is released, and iPhone will be release soon). Invoicing is coming very soon, as well as some pretty cool integrations with other software providers.
Do you have any other information you’d like to share with the community? Tips from this project you’d like to share? Lessons you’ve learned?
Take bets. I think this goes for any sort of software development. If you have an idea of how to do something better, just go for it. You might hit a dead-end or you might discover an amazing new way of doing something. Either way, the learnings will improve your software development. In the past we just followed the conventional wisdom. Often times via little bets we find better ways to build more scalable software.
Also, as a software team we build software on a no schedule bases. We do not have timeline or due dates. We never take shortcuts. Allowing the team freedom to dedicate as much time as necessary to build the best product possible is one of the worthiest development lessons we have learned. Oddly enough we get things done pretty quickly. The stress of a deadline just clouds judgement.
Lastly, we live in an Open Source world. Read through other people’s code. We have learned so much by simply checking out random code from Github and reading through it. The more tricks you have in your bag the better.
Posted by Marcus Neto on December 05, 2011


