Last year, our apps looked like this:
It looked bad! But honestly, have you seen any business apps lately ?
Exhibit A: SAP
Exhibit B: Fishbowl Go Mobile App for Android:
Exhibit C: And here is Netsuite, for your viewing pleasure!
You get the picture!
So do all business apps look bad?
Why do they look bad? Do they have to look bad?
Well, let's first define what is bad. When we started out, Deskera looked pretty contemporary. For 2008, that is.
Now, some facts.
First off: Serious Business Apps take a lot of time to get made. The go to market time for a B2C app is much shorter in comparison. Product Hunt is full of products that launched with a few months of development. Indie hackers – same.
If you're an entrepreneur looking to enter the enterprise world - you've been warned. Enterprise world is a slow, slow grind. But thanks to cloud the world is changing - albeit very slowly.
Business Apps take a lot of time because one needs business process expertise to build - and then every single customer acquisition is a constant slow grind of features vs resources. If you're writing an accounting app, you need to get the basics right. There are rules that have been around for 600 years, that you need to understand and translate to code.
Engineers, obviously are not accountants. So it takes time to get it right. Add in the unique requirements for different industries, and feature creep slowly pushes out user experience somewhere along the way.
There is a reason why all major players in the enterprise business apps have been around for a long time. Intuit is 37 years old. Freshbooks is a 20 year old company. Zoho, even more. The youngest would be Xero and it was setup in 2007! India’s Tally is 30 years old!
So you see, it takes a long time to build an Enterprise Business. For instance - it takes on an average 2 years to write a good Accounting application - your mileage may vary but it'll take you that long to onboard your first set of customers, without which the application won't be complete. And then the focus is always on features, and not so much on user experience. So while not by design, Enterprise Tech companies end up optimizing feature cramming over user experience leading to "bad" design.
It's designed to be like that.
So why did I get into Business Apps ?
Well, by accident.
I started out in 2004-05. During that time there were no VCs back in India - and we had to literally survive on our devices. We had to make money from customers and be profitable at that.
There was a catch though. Our target market - Small businesses - don't just buy software. They don't buy business apps, infact. In fact, they don't buy ANY software.
They want solutions - yes - that oft used & abused word. But honestly, nobody gets up in the morning to buy an accounting software.
Small businesses don't buy software. They buy solutions to their problems.
Need to file Sales Tax or GST ? Get this thing and it'll take care of your problem. Except, to get that lovely lovely Sales Tax Report or the GST File, you need to get your entire accounting done.
Need to pay commissions to your sales people - well - now you need to buy 3 software and put it all together. Commission process sounds straightforward - but it needs a CRM to document the sales process, an ERP to document how much was invoiced and a payroll system to do the commission calculation. Multinational companies with billions of IT budget can't get it right - so how will a small company ?
That's where we come in. We wrote a simple platform over several years that would bring together all key business processes on a nifty platform.
It had accounting, HR, CRM and other handy tools built in.
Well we started with the accounting app. We didn’t make the choice – the market did. And it took us a good part of a decade to get that app right. We added CRM, Project Management, HRMS (with Payroll, Leave, Attendance, Expense/Claims, Appraisals) along the way.
It sounds easy but it was hard. And there are a very few companies in the world that even have this set of software applications.
And then, last year, in 2019, we decided to chuck it all and start anew!
Why throw it away? Because Mobile. Mobile is the future!
Half of our web traffic comes from mobile devices. In 2018, India had a grand total of 10mn Desktops. But it had half a billion phones.
Our users are on Mobile. They are not on Desktops - because there are no Desktops.
We had our basics in place. Our interactions with thousands of customers meant we had a strong grasp of their needs and wants, the problems they faced, and the ideal solution for these problems.
So we pulled our socks, moved our techs stack, and we released our mobile app on Android and iOS in late 2019, followed by the redesigned web application in early 2020.
What did we do?
Simplified the User Experience
- We started by reviewing the user journies for small businesses and mapped them against the existing system flows.
- Then we eliminated every feature, box, text field, entry form that did not map directly with the user journey or did not lead to the desired outcome for the user in the shortest possible path.
- We looked at best in class apps from across the industry to identify user elements and components which make actions easy for the end user.
- Used Material design principles to redo the look and feel of the application
Upgraded the Tech Stack
- Our incumbent techstack was primarily Java and extjs for the webapp and Java and ObjectiveC for mobile apps. We moved to a combination of Go, Java, NodeJS for rewriting the APIs and Angular & React for the frontend. For mobile we switched to Kotlin and Swift.
- Midway, we pivoted to React Native for mobile. This was driven by problems in maintaining two separate teams and code bases for the mobile app. Moving to React Native brought greater stability to release cycles and improved predictablity.
- Moved our website from Wordpress to React
- Moved our blog from Wordpress to Ghost.
- And finally, took a mobile first & design first approach to complex Business Apps
Long story short - this is what we have today on Mobile.
And here is what we have on the web:
This is how our user base grew in 2020 on the new application. From zero to 300,000+
We have seen 1.5 mn invoices created by our users since the start of the year!
Our users are from 198 countries! This was surprising for us, because usage of business apps like accounting is tied to specific geographies due to various compliance and statutory requirements.
Yes it is just one user in these countries, yes the engagement is not great, but we expected nothing there anyways! And it tells us that we are on the right path with our approach - building a great looking business application that is driven by user experience and not just features.
5 Lessons we learnt along the way
- Start Sooner - yes, don't wait. Start sooner - it'll pay off.
We could have had the new apps out much earlier if we had not waited for the "right conditions" and it definitely would have helped us. No doubt about that!
- Build a new team - sorry, your old team won't cut it plus its not right to expect them to upgrade.
We got delayed in the early stages of the pivot because of a tech stack mismatch. It turned out those problems were solved when we got some fresh blood into the mix, and that invigorated everyone and made learning the new tech stack easier for everyone.
- Pick your technology platform very carefully. We changed course midway and it wasted a lot of our time.
We could have started with React Native and React, but we did not. We started with Angular and Kotlin and Swift. This delayed us by more than a few weeks. Our website was in Wordpress and we build the new website on it as well. This was a mistake. React is a much better alternative for building faster, responsive websites. We realized this later than we would have liked to, and built a version 3 on React.
- Set expectations with your customers - say no
Some customers want a problem solved in a specific way. It is a classical mistake in product management to listen to the customer solution and not the customer problem. We solved problems for our customers with a better solution than they could think of. Moreover, instead of working on FIFO for feature requests, we evaluated each request for its impact on our target user base and looked at actual usage data before development.
- This is the last one - you can't maintain 2 platforms. So bet your life on one. If you can't answer this - then somebody else will answer this for you.
Building anything requires your full attention and resources. If your attention is divided, your resources are divided, then instead of one great platform, you'd end up with 2 mediocre ones. And that does not end well! So let go of legacy platforms as soon as possible.
This is only the beginning. From hundreds of thousands of users in India and the US to that one user in Aruba or Guam or St. Kitts & Nevis, we will keep striving for what we started out to do - provide great solutions for small businesses.