While perusing Twitter back in the spring of 2014, I stumbled on a link that brought me to the page for designcode.io. The website looked amazing and promised everything would be included, code, files and videos to help me make my first app. Making my own app after all has been a dream for a while - but I couldn’t think of anything to make that wasn’t already made.
I bought my copy and the next day perused the site for an hour thinking, man,there's so much here, lots of steps, and I don't want to just make another news feed app - surely anyone who buys this book will end up making one too. There will be a sea of news feed apps.
I didn’t begin building or following the book immediately but I did watch the Facebook group and the emails Meng sent out with suggestions and weekly tips And articles which were great.
With great fanfare, iOS 8 was announced with some great new features for developers. Finally, the ability for apps to sorta talk to each other with extensions was really exciting, but I still had no idea what I would create. It didn’t take long for 1Password to show a rough video of how their extension would work which was really awesome to see the first extension come to life.
Finally, two weeks after the announcement I was on the subway home and an idea dawned on me. Earlier in the day, I’d shown a co-worker how much I’d been listening to a band lately (Too much, but so good!). To show him the stats, I had to log in to my Last.fm profile page, scroll down, and show him the charts / graphs that looked a bit clunky and old. “Wouldn’t it be neat to have this on my phone all the time?” I said to myself. A small rush of excitement energized my walk home from the subway station. I checked later in the evening in the app store - While there were many apps that helped you track/scrobble a song, none seemed to be focus on your analytics / playback stats. And there you go, now I had the piece of my puzzle solved. I decided I’d try my hand at building an app that would make an infographic of the music you listen to with your last.fm stats.
Now, there are different points of view on how popular Last.fm still is; many people still use it, but many have moved on to other music discovery platforms. The issue with the new ones, is they don’t all have public API’s yet, and I don’t believe many actually track what you listen to in a big database. I figure, if I’m still using Last.fm, I can’t be alone.
The next thought in my mind was, “Is designcode.io still worth it / will it still help me?” Yes. Absolutely it was. At the core, my app idea was very different from a news reader, but it had the same core principles.
- Login with an API
- Display results
- Allow sharing
The principles were the same, just the API and the data I would show would be different - The book was definitely going to get me going in Sketch, and getting all my assets ready in Xcode which in itself was going to be very helpful.
I used the discount code to pickup a copy of Sketch. I quickly realized it had a fair amount of differences from the usual Adobe products you’d previously used. It felt a bit like it was a hybrid between Illustrator and Photoshop to some extent.
Finally, I sat down with a full day on a Saturday in August to just design in Sketch. I iterated and tried a bunch of things and had made decent progress for a 6 hour day. The next day I tried a few more things and designs and was getting happier with what it was looking like.
Initial design and learnings in Sketch for the first time as I was putting together the home screen. Click to watch animated .gif
Another work week went by and I decided I should spend my next Saturday just building in xCode to move forward and I would tweak the design as I pleased along the way. I started following the steps on how to get my design in Xcode. I won't lie, in some of Meng's videos he was going so quick I had to watch them nearly frame by frame. After a few hours, I had most of the elements in, and animating between view controllers with almost no code at this point. It was really exciting!
The next hurdle was to understand cocoa pods. I found lots of references to it all over but as a complete non-coder, I had no idea how to actually install it. Turns out, I needed Ruby installed on my Mac first, then install cocoa pods, then install the individual pods I would need.
Cocoapods used for Lasttrax
Now I had installed the cocoa pods I would need - The same ones suggested in the book so far, but I also found that there was a Last.fm cocoa pod already made I could leverage for that which was stellar. I added the 1Password cocoa pod next and followed the steps in their instructions and was over the moon when I got it working - and without any error pop ups! I got to work on the login, but after a full day I had more errors then Windows Me on a good day. I had really messed up all this code - or at least had tried plugging things in without declaring them and or not even having the right code. It was clear I had a lot more to learn about Objective C or Swift to make any real progress - but at the end of the day, part of me didn’t want to fully learn a bunch of code. I’m used to seeing web code and have worked lots with css/html / WordPress level php, but I’d never had any interest in becoming a full programmer.
I figured I’d do the following, find someone who codes well, and have them do the real heavy API / Code integration, and leave me to do the smaller things (like adding analytics, design, colour and font settings for typography, and even ensuring that I had everything ready for iPhone 6 & 6Plus in Xcode). This way, I could really focus on the pieces that I’m really good at - design & marketing.
I searched for help within my own circle of Facebook / Twitter followers, but no one was able to help out directly. A few re-tweets on twitter led me to a couple nice people, but as soon as they heard that I might consider adding a fee for the app, the conversation went straight to profit sharing and splitting the app, which didn’t really interest me - I wanted to build something from the ground-up myself without consulting with someone else's thoughts / opinions. I tried looking for a freelancer on a few of the larger sites like freelancer.com without any success. Crazy cost estimates from $100-$1500 and all mostly from people with a wide range of positive and negative reviews. Finally, after some searching, I met @luvieere on fiverr.com - He had lots of good reviews so I gave him a shot.
He worked out great - after a couple weeks he’d fixed all my horrible errors, and had the Last.fm connections working with the cocoa pod and helped me out with the share feature. The week that he worked on this, I took to step back from the app and focus on the next piece I was more than comfortable with - building the website.
I spent a week building www.lasttraxapp.com and ensuring it was responsive and up to my expectations.
After @luvieere sent me back the build he had worked on, It was time for me to come back in, and add another coat of polish. I came back and revised most of the visuals on the homescreen feeling that it was a bit empty and naked with just copy and on white. I got my font setup, and fixed language tweaks all around. I re-exported and added the @3x sizes for the iPhone 6, and dropped in the app Icon and launch image. I followed more steps in designcode.io, including adding Mixpanel analytics so I knew what people would be clicking on and how often within the app.
Before (Left) and After (Left) of the Home View Controller with polish and design
Before (Left) and After (Left) of the Settings View Controller with polish and design
Elements in place for Final build in Xcode with final fonts / design.
I lastly, had to figure out how to submit the app to the app store - the video’s in designcode.io were definitely a bit different since they’re done in xCode 5 vs the new Xcode 6 needed for iOS 8, but I didn’t have any difficulty - they were almost the same steps, just looked a bit different visually.
Apple rejected my app on the first round - simply because I didn’t include a privacy policy since my app required / captured a username/password. I didn’t have to re-submit my binary to fix this though - It was only a meta-data error.
After another day, they sent the app to the app store!
See it in action here!
I didn’t promote the app immediately, choosing to work this weekend to update a few screen shots online to represent the last changes I made in the submission on the website and prepare the social channels on Twitter & Facebook.
My next steps in the coming weeks will be to discuss how I'm going to promote and market the app (and identify tactics that did or did not work)
Let me know what you think of the app, or any questions about the details above on Twitter : @vinyldust
Update : Find out how I used Fancy Hands to help make and promote this app a bit quicker here