BYOD impact on app development

I saw a study a few weeks back that stated 60% of independent app developers are enterprise developers in the day and app developers by night and weekend. While this sounds right from a pure numbers perspective, it got me thinking about how the BYOD (bring your own device) trend in the enterprise may be impacting the types of apps independent developers may be writing. (Stay with me on this one).

in my day job, as I mentioned before, I work for IBM and we have a very strong BYOD program, to the point that many develops are not only bringing in their own mobile devices, but their own laptops so they can be as productive as possible. Years ago it used to be that your best computer was at work, they could afford the expensive ones. At home you got a good enough computer. Now computers are much cheaper, and finance is always looking to extend the accounting life of corporate assets that it may be 4 or more years before you can upgrade your machine at work. So the best deal is buy your own, get what you need, and customize it so you are as comfortable and productive as possible. This same trend has happened with smart phones and will happen for tablets.

So if your development environment is becoming more and more personal, and since many of us write our first mobile app, as something useful we want that doesn’t exist, are we finding more and more mobile apps that bridge the personal and enterprise workspace? I suggest that this is exactly what is happening. And this is of some concern for corporate types, since as you start sharing apps between your day job and your personal life, you have the possibility of sharing data between them too. And with more and more features of mobile device and apps being enabled via shared cloud storage – this is where companies like IBM get concerned about data ending up on servers that can be seen by other companies.

So, the challenge is, how do you create apps in this environment that provide you and your users with as many useful features as possible, without getting banned from an enterprise environment? Do you create two versions of your app? One that uses cloud services, and the other that can use an on premise server for those enterprises willing to buy it? Or do you just shy away from apps that could have a valid enterprise use? Or do you offering some kind of in app encryption so that cloud based data can only be accessed by your app?

I believe this challenge is only going to get more difficult before it is resolved. What are your thoughts?

Working on new review

I am hoping to get the point to where I can post a weekly review, but right now I feel that if I can do monthly I am being pretty successful. Having said that I am pretty excited to be heading to the TechCrunch meetup on July 10th at Tyler’s Taproom in Durham. Come and say hi!

Episode 1 – Downcast App

Well, I have finally gotten the first episode of Triangle App Show edited and clean up.. including my attempt at writing a theme song. Seth McFarland from Downcast was kind enough almost a year ago to be the first person to record an interview with me. Now that I have the Reflections Application on my Mac, I have captured a current review of the capabilities of his fine podcatcher. And you will be the beneficiary of updated video editing software and a few new ideas. I would love to get your ideas and input on this post recording.

IBM Innovate and Mobile

As part of my Day Job, I work for IBM in the Rational Software Brand.  I do business strategy, this means I look at how Rational can develop and address new markets, as well as how we work across the rest of IBM.  In that role I focus on Mobile, DevOps, Cloud and SaaS.  I was able to go to our IBM Innovate conference and speak in the Mobile Track and the Executive Track on work that I am doing in my day to day activities.  I also did a series of blog posts in the IBM Mobile Frontier blog over on DeveloperWorks.

I won’t repeat all the content over here… The focus of this site is independent app developers…  not enterprise app developers.  So I wanted to ask – Do you develop Hybrid Apps?   Hybrid apps are apps that leverage web technologies like HTML5, but are wrapped in a native platform application.  If you are developing for multiple platforms and device configurations, Hybrid Apps can let you quickly deploy “native” apps on iOS, Android, RIM, and Windows Phone, that leverage your skills as a web developer.  I personally see huge amount of value to this for enterprises, but I am not sure this translates over to independent developers.

What do you think?

Games at Work dot Biz

I am one of the Michael’s over at Games At Work dot Biz. Over the last month I’ve been working to get the site up and running and move our content from it’s old home at Dogear-nation. It certainly had been a learning experience, makes me appreciate all the hard work of the various co-hosts, who also did site maintenance, went thru to make it the site it ended up. Matt Simpson, Steven Harrison, and Andy Piper. I owe each of them a debt of gratitude for working thru a lot of the complexities of building the site, and giving me a great starting point when I built the new site. I also discovered how selfless they were on registering and buying some awesome plugins. I purchased many of the same ones for Games At Work dot Biz.

Go check it out and let me know what you think. I will be posting my first video over here this weekend.

Reflections App and reviews

I want to thank Tim for introducing me to Reflections App. This mac app allows you to share your iPhone or iPad screen to your Mac, just like Apple’s AirPlay. The really nice feature; however, is that it also will record that session, including sounds from your iOS device. I am going to start using this application to do quick reviews of some of my favorite apps that I use from local developers. Hope to post my first one this week.

Triangle TweetUp and local developers

I’ve been to the triangle TweetUp hosted by Bronto for three years running. It is a great time and place to catchup with twitter friends, learn about cool things going on, and drink some good local beers. This year it included a mini ignite section, where six people got up and did five minute lightning talks. Having just done a lightning talk of sorts at IBM’s impact conference the week before, I really enjoyed the fact that these talks were truly personal, not focused on specific technology.

I also had the enjoyment of talking with both Drewand Tim. Tim told me about a great application for the Mac which I hope to use to start doing a few screencasts about my favorite apps. Go check out Reflections App.

I realize that working on this blog, along with my other activities at Games at work, Wasted time and my day job I’ve not been able to keep a nice cadence of entries over here. To that end, I am reaching out to others In the local community over the next few months to see if we can expand the base of bloggers on your favorite local app developers. More to come on that front.

IBM impact and mobile

As part of my day job, I work for IBM. Full disclosure, I work in the Rational software brand. As part of my job, I am focused on mobile development. To that end, I was able to go the IBM Impact in Las Vegas, Nevada this part week. It was amazing to see the number of people in the enterprise who are focused on mobile. From customers, partners, analysts, and IBMers, everyone was focused on mobile and looking at how they could extend their applications to take advantage of mobile devices.

IBM showed of their IBM Mobile Foundation, this is the first IBM version of the recently purchased WorkLight studio and server. For those who don’t follow enterprise applications, this allows for creation of hybrid mobile applications. A hybrid application is one that is combination of html5 and native platform code. This “best of both worlds” way of developing allows for common functions across multiple platforms, iOS, android, and windows mobile, while supporting native code for those functions which need access to device capabilities, i.e. the camera, or address book.

My focus for this blog and podcast ( when I can get time to get the podcast started ), is more about stand alone apps, for end users, not hybrid apps or enterprise users. However, it was certainly exciting to see all of this excitement in the enterprise. This will allow more and more developers to become mobile enabled, and that means that we will see more apps being developed for home and fun!

Cross platform vs. Performance

I’ve been working with a small team to build a cross platform game leveraging the Cocos2D gaming engine on iOS. I chose this platform for a few reasons:
1) There is a really good book explaining the basics of game programming and the libraries.
2) There seems to be a good number of other people using this engine
3) The game I am working on is a turn based strategy game and this engine seems to support that
4) I wanted to create a hex based map and had read that Cocos2d supported this
5) I had heard that it is cross platform capable with Cocos2d-X

Given those four reasons I have started looking around on StackoverFlow for more information on the cross platform nature of the libraries. Previously I had only found a single wiki that talked about cocos2d-x. So I was a bit worried already.

After a bit of reading, I didn’t feel any better or any worse for that matter. The biggest concerns that I have found in my readings are as follows:
1) Cocos2d doesn’t really support hex based maps (so I’ll change my design)
2) Cocos2d-x is really a C++ wrapper which requires that you code in C++ for iOS too (doesn’t seem too painful yet)
3) Like all cross platform development this is going to be hard (and will probably take a performance hit!)

Given those three findings, I am trying to decide, is it worth starting from scratch with a cross platform game and design? Will I learn enough, so even if the game is a bomb, the overhead will be worth it?

What do you think? Do you code for multiple environments upfront, or port your app once you have a success?

Games on rails

The popularity of the unreal engine on iOS can be seen by the success of games like Infinity Blade and Batman Arkham City. These games are bringing the excitement of combat games to that little device in your pocket; however these games are primarily another example of games on rails. Guiding your players thru a series of battles where your are blocking, hitting and doing combos. Players learn to do patterns to beat the hordes of baddies, in order to gain experience and loot which can be sold for upgrading your skills.

You can’t fight the popularity of the engine, but are these games really showcasing the power of the unreal engine? The beauty of the engine can’t be denied! The shading leads to some stunning vistas, while keeping the game play from completely degrading.

Is the reason that the popular unreal games are all on rails that iOS devices are not really created for good game input? Or is that we, as developers, are struggling with new game play mechanics that can leverage the beauty of this engine?