CruiseMonkey 5

edited January 2015 in JoCo Cruise
(Or should I call it: CruiseMonkey XP?)

I'm in the process of getting betas set up for the latest CruiseMonkey.  Some things to note:
  • Android support is now 4.0.3 or higher.  There were too many troubles with keeping it compatible with 2.3.
  • Android beta testing will be through the Google Play store, or direct installation of beta .apk files.  I don't see a way to offer automatic betas through the Amazon Android store.

Instructions on how to become a beta tester, how to report issues, and other fun stuff are all at the CruiseMonkey GitHub page.
«1

Comments

  • Note: I've never done betas through the Google Play store before.  Right now the signup link acts like you can't sign up, but I'm not sure if that's because there's a problem, or because it just hasn't finished pushing to the store yet.  They say "It can take several hours until the changes are visible in Google Play."
  • Aha, looks like for beta testing, you have to join a google group.  I've updated the instructions in the README on the GitHub page.
  • Thank goodness I'm now iphone!
  • And here we go. I've applied for the beta Google group.
  • FYI - we were working on it for awhile tonight, but @RangerRick wasn't able to get CM talking to Twitarr. It wasn't helped by DNS being attacked while we were working...
  • This morning things are back up, and it looks like even with a working twitarr server, the login/db-sync stuff is not working on Android.  I suspect it's still related to cross-domain request stuff and newer versions of Android using Chrome for embedded web applications, rather than the older webkit-based android browser.

    Do any of you testers have android 4.0-4.2 devices that could confirm or deny event sync and login working?
  • Android 4.4.4 (nexus 7) and Android 4.1.2 (Nexus S) don't work.
  • OK, thanks, looks like I've got more work to do making things happy with android and CORS.  *sigh*
  • Could it be barfing on the self-signed cert on the twit-arr server?
  • I've been using it on my Galaxy S4 Android 4.4.2 no problem, though I did login the first time from my Windows 8 laptop. Dunno if that makes any difference or not. 
  • edited January 2015
    I can log in to twit-arr beta via both the browsers (both webkit based and chrome) on my Nexus S and Nexus 7), it's just CruiseMonkey that can't seem to access twit-arr beta.

  • Same here - can login on web, cannot login via cruise monkey. Android 5.0.

    Everything else seems to be fine (though I can't see any events, but I assume that's because there aren't any yet.)
  • @rkcr -- I think the events sync the same way that twit-arr login works, so they're both broken right now.
  • The good news is, I believe I've got it working right on Android.  The bad news is I had to switch to Crosswalk as an embedded browser rather than relying on Android's built-in browser, so the installer is quite a bit bigger.

    That said, please give it a shot once it shows up (it can take a few hours), and let me know if you still have problems.  It should be 4.0.85 build 40303.
  • If you were an iOS tester last year, you should be receiving an email soon regarding testing this year, I was able to import last year's list.

    Anyone else who wants to be an iOS tester who didn't have access last year, please let me know, I'll add you.  There's 1000 slots this year, so no worries on limitations.
  • @RangerRick I can login and sync now on Android.  Looks good!
  • WHOO!

    Now, time to add some features.  :)
  • Something I've never understood about android is the space required for app install.

    It says I have 215MB of space available, and the update download is 39MB (!!!), but it says I don't have enough space. Even if the downloaded APK expands to 3x is compressed size, I should still have enough.

    Anyway, after shuffling around some stuff, uninstalling NetFlix (who watches netflix on their phone anyway) and finally uninstalling the old CruiseMonkey, I finally freed up enough space, and it seems to work great.

    Thanks RangerRick!  I look forward to those new features.

      -- Mitch

  • The phone (GS5, Android 4.4.4) now has the beta and I'm logged in. Will try on the tablet (Galaxy Note 10.5 2014, Android 4.4.4) in a bit (It's in the other room).
  • iOS 8.1.1, iPhone 5, after selecting Amenities from the menu, the menu button disappears and there's no way to navigate off of the Amenities screen, aside from quitting and restarting the app.

    The Karaoke list doesn't scroll so much as hop. There's no momentum scrolling.

    In Deck Plans, deck 13 has a whole ship's worth of scroll available (so a lot of empty space), but decks 14 and 15 do not. (I would swear that the first time I swiped from 12 to 13, 14, 15 and then back down through 14 to 13 it had less scroll available, but I can't duplicate that. Could be a PEBCAP error.)
  • iPhone 6, latest OS, event edit weirdness. To repro
    (1) create an unofficial event and save it
    => it gets created (so far so good!)
    (2) EDIT the event description text and hit save
    => You now have TWO copies of the event.
    Expected result: the original event is modified in place.
    WORKAROUND: explicitly delete the duplicate after each edit.
  • Ick, good catch.  I must not be retrieving the existing revision in the dock.  I have a new beta coming out now with layout fixes, but I'll work on that later today.
  • So I've been having some fun with the beta app on my Nexus 5. Also some fun with weird behaviour.

    Regarding events, if at any point after booting into the app I visit the deck plans, then press the "..." to modify an event, the deck plans page will not draw any of the images but still allows for flipping between decks via the top right buttons. You don't even have to modify anything. Just tapping the "..." will cause it. The only way I found to restore the deck plans is by using the system back button to exit and close the app.

    Also relating to events. If you enter the events page on the mine tab from a different page such as amenities, when you create, edit, make public, make private or delete an event, it changes the information displayed on the mine tab to that of the official tab.

    rhaje was talking about. If you visit the deck plans for the first time then switch to any page other than events, you will be missing the menu button. By hitting the Android back button, you can return to the deck plans page. As long as you do not change the deck you are viewing, you can switch to any of the pages and they will now have their menu button. However, if you return to the deck plans then change to view a different deck, even if you then return to the deck you were just viewing when you entered the page, you will be missing the menu button should you go to any page other than events.

    There are also other things related to logging in and out if you are interested. But considering they all get fixed by closing the app, can't imagine they'd be much of a worry.

    Love the new app by the way! It was super useful last time and it looks to be even more useful this time.
  • edited January 2015
    FYI, there is a new version of CruiseMonkey incoming (4.9.4, Android may already have it) that has read-only twitarr timeline support.

    I would love it if everyone would bang on it and confirm it works reasonably.

    While the main Twit-Arr server is down, use these settings:

  • I initially mistyped the URLs (as cm.racoonfink.com with only on "c"), and I got an error for the twit-arr page about "No such list branstonapi".  (When I went to that URL in my desktop browser, I got an interface http://cm.racoonfink.com/listinfo/branston which looks like a mailing list archive.)

    Once I corrected them, it's still giving me an error for the twit-arr page, and I can't seem to force a refresh.

  • In futzing with the interface, I somehow managed to get to the GNU MailMan home page, and that rendered the whole application unusable.  There was no way to get back to any of the other features. Doing a force stop of the application was my only way out, but after that, the twit-arr page worked properly.


  • Yeah, you somehow fell through to the default virtual host on that machine, NO idea what's going on there, but it won't happen on the "real" site.
  • Hm, turns out I can't test because even though I have TestFlight installed, the "Open in TestFlight" link tells me "TestFlight requires iOS 8". Can you confirm CruiseMonkey will run on iOS 7.1, or is that impossible to test?
  • It's just the testing stuff that requires iOS 8.   The app should work just fine on 7 (@triluna's phone and ipad are still on 7 and I've confirmed it there.)  In fact, it should still work on 6, although the background notifications won't work.
  • I just spotted the update for CM that allows posting/replying to twit-arr.  It's not working on Android 4.1.2 (Nexus S).  Whether I create a new tweet or reply to an existing one, I get the "new Tweet" page, and sometimes the keyboard comes up, but there isn't any visible text entry field, and text I type seems to disappear into the ether. 

    Thanks for all the hard work on this.  I think it's getting close to perfect.
  • edited January 2015
    Every once in a while when CM starts up (currently version 4.9.6, but it's happened with previous versions) it give me an error "The connection to the server was unsuccessful: file:///android_asset/www/index.html"  I figure this is because the UI for CM is an HTML app, and the underlying browser is having problems finding the file, but I can't reliably reproduce it.  Any clue what might be going on?
  • Huh, yeah, that's strange.  That stuff happens before I can even really do anything about it, so not sure what to say there.  :(
  • I've just pushed a 5.0.0 release candidate to the Google Play store.  Please everyone on Android bang on it and report any issues, bugs, problems, whatever.

    I'm *still* waiting for 4.9.7 to hit app store beta.  *sigh*

    I'm inclined to give it until tomorrow and then just go ahead and release 5.0.0 (or 5.0.1 if you guys find any big bugs) to the app store officially and go through the week wait and hope for the best.  :)  If I'm lucky, I'll get approved within 4-5 days and have time for another round-trip.

    Every year I say "man, I should work on it *right* after the cruise" and every year I'm bumping right up against the deadline.  ;)
  • Hooray!  4.9.7 just got approved for beta testers.  I have done a number of fixes *since* then, but hopefully it's enough to let you guys find more bugs.

    We found a couple more issues tonight that I fixed, and I added a couple of very small features, but what's there now looks to be what will ship.
  • edited January 2015
    I finally found some time to play around with the app. Here's what I found... it's a lot, my apologies for not getting to this sooner!

    Version 5.02, from the play store, on Android 4.4.4 (Galaxy S4 google play edition).

    I'm seeing odd behavior when using the system's back button. Sometimes it goes back a screen in the app (as expected), sometimes it does nothing at all, sometimes it exits the app entirely. I haven't been able to figure out how exactly what's going on with it, but this is what I've observed:
    • The twitarr screen is pretty reliable in that hitting back after starting a tweet, clicking a photo, viewing a profile card, or opening seamail will send you back to the list... but hitting it while viewing the list sometimes sends you back to the events screen, and sometimes just exits the app.
    • After using the main menu navigation, it seems like the back button will usually exit the app.
    • After exiting with the back button then re-launching using recent tasks or the app icon, it will start on whatever screen you were last viewing. Then, one press of back will then go to the events screen, and subsequent presses of back will do nothing at all.
    Twitarr screen - If you like a tweet then refresh (either through a pull or the button), the tweet appears to no longer be liked. It is still marked as liked in the twitarr web site.

    Sometimes scrolling the twitarr screen causes tweets to all load with the text of a single tweet - right now, mine is showing everybody as saying "My face the entire cruise." This happens most often after viewing a photo, then scrolling further down the list, then refreshing using the button.

    There are performance issues on the twitarr screen. Scrolling is very slow - the more I scroll down, the slower it gets. I'm guessing that it's something to do with how all the data is rendered or kept in memory, and I'm not sure if much can be done to improve this.

    Probably the most worrying thing I found - my system info app is reporting that cruisemonkey is hovering around 50% cpu usage while the screen is on, even while the app is in the background. This might just be the sync, but it's been 5 min, and it's still showing high usage. The CPU cores are not clocking down/shutting off until I fully exit the app. Status check interval is set to 60s. My phone is getting quite warm. It looks like the CPU usage drops to 0% while the screen is off, which is good - but the constant background usage with screen on will result in a significant reduction in battery life.

    Also, I've got a feature request: status check intervals longer than 60 seconds. Ideally, I'd like to also be able to set it in minutes.
  • Thanks for the feedback, I'll look into those.  I'll admit I've done very little profiling so far, and have basically not handled the "back" button at all, so I'm getting whatever Ionic does by default.
  • edited January 2015
    Yup! I'm right there with you on getting it all working first, then profile/optimize later. I just brought it up because I want to use the app (because it is awesome), without recharging my phone three times a day :)
  • Sooooo I know I got an e-mail at one time, but I may have accidentally deleted it, is there any chance I can get an IOS reinvite?
  • edited January 2015
    I did some profiling, and I couldn't find anything doing all that much other than some of the background timers accessing things more than they have to, so I did a little rearranging to cut back on that.  Also some other bug fixes and cleaning up back button handling.  Not sure if I made the back button work in an "android"-y way, but it's at least consistent.  (When you go to something from the side-menu, that "starts" a navigation tree.  Opening dialogs, etc. can go "back", but if you go back from a "main" page, it pulls the sidebar open.)

    You should see 5.0.3 in the Android beta feed with those changes shortly.  Let me know if it helps at all.
  • When I fire up CM 5.0.3, I am back to having the same problem attaching pictures to twit-arr posts.  When I select the "choose file" button, it fires up the gallery chooser, which allows me to choose a picture, but then when it returns to CM, I'm just dumped back into the twit-arr feed, not into the new post screen (and the new post is lost).  This is on Android 4.1.2 on a Nexus S.  I think I'm memory constrained.

  • Same problem in CM 5.0.7 on Android 4.1.2. I think you're not catching the "being swapped out" event and saving state (the in-progress tweet).

  • Yeah, I think it's just a memory thing. I have not worked on camera stuff at all, been squashing other bugs.
  • I do plan on trying to fix camera support on Android this week sometime.
  • edited January 2015
    The new back button behavior is much better! You're right that it's not quite the android way of doing back, but it's definitely consistent. Thanks for that change!

    This next bit... I tried setting up a dev environment of my own to test out these
    suggestions, but I couldn't figure out the build process - I'm not
    familiar with cordova/ionic at all (meaning I'm very dangerous and
    probably have no idea what I'm talking about with most of it, sorry). Do you have (or know of, if CM is similar enough to other cordova/ionic apps) a guide for getting started with the build/dev environment somewhere? If not, no need to write one now, but it might be a nice thing to have if anyone else wants to contribute for next year's version. Anyway... on to the suggestions/research I've done...

    Performance is generally better (on 5.0.8), but I'm still seeing CPU usage when the app is in the background. The good news is that it's now hovering around 30%-35%, instead of around 50%. I think it might be something related to this: http://forum.ionicframework.com/t/stopping-javascript-angular-watches-when-app-paused/4592 - It's something to consider, but I wonder if making that change to the KeepRunning setting would cause notifications of seamail and mentions to stop. Worst case, I'll just greenify it. So don't spend too much time here.

    The twitarr list still gets laggy after a few scrolls to the bottom. It looks like this might be a framework issue - see http://forum.ionicframework.com/t/infinite-scroll-is-lag-in-android/6451 - In that thread, they suggest using collection-repeat instead of ng-repeat, but I don't know how much work that takes or what kind of impact that would have on the android or iOS versions.

    Either way, I'm being enough of a pain here that I feel like I owe you a drink. Hopefully I'll run into you on board!
  • Is 4.9.7 the latest iOS build?

    If so, is it known behavior that it doesn't include any of the schedules yet? I can't recall when that build came out vs. when schedules came out, but all my events screens are blank.
  • 4.9.7 is way old, but the Apple test stuff is a total pain because they actually require going through a short approval process even for betas. Development's been going fast and I've been sitting for a week waiting for 5.0.2 to get approved.

    I've requested an expedited release (to the App Store, not beta) of 5.0.8 which has tons of fixes including one for the DB issue you're seeing, @villicious.
  • @hendusoone Yeah, the build process is really weird because I'm using Crosswalk (an embedded chrome that provides non-sucky web even on Android 4.0) *but* I've hand-patched it to accept self-signed certificates. :P

    I'll write up a doc on how to build everything in the morning. It's not too hard, just a long list. ;)

    The problem is that collection-repeat requires knowing the height of your row before it's rendered, so it's difficult to implement with a variable-height thing like tweet text. The alternative is to always only show the first 2 lines of a tweet or something and requiring a tap to view details. Collection-repeat *is* way faster. I may experiment with it just to see if it works OK in practice.
  • I just installed CM 5.0.8 on android 4.1.2 (Nexus S) and the performance makes it unusable.  Responses to clicks/presses are anywhere from 30-120 seconds.  Initial render time (from when I open the app to when the initial screen renders), is somewhere on the order of 3-5 minutes.  I think it's memory, because all functions of the phone slow to a crawl.... I can't even go back to the home screen.  I rebooted the phone, and performance is still unusably slow after I open CM.
  • edited January 2015
    @RangerRick - Oh wow, that's a huge limitation. Considering variable length posts and the option for image attachments, I think it's probably not worth the performance gains. Browser-based twitarr will work just fine for diving deeper into the history.

    @Pneumatic - Yeah, it's probably memory on the Nexus S. That device has 512MB of RAM, and 128MB of it is reserved for the GPU. On my phone (Galaxy S4), CruiseMonkey uses about 180MB of RAM... that's gonna be tough to fit into the Nexus S's 384MB of available memory. I haven't tried the app on my T-mobile G2 (HTC Desire Z)... but I bet I'd see similar issues, since it also is a 512MB RAM device.

    Edited to add: I got curious, and dusted off the Desire Z. As expected, it's very very slow. To be functional at all, CruiseMonkey has to be the only app running. When exiting the app, android kills it immediately to free up the memory (unlike on my S4, where it keeps running in the background), and my home app (Nova Launcher) does a full redraw - meaning even that got pushed out of active memory while CM was in use!
  • Yeah, I have some thoughts on a way to rearrange things to use less memory, but I haven't had a chance to work on them.  I'm hitting limits on time.  :(

    Also just got rejected by Apple on expedited release, so it looks like 5.0.2 will (hopefully) come out in the next few days, and then if anyone wants the better release on iOS, they'll have to sign up for beta, assuming 5.0.8 gets approved there.  (It's usually only a couple of days for that.)

    GRR, so frustrated.
Sign In or Register to comment.