I was inspired to put my thoughts into writing after reading the announcement of a mobile Basecamp. Like you may have, I remember thinking: “Finally! A fantastic mobile app I can use on my Nexus S.” The excitement dissipated as soon as I discovered it was simply a mobile version of the existing site—still HTML. It looks like there won’t be a native app for Android anytime soon. Part of the problem is that I’ve become spoiled with all the fantastic native apps provided by services like Remember the Milk and Evernote. There’s no arguing that native apps provide a superior user experience.
Back on Hacker News, I read a post titled Today, Web Development Sucks and commented ”Today, Development sucks.” In 2004 when Ruby on Rails was created, a web app was the sexy thing to do: no installation, universal access, centralized development. What could be better? Well in the last few years we’ve seen the pendulum swing back to apps. Native mobile apps, and now native desktop apps (with the Mac app store) are redefining software development. Now, your apps are snappier than ever, don’t require internet (ever tried pulling up a mobile site in a bathroom at work?), and have an amazing distribution channel that starts with app and ends with store.
We have entered a software era where client access is becoming distributed. Phones, tablets, laptops, and desktops are now all mainstream methods to use software. If I’m walking down a hallway, I’ll be swyping on my Nexus S. When I get to my desk, I’ll switch to my MacBook Pro, and when I jump on a long flight, I’ll be typing on my iPad. I
expect demand the absolute best user experience on each of these devices, and vote with my wallet for the company that will provide this. The fact that 37signals has decided against native apps puts them one foot into the obsolescence grave. In order to stay competitive, web companies now must provide for all devices.
Also notable though, is their reasoning. I am a software developer and have worked with several languages and frameworks. I know what its like to develop with a framework you love, and are forced to program in a language you loathe. Running a business isn’t about enjoying a certain programming language; it’s about the enjoyment customers receive from using fantastic products.
37signals describes their reasoning against mobile apps and bringing on an in-house developer: “That’s a lot of specialization and we’re usually anti-specialization when it comes to development” but seems to completely contradict themselves in the next sentence: “we came to the conclusion that we would stick to what we are good at: web apps.” Sorry, but being good at web apps means that’s your speciality. You’re specialized, 37signals, and in an area that the market is getting away from. Yes, you created Ruby on Rails and love it. So do I, it makes web apps easy(ier). Get over it and learn something new, even if its outside your comfort zone.
The fact that 37signals is unwilling to adapt to a changing market (i.e. demand for native apps) shows their archaic mindset and lack of innovation.
It is not the strongest of companies that survives, nor the most intelligent that survives. It is the one that is the most adaptable to change.