5 ms·
The point that resonates most with me is the smoothness and how pervasive this is in all the top ios apps. As a developer, I know where this is built-in (many
by harrisonjackson 7y ago
The point that resonates most with me is the smoothness and how pervasive this is in all the top ios apps.
As a developer, I know where this is built-in (many gestures and navigation components) and where other developers have spent extra time and attention on the details.
Jumping back and forth between xcode and android studio - it is SO SO SO much more enjoyable to develop iOS apps than Android apps. I cannot stand the emulators and the whole android development experience. If anyone out there disagrees and can point to resources to improve Android studio and emulator setup I would love a link.
- tasogare 7y agoAt some point Microsoft had an Android emulator for Windows based on AOSP which was way faster and nicer than the SDK one. I suppose it still exists but don’t know how up to date the available images are.
- bschwindHN 7y agoGoogle maps pans so much smoother on my iPhone SE than on a lot of the flagship Android phones from the past few years. I think most recently I compared it with a pixel 2. It was dropping so many frames compared to the iOS version which is really pathetic for a google app running on a google os running on a google phone.
- bobbylarrybobby 7y agoWeird, on my SE Google maps pans like crap, at least compared to Apple Maps (not that this contradicts your comparison). Google maps is hitting, I’d guess, 10FPS, whereas Apple Maps is getting something high enough to be indistinguishable from 60FPS (to me). I wonder why Google maps has such bad pan performance.
- sjwright 7y agoMaybe Google “fixed” the problem of google maps having better pan performance on iOS.
- bschwindHN 7y agoYeah apple maps still pans better. I tried again and google maps has some jank and goes down to around 30-45 fps. Still better when I compared to an android phone running the same thing.
- wsc981 7y agoMost Android devs I worked with just used a physical phone to test on and avoided the emulator altogether.
- harrisonjackson 7y agoThat is a great point - an actual device does work better during development than the emulator. Thanks!
- stefanfisk 7y agowhen I finally realized that I could just mount my phone on my desk like I do in my car my quality of life as an iOS dev changed completely. just having it there next to my magic trackpad is soo much smoother than trying to work the simulator.
- nottorp 7y agoYeah, I do Android dev like 25% of my time and I don't use the emulator. The downside is my desk is cluttered with Android devices for testing. Now IntelliJ... well, I think they only develop on NVMe SSDs. Android Studio works fine on my mbpro with the insanely fast proprietary SSD, but on my desktop with a SATA SSD the code completion takes ages to show up. Usually after I'm done typing whatever I needed completed. Never got around to learning iOS development so I can't talk about their tools. In spite of my personal phone being iOS :)
- habosa 7y agoI've been an Android user and developer for 10 years. THIS is the thing. Smoothness. Android claims it's equal between an iPhone and a flagship Android device but it's not even close. It seems Android just is not willing/able to admit this is a huge gap and address it.
- kccqzy 7y agoWhile I agree with your premise I think Google does want to address it. As early as 2012 there were efforts like Project Butter[0]. Whether or not these efforts are continued, is another question. [0]: https://www.androidpolice.com/2012/07/12/getting-to-know-android-4-1-part-3-project-butter-how-it-works-and-what-it-added/ https://www.androidpolice.com/2012/07/12/getting-to-know-and...
- skohan 7y agoI remember how bad this was in the early days. The first time I started working on an Android app after a half a year of iOS development, it almost seemed like a joke. If I'm not mistaken back then GC pauses were even a big factor in UI performance, which led to unpredictable hitches in responsiveness. I agree it's something Android should prioritize, but it also shouldn't be understated how big of a task this will be. Apple has invested a huge amount in this specific competency since the advent of OSX (and just look at the difference between mac os 10.0 and comparable versions of windows in terms of UI smoothness). Ask a game developer: making computer graphics workloads perform predictably is a very difficult task which requires art as well as science. Building a UI stack which enables that, as well as having a nice front-end to work with for developers, and integrating well with arbitrary application logic is more than just optimizing some systems here and there.
- pjmlp 7y agoIt would also help if many made proper use of UI render threads as well, which I admit following best practices on Android is a task on itself given how often they change.
- librish 7y agoThe developing experience I don't agree with. I find Android Studio (being essentially IntelliJ) so much better than xcode. I only use the built in emulator for smaller projects but what do you dislike about it? The things I miss in xcode are mainly command clicking everywhere to easily find call sites and follow application logic. xcode also feels less snappy. When I used it last you could not refactor swift code but I think that's been added now?
- neurostimulant 7y agoCompared to iOS Simulator, the android emulator is very slow and clunky. But on the other hand, unlike iOS Simulator, android emulator fully emulates a real phone with real hardware (camera, mic, etc), while iOS Simulator only simulates basic functionality and doesn't simulate many hardware api like camera access.
- sjwright 7y agoThe idea was that simulator was for fast-as-possible turnaround for most stuff, but you’d just use a real device wherever specific hardware behaviours are being developed. I get the appeal of a more “complete” emulator, but such things are never perfect anyway—best to not even pretend that they are.
- dep_b 7y agoIt could of course try to find an OS camera just like it allows you to "attach a hardware keyboard". Not sure why they didn't do it.
- megablast 7y agoAnd I disagree, I hate Studio, love Xcode.
- dep_b 7y ago> command clicking everywhere to easily find call sites and follow application logic Not as intuitive but it's there: ⌘+Ctrl+Shift+H > xcode also feels less snappy Not sure what you're doing in Xcode but as long as you evade using automatically updating live UI views it should be pretty snappy. > When I used it last you could not refactor swift code but I think that's been added now? Well there's a small handful of things now but Objective-C never had a ton either.
- jorvi 7y agoYou can get a lot of that smoothness by going to developer settings (on your Android phone) and setting animation speed to 0.75x or even 0.5x; When I still used Android that was the first thing I did and it instantly made Android feel much smoother.
- lultimouomo 7y agoI find Android Studio and the emulator the possibly only good things about Android development. My setup is simple, Linux, Ryzen 3600, 970evo SSD and 32 gigs of RAM. Not sure if the Linux part is relevant, but RAM definitely is; the experience on an 8 gig XPS13 is sluggish as hell.
- neurostimulant 7y agoThe default emulator performance is bad compared to iOS simulator, but fortunately there are plenty 3rd party emulators that can be used for android development (e.g. Nox, GenyMotion, BlueStack, Visual Studio Emulator), though recent version of official android emulator is supposed to be as fast as those 3rd party emulator. Maybe try to lower the emulator's resolution to speed it up.
- Snetry 7y agoInteresting to hear, I've only recently tried out Android Development and the Emulator that comes with Android Studio worked like a charm at full speeds
- neuronic 7y agoTo me, nothing on Android seems to work on full speed, ever and I am seriously wondering if I have developed some strange and unreasonable cognitive bias (which would be scary). You can go into a store 1 day after <XYZ> flagship release, try the hardware and have it stutter through menus like a Walmart PC trying to run Crysis 10 years ago. Huawei phones seem to be the only ones getting Android to feel somewhat smooth, much better than "vanilla". Not going to buy Chinese telco phones though. I like Android for some things but performance and feel isnt one of them.
- deanCommie 7y agoHTC U11 had the smoothest Android experience I've ever encountered. I "upgraded" to a Pixel 3XL, and it has been worse. (I've also had the HTC One and Nexus 6P) I just bought an iPad (regular, not pro) because I wanted a tablet and got tired of waiting for a good Android one. It's been infuriating to see just how smooth everything is on iOS compared to Android. Honestly, this alone is probably why laypeople prefer iPhones. They're not more intuitive anymore, they're not simpler or easier than Android. The Android back button is a game changer, and multi-tasking is better designed. But the butter smoothness...fuck.
- microtheo 7y agoReally? I've done the switch from a Pixel 2 to an Iphone 11 pro and while it seems a bit smoother, I don't get annoyed when I switch back to my Pixel.
- me551ah 7y agoiOS provides a simulator for development while Android SDK provides an emulator. Because of the added overhead of virtualization, an emulator is always going to be slower than a simulator.
- nottorp 7y agoTake care if you use a 3rd party build service, like with phonegap (may it die in a fire). The arm packages you get from that won't work in the iOS simulator, which needs a special x86 build.
- dreamer7 7y agoThe end-user experience is definitely better on iOS. Gestures are ideally suited for navigating a touch device, especially as phone sizes continue to grow. It's a shame that Android cannot implement swipe-to-go-back because it conflicts with the navigation drawer UI. But the development experience is not as impressive for Xcode. It is far slower than Android. Deploying an app to the Play Store is ridiculously fast and frictionless while deploying to the App Store feels like installing Windows XP
- harrisonjackson 7y agoFortunately, we automate all our deployments to the app store and playstore with fastlane. Reading through this thread it sounds like there are probably some config options to improve the emulator, but I cannot find a way to speed up studio vs xcode. It takes < 3 seconds to launch xcode and open a source file. Studio takes 15 seconds to open and even then it takes another 5-10 seconds before the UI actually unlocks.
- dreamer7 7y agoThanks for the pointer! Will to setup fastlane soon
- dan-robertson 7y agoiOS is smooth but not as smooth as I would like. The input-to-render latency matters a lot when dragging things and you can really feel it even though you probably wouldn’t notice the difference between 50 and 10ms of latency for something like a key press. See this video demonstrating what 1ms of latency looks like (and where they optimistically aim to have it in 10 years by 2022): https://www.youtube.com/watch?v=vOvQCPLkPt4 https://www.youtube.com/watch?v=vOvQCPLkPt4