For about 8 years, I defined myself as a mobile developer. What this essentially meant was that I would take a job with a company to help them create a mobile application that would integrate with a big chunk of their infrastructure, or their enterprise applications…something like that.
I really loved developing mobile apps as a hobby, and it was even better when I could get paid a full time wage to do it. I could do something that I really loved to do AND get paid. Don’t get me wrong, I don’t mind doing the generalist development I’m doing now…it’s a very good and satisfying job. But I don’t wake up wanting to get to work like I did when I was doing mobile stuff full time.
See, I had an idea that by creating mobile apps that worked within your company’s infrastructure, I could create a means for employees to do their jobs more effectively and easily. Not have to be tied down to a cubicle or desktop as much to get at information they need to get things done. For example, you write an application that automates the process to generate some reports that you might need from time to time…you’re in a meeting, and instead of bugging some IT guy to log in and run a process manually, you could start up your app, run the automated process from the UI, and when you need to present those reports to your boss…they’re right up there on the server.
The problem with Apple and Google is that unlike Microsoft and Palm used to be when I was doing most of my work for those platforms, their commitment to the enterprise vs. the casual user is weak. They’re all about people using their phones for games, casual applications, personal stuff. But when it comes to the enterprise, the advice you hear time and again is “just make a web page and browse to it”, because you certainly aren’t going to submit a mobile app intended for internal use to Apple or Google to sell online. If you could even get through the approval process because most likely you needed to do something very, very custom. (Which is often the case when you’re doing enterprise apps like this…you’re trying to create something that no one else has done, and this usually means bending the platform guidelines some.) As for Google, dealing with that Java mess and making it hit your custom secured web services and to trust it isn’t something that a lot of companies really want to risk.
And they really don’t like exposing a highly internal tool as an external website that you can just browse to using your standard cell data network…or even wifi for that matter. They like that thing to work internally, usually through a vpn, usually with custom security and encryption…you get the point. Having an open OS that lets you easily connect within the corporate infrastructure and get access to things really makes these sorts of projects worthwhile. If you’re going to clunk around using a platform without proper functionality and be stuck coding a lot of stuff from scratch, companies won’t do it. It’s too expensive, and they can just make you sit down at the desktop or use a netbook and do the same thing. The problem with those, of course, is that you’re probably not going to be able to whip your netbook out just anywhere and do what you need to do. You need wifi, you need power, possibly…a cell phone is always connected to a data network. And it’s secure in this case if you can establish a properly encrypted connection through a vpn tunnel.
So anyway, I’ve seen exactly 1 enterprise application request for iPhone come my way in the last 2 years. And people wonder why I gave up on the platform. If I were to have stuck with what I loved doing, I’d be living on the street right now. No one is interested because they didn’t make it easy enough for businesses to work within their own security practices and develop applications quickly.
Here’s why I flack for Windows Phone and Palm: They DO let you work within those security frameworks. Palm’s webOS is open and standards based. You can put all your real business logic behind a secured web service, and write a thin client using json to make connections to those web services. While you may not have the advantage of the vpn, you at least are putting most of your serious logic off the device and making it wicked simple to build that app. (Doesn’t mean a lot of work for a poor mobile developer, but if you know something about web services, you can carve yourself plenty of work there…and I do know some things about making secure web services.)
Windows Phone doesn’t need any defending when it comes to enterprise applications. Microsoft always gets it when it comes to business needs. That’s their focus. Their stuff might not always work perfectly, their UIs are painfully kludgy sometimes…and for god’s sake…Silverlight for a UI is way too heavyweight. You don’t need freaking Silverlight to make a UI…though using WPF makes a lot of sense and incorporating Silverlight as a response to Android’s gadgets works for me. But Microsoft gets business needs. That’s really their focus. They give you a zillion and one apis to connect to and integrate nicely with their entire product line. And things do work if you follow their best practices…mostly.
But here’s the problem: I haven’t done Windows Mobile apps because people stopped buying Windows Mobile phones. I remember seeing the writing on the wall when everyone at a company I worked at 2 years ago was carrying their iPhone as their personal phone, and their Windows Mobile phone as their work phone…and they did NOTHING with their WM phone besides answer phone calls and emails. At some point, you know these people are going to get their iPhone to be both their personal and work phone, and ditch their WM phone for good. Which is sad…what you’re really looking for out of your WM phone is the ability to use a data network to integrate with your business apps and “do stuff”. It really could be used as a separate device entirely…like an always on networked device as opposed to being your “fun” phone. But people didn’t get that, and thus, I have become a web developer after a few hard false starts.
It’s hard when you’ve got 10 years and you’re looking for relative experienced senior developer salary, and your prospective employers are thinking the same…but you know bringing junior engineer web dev skills to the job and you have to make your place with your overall development experience and other edge skills. It’s even harder when the stuff you really liked to develop for has faded away. I can write all kinds of crummy apps for iPhone and Android and totally just give in…but I know firsthand that all you really get out of that is hype. You get a lot of attention, maybe a few bucks, then there are 5 other apps that do the same thing and they’re charging less for them. And you’re stuck going back to the board and starting that process again. All to eventually come away with maybe 2-3 weeks of equivalent salary that you have to claim on your taxes. It’s just not worth it.
So, basically, 8 years of my career have been splattered against the wall. Nothing personal, of course, and I’m sure that Apple and Google would love it if I gave in and just started flacking for them like all their other fanboys do. I guess I’m just not the type to fall in love with the steamroller that accidentally flattened me. So I keep trying to support the players in the market that I feel might give me a shot to get back into the game and do what I really love to do (and get paid a fair wage at it). I doubt I’m going to have the time to really devote myself to both my contracts AND developing some side app part time. So, I got to hold out hope that these other platforms that are more enterprise friendly make a big push and break through a little.
And really. I don’t think the world needs another Starbucks finder app, or iFart app, or some other silly little deal that makes all of about 6 people happy for about 3 days before they stop using it. I’d rather walk my dog than contribute app spam in order to make a few cheap bucks off people’s stupidity. I want to use my skills to actually create things that make people’s lives considerably better, not just solve minor nuisances or amuse them for 5 minutes. And yeah, I’d like to be paid to do it. Kinda need that so I can feed my dog and pay my bills and not starve to death. I don’t ask for all that much these days to do a mobile app. If I break even, I’m cool.