Posted by & filed under Business, Technology.

Cody Fletcher Designing Polyphonic

If you’ve been following the launch of Polyphonic, my first app on the App Store through Flip Studios, then it’s likely that you are probably a friend, fan, or family member of mine or my cohort TJ Hill. For the most part you’d have to be, because outside of word-of-mouth and simple social networking, you wouldn’t have even heard about Polyphonic.


The Key Elements to Launching an App

  1. Create something that you enjoy
    If you don’t enjoy the product, or don’t intend to use the product yourself, there’s a good chance you won’t be driven to innovate something that is truly unique or special.
  2. Create something that others will enjoy
    That means you have to share the idea and the work-in-progress with others. If they don’t get it or can’t understand it, work to simplify the concept or idea. If they still don’t get it, you risk falling in love with your own idea and wasting a lot of time if you can’t get others to understand your vision!
  3. Give it away for free initially, but for a limited time only
    This is a good way to get people to get try things out, and build some buzz. Make sure to set a time limit, if it’s free forever then there’s no rush to download it.
  4. Share it with your friends, family, and fans
    Use Facebook, Instagram, Twitter to share your app like you would normally share some bit of news. Just share what you are up to and ask your friends to share it if they like the app. Make sure to give them updates on how things are going. We did our best not to spam everyone too much, but keep in mind that not everyone checks things all the time so you may have to share a few different things at a few different times to reach everyone. Be sure to engage your audience as you grow!
  5. Ask for feedback
    If you really want something to be the best it can be, ask people to give you honest feedback. Reading 5-star reviews is lots of fun, but make sure you build a way into your app for gathering suggestions and feedback.
  6. Fix critical bugs as quickly as possible after launch
    Show your new audience that you are listening. If you’re actually using your own app and find something broken, it’s a no-brainer to fix it.  (see #1 above)
  7. Launch your app
    No matter how many ideas you have, no matter how many features you’d like to implement, no matter how painful it may be, you have to launch something. Just prepare yourself to deal with your own personal insecurity as you hear your closest friends and family tell you their ideas, which you already thought of. (Read more on about creating a “minimum viable product” (a.k.a. MVP) to see what I’m talking about)

Our Results

Following the steps above, within the first 24 hours, give or take, we experienced:

  1. Over 1,000 downloads of our app
  2. Downloads in 48 different countries
  3. We made the Top 100 Free Music Games list on the App Store
  4. We’re maintaining a 5-Star Rating with 25+ Reviews and counting!

Download Polyphonic on the App Store here!

Posted by & filed under Technology.

(If you are not already familiar with JIRA, Atlassian, or OnDemand, then I’m really sorry about your life. To say that “issue tracking” might change your life is incorrect. Issue-tracking will be changing the way you manage tasks/projects/life in the not-too-distant future.)

In my opinion, Atlassian is focusing on many of the right elements. Here’s my thoughts on this latest update and some recommendations as well:


The usability (or ease-of-use) of the most-commonly used sections of a site should be the most important sections.

What did they do to improve usability?

  • Combined the list of saved filters WITH the edit/create/search page.
  • Created an easy to find “Save a copy” link that spawns a small window with a single text field for the name. Not a single extra click or tab required. Genius.
  • Created ajax-enabled icons at the top of the screen to set a favorite or change the sharing.
  • Loading your saved filters is way fast.
  • Truly there is too much to list here, but every innovation I have seen has a clear purpose.


Creating good software requires compromise; creating excellent software requires a vision. It’s easy to open a door in software, harder to close that door once you’ve opened it, and harder still to have never opened that door in the first place.

What did they compromise on?

  • By combining 2 pages into 1 page, they risk a few things. They risk trying to do too much on one page and they risk creating visual clutter and confusion, the latter being my gut reaction (albeit brief gut reaction). They decided to increase the user experience for those who use the system regularly over the other.


If this was my baby and I was leading the team, these would be the first areas I would discuss with the team:

Top Toolbar

  1. Consider moving the “New Search” button out of the left column, then add a link/icon next to “Save a copy” that says “Start over”. This would simply the left column to be only used for 1 thing: showing new lists of issues on the right.
  2. Consider replacing “Save a copy” with an icon. Add Tooltips to the icons at the top of the page (see: bootstrap tooltips).
  3. Sharing should not go to another page. Spawn a window like the “Save a Copy” link does.

JQL Textarea

  1. I find myself always wanting to add new lines to increase readability to JQL statements. I use Shift-Enter to accomplish this but it doesn’t work if the auto-complete tool is enabled. I want use the auto-suggest tool and I also want to be able to easily read my JQL queries.
  1. I’m 45 days into my latest JIRA instance and I have 2 pages worth of saved issue filters in the left column (I’d have a lot more if I thought I could keep better track of them). I’d like to be able to visually simplify the page.
    • Let me place my saved filters into “groups” or assign an arbitrary label to them.
    • Allow me to collapse groups (or all) of the saved filters
JQL Language Improvements
These are not related to the latest lab release, but I’m sick of having all of these ideas rattle around in my head!
  1. Add an option to specify what fields you are interested in for this filter AS WELL AS the order they appear in. This should work for API access as well to limit the amount of data that needs to be served up.A normal JQL query looks like this:

    status IN (“In Progress”) AND project IN (“My Project”)
    ORDER BY priority DESCAn improved JQL query might look like this:COLUMNS (priority, issueType, status, component, summary, updated)
    status IN (“In Progress”) AND project IN (“My Project”)
    ORDER BY priority DESC
  2. Allow parameterized JQL queries (aka JQL prepared statements). Here’s the use-case: I manage a large team of developers and each of these developers has a dashboard that shows them their own issues using 1 set of filters (via “currentUser()”). Now as a manager, I want to be able to see what person 14 has “In Progress”, take a quick look at person 3’s pipeline, scan person 18 and 16 to see if those reopened issues have been resolved or at least set back to “In Progress”. If I could create a single JQL query with a location for a parameter, I could then use  a dashboard widget to update the parameter values.

Keep up the good work Atlassian!