UIKit for the Mac
github.com
github.com
People keep bringing up how iOS is designed for touch and the Mac for mouse and keyboard, and how screen sizes are different and all that, but those differences can all be accounted for. Microsoft have shown it possible.
Why? Extend the Mac software ecosystem and allow for multi-paradigm devices, like the iPad Pro should have been.
Seems silly to have one set of API's for small touch devices and a completely different one for large mouse-driven devices. Shuts the door to large touch devices and small mouse-driven devices.
iPad Pro is already awkward. At that size, a mouse would be nice, along with lots of other desktop UX paradigms.
> What has Microsoft shown with their multi-paradigm direction?
Seems to be working. Windows Shell, modern Office, Edge, and Xbox dashboard are all using the same UI framework.
Since the introduction of iOS, Apple has seen a lot more growth and profits than Microsoft, and became the largest corporation in the world (by market cap).
I do think Microsoft's latest multi-paradigm devices (like Surface Pro), are gaining traction. But overall Apple has outpaced Microsoft while having different UI frameworks for mobile and PC.
Other criteria come pretty far behind that.
You'd be getting neither the benefits of native nor the benefits of cross-platform.
The differences between touch/mouse incarnations of basic components, such as lists, buttons, scrollviews etc. can often be resolved with adaptive design. Apple has already put the basics in place to allow for adaptive apps that scale from the smallest iPhone to the largest iPad. Doing the same for touch -> keyboard/mouse UI is not unthinkable.
I think the baseline toolkit could be the same, with some extra components for different form factors.
We're working on something like that (multi form factor UI toolkit) for Ubuntu, with Qt. Will see how far it goes.
No! No they absolutely don't!
Almost every Android app is clearly design for use on a touch device. Every aspect of the design is intended to be touch-first. That's totally fine – but the fact that they can be used with a mouse on a desktop does not mean that they work pretty well. The user interface paradigms are really very different.
The Mac has shown hints of iOS influence when looking at recent changes to NSViewController and the addition of other standard view-controller-based classes.
Realistically, though, I like Apple's separate-but-similar approach. I don't want Mac applications shoehorned in from iOS by lazy developers, I want applications that were actually written for the desktop.
I think pointing at Microsoft as having the solution to this problem is disingenuous. Modern Windows has had so many false starts, and I still feel their multi-modal devices are inherently compromised — jack of all trades, master of none.
I suspect Apple is perfectly happy to let Microsoft experiment with this until they figure it out (assuming they do). But from everything I hear they aren't quite there yet, and until they do, I'm happy that Apple is not using me as a beta-tester for such a 'universal interface'.
http://inessential.com/2015/02/05/uxkit_skepticism
(Found this by Googling UXKit, after reading about it for the first time in this discussion.)
Windows 10 is the first one where you can finally use the same APIs for the store, phone and desktop.
For example Studio is still 32 bits, for many reasons, one of them being third party plugins that no one is going to re-write.
Windows File Explorer and Edge are two UWP applications on Windows 10.
Having separate XAML for mobile, tablet and desktop is no different than responsive HTML, with the benefit of being native.
But what can I say, I love WinRT as it feels C++ Builder is vindicated.
Unfortunately, it seems the project's maintainers have mostly lost interest in the project (last push to Github in May 2014), but there's a few forks that have kept on. I maintained this one for a few years for our own uses:
https://github.com/toushay/Chameleon
Unfortunately, the company behind that fork, Toushay, went out of business last year so there won't be any further work done on that fork. There may be others out there that are still maintained.
But it worked, and it would have taken two to three months to get to that point from scratch. I should know, because I did from-scratch ports to other platforms and that's how long it took each time.
You can mix and match Chameleon (UIKit) and AppKit in the same application, so you can incrementally replace Chameleon with a "proper" solution. If you find that's important to you.
By sane default I mean something like: Tab Bar on IOS, Slidable Side Menu on iPad and regular side-panelMac OS.
UXKit has some issues, e.g you can't swipe back with the touchpad. So I take it has some work left before being a complete replacement of AppKit.
Could use something like this as using OSX's frameworks is so painful (creating list views with items of various heights is overly complicated)
This is speculation, unless you have inside information, UXKit could well be under active development - we don't know.