Made a few small changes to the Summit subsite.
Made a few small changes to the Summit subsite.
The idea for Summit came nearly 4 years ago as far as I can tell. I’ve hunted around for scraps of paper, digital notes, code snippets to see if I can come up with an exact date but I’ve been unable to. And it has been fits and starts for several years.
When Kyle Ruane and I started on the idea we first thought the UI would be a bit more game-like. I envisioned a 3D model of the current mountain you were hiking that would progress the person up the summit in first-person towards each goal. This was altogether too much work, and far too difficult given my unfamiliarity with the platform. Kyle’s suggestion – again, many years ago – was to use a low poly look. He would craft a low poly representation of the summit and we could allow the user to move around in it, perhaps even spin it around, zoom in-and-out, etc.
I pulled that thread for a very short time before giving up. Remember, we started toying with the idea of Summit before Swift was released. So I was trying to draw this UI with Obj-C. Something I’m even more terrible at than Swift.
Here is what one attempt at drawing progress lines using Obj-C looked like back 4 years ago or so. I took this screenshot in June 2014 and was already labeling it “historical junk” in my files.
The red triangles were goals to meet, the blue line was your path, and the white line was your progress so far. My goal was to overlay this on top of the low poly art that Kyle drew. This was inspired by maps like this. (copied here for archival purposes)
This worked but was not that easy to pull of, introduced more complexity than we needed, and so we quickly shelved the idea until we got more familiar with the platform.
In tandem I began constructing a simple web UI to start cataloging steps from a phone. This was purely to get used to writing code that would track user’s steps, show stats, work on our step algorithm (the code that determines how far up Mount Everest a single step walking in a downtown city parking lot gets you), etc.
It went this way for a few years. I would open up a code editor and begin working on the pieces of Summit; the progress UI, the algorithm, the code to read from a user’s step count or HealthKit or Apple Watch.
In June 2017, when I picked up this project on my own to take on since Kyle had moved away, I decided I needed a simpler approach to the UI. In part because Kyle is the design genius but also in part because I wanted to get as quickly to shipping an app as I possibly could. I prefer to iterate on ideas with user feedback than to work on something in a silo for years. I wanted a way to show the summit, or some visual from the summit, but yet also show one’s progress. And I also still needed multiple goals per summit.
Here are a few drawings from this summer.
See, I’m not an artist. Admittedly, though, this wasn’t an attempt to draw anything beautiful but rather to get a general idea for all of the views I needed to pull off the layout. I needed some labels, some buttons, navigation, etc.
The long goal buttons was really “a punt” on my part. I gave up trying to get Xcode’s Storyboard feature to properly align a changing number of goal buttons (since each summit has a different number of goals) in a way that worked with each device size. It was very frustrating. So I began to go down this path of having them just be full-width, flat buttons.
But then I ran into Brian Voong on YouTube. In most of his video tutorials he suggests forgoing the Storyboard feature and using code to create the UI. Though I didn’t want to lose the progress I had made, I’m so glad that I took his advice. Writing UI directly in Swift is far, far easier (for me) and seemingly more powerful than using Storyboards.
This revelation allowed me to go back to a drawing I did a month earlier. This one:
On the left, the elements needed, on the right, a rough sketch of a much more minimal and airy design of the current summit view. The goal buttons have varying distances between them relative to how far apart they are in real life (I’m still working on getting this right in the app).
Using Swift I was able to make this happen much easier than Storyboards.
The above is one of the very first swings at this view. It had all of the elements I wanted. And I’ve been iterating on this specific design ever since. I wish I had the hundreds of iterations saved but I don’t.
Here is what the most recent iteration looks like with goal buttons that are easier to determine your progress and other tweaks to make the UI more consistent.
This is the design for this view I’ve settled with for now. I have plans to iterate on this current design for some time before, perhaps, taking a whole new swing at it. Perhaps my skills will grow to the point that I feel confident going back to Kyle’s low poly idea. But, I’m pleased with how it has come along so far.
I’m making a lot of progress with this multi-platform C# application I’m working on for a client. I’m anxious to use what I’m learning on this project to bring Summit to Android.
An auto layout constraint bug is hindering progress on Summit. I hope to get over this hurdle soon so that I can resume improvements to the app.
I’ve been steadily working on Pedometer++ now for nearly four years. Over that time the core conceit of the app has remained the same, to motivate you to be more active. It has done this with colors, confetti, complications and streaks. Now I’ve added another tool to hopefully motivate, achievements!
Pedometer++ continues to be my favorite step counter*. I’m looking forward to trying out this latest release.
* Yes, I’m building Summit, but that doesn’t mean I won’t still use Pedometer++ and Map My Walk. Each of these apps play a different role. I hope to make Summit good enough to fill a role for others too. But not the same role as Pedometer++. Even though the number one feature request is that I add more stats – that isn’t what Summit is about.
I’ve thoroughly enjoyed the time I’ve spent beta testing Summit and look forward to the new builds.
Colin has provided excellent feedback on Summit. So have so many of the beta testers. I too am looking forward to publishing new builds.
If you’re on the beta list (which you can get on by putting your email address in the form on this page) and you haven’t gotten Build 15 yet – please let me know. Build 16 is due mid-September.
Just issued several invites to the latest build of Summit via Test Flight. I’ve already doubled the number of beta testers. Looking forward to the feedback streaming in.
The Lehigh Valley Tech Meetup is an excellent community in the Lehigh Valley that meets monthly at the Ben Franklin Technology Partners incubator within the Lehigh University Mountaintop campus. The community around the meetup is excellent and the building is amazing*.
While the tail-end of my presentation walked through my experience building my first iOS app Summit, the majority of my presentation was focused on helping early stage companies think about their go to market strategies.
I’m currently advising several companies, a few of which are businesses built around mobile apps, and have heard about 11 other start-up pitches this year so far. And during that time I’ve noticed a trend. Entrepreneurs that are attempting to build a business around an app sometimes underestimate the amount of thought that should go into the marketing and sales strategy for the app. It is as if some feel that apps are less thought and work than products that you can touch. So during my presentation at LVTech I hoped to convey that the same “boring” (yet, tried and true) business practices that apply to products also apply to software.
A few questions I urged those thinking about building a business around an app were:
By considering these, and may other questions, you can determine if your idea has enough layers to support an entire business or if you just have an app idea**.
I also briefly discussed three misconceptions I’ve been seeing over the last year dealing with very early stage start-ups. These misconceptions were:
We then did about 10 minutes or so of questions and answers. The questions I got were really great and I appreciate all those in attendance helping me with the answers to the questions I didn’t have much experience in.
Thanks to Tim Lytle for the invitation to speak and to Ben Franklin Technology Partners for the continued support.
* I worked in this same building for years while at Viddler. But when I worked there the back half of the building didn’t exist. In fact, Viddler started in Jordan Hall – the building just beside the new building. And now, they are extending it even further. The building is an amazing place to work and have a meetup of this kind. I’m jealous that our incubator in Scranton feels so dated when compared to this building. Especially comparing the meeting spaces.
** It it totally fine to “just have an app idea”. I do. And I’m loving working on it. But it is also good to have the proper perspective about your app idea.
I’ve stitched together a temporary web site for the app as well as a mailing list that will allow you to get access to the final few beta builds prior to public release. If you have an iPhone please consider signing up and giving it a spin. I’d be very grateful for your feedback.
Thanks to the 13 private beta testers who have already tested the app and provided feedback. You can expect a brand-new build of the app coming in September.
Summit is a free, iOS-only app that uses your step count to virtually hike up tall peaks like Mount Everest in Nepal, learn about amazing landmarks like Diamond Head in Oahu, and even take a leisurely stroll down famous streets like Lombard Street in San Francisco. As you make progress on your journey you’re provided new information at each goal.
At the time of public release there will be 5 summits and new summits will be added each month thereafter.
Here are some screenshots of the app as it is currently:
When I started on Summit I did not know how to develop an iOS app. It has been really fun to learn Swift, Xcode, iTunes Connect and Test Flight, and the myriad other things I was able to learn in order to get this app as far as I have.
I still have a bit of work to do, but I’d love your feedback along the way as I finish the app up for release.
An announcement post will be published on my blog in just under 4 hours. May your brow drip with the sweat of anticipation until then.
One of the most enjoyable aspects of working on your own project is that there is so much to do. That may seem strange, why would I want to have so much to do? But if you look at it a different way it becomes a much more enjoyable experience.
Whenever I sit down to work on my pet project, a new iOS app, I can choose what I’m in the mood to work on. Perhaps I’m in the mood to work on the branding, editorial, licensing, or marketing? Or, would I prefer to hunker down into some Swift programming and refine the datastore, algorithms, animations, speed, etc of the app? Or perhaps I’d like to identify key strategic partners for my product launch or look through beta user feedback or do some artwork?
You see the point? Yes, there is a lot to do. And it can seem overwhelming if you allow it to be. But, no matter what type of mood I’m in I can make some progress on the project nearly every single day. And I’m having a ball so far.
I rewrote some of my app’s UI last night using Swift rather than Storyboards. While it takes me longer (at least currently) to build Views this way – it does seem to be the better way of going about it.
Published Build 11 of my iOS app to TestFlight this morning. Some great improvements in this build. Now to fly the UAV a little.
In early June I decided I wanted to learn iOS app development using Swift.
I’ve made a lot of progress over the last month, building two apps that I can use on my own phone, and one app that I’m now in beta testing via TestFlight with a few friends. Over the last month I’ve made some observations on the process of building an iOS app, the Swift programming language, Xcode, iOS frameworks, and the various other bits needed to make an app. I thought I’d take the time to jot those down.
These are in no particular order:
Overall I’ve had a positive experience learning to build an iOS app on my own. Going from having an app in TestFlight to shipping an app feels like preparing to cross a desert on foot. But, I’m enjoying my experience so I’m going to trudge forward to do so.
I hope to ask for public beta testers of the app in a few weeks or a month.
Peter De Vries wrote “Write drunk. Edit sober.” I feel the same about most ideas. Speed through version 1 as fast as you possibly can getting all of your ideas onto the “canvas”. Then slow down, remove anything unneeded, and refine version 2. Version 2 should be what you ship.