Lessons from a Hackathon
I attended my second Mobile Hackathon at the AT&T Foundry in Plano this weekend. I went to the first one a few months back and it wasn’t very exciting. Most the folks weren’t really coders, and I didn’t have any specific ideas, so I only sat in on the first day.
I enjoy the hackathon concept for the chance to meet new people, and also to stay geeky. It’s fun to see what you can produce in a weekend with some dedicated focus. The hackathons at the AT&T Foundry are more “bush league”, being nothing like a BeMyApp competition, but it’s still a lot of fun.
For the hackathon this weekend, I decided to jump in and write some code. I was hoping someone pitched something I could latch on to, but that was not the case. And based on my pre-pitch reconnaissance, I was the only person playing in the mobile web space. So I decided to go the army-of-one route and work on a small idea I had. It was basically around mobile enabling the change management approval process for enterprises. The intent wasn’t to make a million dollars; it was just to give me a context to really get in to some of the technologies I wanted to play with.
Here’s what my simple landing page looked like:

Since I was starting green field, I had to make some technology choices. For the web layer, it came down to Sencha Touch or JQuery Mobile. I haven’t written any production quality code with either, so the challenge was getting up to speed quickly and being productive.
Sencha Touch is extremely sophisticated, but it is also much more complex. If you’re willing to invest your soul into it, it can pay great dividends. Since I was going to be hopping through all the layers, I didn’t want to have to do the major mental context switching it required.
JQuery Mobile is a bit cruder, but it follows the web paradigms. You still play with pages, using HTML tags, and the framework deals with the rendering on the mobile device. For how short a time I had, it was a much easier framework to work with and get my head around.
Another big advantage to JQuery Mobile is the excellent theming support via ThemeRoller. I needed some different colored elements for my application and was able to quickly generate them via ThemeRoller.
For the backend, I was planning to go with Grails, but since I didn’t really need 90% of the framework, I opted to go with NodeJS and Express.
Like the web tier above, I have never written production NodeJS code either, so this was really a test on how quickly I could embrace it and get productive with it. I’m happy to say not only was it extremely productive, but I had a blast doing it. The NodeJS/Express combo makes for a blistering fast dev cycle, and I even liked the Jade templates. This will be my go-to combo for future hackathons.
For the storage layer, I wanted to go with MongoDB, but after about 15 minutes I realized the storage didn’t matter for my pitch, so I cheated and went with simple JSON objects on the server side for my data structures. The ease of using JSON structures server-side is one of the other big advantages of NodeJS.
I completed my simple app and a basic Keynote presentation in time for the pitches. I have no delusions of grandeur in the complexity of my app. It was about playing with some new technology, not making the next Facebook. But I still managed to win 4th place out of around 14 teams, so I was pretty happy.
A couple observations on the hackathon in general:
- The AT&T Foundry rocks. I may despise AT&T Wireless for their absolute shitty network, but they killed it on creating a great environment for startups and these sort of events.
- The majority of the teams were working on native Androids apps. There wasn’t a single iOS project. I found this really strange, and not indicative of the current market. I’m suspecting it is because Android breeds more of a hacker mentality with its open source nature, but I don’t see the market to justify the investment.
- There were also a lot more Windows Mobile developers than I expected. I actually expected zero. It might have helped that Microsoft was tossing in some of the prizes and had experts on hand to help. The hackathon winner was a Windows Mobile application. There might be some traction behind Windows Mobile, but Microsoft is so late to the game it will be hard for them to make a dent in iOS. The only advantage to Windows Mobile is it allows mediocre enterprise .NET developers to easily produce mediocre mobile applications.
- There weren’t any other mobile web developers. This floored me. I still see the future is device-independent, mobile web development with JavaScript and I expected others to be playing in that space. I’ll still keep blazing down this trail.
AT&T is planning on holding Mobile Hackathons quarterly at the AT&T Foundry, so I’ll definitely be doing this again. And next time, I plan on getting much more complicated on the code side.
TV Disruption
I rarely watch sports on TV. The one exception is for the Super Bowl. Unless the Steelers are playing, I really don’t care who wins or loses. I look at it as a cultural event and a chance to keep up on the state-of-the-art for commercials.
This year’s game was a bit different. I spent the entire game with my iPad on my lap, checking Twitter and Facebook frequently to comment on the game, and see what others were saying too. It turned the passive TV watching experience into an interactive experience, which made it a whole lot more fun. And it should also scare the hell out of every TV maker and cable company who’s not Apple.
Why? Because if the Apple TV can recreate this experience for general TV watching, it will be a massively disruptive technology. All indications are the Apple TV will be based on iOS, so I would expect it to support all the key social media apps. Through one integrated appliance, watching television will go from passive observation to a participatory activity. That will completely change the nature of ratings and advertising, killing a lot of worthless dinosaurs in that space.
The only downside to the Apple TV will be Siri. I hope she learns to master four-letter words, because a lot more people are going to be yelling at their TVs, and expecting the TV to listen.
Mobile Financial Services
I had a good conversation this week with one of our senior IT managers about the financial services industry and the mobile web. I’ve been in financial services for a decade now, even working for the company who’s president (in)famously said “we’re a technology company that does mortgages”. Financial services and mortgage banking are fundamentally knowledge-based businesses, and IT is a critical factor to their success.
Our discussion though was around the mobile web and what financial services companies are doing in that space. For the most part, the answer is “nothing”, but there are some companies blazing a trail.
Mobile web for financial services is a lot like the regular web in the 90s. Companies are starting to create mobile-friendly versions of their legacy websites for the same reasons they created websites in the 90s: it is becoming an assumed price-of-entry for 21st century business. I doubt anyone is seeing a sales or customer satisfaction uptick from mobile-enabling their current web presence, but instead are doing it because everyone else is doing it.
The companies that are going to nail their mobile strategies are going to do so as part of a comprehensive marketing strategy which will include social media, mobile web and content marketing efforts. The perfect example of this is Quicken Loans, who are the technology leaders in this area for financial services.
While the B2C mobile strategies will be driven by marketing, the real value for financial service companies will be in the B2E space. I’m at a mid-sized company, and nearly every senior manager has an iPad. Most also have iPhones. The real value-add for a mobile strategy will be in maximizing the efficiency of these senior managers when they’re away from their desks through mobile-optimized reporting, dashboard and workflow applications. For example, every organization more than a few layers deep has approval processes for everything from purchases, to new hires, to contracts. Providing easy ways for managers to view and approve these via mobiles devices will be a huge timesaver.
The other growth area for mobile strategies in a financial services world is the sales forces. I had proposed doing a mobile web version of our site for our customers last summer, but after the business thought about it, they decided the biggest lift for the organization would be to provide mobile access to our backend systems for the sales force in the field. For example, an agent visiting a brokerage shop could get a lot of value around an application that provided location-based mapping of customers in an area, reporting around the volume and type or orders generated by that customer, and even be able to view the details on specific orders to answer questions while in the field.
Unfortunately, we never built the application due to other priorities, but this is definitely an area where a smart mobile strategy can add a lot of value.
One thing I see keeping companies from getting mobile efforts off the ground is a skillset gap. Financial services companies are heavily invested in Java and .NET, but the skill for building a good mobile presence are either web standards based (CSS3/HTML5/Javascript) or device-specific (Android, iOS/Objective-C). These are more specialized skills that are hard to justify staffing for, and are even harder to retain as the technology job market continues to heat up.
I expect to see a hot spot for boutique software consulting companies that specialize in mobile development which will sell their talents to financial service companies to build these presences. These companies will be able to combine the design and programming skills necessary to build the applications and mobile web sites that organizations cannot produce in house.
Usability (UX) is also a critical skill gap for financial services companies. Most internal development is built around a “good enough” mindset for user interface design. This is not scalable to the consumer-facing mobile world, where the quality of the user experience is a critical success factor for applications. And even the B2E users will have higher expectations for what they see on their smartphones over what they get on their desktops.
Finally, there is the whole “application vs mobile web” decision. Building a native application currently allows for the most seamless user experience, but it also introduces the same distribution hassle we saw with thick client applications. And there is also a data security question. Even in financial services, the world is turning to BYOD for mobile devices. Installing a company application on personal devices opens up the mobile device management can-of-worms, which is still the wild west.
Mobile web applications used to lag native applications in usability and performance, but thanks to Moore’s Law, and improved tooling, mobile web applications are more than up to the task for the majority of the applications being written, and will continue to improve rapidly. Just take a look at where state-of-the-art toolsets like Sencha Touch 2 are going, and the native advantage quickly disappears unless you’re writing 3D games.
I think mobile strategies for financial services companies are at the start of a growth curve that will climb quickly. While most B2C mobile presences will be more a “me too” strategy, there will be a few smart companies that maximize a comprehensive marketing strategy, hitting the right demographics, which will allow them to increase market share. This will be a rich area for disruption.
The real value in financial services for a good mobile strategy will be in productivity improvement in the B2E space. They just need to be prepared to pay someone else to write those applications, since they are probably severely lacking internally in the skillsets necessary to execute a successful strategy.
New Photography
One of my life-long hobbies has been photography. I was always the yearbook photographer, spending a lot of my spare time during high school in the darkroom. I wanted to be a photojournalist, and was the photographer for the campus newspaper. Once out of school, I took a lot less pictures, but never lost the interest. I’ve taken a lot of family portraits for friends, and even shot a few weddings.
I was a dyed-in-the-wool film user for a long time. My favorite camera was the Nikon FM3A, an all-manual classic. I had the suite of Nikon glass to go with it. That all changed around 2003 with the introduction of the Canon 10D. I was floored by the quality, and being a computer geek, I was blown away by what was possible in the retouching world with Photoshop. I sold my entire Nikon kit and picked up a Canon 10D with good zoom lens and never looked back at film.
My photography, and photography in general, are going through another revolution now. But rather than film-to-digital, the new transformation is camera-to-smartphone. I picked up an iPhone 4S in October last year. While only an incremental overall jump from my 3GS, the integrated camera was an incredible leap. In a world of Facebook, Instagram and blogs, the 4S is capable of taking better pictures than a dedicated pocket digital camera from a few years ago.
This has really had a huge impact on me as a photographer. I’m taking more pictures now, because my phone is always in my pocket. And while I still use Photoshop for some things, there is now a whole suite of easy-to-use image improvement tools available that produce outstanding results. The experience is as revolutionary as my jump to digital eight years ago.
Here are a few recent pictures with my 4S. The first is a shot of my daughter at Starbucks.
This is from an event at the Park Place Jaguar dealer this month.
Here’s a low-light shot from our company “Vegas Night” party.
And finally here is one from today at the Shops at Willow Bend.
None of these were retouched in Photoshop. While a bit soft compared to “pro” standards, they are all more than acceptable for any online use. The iPhone 4S is an extremely capable camera, even in low light conditions.
So instead of lugging around a DSLR with a big honking zoom lens, my kit now consists of an iPhone 4S and a Olloclip clip-on lens. This gives me everything from the relatively normal perspective of the stock iPhone 4S all the way to a Fisheye view.
For image manipulation on the iPhone, I use Instagram, which not only allows me to apply good lookinging effects to my photos, it is also an excellent way to share my pictures with the world.
Thanks to Photostream in iOS 5, I can also easily edit pictures on my Mac and iPad. On the iPad, Snapseed is my preferred tool. And on my Mac, I use Aperture 3 and Flare. Snapseed was just released for Mac, so I’ll be checking that out too.
None of these have the sophistication of Photoshop, but they are all very easy to use and make it possible for the casual photographer to produce outstanding results.
Photography is going through another major transformation. I expect the market for point-and-shoot digital cameras to evaporate as the cameras in smartphones continue to improve. DSLRs will still have their niche, and I’ll still lust for a Nikon D800, but few people need 20MP+ images to satisfy their photography requirements. The biggest transformation for me is the fun factor. I haven’t had this much fun with my photography in years, and I’m taking more pictures than ever.
GORM Recipes
As I’ve been diving into Grails, one of the most frustrating parts I’ve had to deal with has been GORM. It is deceptively easy to do the simple stuff with GORM. But as soon as I got to the point of wanting to do aggregate functions, grouping, or other more sophisticated queries, I ran in to wall.
Rather than diving in to SQL, I opted work through the documentation and various blog posts to find the “GORM Way” of doing things. I also documented what I found. The result is this rather extensive article on GitHub called GORM Recipes.
The text was way too large for this blog, so I opted to put it on GitHub. This thread is for feedback and questions about the GitHub article.





