Apple today released a developer preview of Mac OS X Lion, available to Mac Developer Program members through the Mac App Store today, and the final version of Lion will ship to customers this summer. Mac OS X Lion which features Mission Control, an new view of everything running on your Mac; Launchpad, a new home for all your Mac apps; full screen apps that use the entire Mac display; and new Multi-Touch gestures. Lion also includes the Mac App Store, a place to discover, install and automatically update Mac apps.
Hm. I HOPE Versions is integrating with Time Machine.
Not really much blood-and-guts details besides user-visible UI and Apps.
COME ON!!! BRING THE CRUNCH!!!
has anyone seen Resolution Independence from 10.4 or Sandboxing used in 10.5? has anyone used these? They just didn’t advertise them. Does anyone know who’s using GCD? or OpenCL?
Everyone has seen resolution independence from 10.4 since the quartz drawing apis used to render Aqua use them. Open Quartz Debug and play with the scale factor and you’ll see most things change. It looks like Apple is introducing additional support for a “2x” mode like on iOS though, since supporting arbitrary scales can be a pain when it comes to icons and other bitmapped data.
GCD is also heavily baked into the system APIs. Technically, even the main thread is a GCD queue. NSOperationQueue is totally implemented on GCD now, etc.
While we have to thank Apple for the OpenCL standard, the bulk of OpenCL projects is taking place in Unix and Windows environments.
Graphics card manufactures cannot release directly drivers for MacOS X, so they are not updated as much as for the other systems.
Most research work is done in Unix and Windows, and while MacOS X is Unix at its core, it is cheaper to buy new graphics cards for your existing computers as to replace them by Macs.
As for GDC, it was more of a PR thing at least for those developers that have been doing multithreading/multiprocessing for years. So I am currently not aware of any project that really took it into production code.
Even if nVidia and ATI could release drivers directly for Mac OS X the reality is that OpenGL is implemented by Apple as to ensure the same sort of consistency as one observes with DirectX. The reason why DirectX took off was because developers no longer wnated to deal with vendor specific buggy OpenGL implementations – where hours are wasted debugging code that works wonderfully on one vendors OpenGL implementation but not another. Then add another layer of nVidia ceasing the support of older hardware so you’ve possible got older OpenGL implementations floating around that you’ve got to test against as well.
Compare that mess to Mac OS X where there is a single implementation that works across the board – sure, it doesn’t have insane optimisations like what a hardware vendor offers but from a programmers perspective it is one less thing to be concerned about in the larger grand scheme of things. Rather than debugging for different OpenGL implementations more time can be spent enhancing what they’re working on.
You don’t hang around OpenGL.org do you?
Whether I do or don’t is irrelevant – address what I got wrong or shut up.
It is relevant, since your argument revolved around a supposed “programmer’s perspective.” So one would assume than in order to provide that perspective, you should at the very least be a programmer in that view/line of work. Thus, making you visiting opengl.org very much pertinent to the task at hand.
Apple’s OpenGL implementation is not as stable as you make it sound.
There are quite a few driver issues that you can easily find being discussed on the Mac section of OpenGL.org.
Plus Apple chooses to ignore many standard APIs, providing instead its own extensions, with its own set of quirks.
This leads to developers that want to target Windows, Linux and MacOS X to have an MacOS X code path in addition to what most have already to provide for Intel, ATI and NVidia.
What are these extensions and what are they used for?
AFAIK most of the openGL functionality in OSX (that is drivers and libs) are provided by the vendors to Apple,which then chooses what goes in and how; this is also partially why apples openGL is slower (they don’t pick all the optimizations. So in effect it really is the same thing. Either way there is very little/no difference in the way openGL is used by application programmers (that is the point of OGL) just how well the manufacturers implement ogl functionality.
Edited 2011-02-26 17:25 UTC
http://jasonfharris.com/machg makes use of GDC
So still no support for more recent OpenGL versions.
Anyone wishing to take use of version 3 and 4 can only target Windows and Unix.
Oh well…
Actually, early reports on macrumors indicate that it supports OpenGL 3.2 for hardware that supports it.
Since when does a popular UNIX support openGL 3&4 well ?
Linux does:
http://developer.nvidia.com/object/opengl_driver.html
http://www.marketwire.com/press-release/AMD-Offer-OpenGL-41-Support…
http://support.amd.com/us/gpudownload/Pages/index.aspx
Or are you now going to argue that Linux is not UNIX certified?
Edited 2011-02-25 10:13 UTC
Oh, no! That never ending flamewar is going to start up again ! I am fleeing away now!
Isn’t there a catch, like drivers supporting it but at least part of the rest of the Linux graphics stack (X, Mesa…) being stuck to 2.x ?
EDIT : Yup, Mesa 7 is still at OpenGL 2.1. Thought so.
Edited 2011-02-25 10:46 UTC
That’s not exactly a catch. If you use nvidia binary driver, you don’t use Mesa.
Sadly enough, if you use open drivers, you don’t have newer GL versions. However it doesn’t hold you back from using GL 4 with a nvidia card.
Thanks for the explanation ! If OpenGL is fully re-implemented by each GPU driver vendor, I start to understand why graphics drivers tend to be so unreliable
Edited 2011-02-25 11:10 UTC
Well seeing as opengl is an abstraction from the hardware it couldn’t be any other way. Add that to the fact that different vendors have differing levels of ogl prowess and driver capability, that being Nvidia>Amd>Intel.
Not sure of that. Unless OpenGL is a perfect 1:1 copy of the hardware’s instruction set, there’s some amount of algorithms in there, which are independent from the hardware being used and would benefit from being taken out of drivers. In fact, I bet this amount of algorithms is quite large, because I don’t think people would use OpenGL if it was just a portable version of assembly
Can’t OpenGL implementations probe hardware to check what is supported and do with that ?
It is up to the driver to expose the ogl spec and not the other way around. So how the driver exposes this functionality is dependent on drivers hence why each vendor supplies their own (highly optimized) ogl libs with whatever tricks and algorithms they use to improve performance on their arch. You can get away from that with gallium3d but it is never going to be as efficient as having a tweaked ogl implementation.
Yes, they do that already, but not for how well an extension works. However as I said above ogl perfomance depends on how well ogl commands are mapped hardware capabilities and driver implementations. Nvidia therefore has the best Ogl implementation because the spec maps well to their particular hardware arch AND because they have a well optimized ogl driver. Amd spends less effort on their ogl driver and as a result (assuming both expend the same effort on directX) hardware that is roughly equivalent on, say, directX will perform worse than Nvidia.
Mesa also has the tendency to say things are supported when they are not or are buggy (just ask the Kwin developers). There are valid reasons for this such as getting more exposure for testing, but application developers shouldn’t have to guess when a mesa ogl extension is working reasonably well or not.
Edited 2011-02-25 12:28 UTC
Actually it is a type of assembly language.
Nowadays the graphics vendors have a kind of internal API, which looks a bit like graphics assembly.
Then the OpenGL and DirectX drivers translate their API calls into this kind of graphics assembly before sending it to the card.
The thought that anyone making a serious ogl application is attempting to target mesa is totally laughable. Not only does not not fully work with 2.1 it is often really buggy.
Mesa will get ogl 3+ in 5 years time…I dare anybody to prove that prediction wrong (it would be a pleasant surprise).
OpenGL 3.2 support for OS X is system-wide, not application specific.
OpenGL Linux drivers for games is not remotely the same as OpenGL for OS X and Quartz.
Apple’s 3.2 support means the entire environment is accelerated.
KDE just announced KDE 4.7 will reach OpenGL ES 2.0 in KWin. Big whoop!
Just be aware that the NVIDIA linux driver on workstations are where NVIDIA get their bread and butter. Last time I looked NVIDIA got about 20% of their revenue from the Linux workstation, since a lot of CG is done on them.
Edited 2011-02-25 17:49 UTC
If you knew anything about graphics programming you would know that OpenGL != OpenGL ES.
Sure the API is quite similar but there are also quite a few differences.
One of the goals for OpenGL 4.0 was to unify OpenGL with OpenGL ES way of working, thus bringing the so desired API simplification.
Macs can be used a lot on the design and music world, but just wake be up when they reach the numbers of Windows or Unix machines used as 3D Workstations.
The MacPro is a joke compared with what the real guys are using.
You don’t understand what you’re talking about. KDE doesn’t “reach” ES 2.0 with 4.7, it uses it. OpenGL isn’t implemented in KDE at any level. OpenGL isn’t any more or less “application specific” in OS X than anywhere else: things don’t magically start using the OpenGL 3.1 API simply because it’s there.
Also, Apple’s OpenGL implementation is slow.
Wow, you’re comparing a Desktop environment in Linux with OSX as a whole. Whaaaaaaa?
You don’t seem stupid, but you’re skimming and replying.
Put down the coffee/other stimulant.
“Launchpad makes it easier than ever to find and launch any app. With a single click, Launchpad displays all your Mac apps in a stunning full screen layout where you can launch, re-order or organize apps into folders. You can also arrange apps into multiple pages and swipe between them.”
This is a move from the Dock to something that actually has some sense. Something that users have been asking since… uh, 10.0?
“With one click, your application window goes full screen”
And this is more or less what the users expect from that green “+” button on the titlebar…
“Mission Control is a powerful, entirely new feature that unifies Expos~A(c), Dashboard, Spaces, and full screen apps to give you a bird^aEURTMs eye view of every app and window running on your Mac. With a simple swipe, your desktop zooms out to display your open windows grouped by app, thumbnails of your full screen apps as well as your Dashboard, and allows you to instantly navigate anywhere with a click.”
Again, something that should have been done since 10.4 (10.3 only had Expos~A(c)). I think I’ll love this.
“AirDrop, a remarkably simple way to copy files wirelessly from one Mac to another with no setup”
This is a feature that every OS should have contained since the ’80s… I hope it will be open enough to be implemented in other OSs.
“Versions, which automatically saves successive versions of your document as you create it, and gives you an easy way to browse, edit and even revert to previous versions”
Another good one. But I fear for disk space (in regard to SSDs and USB keys, of course, this isn’t a problem for HDDs nowadays).
“Auto Save, which automatically saves your documents as you work”
Uh… isn’t it already done by serious apps? And how is it supposed to work with existing apps?
“The all new FileVault, that provides high performance full disk encryption for local and external drives, and the ability to wipe data from your Mac instantaneously”
VERY good. The bad: it won’t work with other OSs (I won’t be able to save my files on an encrypted key and open them in a Windows machine). When will we have an open, encrypted file system which is ubiquitous like FAT?
About Launchpad.. I wonder if you have watched the keynote. It is a way different from what people was demanding.. way better and cooler from what I have seen in the keynote
About green “+” button on the titlebar.. It is not for full screen but maximizing. They are two different window modes.
About AirDrop: This is a feature that every OS should have contained since the ’80s
Oh I do not think sharing over wireless would be that possible in ’80s! The wired connection was still not common in those days! Otherwise, the world would be totally different by now
About Autosave: I think the point is that OS will support by itself a way to implement autosave so developers ever need to implement their own every time. I hope it would be simply a matter of supplying the data to some kind of API call.
About FileVault: Still MS Windows’ file/disk encryption does not work on other OS. To share between different platforms you should use instead third party utility.. You could also use archive utility to encrypt anyway. Some of them AFAIK support AES too. (I am not really sure. So correct me if I am wrong)
Actually people was demanding for the dock to go away
Yes, more or less what users wanted – I don’t think they know what “window mode” means. Now, let’s wait for the menu bar to go in a more sane place other than the top of the screen… or is it asking too much to remove that early ’80s relics?
This is something that OSs should have done since the ’80s… except that “wireless” part, of course
I think it’s insane to see people on the same desk to send files each other via e-mail, often containing sensitive personal data (encryption who?). In my office someone thinks that _I_ am the insane because I use USB keys – usually the kind of people who later complain about slow networks, full inboxes, attachment size limits, etc.
Those limits are one of the reason why Gmail is so popular amongst companies.
All of this because setting up shares is so damn complex. Wouldn’t it be cool to right click on a file and see “Send to John Jackson”, “Send to Jack Johnson”, etc?
But they’re not ubiquitous, you need to have the same tool installed on all your computers, phones, servers, cameras, you name it. And of course your neighboors, your friends, and your co-workers will have different ones in different versions
And still, people won’t use them because it will involve some more clicks.
Versions
Hurrah.
Nice to see Linux/Windows/OSX systems finally catching up.
File Versioning was built into VAX/VMS from Day 1 in 1977. Right into the Filesystem structure.
You could have (IIRC) 32767 different versions of a file originally. Then they changed it to an unsigned INT that gave you 65535 versions(again IIRC)
Files versionsing at OS level was something we discussed when I was a student in the mid 1970’s. We’d just taken delivery of our first minicomputer (PDP/11-40, 28kwords of Ram and 1xRK05 2.4Mb disk, VT05 VDU)
The common complaint was that we could easily lose data as there was no previous version of the file saved.
Sigh. Not been a lot of progress (in OOTB filesystems etc) since then has there?
Windows has File versioning since WinXP. it’s called Shadow Copies, unfortunately, MS choose not expose the UI in consumer Windows, you needed to use a registry hack to turn it on.
Sigh
If you choose to learn about Windows it is a very capable operating system, which is a bit spoiled by what Microsoft and many OEMs deliver as “user experience”.
The problem is, many geeks frown up learning about it,
due to Microsoft’s business practices.
If Microsoft had more friendlier business practices, probably people would not be so much against it.
If so please clue me in. I have a useless “An error has occurred” message in App Store, an Install button that no longer clicks , a code that has already been redeemed and cannot be reused, and no log messages about any of it.
This is really making a strong argument against the App Store model being useful for anything.
Got the same problem as you and the solution was quite simple (although not so easy to find). Go to ~/Library/Application\ Support/AppStore. Open manifest.plist expand until you see a line with “failed” and change the value from yes to no… Worked like a charm here. Posting this reply from lion
So now they’re polluting the desktop space with the abbreviation of a ‘application’.
One more move to make computers actual action abstracted away from the mind of the operator.
I really hate this company.
*says horrible things about Steve Jobs to self*