OneBusAway / onebusaway-iphone

OBA development has moved!
https://github.com/OneBusAway/OBAKit
Apache License 2.0
219 stars 117 forks source link

Update 1.2 testing #18

Closed caitbonnar closed 11 years ago

caitbonnar commented 11 years ago

Hi everyone,

I've been running @ksslng's build for the past few days on my iPhone 5, and it is looking stable enough on its own to put into the testing phase, so I'd like to go ahead and jump into testing for release. (Looks like we can probably go ahead and merge this directly into the master soon as well.)

It'd be awesome to get as many testers as possible. If you'd like to test on your own device(s), here are some instructions for installing (it only takes a few minutes to set up and you don't need to sign up for anything, which is really nice):

1) Go to: http://macbuildserver.com/try/ 2) Enter git://github.com/ksslng/onebusaway-iphone.git as the GitHub repo, hit next. 3) Once it's done cloning, select org.onebusaway.iphone.xcodeproj as the project, and "OneBusAway - AdHocDistribution" as the build config. (I actually haven't tried the others, but they may work as well.) 4) Skip the signing step, as we are going to use their certificate. 5) Download and drag into iTunes, then install on iPhone/iPod, or directly install OTA from your device. :-)

I probably didn't need to go through these with you guys, but there they are just in case. Let me know if you have any problems getting it to work.

Also, I don't know what the standard practice is here, but I was thinking we could post minor issues on this thread and create a new open issue for anything major. If that's not standard or you want to do it another way, I'm open to suggestions. Personally I don't like too much clutter in issues list, but I think I can manage. :-)

We want to test on as many different Apple devices as possible, so please specify which one you are testing on and what bugs you find, if any. I am going to also post on the developer's list soon, so hopefully there will be others willing to test there as well.

Thanks, and happy testing!!

ksslng commented 11 years ago

@bbodenmiller @caitbonnar I fixed an issue, where after you searched you can't go back to the normal view. Where all stops are shown. Now if you hit cancel in the search view you go back to the normal view.

bbodenmiller commented 11 years ago

@caitbonnar contact the owner returned errors for me.:(

bbodenmiller commented 11 years ago

@ksslng I've got another one for you to look in to. If you search for test with Route selected and click Agencies nothing happens but if you select Dismiss you see all supported agencies. Imagine this relates to https://github.com/OneBusAway/onebusaway-iphone/issues/22.

ksslng commented 11 years ago

@bbodenmiller @caitbonnar no wasn't related. I changed it now, that on the right side is always "Dismiss". I fixed #22 and also related that if you have no internet connection on the alert is "Contact Us". If you now tap on it, you will come to the Contact Us view. What else should go in this version? Flurry is in it, but without events. I think the Apikey is provided by @aaronbrethorst. #37 is easy (EDIT: fixed) and #21 if I have an Apikey too. UI refresh?

bbodenmiller commented 11 years ago

@ksslng what is flurry? I think we'd like to get this out soon so should consider this feature complete (or near). Checkout the roadmap for my thoughts on release priorities. If it is not too hard it would be great to get the TestFlight SDK integrated. What do you need from us? Thanks!

caitbonnar commented 11 years ago

How far are we from rc3?

bbodenmiller commented 11 years ago

I had hoped to get it out a few days ago but I'm now aiming for today (Sunday), probably not until this tonight.

bbodenmiller commented 11 years ago

@ksslng some issues I think we should look in to before 1.1.5 release:

What is flurry analytics? Who is using it? Do we have any other analytics packages tacked on not being used? Some I think we should add is TestFlight and possibly Google Analytics SDKs.

When searching for an invalid route # I think we should show an error message. Right now it appears to just go to your current location. (#4)

22 doesn't appear to be entirely fixed. When I click Info, Contact Us, Info, Agencies, Show on map it doesn't work. Additionally if I then click Info most agencies in the list appear blank.

If the user has clicked in to the search bar and then starts panning the map I think we should dismiss the search bar rather than forcing them to push Cancel. It shouldn't lose whatever they have typed but rather do exactly what Cancel does. (#40)

I'd also like to see #19 fixed.

When you first open the app it starts at a very high zoom level and zooms in to your current location. I think we should take Google and Apple Maps lead and just start at the current users location. (#42)

I deployed your UI refresh in rc3 but I think it might need some work still. For example the info page has a different look than the stop pages. And from the stop pages if you click any of the links you get a different look. (#43)

Please make any changes against the 1.1.5-dev-ui-refresh to make merging easy. Thanks!

bdferris commented 11 years ago

@caitbonnar If you start adding analytics packages to the app, you might want to mention it to @alanborning and see if the OBA Privacy Policy (http://pugetsound.onebusaway.org/p/PrivacyPolicy.action) needs to be updated.

bbodenmiller commented 11 years ago

Controlling Your Personal Information on that page is out of date and should likely be removed. As for other analytical packages I doubt they will collect more than what is listed on that page.

barbeau commented 11 years ago

@alanborning @kariwatkins We should look at centralizing the OBA Privacy Policy on the region-independent site, especially as it relates to the mobile apps.

barbeau commented 11 years ago

1.1.5rc3 crashes on startup on my iPod Touch 3rd generation (MC011LL) with iOS 5.1.1 (9B206). The app opens and I see blank map tiles for about half a second, and then it closes.

System log:

Jul 15 11:39:28 OneBusAway[14473] <Warning> *** -[NSKeyedUnarchiver initForReadingWithData:]: data is NULL
Jul 15 11:39:28 OneBusAway[14473] <Warning> *** -[NSKeyedUnarchiver initForReadingWithData:]: data is NULL
Jul 15 11:39:28 OneBusAway[14473] <Warning> *** -[NSKeyedUnarchiver initForReadingWithData:]: data is NULL
Jul 15 11:39:28 OneBusAway[14473] <Warning> *** -[NSKeyedUnarchiver initForReadingWithData:]: data is NULL
Jul 15 11:39:28 OneBusAway[14473] <Warning> *** -[NSKeyedUnarchiver initForReadingWithData:]: data is NULL
...
Jul 15 11:39:29 OneBusAway[14473] <Error> *** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint'
*** First throw call stack:
(0x35d3488f 0x30caa259 0x35d34789 0x35d347ab 0x3190054d 0x319006bb 0x31900423 0x31891001 0x317ff3c7 0x316dcc59 0x31652c17 0x31677481 0x3163bbd5 0x316fe359 0x316443b5 0x316443d1 0x316443d1 0x31644263 0x3164423f 0x113bd7 0x113c49 0x31651cab 0x3164b7dd 0x31619ac3 0x31619567 0x31618f3b 0x3159022b 0x35d08523 0x35d084c5 0x35d07313 0x35c8a4a5 0x35c8a36d 0x3164a86b 0x31647cd5 0xf3057 0xf3030)
Jul 15 11:39:30 ReportCrash[14478] <Notice> Formulating crash report for process OneBusAway[14473]
Jul 15 11:39:30 com.apple.launchd[1] <Warning> (UIKitApplication:com.macbuildserver.helloapp[0xe2ab]) Job appears to have crashed: Abort trap: 6
Jul 15 11:39:30 SpringBoard[52] <Warning> Application 'OneBusAway' exited abnormally with signal 6: Abort trap: 6
Jul 15 11:39:30 SpringBoard[52] <Warning> Unable to deliver SBApplicationNotificationStateChanged notification to port com.apple.springboard.appstatechanged: (ipc/send) timed out
Jul 15 11:39:30 geod[8228] <Warning> Can't get bundle identifier for process 14473
Jul 15 11:39:31 ReportCrash[14478] <Notice> Saved crashreport to /var/mobile/Library/Logs/CrashReporter/OneBusAway_2013-07-15-113929_Seans-iPod-Touch.plist using uid: 0 gid: 0, synthetic_euid: 501 egid: 0
Jul 15 11:40:00 SpringBoard[52] <Warning> Unable to deliver SBApplicationNotificationStateChanged notification to port com.apple.springboard.appstatechanged: (ipc/send) timed out
Jul 15 11:43:04 SpringBoard[52] <Warning> Unable to deliver SBApplicationNotificationStateChanged notification to port com.apple.springboard.appstatechanged: (ipc/send) timed out
Jul 15 11:43:04 SpringBoard[52] <Warning> Unable to deliver SBApplicationNotificationStateChanged notification to port com.apple.springboard.appstatechanged: (ipc/send) timed out
Jul 15 11:43:06 SpringBoard[52] <Warning> Unable to deliver SBApplicationNotificationStateChanged notification to port com.apple.springboard.appstatechanged: (ipc/send) timed out

Full crash report is here: https://www.dropbox.com/s/djc4rte22vewpca/OneBusAway_2013-07-15-115107_Seans-iPod-Touch.crash

caitbonnar commented 11 years ago

@alanborning @kariwatkins I'm with @barbeau on this one. It would be great to update it for all regions.

caitbonnar commented 11 years ago

@bbodenmiller Those sound like good changes, but are any of them really showstoppers for release? If possible it would be great to get this release out this week, after rc3 has been tested and we settle on whether we should add additional SDKs or not. (And update the privacy policy accordingly.)

What are others' thoughts? If these are simple enough fixes, then I'd be okay waiting a couple extra days to implement and test them. Otherwise, I think we should aim to include them in the multiregion release.

kariwatkins commented 11 years ago

@barbeau @alanborning Agree that one privacy policy on the central site that encompasses all OBA interface and data is the best. I'm happy to have Landon get it up on the site somewhere. Any volunteers on revising it though?

barbeau commented 11 years ago

@bbodenmiller @caitbonnar Just to let everyone know our Tampa timeline - Public launch for OBA Tampa is scheduled for August 19th. We want to launch iPhone app along with the other apps (Android, Windows Phone, Win8), so this means getting OBA iPhone multiregion merged, tested, and publicly released by that date. If iPhone isn't available by Aug 19th, we may have to push back the release date. As a result, I'd prefer to wait for smaller changes to OBA iPhone, including cosmetic ones, until we get the multi-region release out of the way.

kariwatkins commented 11 years ago

@bbodenmiller @caitbonnar @barbeau We don't have a public launch date of Atlanta, but are aiming for a similar timeframe. In addition to the multi-region apps, our biggest challenges to public launch are getting rail data in addition to bus data and getting a data agreement in place for the research study. We anticipate that both of these will be addressed by mid-August. I therefore echo @barbeau comments.

alanb2718 commented 11 years ago

@bdferris, thanks for pointing out that we need to be careful about the privacy implications of adding analytics packages. Definitely any such package needs to be compatible with the current policy or the policy needs to be updated. Beyond that, though, I would like to move cautiously about adding analytics packages to the apps that collect personally identifiable information: in particular, before we do that, could whoever is proposing it post a note saying what is collected, where it would go, and what the benefits and risks are? The board should also be involved in such a decision I think. (It's not just a software development question.)

Instances of OneBusAway already collect log information - that's what the OBA Privacy Policy (http://pugetsound.onebusaway.org/p/PrivacyPolicy.action) focusses on - but in this thread we are talking about also having project-wide data collection. I agree that we should come up with a project-wide policy if we do this. I think individual instances of OneBusAway will still want to have their own privacy policies -- we can have a default policy that people can copy or refer to though. Note that the current policy is on the website for the Puget Sound instance -- right now the University of Washington is still hosting the Puget Sound website but it will move to Sound Transit shortly.

@bbodenmiller, regarding the missing information after "Controlling Your Personal Information" in the Privacy Policy, we should fix this rather than deleting that section. The directions should be part of the documentation for each app, though, I think.

bbodenmiller commented 11 years ago

Please see https://github.com/OneBusAway/onebusaway-iphone/issues/44 for privacy policy concerns.

bbodenmiller commented 11 years ago

@aaronbrethorst @PTIPS @neophit @chirun @ksslng @kycook and any other developers what can you reasonable help with this week from the above post and #46? Please develop against the 1.1.5-dev-ui-refresh branch.

aaronbrethorst commented 11 years ago

Unfortunately, I'm booked solid this week. May have some time this weekend, and happy to help with testing.

bbodenmiller commented 11 years ago

@caitbonnar I think at the very minimum we need to address 1.1.5-must-have labeled items and should aim to do so by Sunday at the latest.

caitbonnar commented 11 years ago

@bbodenmiller Okay. Let's aim for Sunday at the latest, then, and concentrate on the labeled items. I think #22 will be fine with the fix in rc3, but I'll defer to @alanborning's opinion regarding that.

Thanks for letting me know about Tampa's launch date, @barbeau. We will hopefully be able to usher the multiregion implementation into testing pretty soon after this release. Anyone have suggestions for things we could start doing now to start setting up for that?

bbodenmiller commented 11 years ago

I agree #22 isn't required so I removed the label from that one. Let's keep the multiregion discussion in #11.

alanb2718 commented 11 years ago

22 looks fixed to me in rc4, on an iPhone 3GS at least. (I put a comment on that issue.)

barbeau commented 11 years ago

@bbodenmiller For some reason I'm having problems downloading rc4 via TestFlight. The icon appears on the home screen and the progress bar starts moving and it flashes "Installing", and then the icon title changes to "OneBusAway", and then the progress bar stops and I get a message "Unable to Download Application - 'OneBusAway could not be installed at this time'' ". This is on the same iPod Touch iOS 5.1.1 that I used to download rc3 without a problem.

Here's the system log:

Jul 17 09:43:15 installd[15426] <Error> developer cert trust result = 5
Jul 17 09:43:15 installd[15426] <Error> 2ff90000 verify_signer_identity: Could not copy validate signature: -402620392
Jul 17 09:43:15 installd[15426] <Error> 2ff90000 preflight_application_install: Could not verify executable at /var/tmp/install_staging.JKvT7h/foo_extracted/Payload/OneBusAway.app
Jul 17 09:43:15 installd[15426] <Error> 2ff90000 install_application: Could not preflight application install
Jul 17 09:43:16 installd[15426] <Error> 2ff90000 handle_install: API failed
Jul 17 09:43:16 installd[15426] <Error> 2ff90000 send_message: failed to send mach message of 71 bytes: 10000003
Jul 17 09:43:16 installd[15426] <Error> 2ff90000 send_error: Could not send error response to client

Sounds like a problem getting a cert from TestFlight?

I'll try again later in case this is a transient issue.

bbodenmiller commented 11 years ago

@Barbeau Odd. Perhaps try uninstalling the OBA beta & the TestFlight app. Then go to settings, general, profiles and delete the testflight and MBS profiles. Then reinstall installing TestFlight then OBA.

barbeau commented 11 years ago

@bbodenmiller Just uninstalled OBA beta, TestFlight app, deleted both profiles, unregistered and registered device with TestFlight, then reinstalled TestFlight and OBA. Unfortunately same error and system log output.

neophit commented 11 years ago

I was able to install rc4 last night, but after uninstalling it this morning, I am getting the same errors mentioned above. The error message, "verify_signer_identity: Could not copy validate signature" typically indicates the developer/distribution certificate is invalid, missing, or has been revoked.

There is at least one other MBS user complaining about the same issue on twitter.

neophit commented 11 years ago

I created a build on MBS using @bbodenmiller's repro and allowed MBS to sign with their enterprise certificate then ran the codesign tool to check which certificate was used to sign the app. The app is not signed at all.

$ codesign -dvvv /Users/neophit/Downloads/release-build.ipa
/Users/neophit/Downloads/release-build.ipa: code object is not signed at all
neophit commented 11 years ago

The same codesign issue is occurring with previous builds uploaded to TestFlight.

neophit commented 11 years ago

Apple May have revoked MBS enterprise certificate due to this GameBoy emulator which used MBS to bypass App Store restrictions. http://readwrite.com/2013/07/16/super-mario-zips-through-a-loophole-in-apples-app-restrictions#awesm=~obQJ4fXI39kqsw

barbeau commented 11 years ago

@neophit Good observation. Looks like you're right: http://blog.macbuildserver.com/2013/07/17/ooh-ahhh-apple-befell-on-us/

bbodenmiller commented 11 years ago

Why must people abuse power? Ugh. This is going to make testing considerably more challenging.

caitbonnar commented 11 years ago

Yes, it certainly does... I'm looking into the options with our enterprise account manager. It looks like we may have to go the traditional route and collect UDIDs-- I'll let you guys know when I find out more.

bbodenmiller commented 11 years ago

Someone might consider contacting Apple about the enterprise cert and asking if it can be used for open source projects. I say this because the OBA project is a UW project where the developers are volunteers to the project and not employees per say. The enterprise signup page states Enroll in the Enterprise Program if you wish to distribute proprietary iOS apps to employees within your company/organization. So I guess we wouldn't meet the proprietary part of that statement.

So assuming we can't find a way to do this using an enterprise cert and MBS does not come up with something we need to figure out a new way to do testing. Sounds like tracking UDID numbers is the only option. If that is the case we somehow are going to have to limit the tests are we will have <100 testing slots and currently already have 41 people signed up.

neophit commented 11 years ago

If testing is limited to 100 devices, try to include at all supported device types and iOS versions. It is also important that testers are willing to participate in reporting/tracking issues via Github. Devices can be added and removed from an Apple Developer account at anytime, but removed device still count against the 100 device limit until the start of a new membership year.

TestFlight makes it easy to export a list of UDID and device names which can be bulk imported to developer.apple.com.

bbodenmiller commented 11 years ago

Seriously they count against you for an entire year even if you remove the device? This is so much easier to manage on other mobile platforms.

bbodenmiller commented 11 years ago

@caitbonnar @barbeau @alanborning do any of you have Mac's and/or developer license? In the near term we will likely need to do more manual testing. I for one will not be able to given the lack of ability to build and install new updates.

alanb2718 commented 11 years ago

We have Macs. It looks likely that we can use the UW license(s) - @caitbonnar is in the middle of investigating. So more in a bit on this.

ksslng commented 11 years ago

Could UW sponsor another enterprise license for testing? With that we could use MBS, redistribute the beta more freely and make the whole process much more easier. It might get revoked, but again MBS enterprise license only got revoked after it has been used and promoted heavily.

caitbonnar commented 11 years ago

@ksslng Unfortunately we don't really have the budget for that, and I'd also be cautious about getting UW involved in a MBS type situation. I actually think I may be able to get the enterprise ad hoc distribution figured out (so that I can sign the app and not the head of the enterprise), but I'm still waiting for the ADC portal to come back up so I can check. This is definitely going to delay us getting the app out by tomorrow, as originally planned.... * shakes fist at Apple *

I'll update you guys when I'm able to get in and can see if I can get access to creating the distribution certificate. Another option is I revive my personal account and we just stick to 100 devices for testing, but at least I'd have control over it.

caitbonnar commented 11 years ago

I've just added a couple issues that have come up while beta testing with some of the accessibility researchers at UW. We would like to have the app be as accessible as possible, so it'd be great if these changes were incorporated. However, the two I have opened so far (#58 and #59) are not major according to one of the researchers, so they aren't necessarily showstoppers for this first release. Here is the Apple documentation on accessibility in iPhone-- I think looking at the attribute information subsection will be particularly helpful for us. We are also going to try and get a few blind users to help us with testing (once that is figured out again), so we should be able to get a lot of tips on how to make it more accessible from them.

bdferris commented 11 years ago

If you need another dev account for testing + more devices, you can still use mine. Alan still has the password and it's paid up through March.

caitbonnar commented 11 years ago

Latest from Apple: http://news.cnet.com/8301-13579_3-57594770-37/apple-developer-site-targeted-in-security-attack-still-down/

I'm monitoring Twitter to figure out when exactly it comes back up. Hopefully no one's info here has been compromised.

neophit commented 11 years ago

A security researcher on YouTube has claimed credit for the security breach. He claims he does not intend to do harm with developers' personal info and will delete the leaked data.

caitbonnar commented 11 years ago

So, certificates, identifiers, and provisioning is back up in the ADC, but it still is not recognizing that I am an admin for the enterprise account and therefore is not allowing me to create the enterprise distribution certificate/profile. This means I'm going to have to probably contact tech support, which is not back yet, and I am sure they will be swamped when they are-- this essentially is to say that I'm still not sure when we can get enterprise testing back, unfortunately.

In the meantime, let's finish testing on a select number of devices, preferably one of each type-- I can use a personal account to sign the app for these devices. This way we can get the first update out ASAP and begin work on the multiregion. I'd like @ksslng and @bbodenmiller to be able to test for now, but is anyone else (preferably with a device other than iPhone 5 running iOS 6) willing to test over the next couple of days? I'll let you guys know the max number that can test once I figure out the details for the personal account-- more on that tomorrow!

Anyway, glad Apple is finally coming back up and that we can continue progress!

bbodenmiller commented 11 years ago

I think @barbeau has an iOS 5 iPod that we should test on as well.

barbeau commented 11 years ago

Yes, I have an iOS5 iPod and would definitely like to test. On Jul 27, 2013 5:58 AM, "Ben Bodenmiller" notifications@github.com wrote:

I think @barbeau https://github.com/barbeau has an iOS 5 iPod that we should test on as well.

— Reply to this email directly or view it on GitHubhttps://github.com/OneBusAway/onebusaway-iphone/issues/18#issuecomment-21662772 .

caitbonnar commented 11 years ago

Ok- I have access to @bdferris's account and can set up for small-scale distribution now. We can probably put up to 20 devices on for now-- I'll reserve space for the later update if we need them, but since they count toward the entire membership year and we should hopefully have enterprise distribution back soon, I don't to completely saturate Brian's account. Again, if others of you have the time to devote to testing for (hopefully) the last few days before this update, let me know so I can send an invite.

Last thing-- should I build from the ui-refresh branch or the regular dev branch? Not sure which one you were building rc4 from.