If you are in the Twitter circles of young iOS developers, you’ve probably seen at least a few videos of scholarship apps created by students that are applying for this year’s WWDC scholarship. So I thought it would be a good idea to show off my app too. I’ve tried to make it short and sweet, instead of big app with a lot of effects and tons of texts, as I don’t expect Apple reviewers to spend too much time with each individual app. But when I saw some of the others, maybe I made it too simple. Anyways, here it is:

(I am sorry for the shaking, I should probably get a tripod for the next time :P )

As you can see, there is a simple intro implemented using UIKit Dynamics with different elasticity for each letter, and then a parallax timeline with my history. What you probably didn’t notice – there is also a little effect that distorts the texts during scrolling and make the texts sharp when it stops. That’s done using an attachment behaviour, changing the anchor point in viewDidScroll, and observing center point of the attached view, where I calculate distance between the centre point and the scrollView offset, and set the textView’s shadowOffset and shadowRadius based on the difference.

If you are interested in what others did, you can take a look at this GitHub page. And if you applied for the scholarship yourself, make sure to submit yours there.

All applicants will be notified of their status by April 28, that means 10 days from now. I was lucky enough to get in last year, so fingers crossed for all the hard-working newcomers!

Routie on Pebble live

We are always looking for new ways to make the Routie experience better, easier and even more delightful. We are also huge fans of the promising and fast-evolving category of wearable devices. That’s why we decided to build an app for watches, that will enable you to control tracking and view metrics on your wrist, without pulling-out your phone.

Since we love Pebble, a company that has been pioneering smart watches category since 2012 when they succeeded with their Kickstarter campaign, we decided to build the watch app for Pebble. We’ve been hard at work for the last couple of weeks, and we believe that you’ll love what we came up with!

What can I do with Routie for Pebble?

In a nutshell, you can:

  • start / stop tracking
  • view two metrics at a time:
    • duration, current speed or average speed in the top position
    • distance, current altitude or max speed in the bottom position

In case you are new to Pebble, it works like that: the app running on iPhone is repeatedly sending metric updates (current speed, altitude, distance etc.) to the watch via Bluetooth. The watch sends the start or stop event to the Routie iPhone app whenever you click the middle button. Other synchronisation is also performed using Bluetooth.

Here is an image that explains which buttons do what:
Routie on Pebble controls

To celebrate the launch of Routie for Pebble, Routie for iOS is now completely free for a limited time!

That’s right, with no strings attached. Download it, take it for a run/bike trip/walk and see for yourself. We’d love to hear your thoughts!

Routie is available on the Pebble App StoreiTunes App Store badge

Spread the love

We’ve created a small landing page for the Routie – Pebble combo. You can check it out here: routieapp.com/pebble.html and you can also share it with your Pebble friends from there using the Like / Tweet buttons.

Final notes

I would like thank my friend Patrick Balestra for his suggestion to give Pebble a try, and for being kind enough to help me out with developing the watch app! This wouldn’t be possible without him. He is a nice guy; you should follow him on Twitter.
I’d also like to thank my good friend Martin Malinda for giving me a helping hand with coding the Routie for Pebble website.
Last but not least, I would like to thank all the testers from Pebble forums that tried it out, and especially those who provided valuable suggestions: Jamie Bishop, Derrick Gould and Mark Stroeve, among others.
Your help is much appreciated!

Routie iconI am excited to announce that the new 2.4 update that I’ve been working on for quite some time was finally released! As the title says, the most important feature of this update is a brand-new Statistics tab. Let me explain what’s it about.

Up until now, the only thing you could do with your tracked routes as a whole was to view a long list of them, with one cell for each track. And it was working well; you could see all the details you needed for each of these tracks, separately. But you couldn’t see any totals, and that’s what the Statistics tab is all about – it provides activity-specific and time frame-specific summaries.

I had been thinking a lot about how to make this feature as easy to use as possible, while adding a playful element to it and making it useful for the most common use cases. I broke it down to this basic functionality:

1) choose between 3 timeframes:

  • all time
  • last year
  • last month

2) choose activity for which you want to see the summaries

  • all activities, cycling, running etc.
  • ordered by track counts

3) view 3 totals:

  • total tracks count
  • total distance tracked
  • total duration tracked

Now, this might sound like a lot of functionality that ultimately has to result in a complicated user interface, right? Usually it does, but I believe that I have found a way that makes all this very easy to do. And here it is:

Routie Statistics tab

Just swipe left or right to switch between activities using a nice parallax effect, and use the segmented control at the top to select a time frame. That’s basically it. Oh, and if you like to boast about your sport accomplishments, you can share a screenshot of this view right from the app, using the top-right action button.

The video

If you are new to Routie and are curious to know more, you can take a look at its website. To see complete list of what’s new, take a look at the App Store.

OpenStreetMap logoIn today’s programming tutorial, I’ll show you how easy it is to use OpenStreetMap maps in your app instead of default Apple maps. There are many reasons why you might want to do this: for example, the OpenStreetMap project is being built by a huge community of contributors and therefore the maps are really detailed; or, you might just want to give your users the option to use whatever maps they prefer.

Prior to iOS 7, it was also possible to use different map tiles than those that MapKit provides, but it required fairly large amount of code and work. Luckily, the map kit team introduced a really simple way to do this in iOS 7: new classes MKTileOverlay and MKTileOverlayRenderer. If you are a registered iOS developer, I highly suggest you watch the session 304 of WWDC ’13 here (requires ADC login). The introduction of it starts at 22:09.
You probably came here to see the code, so I’ll skip the explanation for now.
And… here it is!

The code

// Place this into your -viewDidLoad method
NSString *template = @"http://tile.openstreetmap.org/{z}/{x}/{y}.png";         // (1)
MKTileOverlay *overlay = [[MKTileOverlay alloc] initWithURLTemplate:template]; // (2)
overlay.canReplaceMapContent = YES;					       // (3)
[self.mapView addOverlay:overlay level:MKOverlayLevelAboveLabels];	       // (4)
// And this somewhere in your class that’s mapView’s delegate (most likely a view controller).
- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay {
    if ([overlay isKindOfClass:[MKTileOverlay class]]) {
        return [[MKTileOverlayRenderer alloc] initWithTileOverlay:overlay];

The code is pretty self-explanatory, but just in case, I’ll briefly explain what it does.

Read more

Routie iconToday, the 2.3 version of Routie ~ sports tracker was approved by Apple and you can download it from the App Store.

Export to file
The main feature this update includes is that you can get file exports of your tracks, right in the app. While it had been possible to get those exports from the website of your shared or uploaded route ever since version 1.0, some users found it too inconvenient, or didn’t know about it at all, so I decided to go the extra mile and build it right into the app itself. Now you can select your desired export type (GPX, KML, or KMZ) and perform an action (Open in another app, Send via Email, or Copy to iTunes File Sharing) with just 2 taps. In case you don’t know what the exports are good for, one interesting thing you can do with them is to open them in Google Earth right on your device, and view it in the 3D landscape.

Revamped sharing screen
The sharing screen was also somewhat fussy to understand prior to this version. Now, you have explanation of what exactly it means to Upload or Share your track, and what happens when you choose to do it. Also, you can now get the link of the track more easily, since it is displayed in a separate status cell.

Routie Sharing screen   Routie File Export

Example of a cycling track exported in kml and opened in Google Earth for iOS

KML export in Google Earth

This version also includes some minor improvements and bug fixes, most notably resolving the issue that might have caused Twitter sharing not to work for some users. I am confident that you’ll like it, so please, update and let me know what you think!

It’s been a while since my last post (again); so I am glad to break this ‘silence’. And I believe some of you will be glad as well, because, as the title suggests, I’ve decided to change the price of Routie to FREE for one week (starting now). So if you wasn’t sure if Routie was a good fit for you, or you would like to just see what I’ve been working on, now is a great opportunity!

You can give it a try when you go skiing, running or just for a walk, it’s universal for all outdoor sports.

Now, what are you waiting for? Head over to the App Store and download it for free here! Or learn more at routieapp.com.

Routie is now fully optimised for iOS 7 and the update is awaiting Apple’s approval. I really wanted to finish it sooner, but there were some unexpected technical difficulties and everything took a little bit longer than I expected (as usually). Most of the stuff inside Routie was re-imagined for iOS 7 – it’s using 1-pixel lines inside most of the icons, all the graphics are flat and it heavily uses blur and translucency. Hopefully Apple will approve the update soon, so you can get it and see for yourself. Here are two screenshots to wet your appetite:

Image Hosted by ImageShack.us         Image Hosted by ImageShack.us

You can find out more about Routie ~ sports tracker here: routieapp.com, and download it on the App Store here.

WWDC'13 PhotoI am currently redesigning Routie for iOS 7, and I wanted to display big numbers using the same font as in iOS 7 weather app and lock screen. I was quite surprised that with a quick search on Google, I wasn’t able to find the actual name of the font anywhere. So I went ahead and watched the ‘Using fonts with Text Kit’ WWDC session, and as expected, I found the answer there (not explicitly, but it pointed me to the right direction). So the font name is.. HelveticaNeue-Thin!
Read more

I am proud to announce that Routie is (finally!) here, and you can download it from the App Store. Initially, I thought that it will take just a couple of months to finish it, but in the end, it actually spread over 2 years. I had some huge distractions along the way (school, high-school graduation, being broken hearted and not being able to get over it for far too long, first year at the university..), but I am glad that I managed to finish the version 1.0, with all the quality and high level of polish as I wanted to.
Read more

San Francisco cityHey guys, I know it’s been a long time since my last post here, and I know that one of the things that was on my to-do list when I was returning from San Francisco was to “continue in frequent blogging”, but I was simply too busy finishing my app, Routie. I thought that it will be done much sooner, I didn’t met almost any of my personal deadlines for milestones in the project. Everything simply took way longer than I expected it to. But, I have good news! As the title says; the beta version is ready!
Read more