Triangle CocoaHeads Meetup

Last Night I had the chance to catch my first meetup of the Triangle Cocoaheads. What a great meetup, and I certainly plan on attending this more often. Our hosts over at Two Toasters, a local App development company, had a nice downtown office fully supplied with Pizza and drinks. The room held probably 25 or so local iOS / Mac developers and started with a quick set of presentations. The first one from Dirk was all about UIResponder. If you are not familiar with this class on iOS, take a quick peak when they post the videos over on the Triangle Cocoa website. UIResponder is used to handle touch events, as an example, and understanding the chain so that the right code processes the right event is key for developing under iOS.

Next we had a great presentation by Dim Sung Thinking on something that was added to Mac OSX with Lion, that is rumored to be coming to iOS6, called Auto Layout. This allows you to have your interface to appropriately adjust itself based on screen resolutions and rotation. While Interface Builder in the past has allowed you some control on how this works, the new Auto Layout features allows for thing like relative positioning.

Then our host – Josh gave a great talk about how to do automated testing (as a follow up to the Continuous Integration session that was presented last month). Josh has been learning about using Calabash for Cucumber as a way of automating UI testing and the company Less Painful‘s device cloud for testing rotation. If you aren’t doing some level of automated testing, you are probably either letting your users test for you in the AppStore, or you aren’t doing enough testing. I believe automated testing of mobile apps is going to get much better over the next few years. A couple of things that I liked about calabash, was the very natural scripting language for writing your tests, however it does seem that device format would require new scripts because if you want to touch the screen you have to provided the x/y coordinates.

We then had four demos of Apps people have been developing.

Up first was Roy (sorry didn’t catch the last name and can’t find him on the meetup site to give a formal shout out to). He’s only been programming for 6 months, and like many of us is starting out by writing apps that he needs himself. The first was very cool, it is called Static Fix (btw, both are mac apps). Static Fix actually runs in the background and keeps your sound card engaged so you don’t get that little pop when you first plug in your headphones. The second app is called Time Tracker, a multiple stop watch tool for tracking your work. I can’t wait to see this one evolve.

Next Sam how has developed a Tea brewing / tracking app. Version 1 has over 60,000 downloads world wide and allows your track how you brew your tea, rate it, and track it. Version 2.0 is adding some great UI enhancements and a much better way of defining blends. If you are a tea drinker, this app is for you. I am hoping to get Sam on a quick video for Triangle App Show in the future.

Vishal came up next and showed his app which is called YouSeek. It is a youtube channel viewer that organizes videos and makes it much easier to find and track the videos you want to watch and share. While it does not yet allow you to remember all those channels or users, the idea should catch on quickly, and I cant’ wait to see the updates as this one matures.

Eric from OrgBook then demoed a conceptual app that will eventually allow you to do org charts and visualizations. Written in custom build OpenGL classes, that allows for fantastic ways of organizing corporate hierarchies.

And finally Bruce founder of BA3 showed their 3D mapping app for the iPad. This was the first ever 3D aerial mapping platform for the iPad. Amazing graphics with stream data and layers. I hope to get a link to their video and share it here. They are actively looking for developers who want to use their platform for a show case app on the iPad.  You can find out more about their work at http://ba3.us .

Overall this was a blast.. and I plan on being there each month.

Appcelerator’s Quarterly Survey Results show iOS dominant in the Enterprise

For all the talk about how Apple is not enterprise friendly, I was surprised to find the news that more than 50% of enterprise app developers want to target iOS in the quarterly survey that Appcelerator runs.

Survey Results

From Appcelerator’s quarterly survey

This shift from Android to iOS continues to reflect, in my opinion, the challenges of targeting Android’s plethora of form factors, and the continued dominance of the iPad in the enterprise for tablets.  I am not sure that this result will last too long, given the amazing popularity of the Nexus tablet, and the continued lack of a 7 inch iPad option.

The other big potential monkey wrench is Windows 8 and its support of both Desktop and Tablets in one package.  This should make for some interesting times for App developers over the next year.

Open Development vs. Open Source

Sitting in my favorite coffee shop this morning (BeanTraders), while working on the edit for one of my other podcasts (GamesAtWork.Biz) I got to thinking about Open Source vs. Open Development (btw, open development doesn’t have a dedicated wikipedia page, so I guess it means too many different things to too many different people).  A quick definition that I would like to put forward is “doing your development in the open so others can understand your process and progress.”

I’ve been a supporter of each of these within the appropriate context.  Open source is the easy one to think of.  There are multiple great examples of open source projects that have taken the world by storm, Linux and Android are in my mind poster children.  When it comes to open development, there are a few great examples too – IBM has Jazz.Net, Linux has the Open Source Development Labs, and Nokia has Maemo. (Full disclosure in my day job I work for IBM).

I find that Open Development is a great way to build interest and engagement with your work, while still allowing for innovation that drives revenue and other monetary rewards for the work that you do.  Open Source, on the other hand is also great, but for different reasons.  Open source allows you to take a fairly commodity technology and make it even more accessible.  It allows developers to show case their skills in a very public way, with direct feedback and support from developers in similar areas.

Open Source becomes the most public way of doing Open Development… So it’s not a verses in my mind, but a complementary project.  What do you think?

Coding makes you happy

I’ve been in the “IT Industry” for longer than many of my developer friends have been alive.  I started programming in high school, but had the opportunity in elementary school to play on an IBM Mini Computer at Riverside College in California, oh yeah, it used punch cards!!!

I find that while working thru a difficult bug or routine or design can be extremely frustrating, there is nothing more gratifying than actually getting it done.  So gratifying in fact that many times when I am coding time stands still and I have my Fiero moment well past the time any normal person would be in bed.  I spend most of my days now, no longer coding but working on business cases and power point charts.  And while I still love what I do, I can’t think of a single Fiero moment in doing those.

Lately I’ve been working on a game for the iPhone and iPad…  It’s great to have that much happiness!

Last Night’s TechCrunch Mini-Meetup

Wow, even with the threat of storms and the last minute change of venue, there were at least 300-400 people who attended the meet up.  It was great to meet a bunch of new startups working on Mobile Device Apps, and also some who were working on the interaction between work and play.  The other very interesting group of people I talked with are those doing work around analytics and social media.  While I didn’t remember to get a card from all the people I talked with, a few local groups that I did remember to get are here (not in any particular order):

Archive Social – A company that specializes in allowing people in regulated industries to use social media

S.T.E.N.C.I.L – A developer of software for education to help improve outcomes for at-risk students.

Urban Planet Mobile – Local developers helping people learn new languages.

I am really looking forward to learning more about each of these groups, as well as the upcoming App development class that Paul Jones, from UNC and iBiblio.org, is working on.  Exciting times.

Tonight’s TechCrunch Mini-Meetup

When is a mini-meetup a blow out!  When there are over 600 people signed up.  I am really looking forward to heading over in a few hours  to the TechCrunch Mini Meetup, the this number they have just announced that it has moved to Bay 7 (and to address the potential for rain.  As I’ve been saying on this reason for this blog, the RTP area is a vibrant location for start ups and for mobile development.  If you see me tonight introduce yourself, especially if you are a local mobile developer.  Let’s see how we can show off your work!

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?