Accessibility

At the Apple event a few weeks ago they began with a short video on accessibility.

I’ve learned a lot about accessibility on iOS over the last few years. Apple’s products are some of the most accessible in the world and for all the frustrations I have with Apple, this is definitely one of the high points I’m proud of.

I was also really pleased to see our own Philly CocoaHeads give accessibility some attention at a recent Side Project Saturday event. A group of people worked on improving the accessibility of the Wikipedia iOS app.

Group of Programmers using Voice Over on iPhone

Anyways, I think the time is right for development agencies and indy consultants to put accessibility front and center. For them to say loud and proud, any app you hire us to build will have some basic level of accessibility.

Some people whom I bounced this idea off of thought it would be bad for sales. Maybe. But these are the probably the same clients who question code review because they think it is a similar waste of money. At the end of the day we all have have some level of standards onto which we execute our craft. People hire us because they can’t build software. They need us to point them in the right direction.

Somewhere out there, a construction agency is in a discussion whether or not to add a wheelchair ramp to the current project. Some people will add it because it’s required by law, others will add it because it’s the right thing to do.

The software industry moves incredibly fast, maybe even too fast. We don’t have regulations and inspectors like other industries. We have to regulate ourselves. The tools to improve access for our creations are ready. They work really well. They sit there, waiting for us to use them.


I don’t want to come off like I’m some know it all when it comes to accessibility. If you need real help with your app, contact my friend Austin who does consulting on the subject.

I do have some experience enhancing a few personal iOS apps and hope to make it a larger priority with my upcoming side project. Like a lot of things, I think the goal here is for continual learning and small, iterative improvements.

Should I Sell My Apple Watch?

I did not partake in the first release of Apple Watch. I was curious but not curious enough. I bought a Playstation 4 instead.

Last month Apple had its announcements. I wasn’t all that jazzed about the iPhone 7 (even though I am due to upgrade my iPhone 6) so I thought I’d try out the watch instead. I ordered an Apple Watch Series 2, 42mm Stainless Steel w/ Silver Milanese Loop. I also got a Cocoa Sport Band for a little variety.

It’s been about a month with the watch and I’m not sure I should keep it. Few notes:

  • I suspect a big benefit of the watch is quick glances at notifications — but for me, I’m actively trying to remove notifications from my life. I turn them off completely on the desktop and audit them on iOS significantly.
  • There is the health tracker / movement component, but for me it’s not a huge draw. I don’t do heavy workouts much. I do like to take the occasional podcast walk, but I feel like I get enough info from my phone’s step counter if I really cared.
  • I don’t like the pressure that I need to wear the watch all day to fill up my bars. I did not wear a watch before this and it still feels very alien. I like taking it off when I type on my laptop or after I wash my hands (it gets wet and doesn’t dry off right away).
  • I find myself constantly fiddling with the magnet strap. I like the band to be slightly tight and it feels like it get loose quickly if I move my arms a certain way (putting on my backpack, making my bed, etc.).
  • The sport band strap is too small for me (even with the larger of the two bands) — it technically fits but is too tight. One more hole would have helped.

Am I missing something? What do you love about your Apple Watch? Let me know. As of now, I’m looking for ways to sell it — I think the money for me would be better put towards a new Mac (should they ever be rev’d again).

Posted in iOS

CocoaConf DC 2016 Recap

Had the pleasure to attend and speak at CocoaConf DC this past weekend.

CocoaConf is a touring training conference for iPhone, iPad, and Mac developers. We bring some of the best authors, trainers, and speakers to the most passionate, engaged developers in a region—together, they make magic!

CocoaConf draws anywhere from 100-120 developers. It’s a very nice, comfortable size. Large enough to host a diverse collection of personalities and ideas, but small enough not to feel overwhelming. People actively mingle and you get to meet lots of new faces without much effort.

This was my third CocoaConf, and first as a speaker. My own talk was at the end of the first day and I spent ample time the previous weeks preparing to avoid the need to do last minute slide updates and miss sessions — and I’m glad I did so.

The sessions were really good at this CocoaConf. Sure it helps that iOS 10 is just out and there is still lots to learn, but even the talks that were version agnostic, covering patterns, architectures and bug hunting skills all got my brain spinning with ideas.

One cool benefit of my work scheduling is now I have a week of stay-home vacation and I can hopefully direct that post-conference enthusiasm towards my side projects and some extra experimentation. Specific items on my list:

  • Do more interactive prototyping of my side project and follow up with some user interviews.
  • Do some experimentation with Perfect to build a simple Swift API and host it on Linode.
  • Continue to polish up my RanchWeather app and start a blog series reviewing the code patterns.
  • Do some experimentation with Twilio authentication in preparation for a web app project.
  • Inspired by the journalling abilities of MarkD, dedicate the vacation week to a journaling experiment: Daily Journal, Project Journal, Tool Journal.

As for my talk, I think it went very well. One thing I really like as a speaker is the conference not only has a session review system but they encourage submissions of reviews with a raffle for prizes at the end so you get a lot of feedback. Most of my talk’s feedback was very positive and I appreciate the criticisms, both good and bad. Always room for improvement.

So yeah, if you are considering attending or speaking at a CocoaConf, do it. It’s very rewarding and worthy of your time. If it’s on the east coast you’re more than likely to see me there too — and if so, say hi!

Regarding Knight Rider and Delegation

One of the saddest aspects of being a Big Nerd Ranch instructor in 2016 is that students these days do not appreciate the Michael Knight is to Delegation, as RoboCop is to Subclassing discussion of yesteryear.

From Cocoa Programming for OS X: The Big Nerd Ranch Guide:

Delegation

Let’s start with a story: Once upon a time, there was a man with no name. Knight Industries decided that if this man were given guns and wheels and booster rockets, he would be the perfect crime-fighting tool. First they thought, “Let’s subclass him and override everything we need to add the guns and wheels and booster rockets.” The problem was that to subclass Michael Knight, they needed to wire his insides to the guns, wheels, and booster rockets – a time-consuming task requiring lots of specialized knowledge. So instead, Knight Industries created a helper object, the Knight Industries 2000, or “KITT,” a well-equipped car designed to assist Michael Knight in a variety of crime- fighting situations.

While approaching the perimeter of an arms dealer’s compound, Michael Knight would say, “KITT, I need to get to the other side of that wall.” KITT would then blast a big hole in the wall with a small rocket. After destroying the wall, KITT would return control to Michael, who would charge through the rubble and capture the arms dealer. Note how creating a helper object is different from the RoboCop approach. RoboCop was a man subclassed and extended. The RoboCop project involved dozens of surgeons who extended the man into a fighting machine. This is the approach taken by many object-oriented frameworks.

In the Cocoa framework, many objects are extended in the Knight Industries way – by supplying them with helper objects. In this section, you are going to provide the speech synthesizer with a type of helper object called a delegate.

What do you think the new metaphor should be?

Join Us at CocoaConf DC, Sept 9-10th

I’ve been to multiple CocoaConfs as an attendee and it’s with great pride I’m happy to say I’ll be a speaker at one soon.

CocoaConf Boston

CocoaConf is a traveling conference focused on Apple technologies that has been around since 2011. It’s big enough to have multiple tracks of content but small enough that you’ll have time to socialize with most of the other speakers and attendees throughout the event.

The 2016 “tour” is coming to a close. I’ll be speaking at the Washington DC CocoaConf (Sept 9-10) but if you are on the west coast you might want to consider San Jose, CocoaConf (Nov 4-5th).

When registering use code “COCOAHEADS” for 10% off!

I can’t wait to see everyone. If you will joining us, please come by and say hi. I’ll have some Big Nerd Ranch swag for ya.

The World Needs a Better Core Data

Lots of WWDC predictions out there this week. Here’s a dream of mine. Sadly one that I’ve given up on, at least from Apple.

A Better Core Data.

  • Tracking state is 1970s thinking. We should be tracking changes over time and rendering the current state of the object graph.
  • Migrations, the number one feature. As you add new entities to a store, you do so through a migration. Change a column name, you do it through a migration. The current Core Data migration story is embarrassingly complex and very fragile. We need to have trust in our migrations.
  • A single, focused, persistent store format. Allowing people to choose between XML, Binary, SQLite, InMemory and Custom adds more pain than it solves. Keep things simple. One on-disk format.

Clash of the Coders: Day 0

One of the many interesting benefits I get working for Big Nerd Ranch is the opportunity to participate in many fun and unique events. One of the bigger ones is called Clash of the Coders.

Clash of the Coders is an annual coding competition, whereby Big Nerd Ranch effectively “shuts down” for a a few days to allow developers to flex their coding muscles in to build something (anything) that is both wizardly and useful.

This years edition of “Clash” starts at 6pm tonight, Wednesday March 30th. While people are encouraged to brainstorm ideas and form teams ahead of time, no code shall be written until the event starts.

During the event we are treated to full time catering, shoulder and neck massages as well as other free-form geek activities. (I hear Christian will have his new Oculus Rift around for testing.)

While remote nerds can choose to stay remote and participate, anyone who wants to come into the office can. Last year I was at home and didn’t really get into it. This year I’m working out of the office so I’m anxious to see how it all works out.

As for my project and team, I’m still working on it. I have an idea and if need be will work on it solo but am also hosting a meeting after lunch for ‘Clash Singles’ to see if we can form some last minute teams.

At the end of Clash (Saturday, 6pm) we have a nice BBQ dinner (spouses and kids welcome) and we run a science fair of sorts, where people demo their work and answer questions. People are judged on project complexity, presentation and other factors. Bonus points are awarded if your team was interdisciplinary (mixing people of different departments) and if you were able to integrate any of the emerging technologies on our watch list. Top prize allows you to choose from list of high end geeky toys (think drones and musical instruments) with second/third prizes getting some nice Amazon gift cards.

I’ll post more as Clash gets going. If you have any questions let me know.

How We Record Talks at Philly CocoaHeads

I came across this post from Rico Jones on how he records the Portland Ruby Brigade’s monthly meetings and thought I’d do something similar for how we record the Philly CocoaHead presentations.

Capture Setup

Why Only Main Talks

This first thing I’ll note is we do not record the entire meeting. Early on this was to due to the experimental nature of our recording setup but more recently, at a leadership meeting, we made the call to continue to only record our “main talks”. We do this for a few reasons:

  • Not recording the “show and tell” talks lets those be a little bit more free-form, with less pressure on the presenters (which is a big reason why they are in the agenda).
  • Many of the show and tells are in-progress app demos, and so there is benefit to keeping them non-public.
  • We expect a higher level of preparedness for the main talks, and to ask for people to put that much time into a talk, it would seem wrong not to capture it.
  • If the whole meeting were being captured / broadcast it would encourage people not to come.

The Setup

Starting from the presenter’s laptop we provide an HDMI cable. If they want to present or demo from an iOS device we have an HDMI to Lightning adaptor.

The HDMI cable then feeds into our capture device, an Elgato Game Capture HD. This device is targeted at the streaming game market but is just as viable to capture normal HDMI signals. The device itself is an HDMI passthrough with no frame drops or anything. The device is even powered through the USB cable so no need for a power cord. The video / audio is then compress into mp4 (on device using hardware encoding). The compressed signal is sent to a Macintosh running some custom Elgato software. I use an older Macbook Air to act as our dedicated capture computer. While there are many other features for dedicated streamers, we simply press record.

We then take the other end of the HDMI cable and route it to our projection system. Now the Apple Store that hosts us has a very impressive setup but sadly it’s not as easy as it should be. They have an HDMI connection, and while it works for the Apple TV it doesn’t register when we plug it into a Mac. To get around this we used to use an HDMI to DVI adaptor and the alternate DVI input. It worked fine but doing it this way lost the audio. Recently we’ve fixed this by buying a converter box that splits the HDMI into both DVI and an audio jack. Again, the Apple Store does have a in-house roof speaker system but for us sadly it’s been down. In the interim we’ve been getting by with a Beats Pill Speaker the Apple Store is nice enough to provide.

While not part of the capture, I will give a friendly nod to Fin, an iOS performance timer we run on an iPad mini to help the speakers know how much time they have left. Works great.

I’ll also recommend the presenter remote I use. It’s a Kensington, with a nice simple to use USB dongle that slips into the remote when not in use. It has a laser pointer too but I can’t say I use it much. Battery life has been very good for this device.

So that captures the video and audio from the presenter’s laptop or device but what about the speaker’s voice? For that we use a lapel clip on mic and Digital Audio Recorder. The recorder can work without the mic if you are looking to capture a room discussion but for 1 person, adding the mic is a real quality difference.

After the meeting we combine the video and audio captures using ScreenFlow. Editing is fairly simple for most cases, usually as simple matching up the action and adjusting some audio. The finished product is exported and then uploaded to Vimeo Pro, which acts as our library of sorts. (We pay for Vimeo Pro to keep ads out and to make sure we have API access.) People can watch the talks through Vimeo itself or our new Apple TV app, “PhillyCocoaHeadsTV” (search for “CocoaHeads” on the TV).

Future Improvements

Overall I’m pretty happy with the current setup but I do have some ideas:

  • It would be nice if we could get the Apple HDMI connection to work, that would simply our wires a bit.
  • At work we use a Catchbox to help capture Q and A. It would be nice to work out something similar for us.
  • While it might save a bit of editing time to convert to a wireless mic, it’s pretty low on my list. Would have to improve some other aspect to make it more worth while.
  • There is a lot of equipment to carry in, setup and carry out. It’s very reliant on me personally at the moment. I’ll probably be missing a meeting or two this year so I hope to train someone else to run this while I’m gone.

Hope you enjoyed my rundown. If you help capture stuff like this and have any tips or tricks, let me know. Thanks.

Xcode Shortcut: Quick Open in Assistant

This answer / revelation caused a bit of a stir in the Philly CocoaHeads Slack so I figured I’d share it here as well.

Lots of people know and live by Xcode’s Quick Open Menu. You hit Command-Shift-O and start typing the name of a file, a class or a method and have some very good options made available to you. Make a selection, hit return and bam, the file is now live in your editor.

But what about the assistant editor? Historically some of the best uses for the assistance editor was to view a file’s counterpart file, the header for an implementation file and visa-versa. With Swift’s lack of a header files, some people have come to put use the assistance editor of test files.

Regardless as to what you want in the assistant editor it’s always been a little clunky to pick the file. Well now you can use the Quick Open menu for this too, and it’s oh so simple.

Hit Command-Shift-O and make your selection as normal. Instead of hitting Return, hit Option-Return — the file will now open in the assistant editor pane, opening it if need be.

Quick Open in Assistant in Action GIF

That’s all there is to it. It’s a small feature but very handy for those trying to stick to their keyboard and avoid the mouse while moving around in Xcode.

For a handy Xcode 7 Shortcut Reference Card check out the Big Nerd Ranch iOS Course Resource repo for a PDF download. You can also get the card in print by ordering our latest edition of iOS Programming, 5th Edition — updated for Xcode 7 and Swift 2.

PS: Props to @lyricsboy for catching my typos!

Philly CocoaHeads: History

Being the lead organizer of the Philly chapter of CocoaHeads, I always welcome the opportunity to chat with members of other meetups. It’s great to compare notes on how we run our groups, what’s worked and what’s failed. In particular I’ve recently chatted with the leadership of the Nashville CocoaHeads and was also able to attend an Atlanta CocoaHeads meeting while visiting Big Nerd Ranch. It was a great experience and has me inspired to capture some of my thoughts here on the blog. This first article is a walk down memory lane to document the history of Philly CocoaHeads.

Getting Started

The Philly chapter of CocoaHeads started out of IndyHall in 2008. IndyHall is a coworking space, a place for people who can work from home but choose not to; perhaps because they want a work/home separation or just to participate in the greater creative community. Back then IndyHall was still fairly young but had attracted together a strong tech following including:

  • Andy Mroczkowski and Far McKon who were working for the local company Neat, and their Mac software / scanner combo.
  • Jason Allum who was working on RipIt (which would later be sold to The Little App Factory).
  • Dave Martorana who had a few apps, including MultiFirefox and Multiplex (a media server app ahead of its time).
  • Joah Aas, who worked for the Mozilla organization and is now most known for his help with the Let’s Encrypt project.
  • Randy Zauhar, a local professor teaching Bioinformatics and Chemistry at University of Sciences. Randy had previous help run and host a group called: PHAD, Philadelphia Apple Developers.
  • And myself. I was a basic IndyHall member and was working on ProfitTrain updates at the time.

Philadelphia Apple Developers (PHAD) never grew to be anything very large but I remember it fondly. It would usually be about 4-6 of us sharing a pizza and showing each other our Cocoa projects. I vividly remember Randy showing off his spreadsheet app which listed chemical equations on one side and then had an OpenGL cell rendering the compositions on the other. I also remember doing talks on Subversion and then Core Data. Again, they were small meetings but having even a few people who were interested in or working in Cocoa back then to bounce ideas off was a huge win.

The early meetings of our group were ran by Andy Mroczkowski and actually marketed under the name PhillyCocoa and not CocoaHeads. The meetings were very demo heavy with lots of roundtable questions and discussions filling in the cracks. Some members took to working on a side project, a calculator, outside of the meeting. The project didn’t get too far but the remanence of it have been preserved on GitHub.

Early IndyHall

This is a photo of IndyHall, Strawberry Street Edition. The first “CocoaHeads” meeting was held in that back meeting hut.

As the iOS SDK (or iPhone SDK as it was called back then) was announced there was a serge in new members and interest in the group. The biggest hurdle seemed to be Objective-C itself so we planned and ran a workshop.

Over two Saturdays, mixing lecture time and coding exercises from Learn Objective-C on the Mac, by Mark Dalrymple, Scott Knaster we got 12 or so people a head start on iPhone programming.

New Leadership

Meetings continued, now at IndyHall’s new home on 3rd Street (or N3RD Street as it would come to be known as). Eventually a December meeting was announced and Andy let it be know that if you were interested in the future of PhillyCocoa to attend. At the meeting Andy announced his upcoming departure to head to San Fransisco to be apart of a startup. Two volunteers came forward to help organize the group in his stead, myself and Mike Deaven.

Meeting Format Changes

Over the next year me and Mike enacted a handful of changes we’d hope improve the group.

An Early IndyHall Meeting

One immediate change we did was move the website to WordPress. Previously Andy had a custom Ruby CMS / publish thing going and it wasn’t easily portable. I was able to get all of the old post converted into WordPress. The main goal here being enable multiple people to post and not have the code be machine dependent.

Another change was subtle, but I started to embrace the CocoaHeads brand in our naming and introductions. I always was aware of them and to me it seemed helpful to take the name and have our chapter listed on the main global site.

We also started to fiddle with the meeting format itself. Moving the pizza / social time to the front end of the meeting. This helped since we usually had a lot of stragglers arrive between 6:30 and 7:00, so by having the pizza upfront we could make sure to start the meeting with everyone present.

I also started to be a little more rigid in the introductions, making sure to repeat the basics of the group, who we were, what we did, when we met. I wanted new people to quickly get a sense of expectations.

Another IndyHall Meeting

The hardest thing back then was getting people to do talks. There were many meetings in the early days where we did not have a formal speaker and so it was on my shoulders to build a presentation to keep the group entertained. It was a lot of work but I think a major reason why we were later became more successful. I think it’s incredibly important to be consistent, to have that meeting every 2nd Thursday no matter what. Setting up that pattern and not giving into canceling meetings really helped solidify the group.

To help spur talks we started to request smaller commitments, show and tell time. A short talk or demo usually 5-15m in length. Much less to prepare and much less anxiety. It started slow but eventually kicked off a pattern of people coming forward to do talks, even “main” talks.

Adding Members through Meetup.com

Up to this point Philly CocoaHeads did not promote itself too much. You heard about it through word of mouth or via IndyHall announcements. Looking to grow the community we decided to join Meetup.com for more exposure. It took a few months to get going but eventually started to bring in tons of new faces. Meetings quickly grew from about 10-12 people, closer to 20-25.

As of today we have about 870 registered members on Meetup.com. Now most of them are not active members. I’d guess if you defined “active” as participated in a group event sometime in the last 12 months, you’d probably end up with ~200 members.

Alfie joins us from NY via a Double

Alfie joins us from NY via a Double.

New Events and Expanding the Leadership

When iOS 7 was announced we decided to do a special hack day to celebrate. We sold tickets to help buy a nice catered lunch and gathered at IndyHall on Saturday to hack on new iOS 7 APIs. The event was a huge success.

One newer member wanted to help do this more often and so Tom Piarulli joined the leadership to help run what has now become known as Side Project Saturday. SPS is typically the last Saturday of the month, starting at 10am and running until about 5pm. People come and go, work on their side projects, ask questions and otherwise socialize with their fellow geeks.

Tom at a SPS right after the WWDC announcements.

At around the same time the leadership also welcomed Kotaro Fujita to help run our website and Twitter account.

Kotaro talks about his favorite tool.

Moving to the Apple Store

We are fortunate enough to have a very nice Apple Store here in Philadelphia. Sometime in 2013 I was approached by the business relations manager from the store. He came to a few meetings and introduced himself. He was really impressed with our group and offered to help us out and possibly host the meeting.

I was kind of torn. We had our start at IndyHall and while we were definitely starting to outgrow the space I didn’t want to leave. Me and Kotaro took a trip to the Apple Store to checkout the Briefing Room. The room is incredibly nice. It’s on the second floor of the store, not open to the public. It’s kind of a VIP area for larger demos and meetings. It had 5 mounted TVs, all wired up for AirPlay and sound. A huge wood table with 16 swivel chairs but plenty of space around the edges for fold up chairs. Fully laid out we could host 40-45 people and have a great AV setup to help support the speakers.

We made the move in November 2013 and it’s worked out great. The space is extremely accommodating and many of the members certainly enjoy the prestige of getting to meet in such a private venue.

Apple Store Meeting

Workshops, Suburb Side Project Saturdays, and CocoaLove

In 2014, Curtis Herbert who had already been very active in the community as well as doing some talks for us joined the leadership team and started multiple new projects.

Curtis teaching his ObjC Workshop

Firstly was CocoaLove, which started out best as I can recall as friendly outburst during my “Industry News” section while reviewing upcoming conferences. “Why don’t we have any conferences here in Philly?” — and so it began. CocoaLove is not an official child of CocoaHeads but we obviously share a lot of the same goals.

Curtis also helped spur new educational events we came to call Workshops. Typically one day, 5 hour events with paid for tickets (most money going to the speaker to help compensate them for prep time). We ran about six or so over the last year and a half, covering introductions to Objective-C and then later Swift, App Marketing, UX design, and more. Workshops are incredibly loved by our members and sell out quickly. The hardest part about running them is the custom content creation. We have some ideas on how to improve that moving forward and hope to offer more Workshops in the year ahead so stay tuned.

Marketing Workshop

And finally we have our “Suburb” edition of Side Project Saturday. The city of Philadelphia is very flat and wide, with an extended suburban layout. We have many members who live outside the city and can not always participate with our center city events. To help, we started running a “Suburb” edition of our Side Project Saturday event. These are held at the Apple Store in King of Prussia. We’ve been able to host a few and hope to do more. Again, Curtis has been very helpful in organizing this.

Videos

In 2015 we continued to evolve and expand what we offer, this time with recordings. We’ve been talking about recordings for awhile but in 2015 things started to fall into place. I’ll go into detail as to how we record in a future blog post, but put simply it’s capturing what video we pipe to the monitors and then using a lapel microphone for the speaker to capture their voice. After the meeting we match the two together and then publish to Vimeo. During the fall we also added a custom AppleTV app which streams the content as well (search for “CocoaHeads” and you’ll find it).

Video Capture Setup

Apple TV App

Book Club

Another new endeavor for 2015 was the Book Club. We started it over the summer reading through Cocoa Programming for Mac OS X and then restarted it this winter with HackingWithSwift.com. Book Club basically has members work through chapters and then meet online to discuss how it went. Over the summer we met every other week, while the winter edition has been more aggressive doing it every Monday. A big thanks to Michael Mayer for helping to run the latest Book Club season.

The Future

So it’s 2016 and things continue to look good. I’d say the biggest problem we have is that we occasionally max out of room occupancy at the Apple Store but not enough to really justify a new venue. We also recognize our website could use a lot of work to meet our high standards but it remains a fairly low priority overall.

As the main organizer I’m extremely lucky to have such great support from the members and the rest of the leadership. There is no way we could do this much work if it wasn’t for the many volunteers we have. I’m extremely proud of the community we’ve made and continue to run.

Recommendations

To those running similar meet ups a few closing recommendations:

  • Be consistent with meeting dates and locations.
  • Be willing to do a lot of personal presentations and/or MC of roundtables when other speakers are not available in the early days.
  • Don’t be afraid to shake people down for talks. Also remember it’s much easier to get them to sign up for a talk a few months from now than in a few weeks. Take advantage of that.
  • If meeting after work try to have some food and drink available. We do pizza cause it’s relatively cheap and easy. You want to feed them but remember they aren’t coming for the food. In the early days a donation jar can usually cover most of the costs, later you might need sponsorship. I’ll have more to say on that in the future.
  • Help spread the responsibilities. Even smaller things like handing the food, taking meeting notes or running the group Twitter helps turn “the group” into “our group”.
  • Have fun.