I make iOS apps that I feel passionate about, that I can connect to someone who has a problem and are trying to accomplish a specific job where I can deliver an app and a great experience around their situation to solve their problem.
Great apps are built on great experiences. I make those experiences happen, and I love the process and the challenge in doing so.
I write here on my blog about iOS development under the iOS tag.
A couple of highlights
- Presenting iOS View Controller as bottom-half Modal
- Adding more depth to modal View Controller Transitions in iOS
- Smooth transition from Launch Image to View Controller in iOS
- The Story of no Storyboard in iOS Development
- Awesome Tools when adding Push Notifications to iOS Apps
- Present iOS 8 Share Extension as Modal View
- A Vibrant Background Image View in Swift
- Easily display different formats of your logo in Swift
- Text Recognition in iOS with Tesseract OCR
I'm available for hire as a contract iOS developer from time to time, if I feel I can add value to a project. Every project does not align with what I want to do, what I'm good at and the value I can add.
Some of my past work
I made a mileage book for iPhone with my brother doing the design, and me doing all the development.
I needed a mileage book myself, since I'm doing a fair amount of driving which can be reimbursed only if I keep track of it.
I enjoy the process to go from idea to execution and how you often end up with something completely different when you get heads down and focus on the essentials.
We started with some raw sketches drawn on paper, moved onto wire framing and started work on the first design. My brother designed a mock up and I implemented.
During implementation and when we got it into our hands, we noticed that we were not focusing strong enough on the essentials. We focused too much on where-abouts, address look-up etc.
Magic happens when a designer and a developer work closely together. The back and forth feedback makes you able to iterate and make decisions based on information, instead of deciding everything up-front when you have very little information.
It uses location services to track how far you drive. It stores data on the device using Core Data. Apart from that, everything is mainly customised UIKit components with use of Core Animation to make the experience more fluent.
It is written in Objective-C.
Metrix for iOS
I helped trak.io make a prototype and then first and second iteration of their new offering, Metrix, which is a mobile analytics dashboard app where you can set up custom dashboards based on the different data source on your account.
This is written in Swift.
How I got into iOS development
I actually made a small web app for the first generation iPhone. A mobile version of a product called Headlight, back in 2007 when I worked for TraceWorks in Copenhagen - this is how it looked:
I was a long time web developer, focused primarily on front-end and user experience but equally strong (just not as passionate) about the back-end. Full-stack developer, is the industry term.
I found myself kind of stuck on the Microsoft technology stack. I felt, at the time, they were doing their developers a disservice with their pursuit of "drag 'n' drop development tools" and a lack of focus (another story, ask me if you must know).
Something had to change if I weren't to leave my career at the merci of the blue monster, so I gave my brother one of "the best days of his life" when I after countless unproductive and religious discussions of Mac vs. Windows took him to an Apple Store and bought myself a shiny new MacBook Air.
Eager to learn, eager to be proven wrong and change more than anything I started my journey into Xcode and iOS.
To be honest, I found Xcode primitive at best. Equally so, I found the iOS SDK feature poor compared to where I came from where any possible customisation under the sun is just a property away. And in terms of debugging, oh man is Xcode old-school - almost charming.
I've noticed something about myself when I pick up something new. Whatever it is, it quickly starts eating me from within like a decease. I can get a little frustrated which makes me annoyed.
Annoyed that I haven't figured this out already.
I then leave it, only to pick it up 10 minutes later when I get so annoyed or an epiphany strikes and there's no way back. I plough through until I reach the other side.
That was exactly what happened when I tried to integrate with the Twitter Streaming API and the same was the case when I earlier this year spent countless hours picking up on GDAL to extract vegetation indices from Landsat satellite imagery, interpolate regions and produce a more human readable image:
It's the only way to learn. Break things, and see what works when fixing.
A strong intuition
I worked at a marketing software startup in Copenhagen from 2007 - 2011-ish. We had a discontinued product (web analytics), and one day the servers crashed and when restored the SQL Server Reporting Services configuration didn't work.
We hired a consultant who was an expert in SQL Server and Reporting Services, and he spent an entire day with no result.
I asked if I could take a stab at it, and worked from home the following day to get heads down into this problem and hopefully solve it.
I got it up and running in 45 minutes.
I didn't have any experience setting up, configuring or troubleshooting Reporting Services. And I can say for sure that the only reason to me solving the problem was my strong intuition. It wasn't that hard (as far as I recall).
My way of thinking always seems to be closely aligned with how systems are designed and work so picking up something new feels natural, although new.
A couple of trashed App Ideas
I had been playing around with Xcode since 2011 and had my fair share of learning experiences.
Me and my brother (who does design) started making a location based app where you can drop at pin and attach a note. The thinking was when you leave your bike somewhere, if you tend to forget where you could leave a note for yourself, or perhaps send it to a friend.
We never shipped it to the App Store. The lack of passion for the "problem" it solved didn't help me persevere and complete it 100%.
This was how it looked:
The Ponca are a Midwestern Native American tribe of the Dhegihan branch of the Siouan language group. There are two federally recognized Ponca tribes: the Ponca Tribe of Nebraska and the Ponca Tribe of Indians of Oklahoma.
My brother studied at Hyper Island, and he was involved in a project where they wanted to categorise pages you like on Facebook into Music, Movies, Sports etc. and print it on a T-shirt.
That evolved into making an app where you could find friends based on your profile to catch a movie with or discover new music based on what your friends like.
The concept was also based on limiting the number of friends in your Ponca to 40, which according to some studies is believed to be to max number of people you can stay connected to.
It was an interesting project. I appreciate great design, and the challenges of implementing a design so that it not only looks good but works so well that the feel of it amplifies the visuals.
In terms of data and what problem it solved, Ponca was incredibly difficult to make a reality. It never felt like it could be more than just a way to browse what your friends like, which didn't feel very useful.