Alias development started back in the late 80s and was written for (I think) SGI machines. Back then, the company was Alias (merged with Wavefront and ultimately acquired by Autodesk in 2006) and the software was called Studio. OpenGL formalized in the early 90s and Alias (the company) ported Studio to support this nascent API. That meant that Alias could run on any OS that supported OpenGL.
This was a fantastic strategic decision because it allowed Studio to port to various flavours of Irix, HP Unix, Windows, Mac OS, and even Linux. The Linux build was/is internal. It was a little janky to use as a modeller 8 hours a day, but good enough for a development workflow.
Porting to Mac OS occurred in 2008 (I think) and was a reasonably sized project. Alias renders all of its own UI in OpenGL, so in theory, it was as simple as "Get a GLContext, and render to that". Of course, there were other things to deal with:
- Cocoa specifics like windows / events
- Various filesystem differences
- IPC (Alias launches a subprocess to open new files to insulate a bad .wire file from crashing the main process)
- Performance issues caused by various aged code (e.g., still a few places using display lists).
I agree with the other points made here that the decision was likely made that the ROI of maintaining the Apple port wasn't worth it. Sure was fun to write though. :)
Maya was porting to Qt when I worked there. Alias/Studio still used its own internal UI toolkit (Edwin) at the time.
I always had a sweet spot for programs made on/for SGI. Something different and magical about them. As if they were from the future.
Its a shame as the macos application packaging system makes makes for an easy way distribute and run applications.
The lack of a pro-level machine... except for the pro-level machine that they do have.
Then they made announcement they are going to do a redesign, 4 years after it first released, and the redesign won't be coming out til 2019, 2 years after they made the redesign announcement.
A total of 6 years. That is the amount of care they have for "pro" users.
They then went to release an iMac Pro which many call it an interim solution. An iMac Pro capable of having two 250W chip cooled, Something the community has been calling for years for the iMac ( For so long everyone abandoned the hope already ) and some said was not possible due to cooling requirement. Turns out it wasn't a technical barrier, simply Apple won't make it.
And as rumours goes, it wasn't until a very large studio decide to abandoned the Mac platform due to Mac Pro, and someone who had connection with Apple SVPs and told hem about it, before they realise how much care they have given to the pro users.
Apple forgot that while it was Steve jobs bumping put new strategies and initiative that changed Apple in the long run. It was these pro users whom bleed six colours that kept Apple alive in the first place.
I doubt very seriously that one studio abandoning a product line that makes less than 10% of thier revenue made Apple panic.
Things change. The Mac is no longer at the center of Apple’s universe. As far as what Steve thought that Apple’s direction of the Mac should be....
“If I were running Apple, I would milk the Macintosh for all it’s worth – and get busy on the next great thing. The PC wars are over. Done. Microsoft won a long time ago”
If you think Jobs was tied to the Mac on his return, you weren’t paying attention.
Not Xeon or EEC Memory, but 150W+ CPU + 150W+ GPU combination on an iMac. iMac could have been powerful, but it never was. Not because we have invested new cooling solution to cool the CPU and GPU, because the iMac were never positioned as such. Steve Jobs wanted the Desktop to be completely silent. And it is still shipping with a HDD as default.
>I doubt very seriously that one studio abandoning a product line that makes less than 10% of thier revenue made Apple panic.
Not a product line, but the whole Mac Ecosystem. Try Disney telling you they are throwing Mac Pro away from their production system. And it is not even 10%, likely 1% of their revenue.
>If you think Jobs was tied to the Mac on his return, you weren’t paying attention.
And the quote was from... 1996? How about a more recent quote.
"Truck" PCs weren't going to go away, Jobs predicted, but "car" tablets would find a place among a larger number of users.
"This transformation is going to make some people uneasy," Jobs said. "People from the PC world, like you and me. It's going to make us uneasy."
If you think Jobs wasn't tied to the Mac on his return, you weren’t paying attention.
Before the iMac Pro, the Mac Pro was the computer for professionals. They made a major mistake with the 2013 Mac Pro. Apple never shipped good GPUs in Macs compared to Windows PCs.
If Apple’s missteps were hurting Mac revenue you would see it in their quarterly revenue where they break down the amount of revenue they make on Macs. Looking at the numbers, it hasn’t hurt Mac revenue. I would love to see a more compelling Mac Mini for instance, but I can’t honestly say that not having updated it in 4 years has hurt Apple.
Jobs told people what he would do with Apple and he mostly did just that.
- He milked the Mac and used it as a cash cow
- He gave up competing with Microsoft and made a deal with them.
- He introduced iTunes, iPod, iPhone, and the iPad.
- He even took “Computer” out of the name of the company.
- He delayed the OS release that was suppose to come out in 2007 and moved engineers to the iPhone.
- The only slightly industry changing thing he did with the Mac after 2001 was the MacBook Air and that was overpriced and underpowered for the first two years.
As far as being “tied” to the Mac, he didn’t even use a Mac until 2001 when OS X was introduced. His primary computer was a Dell running Next.
Plus they make a ton more money on Apps on from the store in mobile.
It is all economics, they do not care about the pro user anymore because the pro user is not where they make money
Like with cars, the used market supports the selling of new devices. This is something Android manufacturers need to figure out.
But either way, that Apple updates phones for years contradicts the statement that Apple wants you to replace your phone every two years.
With all the political influence, brand awareness, and metric assloads of cash Apple has, it should be the best company in the world. But every day brings more headlines that make it seem like Apple's best days are behind it. It keeps stumbling -- publicly and unnecessarily.
I'm not going to jump on the "Apple was better under/because of Steve Jobs" bandwagon. But this race is Apple's to lose. And the number of small cracks appearing everywhere is becoming disturbing.
My next computer will be a Mac - at the looks of things now, probably an iMac - but if Apple loses the high end Mac market, does it really matter? Around 10% of Apples revenue comes from Macs and even less from high end Macs. If Apple becomes an iOS company and makes the iPad more computer like, it would be a win.
Yes. Because there is far more to life than market share and revenue.
Especially at Apple, where the last two people in charge (Cook and Jobs) have both stated in public that they're committed to making better products, and that money is secondary.
It's very sad that your experience is so limited. There are plenty of companies that actually care about things other than profit. I had the pleasure of working for one once, and through that was introduced to others.
At the end of the day, every company is beholden to their investors - who don’t put their money into a company for any other reason besides getting a return.
I know nothing about how WeWork or Starbucks operate because I have never been involved with the management of those companies.
I have been involved with the management of other companies which are truly altruistic. Just because you haven't doesn't mean they don't exist.
The idea that companies exist only to make profits by any means possible is the most anti-capitalist, nihilistic concept I can imagine, and I have never been clear on whether anyone sincerely believes it or if it is just a straw man.
How much of a change of direction did the activist shareholders actually influence over the corporation? How much did they raise employee wages? Get a benefits increase? Keep people from being laid off?
There was even a freakonomics episode citing a study that companies that do “virtue signaling” can get people to work harder for less money.
This just helps cement Microsoft's relative monopoly on the business pro market outside software development.
- releasing new OS versions every year
- announcing publicly they are working on a new Mac Pro.
- announcing publicly that they are merging iOS and MacOS frameworks over the next year or two to make cross platform development easier.
- developing new custom chipsets for the Mac (the Tx line of chips)
Apple is notoriously secretive. The "public announcement" of the new Mac Pro was a whole lot of nothing. Not one substantive detail. Am I supposed to wait until its 2019 release before making any commitment to support it? It might be terrible, and there's no information about its specifications. "Waiting in hope" is no good for business and product planning. The hype train might work for phones, but for computer hardware it's a bit pathetic, and leaves me doubting they have a serious plan for it (as if the existing Mac Pro left us in any doubt at all).
The merging of frameworks isn't of the slightest interest if you only develop for MacOS. And the new chipsets aren't particularly noteworthy either; they are just details. As a cross-platform software developer, I really couldn't care less. But I do care about their support for industry-standard APIs.
How much has Windows and Linux changed during that time? I’m not going to read off the change log of everything that Apple has changed since 10.6
Apple is notoriously secretive. The "public announcement" of the new Mac Pro was a whole lot of nothing. Not one substantive detail. Am I supposed to wait until its 2019 release before making any commitment to support it?
So exactly what do you have to do to support the Mac Pro specifically? Of course they didn’t have any details. They hadn’t started on it st the time. But it still contradicts the narrative that where Apple is headed with the Mac is “unclear”.
It might be terrible, and there's no information about its specifications. "Waiting in hope" is no good for business and product planning.
I can give you hint. It’s going to be a multi core Intel chip. What are you thinking you need to do to support the Mac Pro specifically.
The hype train might work for phones, but for computer hardware it's a bit pathetic, and leaves me doubting they have a serious plan for it (as if the existing Mac Pro left us in any doubt at all).
Seeing they admitted they made a huge mistake with the current Mac Pro.
The merging of frameworks isn't of the slightest interest if you only develop for MacOS.
So the direction of the Mac APIs is of no interest to a Mac developer as is the fact that they are moving away from AppKit? Whether the fact they are merging the frameworks of IOS and MacOS are of interest to one random person on HN doesn’t mean their direction “isn’t clear”. The direction they are moving MacOS - the APIs is clear.
that they are
And the new chipsets aren't particularly noteworthy either; they are just details.
So first it’s not clear and now “just the details” don’t matter.
As a cross-platform software developer, I really couldn't care less. But I do care about their support for industry-standard APIs.
So you’re a “cross platform developer” and you’re overly concerned about the Mac Pro - a tiny sliver of a tiny sliver of the market. But you just said that you didn’t care about the merging of iOS and MacOS as a “Mac only developer”. A “cross platform developer” has much bigger issues than the graphic APIs unless you plan to do something like Electron and anyone should avoid those apps anyway.
What do I need to do to support the Mac Pro specifically? Well, it's a wider question than that. It's more like: will I drop MacOS support entirely, or will this have sufficiently decent specification that it's worth re-evaluating dropping it entirely. For that, I would need to know about its GPU and VRAM, max RAM, storage options, connectivity, etc. The CPU itself isn't too exciting. And on top of that, what the software support for the GPU would be like. Such as how well supported it would be by MoltenVk, and the existing deprecated OpenGL drivers. Since I will not be using Metal, I need to know if the workarounds are acceptable, or if the result will be awful.
I'm a cross-platform developer in the typical meaning of the word: cross-platform for desktops/workstations of all common operating systems. Serious visualisation software isn't for phones. If "cross-platform" means MacOS and iOS, then lord help us. iOS devices are toys in this realm. Poor GPUs, not enough memory, storage, or power. Most of Apple's Macs are also woefully underpowered, and that's the big reason for abandoning the platform, because they don't actually make a system worth having for high end usage. While they admitted they made a mistake with the Mac Pro, there's zero information about whether their replacement will be adequate for high end needs, or yet another hot mess. Will they be able to return to function over form? I'm doubtful. But without some concrete and sensible information from Apple, it's looking like complete abandonment from over here.
Still quite vague....
I've been increasingly running into portability problems, from missing or non-functional commands and associated command-line options, to long-fixed bugs which they haven't bothered to update.
So you’re writing software that depends on the shell commands...
Well, it's a wider question than that. It's more like: will I drop MacOS support entirely, or will this have sufficiently decent specification that it's worth re-evaluating dropping it entirely. For that, I would need to know about its GPU and VRAM, max RAM, storage options, connectivity, etc.
You’re basing your software road map on what may appear on the hardware landscape 2 years from now? I hope you didn’t base your development on Intels road map for the last few years....
Since I will not be using Metal, I need to know if the workarounds are acceptable, or if the result will be awful.
If you’re basing your roadmap on a deprecated API, that doesn’t say much about your product planning....
I'm a cross-platform developer in the typical meaning of the word: cross-platform for desktops/workstations of all common operating systems.
So you’re a “cross platform” developer complaining about Unix support on the Mac? How is that Unix support working out on Windows?
Apple's plans are entirely unclear. Things are deprecated or broken without notice. Surprises were tolerable when they were 90% positive. Now, when most of the surprises involve breaking keyboards, removing USB ports, removing the GC runtime entirely, etc., surprises are utterly unacceptable.
OpenGL is an established industry-standard graphics API. Supported on every platform of note. Drop it, and you're going to lose developers who rely on it. A vendor-specific proprietary API isn't an improvement, it's regressive. There are many products which won't be able to justify a Metal port, including one of my own. Despite its ugliness, OpenGL worked everywhere and modern OpenGL is actually pretty decent.
If Apple want to retain developers, they need to have a long, hard think about their strategy here. I'll consider supporting MacOS again, if they can cut back on proprietary stuff and support the industry-standard stuff. OpenGL 4.6 and Vulkan would be a good start.
Sorry, but this mostly wishful thinking. It is only an "industry standard" on Linux-based systems and Android. Also Nintendo Switch has support for OpenGL, but it is not the primary graphics API.
On Windows, the OpenGL driver quality story is not very rosy. A good example is WebGL. On Windows, Chrome and Firefox implement WebGL using a compatibility library (ANGLE) that maps calls to the Direct3D API. Also for QT applications it is recommended to use ANGLE on Windows.
Playstation 4 has its own proprietary graphics API, Xbox uses DirectX.
On Windows, if you're using a GPU from e.g. AMD or nVidia, be it the gaming end or the workstation end, you will also be getting a decent OpenGL implementation. If you're using software like Alias, you're not going to skimp on the GPU. Angle only exists for poor GPUs which don't have decent OpenGL Windows drivers; for software at this level, they are an irrelevance.
WebGL is a red herring. This isn't anything to do with web browsers, and everything to do with killing support for decades of software development investment by third-party ISVs. WebGL is not competing with that, and won't anytime soon. Apple here is basically saying: we don't care about the serious, high-end side of things, and screw any developers who want to develop that type of software for Mac systems. If they did, they would reimplement the OpenGL API on top of Metal; it's not like they don't have the cash to pay for it.
As for proprietary gaming consoles, these are also irrelevant to the concerns here. This isn't really about games, or gaming engines. (Though when Apple finally drops OpenGL, most of the back catalogue of games will cease to function…) It's about the thousands of serious software packages out there which will no longer function on a Mac. The high-end CAD and design market. Engineering. Scientific and medical imaging. Etc.
That's Apple's choice. And it's my choice to drop Mac support in consequence. They are making it clear that the Mac is no longer the platform for professional software development through their woeful hardware and their poor MacOS maintenance strategy. The market will respond to that.
A quick look at for example high-end CAD that you mentioned, Solidworks uses OpenGL, but has as far as I can seen always been Windows only. Its also only lists FirePro and Quadro as recommended graphics cards which support my impression that only workstation-class GPUs have stable OpenGL support on Windows.
Autocad uses DirectX 11 on Windows, OpenGL for the Mac version, so they already use platform specific APIs.
Software with several decades old code bases, that started out with OpenGL, and perhaps even still uses some of it intermediate mode APIs or display lists, obviously have to continue to rely on it.
But if you design a new piece of software today, wouldn't you want it to be able to use the graphics hardware to its full potential and use Vulcan/Metal/DirectX 12?
VTK would be one. It's at the core of dozens of scientific and medical imaging applications, and is being used for new specialised applications all the time. This does sophisticated volume rendering of 3D images. Used by both open source applications and proprietary.
Or OpenSceneGraph, again the core of many applications, also 100% OpenGL.
Or Volocity, a commercial OpenGL volume renderer which originated on the Mac, later ported to Windows, which is all OpenGL under the hood.
There are hundreds of bespoke scientific and medical applications out there doing analysis and rendering of images. OpenGL is the fundamental underpinning of most of them. Scientists have been using OpenGL for decades. (The availability of OpenGL on the Mac was why many were able to switch.) Some vendors might use DirectX when Windows only, but these are a rarity outside commercial acquisition software due to the ubiquity of Linux and Macs in this domain. This is just the domain I know most about; there are undoubtedly many more in different domains.
The workstation class GPUs have some features the gaming ones don't, but it's often equivalent hardware with different drivers, or has some extended capabilities. Double-precision floats, etc. If you don't use these extra features, there's not much practical difference. The actual OpenGL implementations are generally stable for all cases in my experience. The main problem is vendor implementation differences in my experience, e.g. nVidia being laxer than AMD/ATI and allowing broken code to work which others would reject.
For new code, I'd like to say Vulkan, but the support isn't fully there yet. For example, Qt 5.12 has Vulkan support but it's not yet universally available, and it's disabled by default unless you compile a custom build from source. I'm currently just starting to get to grips with it for a new project, but it will be hard to deploy for the next year or so. The drivers are there for Windows and Linux, and with the MoltenVk on MacOS X it might well work well enough (I'm yet to progress far enough test this). Unless you are wanting to write multiple rendering backends, Metal and DirectX don't look too great for portable code. I'm hoping Vulkan will be the OpenGL replacement it's touted to be, but we'll see!
However, I found that out from the comments on HN - because when I opened the page the article was covered by a full popup informing me that they 'care about my privacy'. And then they probably wanted me to agree to being tracked. Not sure because I instaclosed it.
This may have been achievable with OpenGL, but I have doubts. Should Apple have waited for Vulkan to be finished up before making their choice of modern graphics API in iOS + macOS? Maybe, but if they had, their Vulkan implementation wouldn’t have been as mature as Metal is now and the existence of MoltenVK renders the whole thing moot anyway.
Which makes me wonder, why not consider porting Alias to Vulkan? I’m not sure that OpenGL has much of a future on any platform, now that most everything will be written for DX12, Vulkan, or Metal. At best, frozen-in-time support for it will remain in Windows and Linux for a few more years, but I don’t see it being developed any further... didn’t Apple just jump ahead to OpenGL’s inevitable conclusion?
However, AZDO is unusable on macOS; the OpenGL on macOS is too limited to support it.
Khronos with OpenGL 4.6 made another step towards Vulkan: SPIR-V shaders. If Apple implemented 4.6, they could go all they way and implement Vulkan too.
Apple, while they released the Metal 1 first, it was quite limited and there were reasons why the release was iOS only. When they came with Metal 2, which could compete with Vulkan, Vulkan was out for a year already.
So basically they rushed to come with API, that would be exclusive to their platform and lock their developers in. There's no other use for Metal today.
Though, I will say once you get that move completed, you get this: https://developer.apple.com/videos/play/wwdc2018/608/
Metal is nice, but Apple should also support OpenGL, not just WebGL.
> Alias is not supported on High Sierra due to a macOS incompatibility that Apple does not currently plan to fix.
Wait, so is Alias supposed to work on High Sierra (which has a non-deprecated OpenGL) or not?
I regret the day I agreed to this damn update.
./nsopengl_example.h:5:5: warning: 'NSOpenGLContext' is deprecated: first
deprecated in macOS 10.14 - Please use Metal or MetalKit.
'NSOpenGLContext' has been explicitly marked deprecated here
@interface NSOpenGLContext : NSObject <NSLocking>
nsopengl_example.m:97:9: warning: 'glVertex3f' is deprecated: first deprecated
in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATION to
silence these warnings) [-Wdeprecated-declarations]
glVertex3f( 0.0, 0.6, 0.0);
I suspect they'll proceed in a similar way as with OpenSSL, first deprecate, then remove headers, and keep the libs around for quite some time for legacy applications. In Mojave public beta /usr/lib still contains libssl.0.9.7.dylib and libssl.0.9.8.dylib, and it's been quite some time (El Capitan ) since you haven't been able to build against them.
The trickier part with OpenGL though is the graphic drivers. I suppose at some point in the future drivers for fresh new GPUs won't include OpenGL support. Maybe they'll include a GL-to-Metal akin to MoltenGL in that case, maybe not, or a third-party will create just that to run legacy applications. Anyway I bet it's a long road ahead and won't happen overnight.
(Plus, Autodesk might be trying to convince Apple to change their minds with a move like this)
Often the vendor will have a list of supported workstations, and the the customer will just buy systems from the list.
"Alias is not supported on High Sierra due to a macOS incompatibility that Apple does not currently plan to fix."
It's extremely arrogant to kill OpenGL and expect all app developers to rewrite their apps using Metal. The last I looked MacOS market share wasn't doing so well. And how much of that market is CAD?
Maybe they did a simple ROI calculation and determined it simply was not worth the development, but might have been if Apple would meet them half way and support OpenGL.
So this is not necessarily an issue with Apples deprecation of OpenGL, but could as well be Autodesk wanting to move also the Alias product to DirectX only.
This seems more damaging to Apple than to Autodesk. If Apple let these niche-but-lucrative markets wither away one by one, where does the Mac end up?
I think that's very difficult for us to judge. Apple has access to far more data than we do. They may have decided that Autodesk's entire market is not worth their time.
Apple is a very strange company. Even though they're among the largest companies in the entire world in terms of value, they don't operate like a large company. They shift their product teams around all the time which seems to cause some products to get neglected for a really long time.
It does seem like a strange strategy not to court these high-end markets, though.
As a developer, it often feels like Apple is ignoring me in favour of some nebulously-defined market of “designers”. But here we have actual designers, industrial product designers, being similarly ignored.
Each deprecation on its own is understandable, and probably makes sense when the goal is a modern, safer OS.
But when macOS is not your main target market, at some point it doesn't pay off anymore to try to keep up with the annual technology changes. If you have a big code base, those yearly modernisations are a lot of effort.
And Apple doesn't make the impression that they care about things they break. I've filed a lot of bug reports with Apple for regressions, but if it's not a mainstream issue they just won't fix it. If you're lucky, you'll get a reply saying that they don't support your use case anymore.
So they just break some stuff, and app developers need to find workarounds.
I really understand if at some point the developer says, this isn't worth it, we'll just focus on the more profitable platform.
At the price range of Autodesk, buying a new PC to run the software isn't really a big issue...
I'm certain they've done the math and are confident that it's better for them to expect users will either switch to PC's, install Windows using bootcamp, or stay on old versions of Mac OS. They say as much right in the article.
My guess is the defective laptop issue alone is driving a measurebale shift. The reason many folks were going Mac was the Unix tool chain, which Apple is also allowing to rot. Microsoft is basically shipping Ubuntu.
Last time I checked, Windows 10 is still a shit-show and completely unusable as a workstation. It’s good as a toy to play Candy Crush, sure (it even comes preinstalled!) but definitely not suitable for real work.
The per-user licensing allows for installs on multiple devices (5, I think, unless that also recently changed), so it can work out to about $35 per device.
The Enterprise licenses used to revert to Pro licenses when the subscription expired, not sure if they still do.
Users of Windows 10 tend to like it. IT people hate it.
This doesn’t mean it should be considered normal - in fact putting up with this shit sets a precedent that this kind of behaviour from OS developers is deemed acceptable.
This also doesn’t mention the other relatively minor issues (which macOS nevertheless gets right) like 3 different visual styles for context menus (on the taskbar, window title bar and an item on your desktop), the mess with two different way to configure the machine (Settings app and Control Panel), etc.
Engineers (mechanical, low level software, firmware) are Windows and Linux predominately.
Only when it comes to professional graphic design. But there's also professional CAD (almost entirely PC based), and the hobbiest space that originates from video game and anime culture, modding and fan art.
ISV: We're not going to do a special port to $proprietaryAPI of $singlepercentmarketshareOS of our x-million LOC each applications.
Hackernews: Look how salty $ISV is.
Moving from OpenGL 2 to OpenGL 4 would have been just as much work as moving to Metal 2.
According to Wikipedia, the first version of Alias is from the 80s, and it initially ran only on IRIX. From that, I'd guess that it was initially written using IRIS GL, the predecessor of OpenGL. It probably doesn't have a separate "rendering engine"; IRIS GL and later OpenGL concepts and calls are probably strewn all over the code. Porting to anything else would probably be a significant effort.
I have to ask this, even though I use OSX but have no idea, can drivers provided by third parties include openGL support for MacOS? Nvidia provides drivers for their cards regularly. Does it work like on other OS'?
Manager: take the shortcut :)
... repeat this for 15 years ...