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 10 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!!

caitbonnar commented 11 years ago

One minor issue I've noticed so far: On maps view, the location dot appears and reappears once or twice every time I zoom (running on iPhone 5, iOS 6)

neophit commented 11 years ago

I followed the instructions to install the build via MBS, but after step 2 the page stayed on "Clone repository". I tried using Mobile Safari on my iPhone 5 (iOS 7.0 beta2) and Safari (6.0.5) on my MacBook (10.8.4).

As an alternative to MacBuildServer, I would like to offer an alternative for continuous integration and beta app distribution which doesn't rely on a third party enterprise certificate or beta testers creating their own builds. I know this was already discussed in issue #16, but I think this method offers more reliable distribution.

Travis CI is a hosted continuous integration service for the open source community. It is integrated with GitHub and offers first class support for many languages including objective-c. Using these scripts, Travis CI can be integrated with TestFlight to automatically deploy new commits to any branch you specify (e.g. release branches). Travis CI provides nice build status images which can be embedded in your Github README.md.

TestFlight has support for enterprise apps and lets you create a recruitment link for public beta sign-up forms or members can be added by email. There is no limit for the number of TestFlight members for enterprise apps. Members of the TestFlight beta team can be automatically notified when new builds are available for OTA install.

TestFlight collects crash logs and provides analytics on app usage and device info.

(Full disclosure: I do not work for TestFlight, but they mailed me a sticker for being an early adopter.)

bbodenmiller commented 11 years ago

@neophit can you make a test setup of this? This type of discussion is what I was hoping for in #16.

bbodenmiller commented 11 years ago

@caitbonnar as a mater of best practices I would have posted this as a response to https://github.com/OneBusAway/onebusaway-iphone/pull/5 as this post relates to the same issue being addressed. As for reporting issues I think we should discuss any issues caused by https://github.com/OneBusAway/onebusaway-iphone/pull/5 on that PR and open new issues for anything else.

bbodenmiller commented 11 years ago

As a side note http://macbuildserver.com/try/ hangs on cloning for me.

caitbonnar commented 11 years ago

@bbodenmiller Duly noted-- is there a way to merge them? (Although I guess the copy/paste method never fails.)

caitbonnar commented 11 years ago

Also, I was able to download the signed IPA before the site seemed to break, can distribute this via TestFlight if it works-- can someone try installing via iTunes by downloading from here for now?

I think it's worth looking into @neophit's suggestion if it streamlines the process in the future.

neophit commented 11 years ago

@caitbonnar I successfully downloaded and installed the build you linked to on my iPhone.

@bbodenmiller I could make a test setup on Travis CI using my Github account, distribution provisioning profile, and developer certificate. However, I don't have an enterprise distribution provisioning profile so I would not be able to distribute test builds to anyone without first adding their device's UDID to my developer provisioning profile. If this would be helpful, I can look into it more tomorrow.

bbodenmiller commented 11 years ago

@caitbonnar for now I think this is fine, just mentioned it for organization purposes in the future. Also, not trying to tell you what to do either just pointing out how I have seen other projects manage issues and PRs.

bbodenmiller commented 11 years ago

@neophit I think it would be helpful so @caitbonnar can have the process well documented and would just need to go in and create the proper setup using the enterprise credentials. @caitbonnar thoughts? Are there any security concerns with the info from step 3 in https://gist.github.com/johanneswuerbach/5559514 being committed?

bbodenmiller commented 11 years ago

I uploaded the .IPA provided by @caitbonnar to TestFlight and installed. I didn't have to enter any UDID's in the process presumable because the app is showing up as "ENTERPRISE".

If others would like to test signup at http://tflig.ht/1ac8oEg and I'll approve. I can also make anyone a developer if we'd like to use this TestFlight setup as a starting point.

bbodenmiller commented 11 years ago

As noted in https://github.com/OneBusAway/onebusaway-iphone/issues/22 "show on map" for supported agencies doesn't work in test app. I also noticed this but unless someone has a quick fix I don't think we should let this be a show stopper since I view the long standing lack of iPhone 5 support as more important to fix. Same goes for #25.

caitbonnar commented 11 years ago

@bbodenmiller No no, I welcome the advice-- I would like to know what standard practices here are, since I don't have much experience.

@neophit I think the problem we'll run into is the same one as before-- I don't actually have the ability to sign enterprise certificates, and thus have to go through the head of the enterprise program to create the .IPA each time, which creates a hassle for both of us. If I try and install the enterprise profile myself, it of course says I don't have the proper credentials. This is why I was going through macbuildserver before. It still works for me using Chrome (v. 27.0.1453.116), so if nothing else, I can keep creating builds and distributing them that way.

Thanks for setting it up in TestFlight, @bbodenmiller!

bbodenmiller commented 11 years ago

@caitbonnar in regards to the enterprise signing issues I think we should get whoever has access to sign involved. The solution offered by @neophit would actually only need the head to upload encrypted credentials once and then it would be completely automated going forward until you are ready to upload to the app store. I think it would be best for @neophit to try it out in a dummy setup, document the process, and then you and the head of the enterprise program can get together and setup the proper process. Most of us are in Seattle (since this isn't yet multiagency) so it might not be a bad idea to have a OBA iPhone hackathan of some sort at some point.

From other projects I have noticed that the effort to get processes automated is well worth it. Automation removes bottlenecks and leaves more time to actually develop. :)

caitbonnar commented 11 years ago

@bbodenmiller Hmm, okay, if he only needs to provide them once, I think it would work. I agree that automation saves a lot of headaches! @neophit, would you have time to do a dummy setup? I think it would help immensely, especially the head of the program doesn't have a lot of time. Just let us know. A Seattle hackathon also sounds like a fun idea, but I think we actually want to move into multiregion sooner rather than later.

Thanks for the help with coordinating testing, @bbodenmiller. I'm moving to a new place tomorrow so I'm currently running around like crazy trying to get everything ready-- I'll be more active in a few days! :-)

neophit commented 11 years ago

Yes, I have time to create and document a dummy setup this evening. Should I create a wiki page to document the process?

A Seattle hackathon sounds fun!

caitbonnar commented 11 years ago

@neophit Yes, a wiki would be awesome! Thanks!

bbodenmiller commented 11 years ago

My 2 cents on wikis on GitHub: another project I'm involved with found them more troublesome than they are worth. They had it restricted to only developers being able to edit the wiki which resulted in them getting outdated as the developers did not have time to update. So they switched everything to markdown files in a docs folder in the repo. This allows for anyone to submit a pull request suggesting changes to documentation and provides the ability for users to review and comment on the changes before being merged.

bbodenmiller commented 11 years ago

@caitbonnar if MacBuildServer is still working for you can you make a build of https://github.com/bbodenmiller/onebusaway-iphone for me to push to TestFlight? This includes https://github.com/OneBusAway/onebusaway-iphone/pull/26 and https://github.com/OneBusAway/onebusaway-iphone/pull/5 merged into master.

ksslng commented 11 years ago

@caitbonnar There are some bugs in my version, so just releasing the aspect ratio fix is enough and much needed.

barbeau commented 11 years ago

@bbodenmiller I completely agree, restricted access and unnecessary hurdles get in the way of good documentation. However, FWIW, if OBA iPhone Github is the same as OBA app modules, the wiki should be open access for edits by the general public (if not, let me know).

This is actually how I updated most of the OBA app modules developer docs before I had admin access to the repo, and before anyone was actively managing pull requests. So I'd argue that the process of needing to put together a pull request to update documentation also creates unnecessary barriers, especially for small edits that clarify or improve small points, vs. having an open-access wiki. It also creates a bottleneck if no one is actively managing pull requests (which we've already seen happen here). We haven't seen any downside to open access wikis yet, to my knowledge.

All that being said - I'm ok with however the primary contributors working on OBA iPhone want to handle documentation though (either wikis or READMEs in the repo), so whatever works for you all works for me.

neophit commented 11 years ago

After reading through Apple's guidelines for creating distribution certificates, I think it may violate Apple's Enterprise Program Agreement to distribute an enterprise signed app outside of the licensed organization. The Enterprise program is for companies and organizations to distribute proprietary apps internally to employees and contractors. Enterprise apps cannot be distributed on the App Store.

The OneBusAway app on the App Store currently using Brian Ferris' developer account for distribution. Does the UW have an iOS Developer account for distributing apps to the App Store?

bbodenmiller commented 11 years ago

If you take a look at the App Store you'll notice the OBA app is actually now under the UW account. It appears that the MacBuildServer is using an enterprise cert to sign apps so I'm not entirely how they are doing it without violating terms if that's the case.

neophit commented 11 years ago

Ah, I see the OBA app has been transferred to a developer account named University of Washington, but it looks like the build was created in 2011 using Brian Ferris' distribution certificate and App Store Distribution Provisioning Profile. It sounds the UW shares an iOS developer account for App Store distribution.

A month ago, @alanborning commented on #5,

Unfortunately the OneBusAway iPhone app is under an individual account. We tried hard to move it to an enterprise account, but Apple was totally uncooperative.

So I think the best thing in the short term is to distribute betas by some ad hoc means. Then when we are ready to upload it to the Apple Store Caitlin or I can do it from the account. Sorry .... I wish this account issue were fixed!" Alan

MBS is using an enterprise certificate to sign apps and they appear to have been operating since late April. Apple may not be aware of how MBS is using their enterprise certificate to distribute apps.

Anyway, I have most of the process to setup Travis CI docummented and posted in this wiki page.

neophit commented 11 years ago

The dummy Travis CI setup can be viewed here.

alanb2718 commented 11 years ago

I've been testing the beta version on my iPhone 3GS off and on for the past several days for Puget Sound. Except for #22 this has been working well for me. I'm in Berlin right now, so I'm not using it to actually catch any buses (OneBusAway doesn't help much in figuring when the U-Bahn is coming) - but it's holding up well. I agree with @bbodenmiller that #22 and #25 shouldn't be showstoppers for this release.

bbodenmiller commented 11 years ago

The MacBuildServer appears to be back online, their twitter states new servers have been added. Unfortunately @ksslng's build appears to be failing on MBS now. Can you take a look @ksslng?

bbodenmiller commented 11 years ago

You can see the errors at http://macbuildserver.com/project/github/build/?xcode_project=org.onebusaway.iphone.xcodeproj&target=OneBusAway&repo_url=git%3A%2F%2Fgithub.com%2Fksslng%2Fonebusaway-iphone.git&build_conf=AdHocDistribution

aaronbrethorst commented 11 years ago

Email I received:

Hi, Aaron! We increased capacity, so it wouldn't stuck on clone. But I try to build your project. It failed with error log http://commacbuildserverbuildartifactsstaging.s3-website-eu-west-1.amazonaws.com/003e1298431048d3a8e0424cf8e60059/log.txt

It seems that you use workspace which we doesn't support yet.

Best regards,
Vitaly Ruzhnikov,
Founder
Mac Build Server
caitbonnar commented 11 years ago

Hi everyone, sorry for my absence the last couple days. Looks like there's been a lot of discussion that I need to catch up on.

@bbodenmiller @barbeau In terms of documentation, I'm okay with handling the pull requests to update the READMEs. If the wiki is easier (and you don't think we'll see conflicts of interest anywhere), then we can go that route. Probably best not to have the documentation split between the two. So far it looks like the wiki just contains @neophit's Travis CI setup documentation, so if we want to nix the wiki idea, we can move that into the repo. Again, my unfamiliarity with practices on GitHub don't give me much of a solid opinion. :( (Thanks, @neophit, BTW! I'll read through that tonight.)

As far as licensing goes, yes, the UW now holds the OBA app under its enterprise account, it is no longer under an individual developer account. I'm looking into Apple's enterprise distribution policy now... I have a feeling distributing outside the organization is not legally sound, but it's a little unclear from the documentation I've read. Anyone have any more knowledge on this? I'll let you know once I find out. (MBS seems a little too good to be completely in accordance with Apple's policies, bugs and all.)

@alanborning Do you think we should set a target for release, then? What about #33?

bbodenmiller commented 11 years ago

@caitbonnar can you confirm that https://github.com/ksslng/onebusaway-iphone built properly with MacBuildServer before? Or was it https://github.com/kycook/onebusaway-iphone?

caitbonnar commented 11 years ago

@bbodenmiller Yes, it was https://github.com/ksslng/onebusaway-iphone. Dunno why it is failing now.

caitbonnar commented 11 years ago

@bbodenmiller Ok, looks like it is because CrashAnalytics needs to be installed. I don't know why it got past this the first time and not the second...

@ksslng or @aaronbrethorst could you disable CrashAnalytics so it will build?

alanb2718 commented 11 years ago

@caitbonnar - regarding when to set a target for release, if we've had people testing on the common iPhone varieties, then I think after #33 is fixed we should be good to go. The other issues don't seem like showstoppers. (Well, #33 doesn't need to be a showstopper either, but it sounds like there is already a fix out there in a fork so it's a matter of getting things re-integrated. I vote to do that.) If others think we need more testing, though, please chime in!

bbodenmiller commented 11 years ago

@alanborning according to TestFlight everyone who has installed is using an iPhone 5 with iOS 6 or 7 so we definitely need some iPhone 4 testing still. I have an old iPhone 4 so if no one has a chance to test on iPhone 4 before this weekend I can (it may also have iOS 5 still).

ksslng commented 11 years ago

@caitbonnar I just removed Crashlytics for now (It's easy to integrate) and it builds again. I used https://github.com/ksslng/onebusaway-iphone Also I fixed #24 and #25. I removed the "Done" button and changed it, that it is always saved, whether you use the tap bar or the back button. I couldn't find a commit that fixes #33.

bbodenmiller commented 11 years ago

@ksslng thanks. I noticed these a few minutes before you posted this. I'll try and get this uploaded to TestFlight in before morning.

bbodenmiller commented 11 years ago

But sadly it looks like git and MBS stubbornness is going to make that wait Thursday night.

kariwatkins commented 11 years ago

@alanborning @bbodenmiller I have an iPhone 4 running iOS5. I can test, but I cannot get past cloning on MacBuildServer on my phone. I am looking through the rest of the messages on here, but I don't see another way to download for testing. If someone wants to give me alternative instructions, I am happy to test. Keep in mind that I am the non-coder on the project when giving these instructions (ie I need simple ones like @caitbonnar gave up top).

ksslng commented 11 years ago

@kariwatkins what's the problem? It just worked for me. Maybe this .ipa works for you. I'm not sure how long they will keep this up for download. @caitbonnar @bbodenmiller @alanborning I just fixed the "current location" blue dot problem, that it keeps appearing and disappearing every time you move the map. (EDIT: I fixed #33) Also I made a month ago a few UI changes to refresh it, I pushed to the branch "refresh-ui" in my repo. I think you can't build with MBS from a different branch then the master. What I basically did is, tinted the main elements with the OBA green to give it a bit personality, made the cells where the time for the buses is displayed full width to make it cleaner, get rid of the striped background. screenshot

neophit commented 11 years ago

@kariwatkins, you can sign up for the public beta test team on TestFlight.

bbodenmiller commented 11 years ago

@ksslng the problem wasn't your fork put rather that I merged your fork & another & like you said MBS can only build the master branch which I hadn't used. On another note I'll cherry pick your commits from today but in the future I think we'll want devs to rebase against the latest dev branch to make merging easier.

bbodenmiller commented 11 years ago

1.1.5rc2 is up on TestFlight. @ksslng's additionally fixes will be in rc3 tonight.

caitbonnar commented 11 years ago

@bbodenmiller Seems like they must have updated MBS since I first used it. :-( Anyway, good to know it only lets you build master now. Thanks for the dev branch creation and keeping TestFlight updated-- your work on this is greatly appreciated! I agree with rebasing in the future; I'm still learning about it, but it seems like it would save a lot of hassle.

@kariwatkins Thanks for helping test on iPhone 4!

kariwatkins commented 11 years ago

@caitbonnar @bbodenmiller I tried TestFlight. Apparently you have to accept me into the fold (I come with good references). I will then play around on iPhone 4 as best I can from here in Atlanta. Good thing I have been procrastinating on getting a new phone and on upgrading my iOS (because I won't let it force me to use Apple maps).

neophit commented 11 years ago

@kariwatkins, I have added you to the Public Beta Test team on TestFlight. You should have access to the builds via the TestFlight webapp on your device. You will also be able to install new builds via the new build notification emails that are sent out by TestFlight.

caitbonnar commented 11 years ago

Just opened up testing to the OBA iPhone beta testers group for the last phase of testing. Lots of recruits already-- This should give us plenty of devices to work with, hopefully.

neophit commented 11 years ago

The TestFlight team has grown to 23 teammates today. I've been adding new recruits with registered devices to the Public Beta Test distribution list and granting permissions for the builds.

bbodenmiller commented 11 years ago

@caitbonnar how can I get added to the OBA iPhone beta testers group?

caitbonnar commented 11 years ago

@bbodenmiller Oops, didn't realize it was closed-- I can send an invite by e-mail or you can request to join and I'll approve (click "contact the owner" -- @bdferris provided me with ownership of it).