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?

Are you Retina Ready?

Now that the new iPad has been around for over a month (has it really been that long?), have you started updating your apps to be retina ready for the iPad? What are your best tips for doing so? Are you just re-rendering all your graphics?

Are Certificates worth the hassle?

Back when I first started programming there were only three environments you could program for A) Main Frames, B) Mini computers, and C) Personal computers. Given that A & B where tightly controlled by people in suites and ties, and no respectable business used C for anything that could impact their business, there was no need for Certificates. Even today the locked down world of mainframes and midrange computing has their own internal controls which doesn’t require certificates to be used.

More and more, however, security certificates are becoming the norm in programming. Websites need them to ensure that you are access the site you think you are on, and not some phishing site. Even Apple is enforcing certificates in OS X, and perhaps Microsoft will require them for Windows 8. But in the world of mobile phones, you need a certificate to provision anything. It seems that the complexities of security require that not only do you have a certificate, it needs to be updated periodically to show that you are who you are, and oh yeah that you paid for your rights on the iOS store.

There are also multiple different types of certificates: Developer, Distribution, Ad Hoc, and who knows what else… This means that as an app developer I feel that if I am not putting out a new version of my app every few weeks, that I will forget the complexities of ensuring that all of the various certificates and profiles are current and setup correctly. I personally find that when I move from one PC to another I invariably get it wrong, and have to start over getting all the certificates resubmitted and recreated.

Does this happen to you? Do you feel that having a certificate on an app makes it more secure? Would you install a piece of code on your phone or tablet that didn’t have a certificate? Would you immediately delete it, just because the certificate expired?

Are they worth the hassle?

Local Gaming Accelerator

Joystick Labs is a local group that helps local game developers get started. They focus exclusively on helping launch the next gen of video game companies. Yeas ago I had the pleasure of meeting one of the co-founders – Juan Benito at one of the Triangle Game Initiative events. His passion for the industry and local developers was infective. He doesn’t know this, but he helped inspire me to start this blog, and eventually the podcast once we get it going.

Anyway, Joystick Labs has been around for over two years and has announced their next sign-up for teams which can be selected for their support. Prior teams include Lab Rats Studio, Mighty Rabbit Studios, Nix Hydra Games, GaleForce Logic, Inari Games, Buckle Up Game Studios, and Wefiends. As you can see the local community has a great set of game developers for many platforms.

If you want to apply for a bit of acceleration, go over to Joystick Labs and apply between March 6th and May 25 for the upcoming session on August 20th. Good Luck!!