CocoaConf Boston 2014 Recap

After getting a solid recommendation from Curtis, who attended the Washington DC variant, this weekend I headed north to CocoaConf Boston. It was my first CocoaConf and so I went into the weekend with a lot of blurred expectations.

Spoilers: I say first with intention. TLDR; I had a really great time. The talks and speaker quality were really high and with luck I’ll be able to attend again during a future “tour”.

One of my expectations was size. I thought the attendee count was going to be a bit larger. It felt like ~130 but I’m not sure what the official number was. Not that a small count is bad for me but I’m used to educational events hosting more. I suspect part of this is that CocoaConf is hosting lots more venues now (three arguably “east coast cities” during this fall tour alone). This may make some events smaller but overall a win for the community so as to have more access for those who can’t travel far.

One thing that continues to make me proud is the people of our community. The attendees, the speakers and the event staff of CocoaConf are all incredibly friendly, approachable and inspiring. Meeting new people and catching up with old friends is a big reason why I like attending conferences and CocoaConf does a great job at supplying the “campfire” atmosphere to make that happen.

Daniel Jalkut's "Quit Your Job" keynote

As for my favorite talks I’ll mention a few:

Daniel Jalkut’s “Quit Your Job” keynote and Rob Rhyne’s “Make Them Care” session were both very inspirational. I leave Boston really hungry to jump into some side projects of mine and get back into the product game outside of my client stuff at work.

For technical wisdom I have to give it up for the full day “Swift Kickstart” workshop Daniel Steinberg ran as well as the Swift and Objective-C: Best Friends Forever session by Jonathan Blocksom. CocoaConf Boston is now cemented as the place and time where I really started to appreciate what Apple is trying to accomplish with Swift. This isn’t to say we aren’t in for a bumpy ride but at least now I have a good frame of mind as to the “why” behind it all.

Finally, it was great to meet the people that run CocoaConf. Rather than some large corporation, CocoaConf is actually a family affair. Dave Kline and his family run most of the operation and they seemed very dedicated to making sure everyone had a good time. For all their hard work I say thank you and hope to see you all again soon.

Designing & Planning Your iOS App Workshop Recap

Workshops are a new effort from the Philly CocoaHeads group. Basic idea is: one workshop every other month, the workshop is a one day 5-6 hour event, that covers a single topic. Our first one was on Intermediate Objective-C and our second one, which was held last Saturday, covered Designing & Planning Your iOS App.

Kotaro Teaching

Overall the workshop went well. Kotaro Fujita was our main presenter and did a great job of alternating lecture and hands on exercise. At the end, attendees presented what they had worked on and how their app ideas were evolving. The crowd was great with lots of great feedback too. Some of my notes:

  • When brainstorming features consider using index cards or mind mapping software. I like MindNode Pro and Trello.

  • Spend LOTS of time wire framing, sketching, etc. Be mindful to separate your design time from your production coding time. It’s easy to fall into trap where you are coding things that will not work and this is very expensive. Way better to validate your designs with prototyping first.

  • Document what problem each screen is suppose to solve. Also document the emotions you expect the user to have. For example, on first launch what is your user asking themselves, how can you help educate them? Are you using verbiage they understand? How fast can you deliver your first WOW moment?

  • Get users involved as soon as possible. Preferably before you start to code. Should have some level of idea validation before starting.

  • Once you release a build, make customer support your highest priority. Answer every email/tweet within the hour. Let them call you. Doing this is a huge part of getting people to trust you and then later recommending you and your product.

Related Resources

In the spirit of the talk I wanted to share some other related resources.

So there are two great online courses going on right now regarding starting a startup people might be interested in:

Some of it is a little heavy on the VC-funding but otherwise lots of great things to think about.

Another video I find really helpful to watch and re-watch whenever thinking about which projects I want to work on: How great leaders inspire action by Simon Sinek. His explanation of “Why/How/What” is very inspiring for me.

For some design fundamentals consider reading Design for non Designers by Robin Williams and Don’t Make Me Think by Steve Krug

Finally I’ll mention the the Lean Startup Book which I reviewed back in 2013. It still is a favorite book of mine with some awesome ideas on working fast and based on validations and learning.

Quick CocoaLove Recap

CocoaLove was a huge success. All of the talks were well received and the attendee side conversations vibrant and interesting. I think I saw 2 laptops open all weekend which to me is a huge sign people were engaged with our content. If you missed out, check out the CocoaLove site for some highlights of our tweet/photo live stream.

While they’ll never capture the event in its full glory, we did record the presentations and will be editing them over the next few weeks to make the available on the web. To find out when the videos are up I’d signup to the mailing list or follow the @CocoaLoveConf twitter account.

I want to thank my fellow organizers, the speakers and the attendees for helping provide a weekend I’ll remember forever.

In particular I’ll give special props to Curtis whom sacrificed countless hours attending to hundreds of details that resulting in a level conference quality that is hard to achieve. Great job!

CocoaLove Tickets

It’s September, which means next month is October, which means CocoaLove is coming up fast!

We’ve got a great weekend planned and if you haven’t already secured your ticket I’d do so now since we are starting our last marketing push to sell out.

Additionally, if you or a company you know are interested in sponsoring to help show your support for CocoaLove let me know. CocoaLove is passion project from some great folks out of our local CocoaHeads chapter who have donated countless hours in helping to organize this incredible non-profit event. Sponsor support will help us reach our stretch goals and make an already great experience that much better.

See you all soon!

On disappointment with clients who are prioritizing production over quality

A friend of mine emailed me, amongst a few others, asking for advice. He’s been working as a consultant for a little while now but has been unhappy about his recent clients. He says they haven’t been focused on the quality of things as much the general production speed and it disappoints him. My reply:

Without knowing the details of your current experiences I would encourage you to look within to improve the situation. I say this not to let the client off the hook but if you wait for other people to change to make YOUR life easier you are going to be waiting a long fucking time.

One of the huge problems is that most of the clients you will interact with have no experience producing software. It is your job to explain to them what a professional software development process looks like and if all the parties are in agreement, and contracts are signed, it is your job to execute that process.

When you were in the early talks with this client how did you teach them what your professional process was like? How did they react when you explained your core values?

If they agreed to your process and then changed the rules midway, shame on them, Walk away as soon as professionally possible, preferably under the comfort of a contract clause they are breaking.

If you never talked about this and just assumed they knew what was in your head about what the process was going to be like then shame on you.

Look inward. Figure out your core values, your development process. Make this part of the marketing of the consultant you. Make it clear to those interested in hiring you, this is how you work. This is how they will get the best value from your time, their money and in the long run, the code base they will own.

And to be clear, finding good clients is hard work. I think making your own expectations clear to them is half the battle, the other half is getting out there to market yourself to more and more people so that A) in the early days you have enough options to weed out the bad clients and then B) you get to a point that through word of mouth you get more and more clients looking for you because your process worked so well for their friends. If you aren’t turning away 4 projects for every 1 you work on, you probably aren’t marketing enough.

Have a question for me? Send me an email.

Philly Craftsmanship

Software as Craft Philadelphia

A community of professionals dedicated to well-crafted software

Was very happy to attend the inaugural meeting of this group last week. Was a great mix of discussion and hands-on coding/pairing. Thanks to Promptworks for hosting.

During the discussions, the Software Craftsmanship North America conference (as well as its manifesto) were mentioned. You can find a bunch of the conference videos on the eighthlight vimeo channel. Seems like pretty interesting stuff.

In related news (since I think all hosts were in attendance at said meeting), I want to give a plug to the podcast Turing-Incomplete podcast. Finally starting to catch up on this Philly showcase of talent and really enjoying the discussions. Keep up the good work!

iOS Development: Things to Like; Things to Hate

Things I like about iOS Development

  • I like writing code in the Objective-CĀ language.
  • I like Apple’s provided frameworks and tools. They are, on the whole, very good.
  • I like the iOS community’s enthusiasm for great products. It is very inspiring.
  • I like that people will pay you good money to build apps for them in iOS. Though this is has good and bad implications.
  • I love attending, and over the last few years running, CocoaHeads in Philadelphia.
  • I like that the community on a whole is not very secretive. There is a sense we are in this together and people constantly help each other out sharing tips, code and war stories.

Things I hate about iOS Development

  • I hate the exclusivity of the AppStore distribution.
  • I hate that I can’t side load apps that people build that Apple doesn’t approve of.
  • I hate that I have to sign my apps.
  • I hate the learning curve and the bugs of the signing process for all but especially for people new to iOS.
  • I hate that Apple has a shitty code validator during app signing that will complain when I have methods on my objects that look like private methods on their objects.
  • I hate how shitty AppStore search and discovery is.
  • I hate the corporate politics that let apps get featuredĀ in the store because of “connections”.
  • I hate how people continue to manipulate the AppStore ranking system and I hate how little Apple seems improve the situation when many small developers livelihoods are at stake.
  • I hate how the Radar bug system doesn’t have tools in place to involve and update the original bug reporter on progress being made. From a third-party perspective most bug reports might as well go into a black hole.
  • I hate how in the pit of my stomach I believe that, on the whole, the iPhone and its brethren have not improved society. I think the majority of mobile software has only helped to empower “generation ‘me'”, a generation that is “friends” with everyone, but no one. This deserves a post on to itself someday.
  • I hate the iOS / Mobile bubble. The fact that people are spending way too much building apps and are not getting a proper return of value on the investment.
  • I hate that building products is way riskier than consulting (bubble related).
  • I hate that Apple hasn’t shown more interest in providing a library management system. Thankfully we have CocoaPods but since it’s on the outside there is a fear it might not be able to keep up as the tool chain evolves.
  • I hate that back when Apple first started to integrate OCUnit into Xcode it enviably killed like 3 or 4 other very promising testing systems because the thought at the time was “well Apple made their choice and will build on it” when in fact Apple never did. Only recently did we see XCTest and it is, right now from a functional perspective, a method renamed version of OCUnit with no new features.
  • I hate how Xcode Bots doesn’t have pre and post scripts.
  • I hate (hate is a strong word — let’s say disappointed by) the growing community of “Apple Celebrity”. The once full time developers who can build great things but now choose to spend the majority of their time blogging, podcasting and tweeting all day. They partake in a low impact ping pong match of opinions on weekly events and news that frankly doesn’t mean all that much in the grand scheme of things.

Philly Startup Weekend

This weekend I got to take part in Philly Startup Weekend!

My Startup Weekend Badge

Startup Weekend is a world wide organization dedicated to hosting events to help educate and inspire entrepreneurs. The goal is to launch a startup in 54 hours. There have been several past Philly incarnations leading to some well known companies. I’ve always wanted to go but have had too many commitments. This weekend worked out and I’m glad it did.

The overall format is pretty self explanatory. For us there were about 110 attendees, 50 pitches, 16 projects selected based on a popular vote via stickers and then informal team formation. The teams worked on their new startup for the next two days with occasional drop-ins from local coaches to help out. The event hosts 4-minute presentations with 3-minutes of Q/A from the the judges for each project. Things closes with awards and a final party/mixer.

What I Liked

The attendees I interacted with were good people. No one there was slacking, nor did I see people looking to milk free work out of volunteers for their pet projects. Everyone genuinely seemed to be there to learn and do what they can to launch these startups.

The coaches that showed up were extremely helpful and provided great feedback as we matured our startups.

Overall, the whole event was a blast.

What I Didn’t Like

The venue / wifi. Once work started it was clear the organizers couldn’t support everyone on the main floor via wifi. Workbridge who is located in the same building was gracious enough to host moving a few teams up to their offices to help the congestion and while it did fix the wifi issue it also disrupted the “single open floor plan” which I think is extremely welcome for events like this.

The value in having an open floor is that you’ll overhear ideas and problems your fellow attendees are having and be able help each other out. It’s a great way to meet people and share ideas. On our 2nd floor space each team was isolated into their own offices so there wasn’t as much cross communication as I would have preferred. To balance things I took walking breaks back down to the main floor and talked with people. Even just having the ability to see the other team’s whiteboards was pretty interesting.

Some Take Aways

When you are given a project to do with a team of people, make sure you modify your plans to get the most out of these people and their skill set. Don’t get bogged down in that you are missing out on a specific developer or designer skill set. If you have someone who has experience with WordPress, figure out how to integrate WordPress into your solution. Make the most of what you have. Embrace constraints!

The overall entrepreneur community is maturing. I think it has been common to think that having a working prototype at the end of a weekend like this is a major goal however from my experience this weekend I was very pleased to see a larger percent of time focused on customer validation and the business model than code. More than working code what I think you need to at the end of the weekend is strong visualization of your product, and this need not be working code. I think UI renders or even a mocked up Keynote deck that fakes your website or app suffices. What you don’t want to do is let the complexities of the code implementation get in the way of prototyping different ideas during the weekend.

Our Project

I helped out with MentorShake, a website that aims to help connect mentors with students. Over the weekend during our validation we actually got back a lot of contradictory feedback from mentors on what they wanted and also struggled with the business model. By presentation time I think we ended up with a pretty good business plan and verbal commitments from over a dozen locals who were willing to be listed as mentors. Time will tell if the idea has legs but if you’re local to Philly and interested please sign up to the mailing list by visiting this page.

Thanks!

I’d like to again thank the organizers of the Philly Startup Weekend. It was a great time and I appreciate their hard work. If you are at all interested in this kind of thing I recommend you be on the lookout for a Startup Weekend in your area.