|
lord funk posted:PLR3YPWFF79F
Doctor w-rw-rw- fucked around with this message at 23:25 on Jun 13, 2014 |
# ? Jun 13, 2014 23:18 |
|
|
# ? Jun 1, 2024 06:00 |
|
This is an Xcode question rather than a development question, but is there any way I can get Xcode to follow my indentation, like Visual Studio does? For example, both Xcode and VS will want to indent after this: C++ code:
C++ code:
|
# ? Jun 14, 2014 03:39 |
|
Doctor w-rw-rw- posted:Taken. Looks good enough that I'm going to be brutal. Things already on the to-do list (more specifically, the for-gods-sake-ship-it list): Doctor w-rw-rw- posted:
Clarification: quote:[*]App startup: I see the title card but there's zero visible activity, so I can't tell what it's doing. I had to force quit and restart to see anything. quote:[*]Load tab: The drawer for the performance is kind of weird, and non-obvious. quote:[*]Performance tab: Are you using UIView animations to animate the dots to the UITouch locations? The lag is noticeable. Why not just follow the touches exactly? quote:[*]The alert icon in the hamburger popover responds to touches but it doesn't actually do anything, and touches that miss it fall through to the patch table view cell underneath. quote:[*]There's a lag when selecting colors. This should not be expensive. Are you implementing it with NSNotificationCenter or something? quote:[*]General UI complaint: you don't use color at all to highlight the changing numerical values when the sliders are active, so it's harder to notice the actual change. Brighten up the number or something. quote:[*]Help: Your sharing video zoomout is too slow. Also the video view animates in from the right position, but animates out to 0,0. Can you do anything about that? quote:[*]Performance: It stutters. Are you using CAReplicatorLayers for some of the super-repetitive geometric shapes? You may be able to greatly reduce the number of layers/views displayed if not. quote:[*]Are you really using no software that requires disclaimers/licenses to be called out? BIG THANKS for taking the time to put this list together. All the issues are in my queue now. Really, really appreciate it.
|
# ? Jun 14, 2014 05:22 |
|
lord funk posted:Did it really hang completely on startup? I have a 1.5 second delay before an activity indicator appears. I put the delay in because it loads quick enough on recent iPads that it looks silly when it starts immediately. lord funk posted:I know, it was the same in the other app. I don't know how to call attention to it other than: the soft elbow arrow always means 'draggable' in the app. lord funk posted:OpenGL, and I don't know what you mean by follow exactly. Updated touch locations are drawn in the next GL frame. My OpenGL work is admittedly mediocre, but I'm not sure I'm significantly behind the normal screen lag. You can see a noticeable lag between touches and the responsiveness of the touch indicators. lord funk posted:What's expensive is the actual app color change that happens beneath it. The background gradient is not a gradient layer, it's done in OpenGL to match exactly what the Performance screen draws. An image is saved for the non-Settings screens to call up. I'll work on getting it out of the way of the interface. lord funk posted:You're referring to the Settings / Utilities slider values? The Patch output slider values do invert the textfield / text color while sliding. I'll get the tableview versions up to speed. lord funk posted:Mediocre OpenGL programming on my part. Bad enough that I have a 'Reduced Drawing Mode' setting to get the responsiveness up. Having that scrolling UILabel message list really doesn't help things either.
|
# ? Jun 14, 2014 06:36 |
|
Doctor w-rw-rw- posted:Yep. Straight-up hung, and there was no spinner to indicate the app was 'thinking'. quote:http://tinypic.com/r/2dlu9z/8 (apologies for the tinypic link and their lovely transcode, didn't know where else to upload it; I don't upload to YouTube) Re: color change: on further review it probably is an NSNotification slowdown (as you suspected) for the app-wide color changes. Re: label updating: it is just an animated alpha. Instruments says that the NSString formatting is the biggest processor hit, but it's the main thread blocking of setting the labels that can cause the graphics to stop updating. This happens when there are hundreds of messages being pushed, and I haven't implemented a ceiling / cap to prevent it yet. One thing you didn't mention (maybe it just wasn't clear you could do it) was the patch dragging from the Load / Share tableview into the group folders in the Organizer view. It's how you collect / tag patches so you can quickly pull up a folder in the Performance view with just the patches you want. Implementing that cell dragging was a fun challenge.
|
# ? Jun 14, 2014 16:17 |
|
Does anyone here use a simple static blog or whatever for their app site? Any recommendations? I can't stand keeping up with stupid wordpress updates and I realize that I just need a simple/easy way to communicate with my customers. I don't think anyone buys my app based on the website, so I'm trying to cut down on the "non-development BS" tasks.
|
# ? Jun 14, 2014 19:08 |
|
Ender.uNF posted:Does anyone here use a simple static blog or whatever for their app site? Any recommendations? lord funk posted:I see it. It's slightly worse than standard screen latency. I will look into it. The challenge is to make sure there is no timing hit for the MIDI / OSC messaging. In the end it's an audio app, and those messages get precedence over graphics. Also, heh, yeah, I actually guessed you were probably using NSNotifications *because* of the pause. It's a pretty big main thread blocker and small operations will add up a lot. lord funk posted:Re: label updating: it is just an animated alpha. Instruments says that the NSString formatting is the biggest processor hit, but it's the main thread blocking of setting the labels that can cause the graphics to stop updating. This happens when there are hundreds of messages being pushed, and I haven't implemented a ceiling / cap to prevent it yet. lord funk posted:One thing you didn't mention (maybe it just wasn't clear you could do it) was the patch dragging from the Load / Share tableview into the group folders in the Organizer view. It's how you collect / tag patches so you can quickly pull up a folder in the Performance view with just the patches you want. Implementing that cell dragging was a fun challenge.
|
# ? Jun 14, 2014 19:49 |
|
Ender.uNF posted:Does anyone here use a simple static blog or whatever for their app site? Any recommendations? Jekyll. You can put your site on a cheap VPS, static sites don't have much overhead or need much CPU power.
|
# ? Jun 14, 2014 20:14 |
|
edit: n/m
|
# ? Jun 14, 2014 20:24 |
|
LOL at whoever left this amusing warning in the code at Apple:quote:*** -[__NSCFCalendar components:fromDate:]: date cannot be nil I swear, this is 100% copy/paste what the message prints.
|
# ? Jun 14, 2014 21:26 |
|
Ender.uNF posted:LOL at whoever left this amusing warning in the code at Apple: I can almost see the thought process. Someone said "this ought to throw an exception", then it broke ten thousand internal apps and beta versions, so they begrudgingly changed it back.
|
# ? Jun 14, 2014 21:31 |
|
Apple typography experts: If I have a button whose font is set to Helvetica and I set its title to be a string that uses, say, Japanese characters, iOS is smart enough to find the font that it should use to render those characters. But if none of the installed fonts have the glyph it needs, usually I get something like a boxed question mark, or a boxed alien head. Is there any API, like in Core Text maybe, that lets me say "given this character, can any font render it or will I get the placeholder character," so that I can take some other action? There seem to be various glyph-info-related APIs here but I think they assume that I already have the font I want to check, and iterating over all fonts in the system seems like the wrong way to go about this.
|
# ? Jun 16, 2014 01:06 |
|
Flobbster posted:Apple typography experts: If I have a button whose font is set to Helvetica and I set its title to be a string that uses, say, Japanese characters, iOS is smart enough to find the font that it should use to render those characters. But if none of the installed fonts have the glyph it needs, usually I get something like a boxed question mark, or a boxed alien head. http://stackoverflow.com/questions/20735902/how-can-i-find-a-font-that-contains-a-given-character How do you propose to check without iterating over all the fonts in the system? Do it once per iOS version and take note of the results. Hardcoding to the entire platform and version - 1 seems pretty safe to me.
|
# ? Jun 16, 2014 01:14 |
|
Doctor w-rw-rw- posted:http://stackoverflow.com/questions/20735902/how-can-i-find-a-font-that-contains-a-given-character Thanks, I'll look into that -- it looks like UIFontDescriptorCharacterSetAttribute and matchingFontDescriptors... do what I need. When I said that I didn't want to iterate over all the fonts in the system, I meant that I was hoping to take advantage of whatever tables the OS might have already built internally, instead of iterating over the fonts myself. I think this will do the trick.
|
# ? Jun 16, 2014 02:09 |
|
General beta timelines indicate that we should probably see Beta 2 today or tomorrow, correct? I've really tried to be a good Apple dev and make detailed crash reports for everything I've been seeing but this Beta 1 has made my phone near unusable My phone has been crashing back to the apple logo after about ~12-15 minutes of straight usage (Podcast playback, Safari browsing, anything that keeps the phone active) consistently so I can't wait to see if the new beta fixes this issue. It's been strange because everyone else on my team who installed the Beta has said it's been the most stable Beta 1 they can remember, but this has been much worse than the iOS 7 Beta for me.
|
# ? Jun 16, 2014 18:46 |
|
lmao zebong posted:It's been strange because everyone else on my team who installed the Beta has said it's been the most stable Beta 1 they can remember, but this has been much worse than the iOS 7 Beta for me. The iOS 7 beta was so, so bad.
|
# ? Jun 16, 2014 18:58 |
|
The 7 beta was what made me stop installing beta OSes on "production" devices.
|
# ? Jun 16, 2014 20:01 |
|
lmao zebong posted:It's been strange because everyone else on my team who installed the Beta has said it's been the most stable Beta 1 they can remember, but this has been much worse than the iOS 7 Beta for me. Seconding that this is one of the more stable Beta 1s. It's not something I'm even close to putting on a carry phone, if only because it's doing the typical "beta eats your battery" deal. I'm actually noticing way more issues with 3rd Party apps than anything else, which is why I'm hesitant to put it on anything I have to use regularly.
|
# ? Jun 16, 2014 23:45 |
|
What's the standard way to register for scroll events within a UIWebView such that they're fired during finger-down-pan as well as during flick scrolling? scroll only fires when a flick scroll is finished, not during, and I've just cargo culted my way to registering for tapmove and gesturechange (!) based on random blog and Stack Overflow posts. I'm concerned that I'm going to miss some cases (meaning in my case that lazy loaded images won't be), and it definitely seems like overkill to watch all 3.
|
# ? Jun 17, 2014 00:40 |
|
lmao zebong posted:It's been strange because everyone else on my team who installed the Beta has said it's been the most stable Beta 1 they can remember, but this has been much worse than the iOS 7 Beta for me. While I will say it's the best beta 1 I've ever used it has a fuckton of bugs. The good news is that almost every single one I submitted has been marked as "duplicate" so I have faith that they will get fixed. A little faith.
|
# ? Jun 17, 2014 01:39 |
|
Subjunctive posted:What's the standard way to register for scroll events within a UIWebView such that they're fired during finger-down-pan as well as during flick scrolling? scroll only fires when a flick scroll is finished, not during, and I've just cargo culted my way to registering for tapmove and gesturechange (!) based on random blog and Stack Overflow posts. I'm concerned that I'm going to miss some cases (meaning in my case that lazy loaded images won't be), and it definitely seems like overkill to watch all 3. Not sure I understand properly. Would adding an action/target to the webview's pan gesture recognizer property (they're public now) work? Alternatively, if you have a custom gesture recognizer class, like say, a directional pan gesture recognizer, you could add that to the webview, set your custom gesture recognizer's delegate to whatever class is handling it, and allow the pan gesture recognizers to recognize simultaneously. You might have to toggle off/on the webview's pan gesture recognizer to cancel it, though. EDIT: Oh, you mean registering from Javascript? Not sure about that. Seems like it would eat up the main thread if it had to feed real-time scrolling info into a webview. Doctor w-rw-rw- fucked around with this message at 01:54 on Jun 17, 2014 |
# ? Jun 17, 2014 01:48 |
|
Doctor w-rw-rw- posted:EDIT: Oh, you mean registering from Javascript? Not sure about that. Seems like it would eat up the main thread if it had to feed real-time scrolling info into a webview. Yeah, from JS. Wouldn't be more expensive than the motion events that get sent, which turn out to cover the majority of scrolling, right? They only have to be dispatched if there are listeners, since they don't really propagate IIRC. I will experiment, and/or read some WebKit code and hope it's representative!
|
# ? Jun 17, 2014 02:20 |
|
Edit: network error double post. I'm on a roll today!
|
# ? Jun 17, 2014 02:22 |
|
Subjunctive posted:Yeah, from JS. Wouldn't be more expensive than the motion events that get sent, which turn out to cover the majority of scrolling, right? They only have to be dispatched if there are listeners, since they don't really propagate IIRC. I found something called requestAnimationFrame in my googling. If that's a dead-end, you're probably out of luck unless you make the pan gesture recognizer execute Javascript in the web view's context, but that will also be expensive because of the bridging you'll have to do. What are you trying to do, specifically?
|
# ? Jun 17, 2014 04:17 |
|
Doctor w-rw-rw- posted:As far as I know, scrolling is optimized by changing the run loop mode to one that does a couple fewer things to save CPU. Ever noticed that animated gifs stop running while you're scrolling? That's the system saving itself work so it can keep scrolling smoothly. While you're absolutely right about the main thread run loop and that gifs stop animating in webviews during scrolling, there's no cause and effect there. Gifs only stop when the webview's scrollview is scrolling. Other scrollviews have no effect.
|
# ? Jun 17, 2014 04:58 |
|
requestAnimationFrame is a setInterval replacement, won't really help. I'm loading and unloading images as they scroll in and out of the viewport, so I want to be able to do so even mid-scroll. I don't care if it's composited immediately, so being behind a frame or two is fine (though 16ms is a lot of time for dispatching DOM events). All the UIWebView/WebKit machinery runs off the UI thread anyway, doesn't it? Anyway, I can do it with the heady cocktail of scroll, tapmove, and gesturechange, so it's willing to dispatch frequently enough, I'm just hoping for something cleaner and/or more efficient.
|
# ? Jun 17, 2014 06:52 |
|
Subjunctive posted:requestAnimationFrame is a setInterval replacement, won't really help. Subjunctive posted:I'm loading and unloading images as they scroll in and out of the viewport, so I want to be able to do so even mid-scroll. I don't care if it's composited immediately, so being behind a frame or two is fine (though 16ms is a lot of time for dispatching DOM events). All the UIWebView/WebKit machinery runs off the UI thread anyway, doesn't it? Sounds like you've got the right idea. Here's the documentation for the events WebKit appears to support: https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariJSRef/_index.html
|
# ? Jun 17, 2014 08:00 |
|
Doctor w-rw-rw- posted:While UIWebView obviously has a main thread affinity, WKWebView actually runs in an entirely different process, so that's not totally right. Right, sorry, I was imprecise. It means that the JS processing wouldn't affect the UI thread's ability to stay in its frame budget. WebKit-rendered effects might not be able to be 60Hz, but that's OK for what I'm doing (trying to do). Doctor w-rw-rw- posted:Sounds like you've got the right idea. Here's the documentation for the events WebKit appears to support: https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariJSRef/_index.html Yeah, unfortunately those events don't fire during inertial deceleration. I think I have to go to the native side and bridge the delegate's methods myself or do all-JS scrolling takeover. I'll take a flyer and try in the webdev thread too.
|
# ? Jun 17, 2014 16:00 |
|
Looks like Beta 2 just got posted to the developer portal.
|
# ? Jun 17, 2014 18:10 |
|
lmao zebong posted:Looks like Beta 2 just got posted to the developer portal. Nice. Hope I can run edit: nope lord funk fucked around with this message at 21:53 on Jun 17, 2014 |
# ? Jun 17, 2014 21:24 |
|
In Yosemite, is there any standard API in NSWindow or NSToolbar or whatever to place the toolbar side-by-side with the traffic light buttons like they are in Safari/Xcode/etc, or do we still have to use something like INAppStoreWindow?
|
# ? Jun 18, 2014 00:15 |
|
dizzywhip posted:In Yosemite, is there any standard API in NSWindow or NSToolbar or whatever to place the toolbar side-by-side with the traffic light buttons like they are in Safari/Xcode/etc Yes.
|
# ? Jun 18, 2014 01:12 |
|
Nipplebox posted:Yes. Can...can you tell me what it is? I didn't see anything when I looked through the NSWindow/NSToolbar APIs. Edit: Nevermind, I found it in the API diffs. You have to set NSWindow's titleVisibility to Hidden. dizzywhip fucked around with this message at 02:12 on Jun 18, 2014 |
# ? Jun 18, 2014 01:33 |
|
dizzywhip posted:Can...can you tell me what it is? I didn't see anything when I looked through the NSWindow/NSToolbar APIs. It was also covered in the Yosemite WWDC videos.
|
# ? Jun 18, 2014 02:30 |
|
Nipplebox posted:It was also covered in the Yosemite WWDC videos. Ah, yeah I watched them but I must have forgotten that part.
|
# ? Jun 18, 2014 02:57 |
|
I am SO HAPPY right now: UITouch majorRadius is finally an exposed property in iOS 8! I'm seriously giddy right now. We can finally use this for music apps. No kidding: every single music app will have this implemented once word finally spreads.
|
# ? Jun 18, 2014 15:07 |
|
lord funk posted:I am SO HAPPY right now: UITouch majorRadius is finally an exposed property in iOS 8! I'm seriously giddy right now. We can finally use this for music apps. No kidding: every single music app will have this implemented once word finally spreads. Does this mean that the iPhone touchscreen is now effectively pressure-sensitive?
|
# ? Jun 18, 2014 15:30 |
|
haveblue posted:Does this mean that the iPhone touchscreen is now effectively pressure-sensitive? Good enough to fake it, yes.
|
# ? Jun 18, 2014 15:52 |
|
lord funk posted:Good enough to fake it, yes. I tried making a (admittedly crude) test app after you mentioned it and the accuracy seemed pretty low. I guess you could combine it with some heuristics about how the touch point is moving around, but as for purely reading the radius it didn't seem like you'd be able to do a lot
|
# ? Jun 18, 2014 20:17 |
|
|
# ? Jun 1, 2024 06:00 |
|
Froist posted:I tried making a (admittedly crude) test app after you mentioned it and the accuracy seemed pretty low. I guess you could combine it with some heuristics about how the touch point is moving around, but as for purely reading the radius it didn't seem like you'd be able to do a lot It's enough to do this (t=0:16): https://www.youtube.com/watch?v=ybGB5sr5JM8&t=16s
|
# ? Jun 18, 2014 20:26 |