JCCC4 Twit-arr post-mortem

edited March 2014 in JoCo Cruise
... Because the original Twit-arr thread is HUGE.

Four categories that I can think of:
  1. Network (Samsung disconnect problems are lumped under here)
  2. Server (i.e. Rails / Redis)
  3. Client CSS / HTML / Bootstrap interface
  4. Functionality
Network seemed good / better this year, with the exception of the Samsung issue, and the DHCP fiasco. There were very few times I couldn't check my seamail.

Server rocked. @gbadsen's server was more than equal to the task, and there were no problems with rails or redis. According to the other members of the shadow IT team, it was major win. (Also, "Shadow IT" is an awesome name IMHO)

Client worked well, but there were some issues. iPhones had a couple weird tweaky CSS bugs, and I'm sure there were others. I'd like to switch to a "real" client, with the html as backup, but not sure that's really feasible. Someone on the FB group suggested running it through a HTML5 validator, which I plan to try if I can find one that will deal with Ember.js.

Functionality - seemed like most people were happy with it. Search was requested a few times, which should be doable. Seamail notifications would be awesome, although then we'd definitely have to remind people to silence their phones for shows. I have a few notes of other things to tweak, but I think those were the major ones.

Mobile was not just the primary platform, it was almost the only platform, and I need to make sure that I focus on that for next year. It seems obvious in retrospect, but at the time I just didn't think about it.

Everybody on the cruise provided really positive feedback, and that made my vacation much happier. Feel free to offer criticism now - we've only got like 48 weeks to improve it this time.  :)

>>>>>>>>  Nathan
«1

Comments

  • So this is not a critique, since it's in the category of stuff you couldn't control, but *is* there any way of making Samsung's obnoxion re: disconnects stop?  I looked a fair bit at settings and had no joy, but wanted to check if I missed something anyone else was aware of.

    If no, in the future I think I will just make sure to actually *remember* my charger for my tablet so I'll have an alternate option.  (Oops.)
  • I didn't have a chance to spend much time looking into it, but I don't know of anyone that did fix the problem.

    A quick check of google wasn't helpful, but it's such a narrow use case - most people would want to log on to the wifi - it's possible that nobody's ever complained before.
  • I'll add to the mountain of praise - it certainly made meeting up with people a snap.  And DHCP issues from RCI aside, it was quick, always up, and highly responsive.  Kudos!
  • Does the Samsung problem boil down to not exposing "Avoid poor connections" as an option?
  • @Kvort_the_Duck I chatted with @gbasden in person but not everyone else, so I wanted to say, great work!

    One possible feature request: marking SeaMail as "read" and "unread"? The little dropdown always shows the count of messages in your inbox, even ones you've read already, making it harder to tell if you've got mail -- I realize I could archive messages, but that makes things a little harder to find later on (maybe your plans for search would be sufficient).
  • @origamislayer Didn't seem to be.  I think I tried fiddling with that, anyhow.  The issue wasn't ever signal strength, just that it was a connection requiring login where you didn't login, and thus the phone decided you weren't using it after a couple minutes and should be disconnected.
  • So similar to what IOS does when Auto-Login is enabled, sounds like. I wonder what check the Samsung is doing to test for the login page? Do we know?

  • I had an up and down experience w/ my Samsung Galaxy III. At first I got the impassable login page. Than one morning I didn't! I ran into Nathan like ten minutes after that and was jubilant. Then I got it again for a couple days. Then I didn't! And was able to read Twit-arr for the last few days of the cruise.

    At one point I tried turning off the 'Sprint Connections Optimizer'. I couldn't _immediately_ get past the login page, but did eventually, so maybe that was related.
  • It appears there's more to it than that.  Tried googling around, and found this: http://stackoverflow.com/questions/20551658/disabling-samsung-auto-network-switch-for-wifi-connection

    Not sure of the solution, might be worth looking into triggering a config change through CM based on that link, but that's kind of scary too.
  • So, while we're at it, I gotta ask. Why Redis? As someone who wants to contribute for next year, going through the source, all it's really done is overcomplicate things. It would be so much more elegant if it was using standard AR or DM. It's not like we have to deal with 20,000 concurrent users, cutting corners for DB performance isn't all that worth it since, really, Rails is going to be the biggest bottleneck (Even on JRuby), as much as I love it.
  • My main request is to have a view (like last year's status.net client) sorted by most recent comments. Threads got completely lost because they were always organized by the original post, so there was very little ongoing conversation.

    All kinds of notifications would be nice to have, easier access to replies, etc.

    I also suffered the Samsung disconnect problem and had no luck with any advanced settings. I ended up using my Vita for Twitt-arr, which generally worked pretty well (although "Like" never worked for me).

    Thanks all for your hard work in making Twitt-arr possible. It's another amazing part of the cruise, and really, it's very much appreciated!
  • Would it be possible to get a full download of everything that happened on Twit-arr while we were on the cruise? I think it would be fun to go back and remember what happened via everyone's comments and photos. Especially for those that were of the internet temperance brigade!

    I really really loved the program and being able to use it on the cruise. When it was down I felt so disconnected from everyone!
  • The Samsung thing was weird. My older Galaxy Epic 4G running 2.3.6 stayed connected however long I left it connected, but the newer Note 10.1 2014 running 4.3 and Kim's Galaxy SIII running 4.3 would suffer the dropped connection issue. I never futzed with the connection settings so I don't know if there was a way around, but... weird.

    I'd like a way to upload a picture when you don't have drag-and-drop capability (such as on a phone) for the next version, and an option to mark Seamail as read (and thus not have the menu button go red) without archiving it would be great, as someone mentioned above. I really liked it overall.
  • Twitarr saved my sanity, or at least my checkbook. I loved it so very much and it added immeasurable value to my cruise experience.

    I would like to second the ability to sort by most recent comments, or maybe a way other than leaving a comment to track a thread?

    An ability to unlike would be nice, as I once liked a sad post when I meant to click reply.

    Would it be possible to upload photo's to our profiles, or even better, next to our user name? That, or maybe just recommend people introduce themselves with a pic? I had a lot of great Twitarr conversations with people I might have been sitting right next too.

    Last thing I can think of would have been the ability to 'like' replies.

    Thanks again!!
  • @Rishie The plan is that we will have the Twit-arrr server back up and accessible soon in a read only state. That will stay up and active as long as there is interest. I asked @Kvort_the_Duck about dumping it out to a file as an archive and his eyes glazed over, so that might be more work than is feasible to do.

    As an aside, boooo to the temperance brigade! I understand not wanting to deal with work email and other external distractions, but cutting (generic you) yourself off from an incredibly useful planning and meetup tool seems pointless.
  • Oh, and I really agree with everything that @Jennafyr just said! +1 all around!
  • Thank you so much for all of your work with Twit-arr. Loved it! I'd offer to help if I knew the language. :)

    It worked wonderfully on my iPad, but I got a login error on my iPhone (both running iOS 7). I could see it, but couldn't login to post/like and also got an error when logging into CM. CM's error suggested importing the certificate. Given that by the time I tried it on my phone we were already at sea, that wasn't an option.
  • Just thought of something else: a couple times I couldn't post/reply/send mail and discovered I had been logged out but still looked logged in. I had to log out and back in. This was with IOS 7.0.4 on an iPhone 5.

    Not a big deal, and I'm not a code monkey myself, so no idea if this is something that can/should be troubleshot.
  • edited March 2014
    Wow. Good feedback.

    • @autojim - you should have been able to click in the drop area and upload a photo, unless you were on one of the cursed phone / browser combos. I thought it said something about click to upload in there.
    • If @gbadsen is back then we should be able to get it back up and running in read-only mode in the next couple of days.  :)
    • The fact that Twit-arr was one giant webpage I think was a mistake. It made it more responsive, but when the JS went wonky, it was necessary to fully reload the app to get back on track. I want to break it into just a few pieces next year so that the JS reloads more often. It'll be slightly slower but I think it will help some of the random issues that came about.
    • I think that sorting via updates vs. sorting via post time is one of those things that is difficult to resolve. Either way there's a case where stuff gets easily lost, and I'm going to try ANY option available before I get desperate enough to add an option to the screen.
    • Unliking posts and like / unlike comments: yes.
    • Photos with usernames was a thing I wanted to do and ran out of time. So also yes.
    • I had notifications for updates to posts, but it was WAY too noisy and I yanked it out before the cruise. Trust me, no post notifications was better than the way it was. Will fix for next year.

    That gives me ~11 months to figure out a couple of interesting solutions to some of the problems up there.  :)
  • edited March 2014
    @wingar - Redis is because I wanted to use Redis.  :)

    Having said that, there's a few reasons to use nosql here instead of sql:
    • One less language. I already have HTML, Javascript, and Ruby. If I can avoid adding SQL to that, I prefer to do so.
    • SQL databases are a pain to administer. The only one that is "easy" is MySQL, which is a terrible database.  See: http://grimoire.ca/mysql/choose-something-else
    • Redis was dead simple to administer. Many nosql databases are.
    • SQL databases allow and in some cases require, moving your application logic into the database. I would argue that even something as simple as an index is application logic. This confuses the separation between the layers and makes testing much more difficult - which is why unit testing is so rare in webapps.

    There are also some disadvantages:
    • You have to do everything yourself. (indexes, joins, filtering, transactions) This generally results in an increase in logic bugs.
    • It's not "normal" - developers who are expecting things to work a certain way are going to be surprised.
    • It's not as easily replaceable - we can't easily swap Redis out for any other solution, the way you can easily replace MySQL with Postgres for example.

    The idea that you're trading integration bugs for logic bugs is an important one, I think. Integration bugs are hard to track down, and you usually can't write unit or regression tests for them. Heck, you can't really write unit tests for a SQL database at all! (If you need a database instance, it's not a unit test)

    Logic bugs on the other hand are easily testable. When I find a bug, I can immediately write a test and ensure that I won't encounter that particular bug ever again. The DCI pattern I used for much of the business logic is completely testable (it's probably uglier than it could be since I was learning how to use it) and in my experience that's unusual.

    For most of the controller actions, the pattern is simple: validate the parameters, then call the context. The rest ... need some improvements.  :)

    Moving to a SQL database would remove a bunch of code from the app layer. Unfortunately I think it's code that belongs in the app layer, and prefer to have it there.  :)
  • This was my first time using Twitarr (primarily because it was the first year I was able to get it to work on my phone) and I loved it. Having Seamail was tremendously helpful when attempting to organize things or get messages to people that would have otherwise been impossible to do while on the boat. A bazillion thanks to all of you who have been involved in creating this.

    That being said, it would be awesome to have some sort of notification appear when you get a reply to your own post. There were several times i posted a question and then it was rather a pain in the neck to have to keep scrolling back to see if I'd gotten an answer. 
  • @kvort_the_duck Well, if that's the case, I just have one thing to say.

    Can you help me set up Redis?
    I certainly want to contribute to Twitarr, no doubt about it, it's wonderful and was the single most helpful thing with the entire cruise :)

    And I do agree on MySQL, it's abhorrent. My choice, if you're going for free stuff, is Firebird, or if you're going for paid, DB2. 

    Do you have Skype or something easy to communicate with?
  • @kvort_the_duck: I guess my phone is cursed (like the frogurt), as "clicking to add photo" did absolutely bupkis. I really tried. :) I'll have a new phone by next year, but *it* will likely have the Samsung connectivity glitch, so... ::shrug::
  • I actually liked the sort by latest post, rather than by latest comment. Admittedly it dampens back and forth chatter, but it made it easy to see which topics I had or hadn't read, which I find much more useful.
  • @Jenipurr At first, I thought that was difficult as well, but then I found "My Posts" in the top right drop-down menu, and that would bring up all my posts and all my replies. So it was actually easy to find replies to your posts, you just had to know where the menu button was. :) Not helpful right now, I know. But maybe for the future...?

    @ Everyone: I've said it elsewhere, but here goes again: THANK YOU FOR THIS AWESOME THING. And for all the time you invest. Is there a way to throw some money at you? Because I'd like to do that.

  • @wingar - actually filling out the readme is probably the top thing I want to do (after read-only mode). It'll include a section (mostly links) to setting up Redis. I've also got google chat when I'm not at work, but that might be complicated since if I remember correctly, you live on the other side of the globe.  :)

    Best install instructions ever - http://redis.io/topics/quickstart

    @sus - You're the only person I know of who found that feature on their own.  :)   Instead of throwing money, I'd suggest saving for a cruise - but thank you for the offer.

    @autojim - Which phone and browser were you using? It seems as if the phone developers are very unsure about adding that feature to the mobile browsers because several browsers don't have it, seemingly on purpose. Website developers misusing the "upload" feature of the browser seems like less of a problem to me than EVERY APP YOU DOWNLOAD HAVING ALL THE PERMISSIONS - but maybe I'm just paranoid.
  • Hey, *I* found the My Posts feature on my own, and used it all the time. I guess I didn't realize not everyone else knew about it.
  • Definitely want to have photo taking + posting as a feature in CM next year, so hopefully it'll help make that moot.

    Should we start an IRC channel or something?  I'm in #cruisemonkey on freenode, but maybe we should just make a #SeaMonkeyIT instead, for both.  :)
  • I found My Posts in the menu too! Perhaps there are few of us who look at menu options? Hmm... that explains a lot about my users...
  • edited March 2014
    I did not see that feature - I wish I had!! - but my phone loaded Twitarr SOOOOO slow that I basically avoided having to deal with swapping screens whenever possible. Going between the main view and Seamail was bad enough. :-P 

    (I'm not blaming this on Twitarr, just to be clear! I have a Droid 4, and was using the default browser (Chrome), which it seems was causing problems for other people, so I'm pretty sure the performance issues I was experiencing were primarily device-related)
  • Re: sort by latest post vs by latest comment. I think that's one of those things where completely valid use cases exist for both options, and one option by itself alone will always fall a bit short.

  • I dont think the disconnect issue was.limited to..Samsung. I could not get into Twitter much and when I did I got booted afer a few moments to minutes. If I got on I was auto logged in but I just could not get in sometimes after 10-15 tries in a row so I gave up often. I tried to tweak settings to no avail tho I cannot recall what all I tried. If booted out I usually could not get back in easily. I have a Droid (Droid3 I think) and Android 2.3.4 i got glimpses of Twit-aaar but felt I missed out on things like meetups a lot.
    I thought it was server capacity but now not so sure.
  • I can pretty much guarantee it wasn't server capacity. I was running performance monitoring on the server and it was coasting along at 10-15% CPU. Nothing I saw on the cruise ever indicated to me that the server was ever stressed.
  • edited March 2014
    Yeah.  I found some stuff talking about the disconnect-detection in Android and it's not just a Samsung thing, although apparently Samsung made it pickier than stock Android.  I want to dig into the code a bit and see what it does to attempt to detect bad connections, maybe we can have the proxy respond to it next year.

    @Sparky1961 Although, Android 2.3.x doesn't even have the detection code (it's new in Android 4.x and Samsung tweaked it in 4.3) so your issues might have just been more general wifi ones, or a device-specific problem.
  • I never had any connectivity or performance issues on my iPhone (other than when the wi-fi wasn't letting anyone connect, which happened on two nights).
  • @Kvort_the_Duck: Current phone is a Samsung Epic 4G (the last of the "real keyboard" phones), running Android 2.3.6 and the old (not Chrome) Android browser. I tried to load Chrome onto it, in fact, and have been told by the Google Play store that it's "not compatible with my device".

    In any event, by the next cruise, I'll either have a Galaxy S4 on 4.3 or an S5 on 4.4, and will have lost my beloved slide-out keyboard forevers and evers, so don't waste any time trying to support my ancient platform.
  • Yeah, I am seriously considering dropping support for Android 2.3.x phones in CruiseMonkey for next year.  They are a total pain in the butt development-wise, and most of the tools I'm trying to use have moved on from supporting it.  And there are very few Android 2.x users left.
  • (I should note that my phone is a Motorola Droid 4, not a Samsung, as I shall also be clinging to my slide-out keyboard until they pry it out of my cold, dead, hands)
  • Out of curiosity, did we get/keep logs that could report the percentage of different types of devices trying to connect over the week?

    I even tried to connect with my PS Vita once, just to see, it seemed to be having some problems with interacting with buttons on the page, but I didn't give it more than a couple minutes of tinkering.

  • @mikesphar that's a good question... if we're logging user-agents we should be able to tell...
  • I'd like to be able to see a list of who liked a post. I'd also like to join the Dev team. I'll see about logging onto freenode when I get home. I have an account but haven't logged on in some time.
  • edited March 2014
    @kvort_the_duck and @RangerRick totally understand if you can't support 2.3.4 next time. I would love to get an update..surely at least the next iteration would work on a Droid3. It is annoying to have a phone which to me feels a relatively short time..4+ years.and which is not cheap even w subsidy until end of model life..start to feel obsolete. I.know its tech but...ah well. I dk why I kept having problems but c'est la vie. CM was easy to connect fyi. Thanks for working with those of us who don't try to keep up with the latest so fast pre-cruise! It's pretty cool to have these.
  • @Sparky1961 - the reason I used a web client is because in theory it should be more cross-compatible than an app. 

    Unfortunately I don't have a 2.X device and didn't know there were issues until about a week before the cruise. I actually did some work in that last week in trying to make it display correctly, and I thought I had fixed most things (although I broke iPhone slightly in doing so - *le sigh*)

    I'm working on getting Twit-arr back up in read-only mode. Once it's back up if you could try logging on and seeing if you have the same problems you did on the boat - that'll tell us if it was a problem with the network or with the browser itself.

    @Jenipurr - Twit-arr is VERY javascript-heavy, which means that much of the UI was being run on the client (i.e. your phone). On slower devices it's kind of painful, but by the time I realized how bad it was I was committed. 

    One of my goals for next year is see what I can do to make it run better on slower / older devices. I'm starting to think that Ember is not really mobile-friendly, which makes me sad because I really enjoy the framework.
  • @mikesphar
    I used my PS Vita to access Twit-arr the entire cruise, and the only trouble I typically had was that the view more/older posts button didn't always work until later in the cruise.  Otherwise all the rest of the functionality worked fine for me, from Sea Mail to (surprisingly) posting photos.
  • That reminds me, if this hasn't been said already, if there are going to be OS version restrictions and recommended browsers and such, I would kindly request that adequate attention to these things be drawn before we depart.  I didn't notice the browser recommendation on the picture page until I was well outside of data range.  On that note, picture uploads did not work with Dolphin, if you're collecting such information :)
  • @Icemage - That had to be a javascript issue, because I didn't actually change any of the paging code during the cruise. That is a great data point for me for next year though - thank you.

    @Thalandor - it was mentioned several times in the twit-arr thread, I think it was posted on the FB group, and it was in the known issues for the twit-arr instructions passed out in the Seamonkey newsletter on the first day. It could have been broadcast a little better, but I don't think anyone really realized how much more people were going to be using Twit-arr this year (I had hoped). I think in the previous years it was more something on the side, whereas this year it seemed to be a crucial tool for much of the population.

    Statistics (just got them):
    511 user accounts
    2820 seamails (including the %#@*ing duplicates)
    2671 posts
    671 photos uploaded

    Considering as it was a six day cruise, the network was down for a full day, and many devices either weren't compatible with the network or the site, I'm completely blown away by those numbers.

    Having people use your software is what passes for applause when you're a software developer, and I'm truly amazed by this. There's certainly room for improvement, and I promise that it will be better next year, but for an initial software deployment, this is really good.  :)
  • edited March 2014
    Twitarr is back up in read-only mode at 


    I changed the DNS this afternoon, so it may be a few hours before it reaches the dark corners of the internet, although it's resolving for me already.

    You can still log in, so if there are seamails you wanted to view you can do so. You can also archive seamail because the little icon is annoying. Other than that, you shouldn't be able to change anything. Please let me know if you can.  :)
  • To the Twitarr/Network Monkeys:

    I need your assistance in determining the best method of setting up a media share for next year. The last 2 years I attempted to utilize my own external hard drive to store off and share with others my videos (and anything else people have captured and want to share). That has had mixed success due to mostly luck on my part in it not being wiped out by mistake, lack of a backup in case that happens, and being mostly a bottleneck due to only allowing one person plugged in at a time to access or update the footage. What would be the best way on the ship that we could set up a better station where people could upload and read at the same time, with pretty decent speed, and have the files once written be read only and backed up periodically to avoid lost data? I'm willing to invest in a bit of equipment for that if need be, but hoping it can be coordinated with the other server activities (not expecting it to add to the network strain of the intranet on board, but maybe as a local hub or wifi point local to the game room).

    Let me know what you guys think. We have a year to plan. Not sure if we possibly need a different thread to discuss (or if one already exists and I overlooked it for next year's planning).

    Thanks,

    Roop
  • @mjpm - Sounds like the old /incoming folder for anonymous ftp sites. Basically the files are write-once. Brute force would be to set up a small web server to do the same thing and wire it into a cheap router. If you have the web server list files from disk then you basically have a read-only version without hardly any work.

    The downsides are you'd have to bring server and router and that people would only be able to download a couple of files at a time. Most laptops come with a place where you can attach a special lock to the frame - so you could secure the server...

    I didn't find much from a quick search of the web. Guess there's not much market for a media server with anonymous upload.  :(
  • I do have a second laptop that I could bring to serve files. If we hooked it into a gigabit router we could get multiple people using it for downloads at any given time. I don't know if we can find easier software for file transfer, though. I hesitate to tell someone to connect to \\server\share...
Sign In or Register to comment.