|
|
|
|
|
by mwcampbell
4872 days ago
|
|
> My only allegiances are to user experience and the quality tooling necessary to ensure it. The web as-is provides neither. You assert this, but you haven't provided evidence. Web application developers are providing great user experiences. What tools do you need to provide a good user experience that the web as it is now doesn't have? |
|
Are you serious, or are you really just that out of touch with how we work on desktop and mobile apps?
> What tools do you need to provide a good user experience that the web as it is now doesn't have?
- Performance, performance, performance, performance.
- Performance.
- The ability to use the right language for the job. The right language isn't the right language if the performance is pot, so no, Emscripten isn't a solution. I'm talking about everything from exposing SIMD intrinsics when writing time-critical software to languages that actually support compiler-checked type-safety.
- Performance.
- Common widget toolkits providing a common user-experience across applications, from which users can learn platform conventions and be immediately comfortable and familiar with an application. These toolkits allow us to reinventing the wheel every single time. No, bubblegum and spit collections of JavaScript and CSS are not the same thing.
- Standard library which provides the functionality necessary to conform with platform exceptions and integrate with the platform.
- Tools. Debuggers, compilers, and most especially, profilers and deep instrumentation.
- Platform integration. This isn't just "cameras". It's also the iTunes/Media query APIs, in-app purchase, airplay, spotlight plugins, quickview plugins, menu items, and the mountain of other things that platform vendors implement to provide an integrated and coherent experience. Platform vendors push forward the user experience by providing richer platforms. Web vendors don't.
- Unification of code, UI, and styling. The DOM has to go, as does CSS and JS as separate entities. It's a ridiculous model for UI development and it makes producing genuinely re-usable and interoperable component toolkits very difficult.
I could probably go on all day. I WANT a non-proprietary, open, standardized application platform, but I need a platform that lets me provide the best available experience to end-users, and the web isn't it. I'm writing my software for my customers, and choosing technology over user-experience doesn't do my customers any favors.