Mac to PC Transition [Part 1]

Part one in a two part series with the second one focused on the laptop but I’ll try to make more videos as more Windows 10 builds are made available and Windows 10 become more stabilised – watching out for the Build 2015 conference to read and watch about some of the under the hood changes that have come to the Windows platform such as WDDM 2.0, DirectX 12 and so on.

It has been done!

I though I might as well bring the feedback to the front page since this post is viewed in context with the reply on the previous post:

That’s a really nice system you’ve spec’d out, and I agree – to me, Windows has matured significantly in the past few years, Office gives *the best* experience on Windows, so like you, it may be difficult for me to justify spending more for OS X at upgrade time when I cannot guarantee that I’ll be giving myself the best working environment for my money.

Windows 8.1 is quite usable right now, if anything bothers you the third party stuff can rectify it, though really most of the little things will be addressed by Windows 10.

I keep flip-flopping between a laptop and a desktop but at the end of the day, for a home system, a desktop would serve me best, and when I’m out on the go, I’d might as well pick up an inexpensive “Winbook” that can remote into the mothership and otherwise do the job whilst still being near disposable.

I’ve made the decision then and purchased it online with the estimated time of deliver being on the 6 March 2015 and I’ll look at getting a Lumia 830 but I’ll keep my eye open at the big announcements are at GSMA where the much rumoured HTC and Samsung S6 will be announced so by then I’ll have a look at what is available. That being said though I’m stepping back and wondering whether it makes any sense investing in a flag ship phone when a mid range ‘good enough’ alternative does everything I need – get a cheaper phone and upgrade every 18 months or have a flagship phone then feel the psychological pressure to upgrade even though there is no definitive need to upgrade. Like the iMac the problem with the iPhone is that you either go out and purchase the biggest one knowing you can’t expand or I can purchase a Lumia 830 which has 16GB then when I want more storage I can go out to purchase a sdcard at a later date which means I’m not forced to spend up big upfront.

In terms of replacing my MacBook Pro I’m scoping out the cost of a Surface Pro and hopefully we’ll see a refresh soon but even so the current Surface Pro 3. A great desktop, a great laptop along with a phone that does that job that I need. Things will start to get interesting when Windows 10 is finished and made available.

Looking at getting a Windows desktop

Just having a look at this computer being sold by Dell ( link ) when viewed in context of the goal of getting a desktop ever since I got rid of my iMac. The problem is with the iMac I’m having a look at is the fact that if I go out to purchase and iMac since it is a sealed up computer with only the memory being able to get upgraded post purchase it means that I have to go out of my way to max out the machine just so that I can get a decent life span out of it – $5,200 for an iMac 5K, a SSD (less likely for something to break with no moving parts), the GPU upgraded to the M295X, a CPU upgraded to 4.0Ghz with the memory boosted to 16GB. An overkill? maybe but the problem is that as soon as I purchase it I’m stuck with that configuration not to mention that it is a hell of a lot of money to plonk down for a computer given that within the next year or so I’m looking at upgrading my scooter to a 150cc along with working towards my motorcycle licence. So I really want a desktop computer primarily for gaming, video and audio work etc. but the cost of getting an iMac at this stage is just ridiculous.

The alternative is to purchase a Dell which will set me back $2,600 which will allow me to do everything I want without the eye watering price tag associated with the iMac and if at a later date I want to do a piece meal upgrade of the components – put more memory in it, replaced the hard disk with an SSD or something else then I’m in a position where I can do that. I have to ask myself is OS X really worth the extra $2,600 – honestly? putting aside my rabid anti-Microsoft bias (I kid! I kid!) does it make sense spending so much on a computer for something that isn’t even something I’m making money off? Then there is the longevity of the computer given the constrained design, the generation of heat by the GPU given the legacy failed GPU’s in both iMac and MacBook Pro 15” computers etc. I’m getting to the point now that I no longer want to spend a large portion of my pay cheque on something giving me a marginally better experience when compared to the price tag attached – I’d sooner spend the money on holidays, a new scooter, doing up my flat etc.

Screen Shot 2015 02 23 at 7 48 59 am

For the $2,600 I get the above computer plus a 4K display ( link ) – would I really notice the ‘1K difference’? I’ve saved the configuration and I’ll head off to sleep but it is almost a guarantee that I’ll end up buying it tonight. Windows 8.1 for all its faults is ‘good enough’ for what I want to do and when you throw on the free upgrade to Windows 10 plus Microsoft Office on Windows being a first class experience which I need for work it is an offer too good to refuse. As for speakers, I’ll probably just go and purchase them from a local store given that what is provided online from Dell are pretty slim pickings and average quality at best – I’ll get that along with a webcam.

I’ve still got my old outlook.com email address and I’ll transition from my iCloud one to the Outlook.com but long term I’d be looking at either an HTC One M9 (when it is announced March some time according to rumours) or a Lumia 830 – looking forward to making a new path into the future.

Another reason why I keep buying Mac’s: No crapware, adware or spyware

Just reading through another disaster in the glorious ‘horizontal computer business model’ that business analysts love praising ( link ) where once again an OEM sees your computer as something that is partially owned by them with the icing on the cake where Lenovo claims that they thought you, the end user, might like it ( link ). Honestly, this is the sort of crap, no matter how much Microsoft may try to improve Windows, finds that their brand undermined each step of the way.

What I love about the Mac ecosystem and what Microsoft should do

Downloaded and installed the iFFmpeg update but found a bug, I did a screenshot then sent it off to the developer where the developer replied back within a couple of hours then a day later an update was released which fixed the problem. That is what I love about the Mac ecosystem – developers actually care about the products they put out there and taking care of their customers. Reminds me very much of MarsEdit and the asking questions to the developer along with reporting bus I found – fixed within hours and updates pushed out as soon as the Apple AppStore accepted the update.  My experience with the Apple ecosystem is overwhelmingly positive – great developers focusing on making their product better, taking care of their customers and focusing on making sure that the over all experience, not just the ‘guts’ of the software, is pleasant. 

All those glowing praise does have a much more serious point to make when it comes to user interface particularly when it comes to developers focusing on the small details that make all the difference. Take OS X, when it was first released it was a mixture of Carbon and Coca elements but eventually when the move to 64bit came it started mid way through the 10.6.x release cycle then formalised in 10.7 and because Apple made the tough decisions we’re reaping the rewards today with a gorgeously consistent look and feel without all the drama that Windows users are dealing with.

I noted in a post last night what Microsoft should have done was this:

Layering

Win32 was pushed over to the side and labelled as ‘legacy’ where the only purpose is to to provide backwards compatibility then when the WinRT stack is moved into the C:\Windows\WinRT (the kernel would sit in C:\Windows and drivers would sit in C:\Windows\Drivers) directory which is a new directory structure in which all the frameworks are put along with the bundled applications based on WinRT. Part of that would also include moving code around from the original dll’s to the new dll structures as noted in the linked document ( link ) then organise everything on top of that. Win32 would be relegated to an optional subsystem that one can uninstall with the Windows 10 installation being a pure WinRT that is hardware accelerated and HI-DPI compatible from day one rather than a ‘feature’ that is bolted on at the last minute. Then start moving everything from Win32 to WinRT from within Microsoft with a public ‘five year plan’ where all divisions were aiming to get all their code moved to WinRT within 5 years so that the only purpose at that stage for Win32 is to support third parties then in 5 years following complete conversion (10 years after Windows 10 has been released) it becomes an optional installation that is downloaded on demand. Developers need a long term path and so far with the mishmash combination mixture of win32, MFC, WinRT, WPF and more you’ll never get the sort of consistency be it in the matter of supporting Hi-DPI or basic support for consistent touchpad gesture behaviour.

Office, OpenGL, DirectX, Windows 10: Some random rambling

Just reading up on some technology news regarding DirectX and OpenGL (well, the more accurate comparison would be between OpenGL and Direct3D) specifically around the ‘future’ of those frameworks with Microsoft focusing on DirectX 12.0 and WDDM 2.0 on Windows 10 when compared to the rumoured big announcement at the Gaming Developer Conference ( link ) where the much promised OpenGL NG will be announced by major players in the gaming which will unify OpenGL ES and OpenGL into a single framework that can span from smartphone to tablet then all the way up to workstations running the latest hardware to power the most sophisticated CAD software on the market. OpenGL NG also promises to get rid of years of cruft and modernise the framework into something that is coherent to the same degree that DirectX is to developers – make life easier for developers and gain mindshare over the competition.

In the world of OpenGL there appears to be a renaissance with Playstation 4 being based on FreeBSD with OpenGL, Android and iOS both using OpenGL ES, the emergence of SteamOS and the phenomenal growth of Mac sales with the corresponding OS X user base making it the largest commercial certified UNIX distributor on the market in terms of volume – 5.5million units per quarter. Then add on top of that a new group that is managing the development of OpenGL, Khronos Group, has pushed forward development but it is still very much in the same place after the ill conceived ‘Long Peaks’ project that was an attempt to do exactly what OpenGL NG is trying to do (some might argue that ‘Long Peaks’ was trying to overhaul OpenGL but on a much smaller scale) yet failed due to factional infighting between the various different vested interests resulting in nothing happening and here we are.

Things have changed though, Apple has Metal on iOS which strips off all the abstraction provided by OpenGL ES and exposes the bare metal to the programmer so that they can squeeze every last bit of processing power out of the GPU for their game. I’m unsure to what degree game developers are utilising it but if Apple is providing such a framework then they must have had a chat to developers to bounce ideas off of to see whether there was sufficient demand for such a feature. The problem is with Metal is now they’ve got a ‘mobile only’ technology that, if they want to encourage cross platform development between iOS and OS X they’ve just made the situation even worse and I doubt they would be able to get ‘Metal’ to work on OS X then getting it to support Intel, AMD and nVidia based GPUs. The upside though is with so many powerful voices in the OpenGL mix ranging from Google to Apple not to mention the numerous game developers the situation is a lot different than when ‘Long Peaks’ was tried which was pre-Android, pre-iPhone, and just after the migration from PowerPC to Intel for Apple. The old guard for OpenGL development were still in charge and very little influence could be had by the likes of Apple or Google to really push things forward.

Although things have changed though I can’t help but feel as though we’re having deja vu all over again where although the major powerful interests might ‘get their way’ but we’re sitting here with OS X and it still hasn’t been upgraded to OpenGL 4.5 which would bridge the gap and make life easier for IOS developers wanting to make writing code for OpenGL all that more easier. The only saving grace for OpenGL are some developers simply unwilling to limit their options by binding themselves to a single platform solution even if that single platform solution makes life a whole lot easier as a result so they put up with OpenGL annoyances because in the larger picture the alternative isn’t all that much better.

The alternative is Direct3D (since DirectX is more of a collection so the correct comparison would be OpenGL versus Direct3D) and Microsoft’s strength lies in the fact that they have a stack that spans from the smartphone to the tablet then up to the workstation then across to the Xbox One along with everything in between that exists or yet to come – from a Lumia phone to a Hololens, all of which are powered by Windows with a DirectX stack sitting on top of it all. The benefit of having Microsoft leading from the front with AMD, Intel and nVidia (along with ARM for its own GPU) all consulting together is there is a single point where the decisions is made – devoid of the politics that come with a committee trying to make a decision and a single decision decision is made without all the hang overs associated with ‘a camel is a horse designed by a committee’ where the outcome is a compromised half baked solution that is a shadow of what is actually required.

The big play that has come with Windows 10 has been the introduction of WDDM 2.0 and DirectX 12 where the core of Windows is shared across all the devices and what that means for a developer is the time expended working on high optimised and tweaked code with DirectX can be carried through across many devices. The other part of the equation that poses a threat to Apple is the promise of a low level API component of DirectX that’ll deliver what Metal (Apple) and Mantle (AMD) promise developers but in a GPU vendor agnostic way – that as a developer you can squeeze every last bit of horse power out of the GPU and not have to care about the underlying nuances of the GPU – the thinnest of abstraction and the greatest of manual tweaking but without the head ache of going back in time to vendor specific tweaks and vendor specific hardware and software bugs to deal with.

If you’re a developer already aiming at Xbox One or the hard core gaming market there is the ability to scale down to a Windows Phone 8.1 device although there are some slight differences ( link ) but I think that is more about features not being there rather than it being a framework with the same name but having to write specifically for it. The big question is whether the gaming companies are happy to create for Windows Phone 8.1 or whether it is more worth their while jumping through a few hoops to target iOS and Android even if it means having to use something like DirectX to OpenGL ES translation tool (IIRC provided by Google).

The other cool thing I also noticed Office for touch can be used on a traditional desktop environment so if I do move to the Windows world with Office 365 I’d probably end up using the one available through the App Store – a universal application based on WinRT and all the benefits that come with the territory. It is interesting to see how Outlook is being downplayed in favour of Outlook as part of the Windows 10 operating system which makes me wonder whether some time in the future we’ll see Outlook eventually to be killed off and universal applications replace the standard win32 one so then eventually it means that Microsoft can have fewer programmers maintaining a cleaner code base that targets more operating systems without the need of maintaining difference code bases each with their own ‘issues’.

Rumour has it that Windows 10 will be released in June 2015 although according to Mary ( link ) she speculates that it’ll be closer to autumn in the United States which translates to around the end of September and remembering that because they can sent it straight to the web and OEM’s there doesn’t need to be the lead time between golden master and sending it off a CD pressing then shipping boxed copies off to a retail store in time for the ‘grand launch’.

Bugs in OS X

Just reading through this blog entry ( link ) and there is also another way to avoid it – get a RAID device like a Drobo that presents itself as a giant disk so all the RAID stuff is transparent so when the drive is formatted with HFS+ you don’t get the sorts of issues as noted. The bug outlined in the blog also is pretty damn specific where the vast majority of end users wouldn’t trip over it. With that being said I wonder to what extent Core Storage is going to replace AppleRAID which would resolve a lot of these issues – that the reason why there isn’t the effort put into HFS+ and AppleRAID is because they’re eventually going to be replaced so the idea of expending resources now would be a waste when it would be better spent on the replacement.

The problem that the linked article author faced seems to be with a device that doesn’t actually have an operating system but rather a controller that presents the disks to the operating system then it is up to the user to manually create the RAID using the host operating system software then format the drive which could add a number of variables where as with the Drobo device you boot it up, the operating system formats and creates a LVM which then presents it as a single drive which is then formatted – in other words, all the RAID ‘stuff’ is done by the operating system residing on the device and the only thing the host operating system does (OS X) is create a filesystem on the disk that is presented.

A change in 10.10.2

So far so good with the latest update –  on my computer I setup my desktop by ticking the box next to “Use dark menu bar and dock” as well as under accessibility the option of ‘Reduce Transparency’ however up to 10.10.1 there was a strange bug where the corners of the on screen dialogue for volume control there would be black corners but it has now been fixed:

 Untitled

The corners of volume dialogue have also been smoothed where as in 10.10 they were jagged making them quite un-Apple like in terms of ‘fit n finish’. Personally I’m not a fan of transparency or a light interface hence I prefer the dark feel with a simple flat interface without the needless ornamentation. I’ve since found a really cool background (I’ve saved it to my iCloud Drive for safe keeping) which is more fitting in with the the dark calming feeling I’m going for:

Screen Shot 2015 02 05 at 10 12 59 pm

Giving Windows 10 a chance…maybe

After my negative experience with Windows 10 it sounded as though, in my last point, that I had written off Windows 10 before it was even released but I am being open minded to see where Windows 10 ends up when hopefully we’ll see some of the stuff that Microsoft is holding back for the big Build 2015 conference. Although the experience was rough around the edges it all comes down to how Microsoft will release future builds through the new update channels and hopefully those issues that I talked about will be addressed. As much as I’d love to see Windows Phone 10 to be successful it is almost a guarantee that if I did ever move to Windows 10 I wouldn’t be able to stomach Windows Phone 10 because the lack of applications or even the most basic functionality such as gapless playback simply isn’t there. What are the alternatives to the iPhone? I’d probably go for a HTC One M9 if I ever went down the route to Windows 10 – I’d create a Outlook.com account and then create a Google account using my Outlook.com address given that Android supports ActiveSync. The big questions is what is Microsoft holding back for Build 2015 to bring out the old dazzle dazzle and get the crowd excited.

I’ve had a chat to Kiwibank, I’ve closed off the American Express, opened up a Kiwibank credit card and took advantage of the ‘six months interest free’ deal which I’ll pay back in 4-5 months depending on how things go in terms of other bills. Long term I’m hoping that after Build 2015 the credit card will be all paid down and hopefully either a refresh of the non-Retina iMac has been updated or all the information relating to the iMac 5K’s GPU temperature. I read through Macrumors to the final page and from what it appears it only shoots through the roof when one is putting it under a huge sustained GPU utilisation rather than something I’d ordinarily experience it running OS X, videos for Vimeo, audio and video compression, and the odd bit of web surfing. Then again, for most the non-Retina screen is good enough for what I’d need to do but the question is whether Apple is going to retire it or maybe bring in a lower end 4K version which utilises the existing Thunderbolt 2/DisplayPort 1.2 but then again Thunderbolt 3/DisplayPort 1.2 will be coming out in Q3 of 2015 under the code name ‘Alpine Ridge’ has the capacity to support a 27inch 5K display.

Still looking at getting a 125cc scooter which will set me back around $3799 for an Aprilia SR Motard 125 2014 APRILIA SR MOTARD 125 – long term I need a bigger bike and a full motorcycle licence particularly if I’m looking at long term travel at a reasonable speed – eventually long term (3-5 years) I’d like to get something like a 250cc scooter which means I can go on long journeys – as far as going up to Auckland if I want knowing the motor can handle it. I’ve had a look at getting a car licence but the number of hopes you have to jump through just to get a restricted not to mention a full license where as at least with the motorcycle licence the main concern is the safety of the driver hence I’d be going for the course rather than the test, to get those fundamentals nailed down.

I’m looking forward to seeing Office 2016 get released for OS X and hopefully the two of them will come in line feature and release schedule so that both OS X and Windows are treated as coequals – I’ll sign up for the Office 365 once I get my Mac mini which will replace my brother’s computer and the Apple TV since it’ll take care of all my online video watching needs. Wall to wall Apple house – I’d go with an Airport Extreme but the problem is that it doesn’t support VLAN tagging which is required but the Huawei HG659b is a pretty damn good modem and router even for a pretty bare base $199 from a carrier yet the wireless reliability has been second to none, over a month uptime, no problems in terms of moving files between the computer hooked up to the television or my laptop.

The hate camel at the drinking well of disappointment

So I was getting itchy over the whole Windows 10 builds and the many screenshots so I thought, “maybe I should give this a go, maybe it’ll feel differently once I actually use it hands on to give it a fair evaluation” so I did a clean install by restoring an ISO to a flash drive along with the drivers provided by Apple. Putting aside any possible issues with the drivers, battery life etc. I evaluated it solely on the user interface with things such as speed, responsiveness being not only subjective but dependent upon the quality and maturity of the drivers and the fact that it is a beta build but keeping that in mind Windows 10 is still riddled with lots of inconsistencies which I doubt area going to be addressed.

The reason I believe these aren’t going to be addressed is because it would require a lot more work than I think Microsoft has time for particularly when you consider the various frameworks that each of the applications utilise – even then what I’ve seen with the applications that have been ‘modernised’ they seem to have recycled a whole heap of code resulting in a thin veneer of ‘modern’ when in reality nothing really has changed. The GUI inconsistencies are born out of the different frameworks employed and the amount of work required to bring every aspect of Windows in line would take years not to mention the untold number of applications that might break in the process of modernising it all. Why does it matter – even now compare an explorer window to other applications and it is all out of whack – text in various applications are unreadable, the installer is broken on high resolution screens (and still circa Windows Vista ‘look and feel’), mismatch of different common controls and dialogues with each application compiled against a different version. It is just a big giant mess.

One can’t predict the future with any certainty but past behaviour is a good indictor of future outcomes – Windows Vista, 7, 8 and 8.1 when they were being developed I had much hope that they would ‘smooth things out’ but when they were released it was the same mishmash of different UI ideas and nothing done to standardise everything on the same page. The problem is that for 20 years Microsoft has just flung shit against the wall without any sort of co-ordinated approach to making sure that as they improved their frameworks they did nothing to upgrade their bundled applications going forward. For example, Microsoft make use of ‘Microsoft Foundation Classes’  ( link ) on which the Ribbon bar is based upon and MFC (and in turn the ribbon bar) are based on GDI – poor DPI scaling, no hardware acceleration and just plan old fashioned out of date and not optimised for the new hardware that now exists. Do I downgrade my experience to Windows 10 based on what might happen in the future or do I settle now for an ‘A’ grade experience from today.

Reading through a lot of the bitching and moaning there seems to be a sizeable number who just don’t get ‘it’ – always, and I mean always, do a clean install regardless of what a software promises about upgrades, smooth migrations and ‘don’t worry, it’s all taken care of’ promises that software vendors love to pull. The other problem is the failure to realise that some times code gets created based on a set of assumptions and some time down the line you have to replace it – mDNSResponder for example would have developed over 12 years ago – in that space of 12 years a lot has changed, developers have come and gone, the documentation wasn’t probably the best and thus Apple took the decision and replaced it with discoveryd. What do people want – Apple just to sit on 12 year old broken and unmaintainable code and hope that with a bit of duck tape the thing will keep ticking? As two ex-Apple developers noted in this recent show of Debug ( link ) I think people need to ‘calm the fuck down’ given that as long as you do a clean install of OS X followed by installing the latest updates the problems are being addressed and if Apple needs to replace something, as outlined in the audio I linked to, they’ve tested it as much as they can and either for ever hold it back or get it out there then address the issues as they arise in a expedited but professional manner.

When it comes to what is happening in the future, once the Watch is released then things will settle down and we’ll probably see some under the hood changes in 10.11 – 10.10 being the harmonisation and integration of iOS devices and OS X with some ends tied up with AV Foundation/AV Kit but this time around they’re probably going to focus on OpenGL, OpenCL, adding some more stuff to AV Foundation/AV Kit and further refinements and bug fixes. Looking forward to seeing WWDC 2015 and where things go with Swift and other technologies added in Yosemite.