May 11, 2017

Minnesota Original: Layne Kennedy

My friend and photographer Layne Kennedy was recently featured on Minnesota Original. I met Layne when I took his Wintegreen Dog Sledding workshop and he’s a great photographer, teacher and amazing story teller.

{% include embed/youtube.html youtube_id=“l8PCbJGIaYQ” %}

February 18, 2017

Steve Wozniak at Augsburg College

Steve Wozniak, or Woz”, was a guest at Augsburg College today and it was a pleasure to see him talk about his early days in technology and his first experimentations with microchips which eventually led to the creation of the Apple I and beyond.

Woz is an amazing person. He individually did more to create the personal computer industry than possibly anyone else. He is a creative genius with technology. He so clearly is passionate and understands the design of technology like nobody else. On top of all that, Woz just seems like a nice person. Woz seems like someone that you’d love to have dinner with and just spend time discussing the world. He’s an engineer’s engineer”. You could give yourself a nearly impossible challenge just by looking at your project and asking What would Woz do with this?”

Steve Wozniak at Augsburg College

Some highlights from the discussion with Woz:

  • Woz shared many stories of working with Steve Jobs and how the two of them worked together. He also took great lengths to highlight the role that Mike Markkula played and referred to him as the third founder” of Apple.
  • Woz talked about his early experimentation with technology and how he focused on smiles minus frowns” as a simple way to guide himself in life. Add up your smiles, minus the frowns, and if that works, you’re going the right direction.
  • I chuckled when Woz mentioned that the Homebrew Computer Club met every two weeks, which is now by far the most common iteration length for agile development teams.
  • The open culture of the Homebrew Computer Club is one of those early framing events that continues today in open source software. Everyone was sharing designs for the betterment of the group and the industry.
  • The Apple I design was given away to the club, but Woz had the Apple II design already done, and they knew that was what they would build Apple Computer on.
  • Woz highlighted the role of builders and makers”, and that that continues today.
  • Much of Woz’s designs were driven by strict constraints of time and money. The original Apple designs were done with minimal components to reduce cost and elegant designs. The Apple floppy drive that Woz created used 8 chips compared to 40 or 50 in other drives. Woz also shared the funny story how the floppy drive was made in two weeks so that he had a reason to go to CES in Las Vegas.
  • It was fun to hear Woz highlight the importance of continuing to learn and doing that through side projects. He would design systems all day, and then for fun, he would design systems for a different purpose. Always learning and driven by passion.
  • It was so fun to hear underneath Woz’s engineering drive a constant desire to focus on the person. The person is always more important than the device. Figure out how to make the device usable. He highlighted how his original design for the Apple I and Apple II were driven by this, while others in the industry just showed complicated computers” with switches and buttons.
February 18, 2017

A Minnebar Ticketing Proposal

I’ve recently put some thought into how tickets are managed for Minnebar and Minnedemo. I’ve been very close to these events for a long time, and on the board for several years now, while our ticketing process has remained relatively unchanged over that long time.

The Problems

Why spend cycles thinking about the ticketing issue? I think there are some large problems with the way that tickets are managed.


The ticketing process encourages people to act immediately upon issuance and get tickets since they will all be taken immediately. Often people will take a ticket before they have even made sure they can attend. This timeliness requirement unfairly penalizes people that are occupied and not watching Twitter at that exact moment.

Understanding Churn

The current process reduces our ability to understand how many people have stopped going to our events. We routinely see a high number of first-time” attendees, and along with that a high amount of churn. Is the churn because people weren’t ready the second that tickets came out, or because they don’t want to come?


Many tickets go unused. We manage around this by predicting what percentage of tickets will be unused, but it is more art than science. The rushed nature of ticketing may decrease redemption rate as people just jump on tickets as quick as possible.

Quantify Demand

All of these events sell out” (to the extent a free event can sell out) within minutes. This removes our ability to know the true demand for the events. If 800 tickets are picked up within 15 minutes of release, how many people wanted to go? 900? 3,000? That is anyone’s guess.


When considering how to better manage tickets, it is important to consider some limitations.

Identity Is Unknown

There are numerous ways to manage ticket redemption that would focus on reputation. Mainly this is a means to solve redemption and put rules in place such as not being allowed a ticket if you don’t use the last three tickets.

Cannot Be Complex

We’ve entertained some options that avoid identity and reputation but encourage careful assignment of tickets. The most commonly referenced one is to use some form of a cash deposit. For example, you would pay $5, $10 or $20 to get your ticket to the event and that money would be refunded back to you when you show up at the event. This would certainly reduce the number of unused tickets but at the cost of managing a significant amount of complexity and risk.


Before looking at the proposal let’s recap from above what our requirements are:

  1. The solution must not require managing identity. You cannot know a ticket holder from one event to another.
  2. The solution would ideally allow us to understand how many people would like to come to an event.
  3. The solution would be able to manage preferential access for certain groups.
  4. The solution would allow for improving the precision of no shows”.

It is important to note that while no shows” are something to consider, I believe it is a lesser problem than understanding the true demand for the events, churn and making the ticketing process more equitable.


Taking these objectives into place, I propose the following ticketing process.

Phase 1: Get in line!

First thing, get in line. Rather than distributing tickets in groups we propose everyone get in a line (or list) to attend. This line opens up at a prescribed date and time, and anyone and everyone that wants to come to the event would then get in line. The line will close at another prescribed time, but as long as the line is open more and, more people can get in line.

This line dampens the urgency to take immediate action. Please note though that Phase 3 does reward people for getting in line early. It is valuable to the organization to get a sense of demand quickly, so getting people in line sooner is a good thing. However, no matter when you get in line you may get a ticket.

Phase 2: Priority Access

Once the line is complete and closed we then deal with priority access. There are some groups that get priority access to the events and are guaranteed a ticket:

  • Volunteers: Anyone volunteering at the event.
  • Community Supporters: Individuals (not companies) in the community that have donated $100 in the last 12 months.
  • Sponsors: Packages get different numbers of tickets. If you are in line under one of those slots you get a ticket.
  • Students: We look to encourage high school students to attend our events, and wish to give them priority access.

Once these special groups have priority access, we’ve used some of the tickets and now have a smaller line.

Phase 3: Ticketing Groups

The remaining line is now divided into groups. This is where some further math and heuristics could be applied to better manage tickets over time. For now, just assume that all these numbers are potential variables and you could optimize the solution over time.

Take the remainder of the line, let’s say there are 1,000 people still left, and for easy math put them in 5 groups of 200 people.

Each one of these groups is then ticketed. Remember that these groups are in the order they got in line, so the early people are in the front and the last person to get in line is at the end in position 1,000.

We also at this point know how many tickets were assigned to priority access groups and can make a determination about their no show” rate. Likely those groups have a very high redemption rate, so assume most are used. The remaining tickets will be assigned to the five groups of 200 people in a decreasing percentage. All of the people in group 1 get tickets. 70% of the people in group 2 get tickets. 40% of the people in group 3 get tickets and so on until we get to something like 10% of people in group 5 getting tickets.

Over time these groups may be able to provide more accurate data on redemption, and we may know that Group 1 people redeem tickets at a higher rate than Group 5 so we can assign more tickets in Group 5 knowing more will go unused.

Additionally, it is important that any tickets that get returned before the event, when people realize they cannot come and notify us of that, should be returned to the group it was assigned to. So, if a person in Group 3 returns there ticket, it should go to another random person in Group 3. This could be managed by creating different classes or types of tickets for each group. If there are no people left in that group without a ticket, like Group 1, then flow the returned ticket to the next group in line.


This may seem complex at first, but I think the implementation could be reasonable. Eventbrite could still be used to get in line but getting a Line Ticket”. The list of registered email addresses could then be manipulated with a small program to do the rest.

I do think that this would meet our goals of:

  1. Understanding true demand for the events.
  2. Allowing special access to some groups.
  3. More fairly assigning tickets to the remaining people.
  4. Minimizing the urgency around ticketing.
  5. Optimize no show” management over time.

Very importantly this would also help us understand people that stop coming to events. If you get in line we know you want to come, but if you don’t get in line many times in a row you are deciding our events aren’t worthwhile and we’d like to know that.

If you have suggestions or comments contact me. If you would like to help solution this that would be great too!

February 18, 2017

Creativity Vampires

I have observed in myself this dynamic of low-effort, low-value activities removing the need to do high-effort, high-value activities. The graph below illustrates what I mean.

Urge to Write over Time

The more I tweet, the less I blog.

Tweets are easy, simple and fast. They are also low-value, ephemeral and simple. When I tweet I satisfy this urge that I have to write and express myself. It reminds me of constantly taking the pressure out of a system.

The problem with this is that I never build up that urge to express a more complex thing. I find that if I limit these low-value frequent outlets, I eventually feel a pressure inside me to create, to express myself. Then I make something that is much more valuable (at least to me!) and expresses a complete thought as opposed to a digital belch. It’s not even an option to me because I will get a need to do it. That need never happens if I’m constantly relieving the pressure.

There is something here related to the concepts in Amusing Ourselves to Death, which was written before the social sharing digital world we are in now, but continues to be relevant.

February 17, 2017

Minnedemo 25 Recap

Minnedemo 25 was last night, and it was fabulous. I’ve gone to all but a few Minnedemo events and realize that sometimes the demos are just a bit better than other times. Last nights was a great serving of everything that Minnedemo can be. We had very polished demos with clear paths to markets alongside passion projects. We had a team that was formed only five weeks prior at a hackathon. We even had the perennial bombed demo due to technical difficulties that still gets shown the warmth of the community.

Minnedemo 25 Panorama

Update (Feb 22): Tech.MN posted videos of all the demos.

Talkative Chef

A group of 8 women that met at Hack the Gap built this product in just the last few weeks. They started working on this concept and showed a pretty well put together alpha of that work. The product helps you cook and bake hands-free by using voice commands with your computer. It worked well, and it was impressive to me that it was all done in the browser. As soon as they showed it, I thought this should be an Alexa skill package, but they highlighted that they were doing it in the browser to make it accessible to a wider audience. It’s not clear to me that this is a company or if it’s just a hobby project, but the concept of hands-free guides makes a lot of sense and in more than just the kitchen. The same concept could apply to repair projects in the house and having a screen to show diagrams or pictures while you talk could be helpful as well. Cool idea, well executed, great demo and great to see an all-female team building this, and it coming from a hackathon.


Interesting take on preparing physical therapy programs. They showed a platform that allowed a PT specialist to design a program and then assign it to their patients. Very similar in concept to what you would have a personal trainer do by building workouts and assigning them. Two unique features that hit me in the demo:

  1. The ability to record on your mobile a brand new video and create a unique exercise just for this one person. This is probably a big deal with physical therapy where you might create a specific activity for someone and to be able just to record and produce it right away seems compelling.
  2. Capability to export the assigned PT program using a text template into an EMR system makes sense for the therapist. I would imagine that is a significant time saving for them.


This demo reminded me a bit of Twilio. Twilio took something old, plain old telephone service, and make it accessible via APIs and the cloud. Inkit feels similar in taking something old, direct mail, and making it accessible in the way that modern digital marketers think of the world. Makes sense to me but strikes me as a market with a lot of competition. Well done product and demo.


I was looking forward to this demo because it was the most technical of the bunch. EnduraData has software that moves large volumes of sensitive data between multiple locations and does it better, faster. You can buy expensive devices to do this, but their software delivers the same benefit. Unfortunately, to do the demo, they had a virtual machine in another country set up and were going to shuffle data around, and the WiFi in the room failed them. They were going to try showing a video as a backup, but that couldn’t work either. I was excited that this was the only demo of the night that was running Ubuntu, but bummed we didn’t get to see it.

Newt One

Newt One is a non-violent game concept where the characters only have a positive impact on the game environment. The concept was cool, the art and music were very nice, and it looked fun to play. We don’t get a lot of game demos at Minnedemo, so this was fun to see.

Trout Spotr

Trout Spotr stole the show and is one of those passion projects that I love to see at Minnedemo. The presenter started by saying I built a website for my Dad.” and then went on to show how he used open data, various software packages and created a stunning website that allows you to find trout streams that are on public land. The visuals were well done using D3 and mashing up a lot of other web technology. The presenter also had a ton of energy and excitement. Great demo!

Player’s Health

Players Health has an interesting product that allows youth sports programs to deal with injury information in a much more sophisticated way. This demo opened the door to a problem that seems significant but underserved and showed a service that provides a lot of value to parents, coaches and even creates a data set that can be used to improve the youth sports world. I was impressed by the quality of the demo and that it appears to be serving a real need around injury management.

February 15, 2017

Sending Email to OmniFocus Using Flow in Office 365

This workflow is mainly for people that use Office 365 and are looking for an easy way to selectively put emails into OmniFocus or another task management system that can receive tasks via email.

I’m always looking for easier ways to move an email from my Inbox into OmniFocus. I only put a small number of emails into OmniFocus, but I’d like it to be nearly automatic. Some emails I always want to send to OmniFocus, and for those I use a mail rule to automatically route. I also use Saneboxs SaneFwd feature to do something similar. But those are only good when it is a sender that you always want to go to OmniFocus. What about when you selectively want to grab a couple emails?

I started wondering if I could do something with Microsoft Flow. For those that don’t know, Flow is very similar to Zapier and is in the same category as IFTTT. I would put it closer to Zapier since it handles much more complex workflows with loops, conditionals and also connects to more complicated systems than IFTTT. Flow was launched less than a year ago.

Mail rules can only fire on a mail activity, such as an email being received. Once it’s received and in your mailbox mail rules don’t have a trigger event. Flow, since it is directly integrated into Office 365, can see a bit more and has a trigger for When an email is flagged”. That caught my eye right away and within a couple of minutes I had this workflow for sending things to OmniFocus by flagging them in my Inbox. The To” address should be your OmniFocus Mail Drop address.

Flow - Flagged Email to OmniFocus

Look at the 2nd step in the workflow to Get user profile”. I’d like these items to be associated with who the email came from, and my pattern for that is to prepend the persons name to the task seperated by a colon. Since Flow is part of Office 365, it can talk to Active Directory and get things like the Display name” of the sender. I could also include their phone number or any other data that was in Active Directory as well.

I did also set two advanced options to avoid getting raw HTML in the OmniFocus task.

Flow - Advanced Options

This workflow works really well. It triggers quickly and is as frictionless as I think I can get. I also really like that Flow gives some extensibility if I wanted to pull in other data related to the person or message. Most of my limitations there are related to what Mail Drop can interpret.

Couple things about Flow:

  1. While Flow allows you to author workflows on the iOS app I found it really clumsy. I’d do the authoring on a web browser and computer.
  2. There are some really interesting options that can tie Office 365 with Azure Functions using Flow. You can see there is some brilliance here on how this is implemented.
  3. If you like IFTTT and are in an Office 365 environment at work, you definitely should look at Flow. It has some powerful automation options.