Recent Updates Page 2 Toggle Comment Threads | Keyboard Shortcuts

  • Eric 8:25 pm on November 29, 2012 Permalink
    Tags: branches, ,   

    Since the in-app-sounds branch has been merged to trunk I’ve deleted it. While I was at it, in the name of tidying up a bit, I’ve removed a few other branches that were either empty or obsolete:

    I thought there might be something we might want to come back to in the flurry and hybrid branches so I’ve left them alone. I’m not sure what the sideswipe branch was for so I left it as well.

    I wanted to remove the numbered version branches since we have tags for all our releases, but it looks like the revisions don’t match their counterparts under tags so I held off. Is there a reason to keep these?

     
    • Koke 11:18 am on November 30, 2012 Permalink | Reply

      sideswipe was swipe to moderate comments. It should be all merged. IMO version branches can go too, I don’t think we’re going to ever use those. And I think you can always recover them since the history isn’t actually deleted from the svn repo

      • Eric 3:59 pm on November 30, 2012 Permalink | Reply

        Cool. I’ll finish pruning the branches then.

  • Koke 11:29 am on November 23, 2012 Permalink
    Tags: ssl   

    I added support for self-signed/invalid SSL certificates in [3700]

    Does anyone have a device with 4.3 to test that it works there too?

     
    • Koke 12:22 pm on November 23, 2012 Permalink | Reply

      Never mind, current deployment version is 5.0

    • Joseph Scott 5:45 pm on November 23, 2012 Permalink | Reply

      Bummer that iOS won’t remember the approval of the cert, but this is better than nothing. Thank you!

      • Koke 8:21 pm on November 23, 2012 Permalink | Reply

        Yeah, we don’t get any kind of certificate identifier, but we can get the raw DER data. Processing that is probably too much, but maybe we can store a hash and check that on the next session

  • Koke 4:06 pm on November 21, 2012 Permalink
    Tags:   

    Looking for trac workflow ideas. Since we’re moving to a feature based development, how should we manage tickets and milestones?

    Current problems:

    • 3.3 milestone has a lot of tickets related to notifications and visual editor
    • Trac has no bulk ticket management, so it’s a pain to move them one by one every time a feature is pushed back
    • Once a version is released, it’s nice to have every ticket fixed in the right milestone as reference for changes in that version

    In summary, considering that 3.3 is going to be Sounds + bugfixes, I’m having a hard time figuring out what’s important by looking at http://ios.trac.wordpress.org/query?status=assigned&status=new&status=accepted&status=reopened&group=status&milestone=3.3

    How do we manage this better for future releases/features?

     
    • Daniel Bachhuber 6:33 am on November 22, 2012 Permalink | Reply

      Trac has no bulk ticket management, so it’s a pain to move them one by one every time a feature is pushed back

      There’s a bulk ticket management plugin you can install. We have it for VIP Review Trac. @nbachiyski knows more.

    • Koke 12:27 pm on November 22, 2012 Permalink | Reply

      Until we get bulk management, I got this user style: https://gist.github.com/4130919

    • Koke 2:37 pm on November 22, 2012 Permalink | Reply

      I’m thinking of replacing the priorities list with this:

      • Security
      • Crash
      • Major: bugs that can cause data loss/corruption
      • Minor: bugs that generate confusion
      • Wishlist: everything else.

      Not sure about what kind of ‘defects’ would go into wishlist, but it’d be the priority for enhancement tickets.

      Thoughts?

      • Isaac Keyet 6:59 am on November 26, 2012 Permalink | Reply

        Not opposed to doing these, but we should change them across all the mobile projects if we do. It would probably make more sense to keep calling the lowest priority items “trivial” if we’re keeping “major” and “minor” though – but it’s just wording. Doesn’t matter all that much.

      • Brad 3:28 pm on November 27, 2012 Permalink | Reply

        I think there should still be a “blocker for release” priority. Then we should make sure all blocker priority items are closed before a release.

    • Koke 3:19 pm on November 22, 2012 Permalink | Reply

      Some new reports after the 3.3 milestone cleanup:

      • {16} Next Release: now uses the ‘Next Release’ milestone. Not so useful for planning, but still there
      • {18} Features in development: tickets assigned to components ‘Notifications’ and ‘Visual Editor’. Should be updated for future features
      • {19} Open defects: list of all defects grouped by priority, showing age, last time updated, and keywords
  • Eric 10:31 pm on November 16, 2012 Permalink  

    Preview: In-app sounds 

    Here is a quick preview of in-app sounds. The audio files in the app are pretty subtle so I tried to adjust for that for the video. You still might need to adjust your volume a little to hear them well.

    You will hear the pull to refresh, the roll-up, and the swipe sounds. In the iPad version you will also hear the discard sound when discarding a panel.

    What do you think?

     
    • Dan 3:36 pm on November 17, 2012 Permalink | Reply

      I think they sound good, my only concern is that the some of the sounds might occur too frequently, such as opening the sidebar on the iPhone. Would that get annoying?

      • Isaac Keyet 9:50 am on November 19, 2012 Permalink | Reply

        Maybe that’s something we can adjust in the future, too.

        We could switch the sidebar/panel opening sound with the little “tick” that’s currently for “refresh completed” though I suppose.

    • Koke 3:56 pm on November 19, 2012 Permalink | Reply

      I like it. The only thing that feels a bit too much is the sound for popping off panels on iPad

    • Stephane Daury 4:21 pm on November 21, 2012 Permalink | Reply

      So long as we can turn them off, I’ll be all set. Not a comment on their quality, I just can’t stand UX sounds. First thing I turn off on a brand new Mac, mobile device, camera, etc. :p

    • David Bisset 4:26 pm on November 21, 2012 Permalink | Reply

      Clicks are ok, although a quick whoosh (very quick) might work for the refresh. But agree 100% with Stephane – need to be able to turn all of these off. Maybe even off by default?

    • iNotes4You 5:45 am on December 3, 2012 Permalink | Reply

      I cannot understand the discussion about sounds.
      What is the benefit. Following Apple’s ‘iOS Human Interface Guidelines’ there is no need for sounds except when errors occur. It’s obvious that the user should be informed if the app is doing some time-consuming actions. But (sorry to say) if I want entertainment I use the music player.
      Sometimes I design or write my blogs in a coffee shop and I don’t want to disturb them.

      • Pranesh 2:56 am on December 5, 2012 Permalink | Reply

        You are right on! This is not essential and it’s not going to make any change to the user experience, unless if it’s something funny. But i feel the sounds are repetitive as we will be doing the same actions like clicking or dragging. Something new at each time could be refreshing..

  • Koke 11:48 am on November 12, 2012 Permalink  

    Just released 3.2.1

    What’s new:

    • Improved login for Jetpack Stats
    • Fixed multiple crashes
    • Updated translations: German, Hebrew, Croatian, Hungarian, Italian, Norwegian, Dutch, Chinese

    Full changelog

     
  • Koke 9:57 am on November 8, 2012 Permalink  

    Quick note: if you want to build trunk (starting with r3633), you need to open WordPress.xcworkspace instead of WordPress.xcodeproj

    Otherwise you’ll get this:

    ld: library not found for -lPods
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    See also: http://ios.trac.wordpress.org/ticket/1473

     
  • Isaac Keyet 1:33 am on November 6, 2012 Permalink
    Tags: celebration, milestones   

     
    • Eric 2:17 am on November 6, 2012 Permalink | Reply

      The demo app is also on all the iPhone 5′s on display at the Apple Store where I live. Fun to see!

  • Koke 7:19 pm on October 31, 2012 Permalink  

    Some random notes I took while doing bugfixes offline

    Why do we even have global reachability?
    Corner case, but I was trying to add a “localhost” blog to the simulator while offline, and couldn’t do it
    Some users report that they can’t moderate comments in 3.2 since the buttons are disabled. This uses per-blog reachability, but it seems it’s not working ok

    UIAlertView best practices:
    If you need to show an alert:

    • If it’s caused by user action, a local variable is OK
    • If you don’t set a delegate (just show a message), a local variable is OK
    • If the alert is generated as a response to a background event (e.g. AFNetworking failure block) and you set the delegate to ‘self’ because you want custom behaviour: store the alert view as an instance variable, and clear it’s delegate on dealloc

    + [ReachabilityUtils showAlertNoInternetConnectionWithDelegate:]
    I think it’s broken by design: you’re passing an object (usually ‘self’ as a delegate), but you receive no pointer to the object who’s going to have that delegate. So when dealloc happens, it’s impossible to set the delegate to nil

    Since it seems it’s never called from a block, we should be fine, but it still could be way better.

    Instead of passing a delegate and having to implement the alertView:clickedButtonAtIndex: method (BTW, delegate should have type id if that’s expected), the method could be something like – (void)showAlertNoInternetConnectionWithRetryBlock:(void (^)())retryBlock

    We should make a custom WPAlertView to implement “Need Help?”. Most of the code uses [WordPressAppDelegate showAlertViewWithTitle:message: so maybe try to extend that and use it everywhere, since the app delegate is not getting deallocated :)

    Move anything not critical to a secondary queue on applicationDidFinishLaunchingWithOptions: (see iTunes connect timeout crash)

     
    • Eric 3:39 pm on November 1, 2012 Permalink | Reply

      +1 for sharing.
      Could you talk a little bit more about the UIAlertView delegate not being able to be set to nil? Since the delegate is assigned and not retained I’m not seeing the issue. Is there something else going on that would make you want to explicitly set the delegate to nil on dealloc?

      I dig the idea to pass a retry block instead of a delegate reference.

      • Koke 3:53 pm on November 1, 2012 Permalink | Reply

        Check http://ios.trac.wordpress.org/changeset/3660/ for instance.

        User refreshes stats on a slow connection. While it’s loading, user switches to a different view and statsWebViewController gets released. The failure block on the network call keeps a reference to “self” so that’s still valid when the network call fails, but gets released (and deallocated) once the block ends. When the user taps “OK” on the alert view, it tries to call the delegate, but it’s not there anymore.

  • Koke 7:08 pm on October 31, 2012 Permalink
    Tags:   

    I’ve just pushed a bunch of commits that should take care of most of the crashes received through iTunes connect, and add stability in general. This was done on a plane, so I’d appreciate someone else looking at these changes and testing them

     
  • Eric 10:15 pm on October 30, 2012 Permalink  

    Status of App Sounds 

    There is currently a branch that includes in-app sounds.  Its a work in progress but its good for getting a feel for how the different sounds play in the app.  There are six sounds currently in the app.  Five of them are ones sent from @jmobb. The sixth one, the roll-up sound, is the reverse of pull sound — @ievolver and I thought it would be interesting to try that.   There are also two “success” sounds that are not currently used.  I think one would might be nice to play when there is an error alert.

    Below is a list to help make it easy to track what is being used where, and we make updates here when there are changes.  This list links to .wav files but the app uses .caf files. (Pro tip: turn up your volume!)

    • Pull to refresh triggered: snd_pull.wav – plays when a user has pulled to refresh and passed the point needed to trigger the refresh on release.
    • Pull to refresh released: snd_commit.wav – plays when releasing and triggering pull to refresh.
    • Pull to refresh finished: snd_rollup.wav – plays when syncing is completed and the pull to refresh header is dismissed.
    • Notification: snd_notification.wav – plays when receiving a push notification while the app is open.
    • Swipe to open panel: snd_swipe.wav – plays when swiping open the sidebar on the iPhone, or when switching panels on the iPad.
    • Pop off panel: snd_discard.wav – plays when tossing away a panel on the iPad.
    • Success 1: snd_success_1.wav – Not currently used. I think this would make a good sound to play when we show an error alert.
    • Success 2: snd_success_2.wav – Not currently used.
     
    • Eric 10:59 pm on October 30, 2012 Permalink | Reply

      I forgot to mention, the sounds for pull to refresh are only enabled for ViewControllers that inherit from WPTableViewController (posts, pages, and comments AFAIK). There is also some wonkiness with sounds playing in rapid succession when launching the app on the iPad. This is stuff we can sort out when we’ve got the sounds where we want them.

    • Koke 1:49 pm on November 8, 2012 Permalink | Reply

      Notification: snd_notification.wav – plays when receiving a push notification while the app is open.

      As long as the sound file is in the app, it can be used for regular notifications, but you have to send the sound filename to the APN

      • Eric 3:46 pm on November 8, 2012 Permalink | Reply

        Yep yep. Since we haven’t finalized the sounds still (?) it didn’t seem to make sense to add it to the APN yet. Also, IIRC the length of the sound file counts against the total size of the package so we may want to give it a shorter name.

    • Eric 4:49 pm on November 8, 2012 Permalink | Reply

      I shuffled some of the sounds around in [3680].

      The swipe sound now plays when pulling to refresh.
      The pull sound now plays when swiping panels open and closed.
      The commit sound now plays when pull to refresh completes (rolls up).
      The roll up sound is not being used.

    • Eric 2:34 am on November 15, 2012 Permalink | Reply

      I’ve updated the remaining pull-to-refresh views to play the pull and roll up sounds. AFAIK there are only things outstanding are: 1) everyone sign off on the current sounds or suggest changes 2) a quick clean up of the SoundsUtil class, rename any sounds than need renamed, and remove sounds that are not being used, 3) add the n.caf sound to the APNs.

c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel
Follow

Get every new post delivered to your Inbox.

Join 80 other followers