A more pragmatic Microsoft is emerging…and I like it.

I’ve started giving the Chromium based Microsoft Edge on macOS a trial run and the first thing you’ll notice is how much of an improvement it is when compared to Chrome – I don’t know what Microsoft has done but it is more responsive, it feels a lot more light weight, It appears that Microsoft are really putting in the sort of effort that I wouldn’t have expected to see if it were the Microsoft of the past. An interesting part of the move to Chromium has been the recent announcement by Microsoft that they’re also going to provide Microsoft Edge on Linux as well which makes sense given Microsoft is offering Linux cloud hosting on their platform. It appears that Microsoft have finally realised where their strength resides – not in Windows (although that is an important part) but their middleware, services and cloud – something that the new CEO Satya Nadella has really honed in over the last few years.

Satya Nadella has had his critics such as the enthusiast crowd getting up ‘n arms because of the over culling off of products Microsoft as there was no longer the business case to further investment into it. For example, the never ending amount of money being thrown at Windows Phone/Windows 10 Mobile that never gained traction even with the millions thrown at at some point you have to admit the the opportunity to establish a platform of ones own has gone and one has to deal with the new reality that exists. The two platforms that exist are Android and iOS – let the two side beat each other up while making money from both sides of the conflict resulting in being able to come out on top regardless of who ends up winning.

There is also rationalisation of Microsoft product and service line up – Cortana for example is being scaled back to focus exclusively on the productivity portfolio rather than trying to be the catch all ‘everything to everyone’ that it has attempted to be ever since it was launched. Cortana is in the same situation where Windows Phone/Windows Mobile was, more or less, there was an opportunity earlier on to get in early but they were too late but Cortana, unlike Windows Phone/Windows Mobile still has value within their productivity portfolio. Making Cortana the AI front to allowing people to manage large amounts of data so that people can be more productive is a whole lot more effective goal than trying to be everything to everyone. When you narrow the goal of a product then you have a greater likelihood of success – you can hone in what you want to achieve and discard those which lay outside of that scope so then what you do focus on delivered without a laundry list of compromises in an attempt to please no one (but in reality no one ends up being happy)

It appears that there is a cycle in the IT world where businesses spread themselves really thin in a hope of being the ‘one stop shop’ but then quickly realise that in the process of trying to be everything to everything one the end result is a half baked experience for all concerned. This also manifests itself in the form of various parts of the business pulling the organisation in opposite directions in many cases resulting in an incoherent unfocused product line up and customers end up losing confidence in the business over the long term because the perception is that the business doesn’t have a coherent vision. Although Elizabeth Warren (presidential candidate for the Democratic Party) has talked about breaking up big technology companies, I sometimes wonder whether the market will do the job more effectively – Facebook is losing young people in favour of WhatsApp and Instagram, both of which are Facebook companies but over the long term the move away from the primary platform might force them to change their business model. There has been a new platform launched by the founder of Wikipedia which is a paid service – it might not get everyone but for those who are happy to pay for a service if it means that their privacy isn’t being invaded I could imagine fhat for some it would be a wealth refresh from Facebook and their monetisation model.

One more day to go

There is more good news in the form of macOS 10.15.2 beta which has bought back column browser to the new music application. It is good to see that Apple is taking onboard feedback in much the same way that the MacBook Pro 16” was released this week which addressed many of the complaints that were made about the MacBook Pro 15” unfortunately though the MacBook Pro 13” still has the old style keyboard rather than the new ‘magic keyboard’ that the 16” model has. The new Mac Pro is on track to be released in December but there have been some early sightings in high profile studios so it appears that things are progressing well in the Mac world.

It appears that Google has finally got the message – you cannot negotiate with carriers when are hell bent on refusing to accept that they’re merely a business that provides a pipe for users to utilise. In the case of Google they’ve launched their own RCS servers which will be made available to users in the United States. At this point I’m guessing but my impression is that they’re going to first negotiate with carriers and if that falls through then they’ll push through with setting up their own servers. Personally I think they should stop buggering around and just launch a global RCS service with end to end encryption – given the carriers refusal to get out of the way when it comes to Android updates I wouldn’t hold out much hope for things to change when it comes to RCS other than carriers doing everything they can to slow down the process of RCS adoption.

Have Apple dragged its feet when it comes to implementing web technologies?

Reading through Reddit I noticed that someone posted a link to an article talking about how Apple is undermining web based technologies (link), I wouldn’t characterise what Apple is doing as ‘trying to kill web technology’ as the article is entitled but one is rather concerned at the steps Apple is taking. I have to prefix this by saying, I am no fan of electron but it is important that it is in response to a genuine problem rather than simply there being a cabal of ‘lazy programmers not wanting to write native code’.

It appears that far too much of the replies focused on his complaint regarding the banning of electron because of its use of private APIs rather than focusing on why it is necessary to bundle the Chromium runtime in the first place – if Webkit was up to the job then why bundle Chromium? Here lies the problem, Apple has failed to implement all the technologies required to support PWA natively on Webkit so the end result is that, rather as in the case of Chrome where you can click on the three dots then go ‘install [insert name here] or click on the plus button in the address bar to install a PWA, developers are forced to go down the route of bundling Chromium with their application because Webkit is missing those key PWA technologies.

A bit of background to the iPhone, iOS and web based technologies. When the iPhone was first launched there was no SDK available for the platform because the original intention wasn’t a platform of native applications but rather than web based applications were going to be the future. When the iPhone was shown off there was a lot of focus on the browser performance, specifically, the performance of javascript since those immersive web applications were going to leverage javascript heavily to achieve an app like experience.

The iPhone was announced July 2007 but in October 2007 the first jail break was released thus giving enthusiasts the ability to write applications for the platform and given how similar iOS was to macOS a lot of knowledge was transferable between the two platforms. I can’t help but get the feeling that Apple never had intended to have a store (although the hardcore Apple aficionados insist that Apple always had some ‘master plan’ right from the start) but when they saw the enthusiast community start to create applications and enhancements they realised that they could create an ecosystem around it.

Now, at that stage I don’t think they ever thought of the AppStore as anything more than a means by which to sell more hardware, “here is our hardware and we have an AppStore to make life easier”, rather than a case of it being a business in its own right. I can’t help but get the feeling that over time the AppStore changed from merely being a conduit to provide a great customer experience into something that could be sustainable business in its own right. I’d say that started to kick in the moment when they required that all subscriptions had to also be sold through the store (announcement in 15 February 2011) which is the moment that they realised that they could turn the AppStore into something more than service provided as a means of convenience to sell more hardware.

The claim that many have made is there is conflict of interest between growing their AppStore while trying to also deliver a solid browser experience and as a result some have concluded that Apple is deliberately dragging of their feet every step from that moment on – the moment that they realised they could turn the AppStore into a low risk money spinner the incentive to keep investing into Webkit (to bring about full PWA compatibility). The side effect however has been that PWA developers that wish to submit their applications to the store are pretty much forced to rely on electron because of the lack of comprehensive PWA support natively, If Webkit was as feature complete Chromium then it would be possible to pull out the components (minus Chromium embedded) and simply run it on top of the Webkit that comes with iOS or macOS instead which would also gain the benefit of having a highly optimised browser engine at their core of their application.

As much as such explanations may make certain people happy the reality is that Webkit is continuously being updated on a regular basis but it is also kept in check by a policy (instituted by the project team) to ensure that any additions to Webkit don’t end up reducing its performance. He net result? Rather than the ‘lets fling code against the wall then come back to clean it up later’ which Google seems to have adopted with Chrome (which is based on Blink – a fork of Webkit) might have given them an edge when it comes to getting those features but it comes at a price. It is the same reason why Chrome was able to get to a multi-process model quicker because what they effectively did was spawn the same stack of processes over and over again for each tab that is opened bu the end result however is a browser that is considerably heavier than how Webkit developers went about delivering their multi-process model.

There is also reasons beyond performance concerns to concerns about the standards themselves for example if you have a look through the Webkit platform status (link) one can see a number of technologies that they’re not considering for a variety of reasons. One example of that would be HTML imports where the reasoning is as follows: “Multile browser vendors have raised concerns about how the HTML imports currently works. For example when it comes to HTML imports the Webkit developers have noted that “its dependency model is not fully compatible with ES6 Modules. We are exploring other ways to package web components by integrating into ES6 Modules with other browser vendors”. Then there are just some cases where the standard is so niche that one begs to question whether it is worth expending resources implementing something where there is no demand for it such as WebUSB or Web Bluetooth.

What I’d hope to see is Apple dedicate more man power to getting Webkit to a point where there can be an electron fork where, rather than using Chromium, Webkit is used instead by utilising the Webkit bundled with the operating system which would drastically reduce the size of the download as well. With that being said I have to admit, I’m old school, I like my native applications and I’m happy to pay for it. I do hope that as catalyst matures that we’ll see more software vendors will bring their applications from iPad to macOS.

A change in direction for Microsoft

Microsoft at the moment is holding their annual Ignite Conference for enterprise customers but one of the most under-reported announce is the decision by Microsoft to go back to OneNote ‘Classic’ rather than develop OneNote ‘Modern’ further (I’m speculating that they’re replacing the ‘Modern’ version it rather than developing the ‘Classic’ and ‘Modern’ in parallel given that I couldn’t see then maintaining both of them if the end result is the return of OneNote ‘Classic’). It has been an on going project by Microsoft to gradually replace OneNote ‘Classic’ with OneNote ‘Modern’ for the last 7 years and even with all the time and effort they keep slipping further behind not to mention widespread criticism that the ‘Modern’ version just isn’t up to standard. With Ignite they’ve formally announced that they’ve bought back OneNote ‘Classic’ but no word yet on what will happen to OneNote ‘Modern’. (link) (link) (link)

It’s important because, as I noted in a tweet earlier today where I alluded to Joel on Software (an ex-Microsoft employee who talks about subjects pertaining to software development – everything from code to managing a team):

It appears that Microsoft have realised that throwing out working code and starting from scratch might sound appealing until you have to deal with the reality of writing new code and then spending time having to debug it. It is the precarious balance between legacy code being well tested code vs. legacy going being an impediment to future development. Joel wrote a multipart serious address that issue (link) and touches on companies who threw out old code for the sake of ‘starting with something new’ and what the consequences of that was – Mozilla and Borland Paradox (he names some others). The benefit of when others mistakes is the ability for you to learn from them and not to repeat it – something that Microsoft should have remembered but now we’re here one has to deal with the situation as it exists not how we’d like it to exist.

The other consideration is the work being done with WinUI 3.x and the ability to ‘mix and mingle’ win32 and WinUI 3.x elements so it is possible to gradually move a large project like OneNote forward in a careful and considered way without having to re-write from the ground up. That was one of the biggest mistakes with OneNote ‘Modern’ – in the desire to want to use it as a show piece for the future of Windows the end result was something that never really got to feature parity with the old win32 application. That being said, it was a mistake that was learned from and I’m sure that we’ll eventually start seeing parts of the UWP application being merged where possible, new components written using WinUI 3.x (once mature) and gradually do a piece by piece migration.

Reminds me of very much the same approach that DXC.technology is taking when migrating its customers off the legacy Hogan system to their new Celeriti platform. The ability to complete a project in a piece meal way ensures that if there are issues it can be contained and rectified when compared to ‘rip out and replace’ where there are so many variables that you end up like what happened with many of the high profile projects – Kiwibank and it’s ill-fated ‘rip and replace’ of Ultracs with a SAP based system being the most recent example.

Samsung and Microsoft Alliance

Over the last year the relationship between Samsung and Microsoft has been going from strength to strength when you consider the at first it appeared to be simply a matter of getting some software preloaded to the recent work being done on improving the integration between Windows 10 and Samsung smartphone devices via the Phone app that comes with Windows 10. Some news has come out recently that it appears that Samsung is going to throw their chips in with Microsoft and the first part of that is moving their customers off their own in-house cloud service to one provided by Microsoft (link). I think that this is part of a larger movement away from its own cloud based technology but if it were me I could go a lot further than what they’re doing today.

What would I do if I was donned dictator of Samsung and Microsoft? I would merge Microsoft Pay and Samsung Pay, get rid of the individual Samsung applications in favour of Microsoft ones, work with Microsoft to develop a ‘Android Marketplace’ to replace the Galaxy Store, greater integration in with Windows 10 including music synchronisation capabilities within the Phone app (which turn links into the Music app). There is a lot of potential for Samsung and Microsoft to work together – Samsung corralling customers towards Microsoft’s services and then Samsung getting a cut of revenue bought in from subscriptions a long with a share of the processing fees that the new Samsung/Microsoft Pays would bring in from customers using it on their computer, smart phone, watch etc.

Regarding the next Samsung Galaxy smartphone, there is a rumour that although Samsung have announced the Exynos 980 and 990 there is a rumour that neither of them will go into their flagship phone next year. It’ll be interesting whether this turns out to be true and whether the flagship SoC will make use of the alliance that Samsung has with AMD to yield the sort of GPU performance that’ll really push it over the edge in terms of being able to compete with Qualcomm and Apple. The other interesting part is the new Samsung 5100 series of their modems support CDMA (along side LTE-FDD, LTE-TDD, HSPA, TD-SCDMA, WCDMA, GSM/EDGE) which makes me wonder whether Samsung will go global with a Exynos 1000 (assuming it is branded that) so that they have a single platform rather the dual Qualcomm/Exynos they have today. 

Is Apple software isn’t getting worse?

I’ve been using Mac’s since 2003 when I bought my first Mac when living in Australia – it was an eMac (link) and through this time I’ve upgraded between releases over many different devices (iMac, iBook, PowerBook, eMac, MacBook and MacBook Pro) and the one thing to keep in mind is that, no matter how much the chorus online like to repeat it as if it were a natural law or something, the software Apple is shipping is no worse than they shipped in the past (in fact, I would argue in some cases it is actually better in some areas).

Lets go for a walk down member late, anyone remember the 10.2.x days where if a SMB mount would disappear off the network resulting in the whole Finder hanging resulting a ‘force quit’? Anyone remember when in 10.2.8 the ethernet support was broken where they had to quickly pull the update? Then there was 10.3.x where a bug resulted in file system corruption on external devices that used the Oxford chipset – anyone remember that? Then there was 10.4.x with fast switching bugs, poor optimisation for the transition from PowerPC to x86 – remember those? Anyone remember when 10.5 was released and on Macrumors there were numerous people claiming that 10.4.11 was the most rock solid version ever? Anyone remember discoveryd in 10.10.x? As someone who has gone through all this before, for the loud voices on the internet to scream about how ‘the software is worse than ever’ either are looking at the past with rose tinted classes or are large ignorant of Apple and macOS from the past because they’ve only just started to own a Mac.

Long story short there is far too much time spent by too many people claiming each year that “Apple’s software has gone down hill…back in [x date] the software was far superior but now they’re ignoring [product category] for the sake of [conspiracy theory]”. Put ‘apple declining software quality’ into Google and you’ll see the same articles going back over a decade – each year another journalist (or even the same one) declaring that this year software has declined whilst looking back at the prior year with “but last year things were good” but ignore the fact that the prior year the author made the same claim about the software for that year.

With all that being said, how does one reduce the problems one might experience when upgrading ones operating system (between major releases vs. incremental updates which are bug fix up dates (going from 10.15.0 to 10.15.1)?

1) Wait at least 1-2 weeks after the release of a new version of macOS – many times Apple will release a supplementary update and then ‘slip stream’ (to borrow an old Microsoft term) those changes back into the the installer from the store. For example, if you have a look under ‘Version History’ on the macOS Catalina page where the oroginal 10.15 release 3 weeks ago then the 10.15.0 release was updated 1 week ago. When you see that it means that Apple has updated it since the original version was released.

2) Always do a clean install – back up your files (not applications, just your files) then download, create a bootable USB stick so that you can do a clean install, reboot and reset PRAM and SMC, boot off the USB stick then run the installer, format the drive and then install it. Will that result in a perfect system? No but what it will do is remove all possible variables that might influence the outcome – if you start with a clean slate with nothing carried over for the last installation means that if there are issues then you know that since you started with a clean slate it is solely down to macOS and not because of something carried over from what existed on the system before. Yes, in theory all upgrades should be smooth but going back to my Linux and Windows days I never trusted upgrades – I always did a clean install between major releases which is how I’ve avoided so many of the problems that people are facing today. When in doubt clean it out.

Side note: macOS 10.15.1 was released today and installed – it was a huge update weighing it at 4.59GB. I had a check through ‘System Information’ and it appears that pretty much everything, from kernel extensions through to frameworks, has been updated which explains the large size. I haven’t noticed any major changes other than things appear to be snappier especially Safari, Finder etc. there have been big under the hood changes the have come with this release but I’d say that as things calm down and there is probably another update released just before Christmas – 10.4.2 was released 5 December 2018 so I wouldn’t be surprised if there is a release around the same time.

Windows 10X and the future of Windows

As most of you know already Microsoft made a big announcement at their latest Surface event and part of that was the announcement of Windows 10X (link) which made two interesting mini announcements as part of that which were:

  1. Win32 applications would run in a ‘container’ (probably not the best term to use) to keep the underlying operating system in a pristine condition so it is possible to uninstall software without having random files left over and it ensures that those applications don’t cause a mess to the system because they’re not well behaved. It addresses one of the biggest sore spots for Microsoft in the past – every attempt has involved expecting developers to start with a clean slate and growth was lacklustre because the software wasn’t there and the software wasn’t there because the user base wasn’t there – a chicken and egg scenario.
  2. There is an adaptable UWP based shell being developed based on WinUI (as seen in the mock ups and screenshots) along with bundled applications either utilising WinUI, UWP and/or being PWA but with a WinUI appearance.
  3. WinUI 3.0 is being setup to allow a mixture of WinUI and WinForms/MFC/etc which will allow developers to gradually migration over WinUI not to mention the fact that WinUI has been decoupled from UWP so that it can run older versions of Windows 10 and limited support for Windows 8.1 (which will be coming close to its end of mainstream support soon).

Although Microsoft has made much to promise ‘power users’ that things aren’t going to change but I’d hazard to guess that over the long term once the ‘desktop’ version of the UWP desktop is ready they’ll push it out to desktop users and the experience will be more or less transparent. Basically Microsoft don’t want a repeat of Windows 8 all over again so they’re trying to reassure the ‘tech bros’ and ‘power users’ that their 72 button mouse and glow in the dark keyboard that Microsoft isn’t going to ram something down their throat which radically alters they way they use their computer.

I’d say that a Windows 10 release in 2021 (H1 or H2) will probably include the option of downloading the Windows 10X ISO for the desktop and then maybe in 2022 there will be a switch over to this new WinUI/UWP based Shell will become the default going forward. Little by little I can see Microsoft wanting to move the shell over to the new frameworks with the old frameworks being kept around purely for backwards compatibility. Maybe sometime in the future, like on Windows Server has for 32bit compatibility, Microsoft will allow people to uninstall backwards compatibility to lighten the load where it is installed on demand when required rather than installed by default.