{"action":"created","issue":{"url":"https://api.github.com/repos/MIT-Mobile/MIT-Mobile-for-iOS/issues/834","labels_url":"https://api.github.com/repos/MIT-Mobile/MIT-Mobile-for-iOS/issues/834/labels{/name}","comments_url":"https://api.github.com/repos/MIT-Mobile/MIT-Mobile-for-iOS/issues/834/comments","events_url":"https://api.github.com/repos/MIT-Mobile/MIT-Mobile-for-iOS/issues/834/events","html_url":"https://github.com/MIT-Mobile/MIT-Mobile-for-iOS/issues/834","id":56726447,"number":834,"title":"Shuttles performance","user":{"login":"justinanderson","id":244952,"avatar_url":"https://avatars.githubusercontent.com/u/244952?v=3","gravatar_id":"","url":"https://api.github.com/users/justinanderson","html_url":"https://github.com/justinanderson","followers_url":"https://api.github.com/users/justinanderson/followers","following_url":"https://api.github.com/users/justinanderson/following{/other_user}","gists_url":"https://api.github.com/users/justinanderson/gists{/gist_id}","starred_url":"https://api.github.com/users/justinanderson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinanderson/subscriptions","organizations_url":"https://api.github.com/users/justinanderson/orgs","repos_url":"https://api.github.com/users/justinanderson/repos","events_url":"https://api.github.com/users/justinanderson/events{/privacy}","received_events_url":"https://api.github.com/users/justinanderson/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/MIT-Mobile/MIT-Mobile-for-iOS/labels/high","name":"high","color":"f7c6c7"}],"state":"open","locked":false,"assignee":{"login":"rosslebeau","id":1470871,"avatar_url":"https://avatars.githubusercontent.com/u/1470871?v=3","gravatar_id":"","url":"https://api.github.com/users/rosslebeau","html_url":"https://github.com/rosslebeau","followers_url":"https://api.github.com/users/rosslebeau/followers","following_url":"https://api.github.com/users/rosslebeau/following{/other_user}","gists_url":"https://api.github.com/users/rosslebeau/gists{/gist_id}","starred_url":"https://api.github.com/users/rosslebeau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rosslebeau/subscriptions","organizations_url":"https://api.github.com/users/rosslebeau/orgs","repos_url":"https://api.github.com/users/rosslebeau/repos","events_url":"https://api.github.com/users/rosslebeau/events{/privacy}","received_events_url":"https://api.github.com/users/rosslebeau/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/MIT-Mobile/MIT-Mobile-for-iOS/milestones/11","labels_url":"https://api.github.com/repos/MIT-Mobile/MIT-Mobile-for-iOS/milestones/11/labels","id":964401,"number":11,"title":"4.0.2","description":"","creator":{"login":"justinanderson","id":244952,"avatar_url":"https://avatars.githubusercontent.com/u/244952?v=3","gravatar_id":"","url":"https://api.github.com/users/justinanderson","html_url":"https://github.com/justinanderson","followers_url":"https://api.github.com/users/justinanderson/followers","following_url":"https://api.github.com/users/justinanderson/following{/other_user}","gists_url":"https://api.github.com/users/justinanderson/gists{/gist_id}","starred_url":"https://api.github.com/users/justinanderson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinanderson/subscriptions","organizations_url":"https://api.github.com/users/justinanderson/orgs","repos_url":"https://api.github.com/users/justinanderson/repos","events_url":"https://api.github.com/users/justinanderson/events{/privacy}","received_events_url":"https://api.github.com/users/justinanderson/received_events","type":"User","site_admin":false},"open_issues":16,"closed_issues":8,"state":"open","created_at":"2015-02-03T21:07:47Z","updated_at":"2015-02-06T21:14:25Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2015-02-05T20:42:03Z","updated_at":"2015-02-06T22:05:57Z","closed_at":null,"body":"Got our first report from an iPhone 4 user that Shuttles is a lot slower for them in 4.0 than the last release.\r\n\r\n1. Takes about 30 seconds from a fresh launch for the Shuttles main screen to show anything but the refresh control, regardless of whether the user has Location Services on or not.\r\n2. Take about 30 more seconds from tapping Tech Shuttle to its detail screen updating predictions for stops. One user reported that it looked like the app was waiting for the map to finish drawing before fetching predictions. My guess is that it's just taking that long for predictions to be parsed.\r\n\r\nGuesses as to how we can speed things up:\r\n\r\n- Upgrade to RestKit 0.24.0. It claims performance improvements with nested managed objects over earlier versions. I just quickly tried it myself and didn't see any performance improvement, but I might have not done it correctly.\r\n\r\n- Reduce the number of relationships in the Core Data model. It's possible that parsing and fetching is taking so long because Shuttles has such a complex data model.\r\n\r\n- Index the Core Data attributes we search by. Right now nothing's indexed, and that might have an effect on fetch speed.\r\n\r\n- Instead of loading and parsing MITShuttlesDefaultRoutesData.json to prefill Core Data before the web request has finished, build the app with a prefilled persistent store. This likely won't make fresh data load any faster, but that initial shot of possibly stale cached data would ideally be an instant fetch, so the user has routes to pick from if they want to drill into a specific route before the web requests have finished loading."},"comment":{"url":"https://api.github.com/repos/MIT-Mobile/MIT-Mobile-for-iOS/issues/comments/73321442","html_url":"https://github.com/MIT-Mobile/MIT-Mobile-for-iOS/issues/834#issuecomment-73321442","issue_url":"https://api.github.com/repos/MIT-Mobile/MIT-Mobile-for-iOS/issues/834","id":73321442,"user":{"login":"justinanderson","id":244952,"avatar_url":"https://avatars.githubusercontent.com/u/244952?v=3","gravatar_id":"","url":"https://api.github.com/users/justinanderson","html_url":"https://github.com/justinanderson","followers_url":"https://api.github.com/users/justinanderson/followers","following_url":"https://api.github.com/users/justinanderson/following{/other_user}","gists_url":"https://api.github.com/users/justinanderson/gists{/gist_id}","starred_url":"https://api.github.com/users/justinanderson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinanderson/subscriptions","organizations_url":"https://api.github.com/users/justinanderson/orgs","repos_url":"https://api.github.com/users/justinanderson/repos","events_url":"https://api.github.com/users/justinanderson/events{/privacy}","received_events_url":"https://api.github.com/users/justinanderson/received_events","type":"User","site_admin":false},"created_at":"2015-02-06T22:05:57Z","updated_at":"2015-02-06T22:05:57Z","body":"I've got a 4 I can lend you if you can't find one."}}