Hacker News new | ask | show | jobs
by pcr910303 2507 days ago
> Before Win8, most apps used native controls on Windows.

Yeah, it's true but the problem is that the native controls were very limited. There was no central notification system so every Windows messaging app reinvented notifications(unlike macOS which converged to Growl and later, the Notification Center), no standard Ribbon Menu widget (at least when it was first introduced, I'm not sure about the current status) so everyone reinvented it, e.g.

> Then came Windows 8 and Windows 10, trying to converge PCs and phones. They screw up the UX.

This is so true... Windows 8/10 has a such mixed up UX that some system components are using the new 'metro' style while some others are old Win32 ones that don't support HiDPI... And, (while currently not true) Windows 10 had two settings app that worked differently for a few years. :-(

1 comments

> There was no central notification system… no standard Ribbon Menu widget

True, but if MS wanted to, they could have added both to the old ecosystem, without jumping ship.

They had mayor parts of notification system already, Shell_NotifyIcon API from Shell32.dll. They were adding more features to NOTIFYICONDATA structure with every OS version.

They did release ribbon widget; it just took them a few years. Introduced in Office 2007, the widget is from Win7 i.e. 2009: https://docs.microsoft.com/en-us/windows/win32/windowsribbon...

Additional tidbits about Shell_NotifyIcon: it still works now, it gets automatically mapped to a UWP toast notification
They (VS team) licensed the ribbon control from the 3rd party company. The Office team didn't share the original one with them :)
I don’t work for MS but I think the reason why they did not, it was hard to do, not because they didn’t want to share.

That’s quite complex UI and UX in that control. Very likely, the office implementation is coupled too tight with the rest of the office code, i.e. very hard to refactor into a reusable control. The office is cross-platform, their implementation of ribbon has to be designed to work on OSX too, contributing to the complexity.

Given just what was visible to Office Extension Developers ("RIBBON XML", the giant pile of C++ MACROS, etc), the original Office Ribbon control was probably quite a complex beast.

On the other side: the new "Simplified Ribbon Control" that is in now in OneNote (the real one, not 2016) and Outlook (and eventually the rest of Office) is supposed to be the exact same code as the UWP/Fluent Ribbon that is eventually going to be open sourced into the WinUI library.