Appcelerator Developer Blog

Featured Developer – Ben Bahrenburg

Editor’s note: Sharry Stowell is the editor of Learning Titanium, where he frequently comments on the latest contributions of the Titanium community.

Over the previous few months I’ve noticed a few developers in the Titanium community shine brighter and brighter. They’ve helped out on the Q&A forum, answered questions over IRC, shared the latest Titanium news and even created modules for the Appcelerator MarketPlace for all to use and enjoy. The Titanium developer of the week has to go to Ben Bahrenburg for his outstanding contribution to the community.

Ben has over 14 years experience in systems, software and module development. Starting out as a Oracle DBA, then moved onto focus on DSL base high volume payroll transactions for PriceWaterhouseCoopers.

Interview with Ben Bahrenburg

A few weeks ago I had an interview with Ben and asked him a few question about Titanium, here is what he said:

How did you get involved in Titanium development?

I found Titanium about three years ago through Twitter. After a couple of weekends experimenting with the API, I was hooked. It was impressive even back then how quickly you could build apps.

Do you have any Apps created in Titanium?

Like most Titanium developers I’ve created a ton of apps over the years. The two most notable are Aidori an app to help with the Japan 2011 Earthquake, and bARk an open source augmented reality app that was used in a session at last year’s CodeStrong conference.

A majority of the apps and frameworks I’ve created are for my employer. The most notable of these is the myTravel app which is featured in a recent Appcelerator case study.

How are you involved in the Titanium Community?

There has always been a great community around Titanium. Back in the 0.4 days Jeff and Nolan would answer most support questions themselves. In this spirit I help out in the Q&A forums, on community project, and over Twitter as much as possible.

Whenever I run into an interesting problem in the QA forum or on my own projects I create tutorials on my blog bencoding.com or post samples to github.

The Titanium Titan program has provided the chance to talk about Titanium at several hackathons and user groups. This has been a great opportunity to code and learn from the Titanium community. It has become a personal mission of mine to pair program with as much of the Titanium community as possible. This has been a great way to both learn and give back.

Do you have any experience in Titanium Module creation?

I’ve created a few commonJS format modules.

TiTaffyDb – A Titanium port of the populator NoSQL JavaScript database
Soup – A framework for working with Geo Location based content providers
Atlas – A Geo Location framework, that allows for chaining, provider rating, and fallbacks.

The Titanium module architecture make is relatively easy to plugin native modules. I have a few native iOS modules I hope to make available once iOS 5.1 ships.

What’s your favorite platform to develop in? Any plans to expand?

I enjoy the challenge of building for tablets. Until just recently that meant the iPad but now with the Kindle Fire and Windows 8 Metro it is starting to be more exciting from a cross platform point of view.

Over the last month I have been experimenting to see how much code re-use I can achieve using Titanium on the Kindle Fire and WinJS on Windows 8. So far the results have been limited but encouraging. From a Titanium devs point of view WinJS feels similar and provides a great level of skill reuse.

Modules

Since taking part the interview, Ben has been busy trying a new challenge – to release a module each Monday for a month! So far he has created 3 great modules, with a few more to come too:

NETWORK HELPERS MODULE

TiNetworkHelpers is a module that provides support for Carrier information, SSID, BSSID, and Apple’s Reachability utility class. Its currently only available on iOS, with Android support coming shortly:

1. CarrierInfo – Provides access to the native CTTelephonyNetworkInfo framework object

  • carrierName – Provides access to the carrier name associated with the device’s SIM.
  • mobileCountryCode – Provides access to the carrier Mobile Country Codes (MCCs). This is the country code associated with the carrier on the SIM
  • mobileNetworkCode – Provides access to the carrier’s Mobile Network Code. This is the network code associated with the carrier on the SIM
  • isoCountryCode – The ISO country code for the user’s cellular service provider. This is the carrier on the SIM
  • allowsVOIP – Indicates if the carrier allows VoIP calls to be made on its network

CarrierInfo

2. CurrentNetwork – Provides access to the native CNCopyCurrentNetworkInfo object

  • SSID – Provides access the SSID the device is currently connected
  • BSSID – Provides access the BSSID the device is currently connected

CurrentNetwork

3. Reachability – Provides a wrapper for the Apple Reachability module

  • reachabilityForLocalWiFi – This method provides a boolean result if Local Wifi is enabled
  • reachabilityWithHostName – This method takes a host name, such as www.appcelerator.com and returns a boolean result if the host is reachable
  • hostNameReachableBy – This method takes a host name, such as www.appcelerator.com and returns a constant with how it is reachable

Reachability
Useful links: BLOG POST | CODE | MARKETPLACE


TITANIUM DICTIONARY MODULE

What to use the native iOS5 Dictionary in your Titanium Mobile app? The new benCoding.Dictionary module that makes it easy to this functionality into any Titanium app that targets iOS5 or greater.

Dictionary module

Useful links: BLOG POST | CODE | MARKETPLACE


TITANIUM SMS MODULE

The benCoding.SMS module makes it easy to add SMS functionality into your iOS Titanium apps. We unleash the power of Apple’s native Apple SMS component to Titanium with an API fashioned after the Titanium EmailDialog to make it familiar to use.

SMS module

Useful links: BLOG POST | CODE | MARKETPLACE


As you can see from above, Ben has been extra busy! Please remember all these modules are FREE to use and are available within the Appcelerator Marketplace.

If you have have developed an App in Titanium, a module for Titanium or just have some news you wish to share with the community please head on over to LearningTitanium.com or follow me on Twitter here.

Code strong!

Tags:

2 Responses to “Featured Developer – Ben Bahrenburg”

  1. Yoav Berchik says:

    Very nice!
    btw, the link to TiTaffy should be fixed to:
    https://github.com/benbahrenburg/TiTaffyDb

  2. Leo says:

    Thanks Ben, your modules are awesome and really help out. Thanks for all of your contributions.

Leave a Reply (Please see our Comment Policy)