Adobe Unveils Open Source Library
anamexis writes "Adobe premiered (no pun intended) opensource.adobe.com recently. The first two libraries available, titled Adam and Eve, respectively, take on complex GUI issues in applications. They are written in C++ and have been released under the MIT License, an OSI-Approved Open Source License."
If only they'd fix Acrobat Reader for linux...
Not being familiar with the MIT License (too lazy to RTFL), just wondering what use these libraries could be to projects like the GIMP.
I'll turn into a supernova and burn up everything. Well I'll turn into a black little hole and you'll turn into string.
We are in for treat.
Quid Pro Quo, nothing more, nothing less.
Insert Cain & Abel joke here...
I was expecting some amazing graphics library but it is just a bunch of fairly trivial C++ templates. Nothing Boost cannot already do.
...But please, release something worthwhile under an open source license, like the backend stuff for Acrobat or something...
And for the love of God, release Reader 7.0 for Linux, and do it soon!
I welcome Adobe's efforts to work with the open source community.
That being said, I am still too afraid to use any Adobe products after DmitryGate.
I think it's going to take alot more from Adobe to win the trust and respect of this community, or at least this member.
I should mention that I am also a former Adobe customer.
Combine these with an Apple and you have the downfall of mankind...
I'll turn into a supernova and burn up everything. Well I'll turn into a black little hole and you'll turn into string.
...another GUI library.
...Searching for "Linux" using the site-only Google search on the opensource.adobe.com website, yields one result: http://opensource.adobe.com/pipermail/pythonphotos hop/2004-January.txt
And that one result no longer exists (you get a 404 when trying to access it). So if any of you folks are preparing to post "Oh boy, that means Photoshop for Linux is just around the corner!" -- you'd better think again.
X11 License
This is a simple, permissive non-copyleft free software license, compatible with the GNU GPL.
This license is sometimes called the "MIT" license, but that term is misleading, since MIT has used many licenses for software.
source
from the webpage:
;-) )
The most ambitious library, Adam, stems from the intuition that the logic behind a simple human interface can be distilled to a function:
f(x) -> x'
Is it just me but does this not sound a little to broad a definition of a library? I mean I can write anything like this:
My most ambitious library (The_Meaning), stems from the intuition that the logic behind the entire universe can be distilled to a function:
f(x) -> x'
obviously there is much work to be done on "The_Meaning" but when it is finished it will do everything (and the answer will turn out to be a disappointing 42
Haven't looked at what they've actually released, but kudos to Adobe for not creating yet another "Open Source" license like so many other companies seem to do in this situation.
This article was featrued on MacSlash since yesterday !
Trolling using another account since 2005.
Simulated Partial Specialization for non-compliant C++ compilers. Allows a user to obtain many of the benefits of partial specialization of C++ templates without direct compiler support.
Python action plug-in for Adobe Photoshop. Allows a user to write Photoshop action plug-ins using Python. Has Python interfaces to all the actions APIs.
Python plug-in for Adobe Illustrator. An Illustrator plug-in adapter that allows users to access the C level API from Python
Python plug-in for Adobe After Effects. An After Effects plug-in that allows users to access the C level API from Python.
Python module for Perforce SCM. A C coded Python module that provides access to all the calls in the Perforce source code management system SDK.
-Don
Take a look and feel free: http://www.PieMenu.com
For the less code-literate among us, what exactly do these files do? Adobe's site doesn't make it clear at all, so R'ing TFL doesn't help...
I'm sorry, but I do not agree with you on many points... seriously, the Hotmail signup process requires a LOT more unchecking of boxes than the 3 unchecks you need when downloading Acrobat... it's a very common practice, and even Joe Shmoe who is able to find out he needs Acrobat is aware to not check everything... besides, at least Adobe doesn't sell your email addy to dozens of third parties...
Secondly, what's wrong with a business paying for creating PDF's ? There's nothing really wrong with Adobe Acrobat's business model: create a portable document format, make readers available for free on any OS, guarantee that it looks the same everywhere, and let people who want to create PDF documents using Acrobat pay...
Now, there already are pdf writers other than acrobat, so what's the problem...
IMHO, you're highly overreacting.
- Leon Mergen
http://www.solatis.com
How about "open sourcing" (or just making freely available) the damn Photoshop plugin SDK?
combined with: "The Eve layout engine has already saved Adobe millions of dollars in localization costs."
Means this contibution (mainly UI work based on Boost) is a very decent contibution.
T.J. Schmitz - the man, the myth, the legend - o
For the love of God, Cain't they find better names? Just right now, I was Abel to think of a few just off the top off my head. My mind is being Flooded with ideas for software names, in fact. Funny story, I used to Noah guy who could Babel out a hundred names on command...what a Nimrod that guy was.
Tech, life, family, faith: Give me a visit
Oh, he was executed for "Crimes Against Copyright".
The dirty little secret of the RIAA and MPAA lawsuits is that the people who refuse to settle and pay "damages" are being charged with the same crime. Fortunately for the file traders, most of these cases are being settled in one manner or another, but they aren't going to arbitration or a courtroom. Some DHS agents just walk in, arrest the "file trader" and charge them. While the 12 year old girl and the 80+ grandma who got served reached the media, there's already about a dozen 20 something file traders that have been put to death by the federal government.
One poor slob was running Freenet as well as eDonkey, and was promptly charged with distributing child pornography. Most people don't know that the courts have taken running freenet as "proof" that the user is distributing kiddie porn. Remember folks, if you can't police the content, police the utility.
"Live Free or Die." Don't like it? Then keep out of the USA
From the documentation:
Adam is a modeling engine and declarative language for describing constraints and relationships on a collection of value, typically the parameters to an application command. When bound to a human interface (HI) Adam provides the logic that controls the HI behavior. Adam is similar in concept to a spreadsheet or a forms manager. Values are set and dependent values are recalculated. Adam provides facilities to resolve interrelated dependencies and to track those dependencies, beyond what a spreadsheet provides.
Eve consists of a declarative language and layout engine for constructing an HI. The layout engine in Eve takes into account a rich description of UI elements to achieve a high quality layout - rivaling what can be achieved with manual placement. A single HI description in Eve suffices for multiple OS platforms and languages. This document describes Eve2, the latest version of Eve. Eve2 was developed to work with Adam and to incorporate many improvements that have been requested since Eve1 was written.
I must admit that I haven't looked at the code in great detail, but that doesn't sound very trivial to me. Also, 1749K of zip compressed C++ code would be a heck of a lot of trivial code.
Adobe used the Quorum Latitude Macintosh application porting libraries to port Photoshop to Unix and X-Windows.
The result of using a complex Mac emulation library that mapped quirky Mac toolbox calls onto the byzantine X-Windows graphics model and shoddy Motif/X Toolkit API was an absolutely horrible, ugly, buggy, unusable version of Photoshop. I could quickly cause it to core dump with three clicks of the magnifying glass tool.
Here is a case study of porting Adobe Photoshop to Windows and Unix. It describes some of the reasons Adobe decided to use the Macapp emulation approach for Unix, instead of properly rewriting their code to be platform independent.
Quorum had been around for a while. When I started porting SimCity to Unix in 1991, I evaluated Quarum Latitude, and decided that it was not worth using because my goal was to make a better version of SimCity than the one that ran on the Mac, not a crippled one. For example, I implemented multi-player support via multiple X11 connections to different servers at once, which would have been impossible if the program though it was running on a Macintosh.
-Don
Take a look and feel free: http://www.PieMenu.com
Has this been removed from their library? If not, doesn't it conflict with the whole concept of opensource?
http://patft.uspto.gov/netacgi/nph-Parser?Sect1=POnce GIMP people implement 48bit color and color management, they'll have a potential to take away a large portion of Adobe clientele - web designers and photographers (i.e. people in no way related to prepress and CMYK). When two products have equal capabilities in relation to your tasks, but one is $650 and one is free, the choice becomes really simple.
Right now GIMP is not yet there, but this doesn't mean it'll never be.
Linux IS tier-2, unimportant platform as far as it concerns Adobe. You know, that Desktop Linux - Yeah, This Is The Year.
Scientific community on unix is pretty settled down on Latex or postscript and you truly have no need for PDF in server envorement.
Adobe never took the open source Python scripting extension their own employee developed seriously enough, nor did they continue to develop and support it, and now they've white-washed it from their open source web site. But they certainly should have given it more consideration: It was a brilliant idea.
Photoshop and AfterEffects would have been vastly more useful if they had well designed built-in scripting languages supporting binary plug-in interfaces, the way 3D Studio Max has MaxScript, Gimp has Scheme, or Poser and Paint Shop Pro have Python.
Profound Effects, a third party AfterEffects plug-in developer, has created an amazing plug-in called "Useful Things", which true to its name enables you to easily script AfterEffects in Python to do all kinds of useful things.
Adobe has always left the scripting languages to third party developers, but they should have been doing it themselves to achieve a much deeper intergration than is possible through third-party plug-in interfaces.
3D Studio Max originally didn't have its own scripting language, but then Lyric, a third party 3D Studio Max plug-in developer, implemented a plug-in called "MaxScript", which enabled developers to easily script 3D Studio Max. The important thing about MaxScript is that it had its own plug-in interface, which enabled developers to plug their own primitives into the scripting language! MaxScript was so powerful that Kinetix (now known as Discrete) bought MaxScript and built it into Max, integrating it as deeply as it should have been in the first place.
The ability to plug external binary code into an application's scripting language is vitally important. On Windows, that's traditionally achieved through ActiveX/OLE, which you can use in any of the Windows scripting languages like JScript and VBScript. And you can plug the scripting language into your application and expose your application's API to it throught ActiveX/OLE.
But cross platform applications like Photoshop can't use ActiveX/OLE (or decided not to -- OLE and ActiveX were ported to the Mac and Unix years ago, but weren't widely used or supported).
Python is an excellent choice for a cross platform extensible scripting language. It's a much more serious language and it's much easier to extend that JavaScript, and there is a huge library of existing modules to draw from.
-Don
Take a look and feel free: http://www.PieMenu.com
From the modules description...
"In the beginning the programmer created the language and the code. And the code was without form, and void; and darkness was upon the screen of the computer. And the programmer moved upon the keyboard of the computer. And the programmer said, let there be Photoshop: and there was Photoshop. And the programmer saw Photoshop, that it was good: and the programmer divided the Command Parameter Modeling Code from the Underlying Framework." - The Book of Photoshop 1:1-4
After reading the full module overview I must say that this looks pretty nice. Note that releasing Adam and Eve won't let every program just take over Photoshop's look and feel (thank god!). You still need to provide all of your own widgets, all of your own event generation code, all your own application back end, as well as write the event handling and layout descriptions. The advantage of this system though, is that the event handling is described cleaning in Adam Expression language which can parsed to execute in any environment. Likewise, the layout can be simplified by describing it in an environment-neutral way that can then be bound to Adam values.
It doesn't seem revolutionary, but it is a nicely worked out evolution in interface building.
"When ideology and theology couple, their offspring are not always bad but they are always blind." -- Bill Moyers
Here are some pictures of dockable tab windows in a visual PostScript debugger for NeWS called "PSIBER (for PostScript Interactive Bug Eradication Routines)", that I wrote at the University of Maryland Human Computer Interaction Lab in 1989. And also Tab Windows with Pie Menus for The NeWS Toolkit that I wrote at Sun in 1990.
What's ironic is that Adobe wrote PostScript, so I corresponded with Adobe employees about PSIBER when I was writing it, even sending them early copies of the source code. Understandably they were very interested in a visual PostScript debugger. So Adobe certainly knew about prior art of docking tabbed windows since 1989.
-Don
Take a look and feel free: http://www.PieMenu.com
umm... did you download and look? there is a directory full of examples. Looking and learning isn't as much fun as bitching on /., though, I suppose.
There is an example right in the introduction.
Adam and Eve are two separate but related libraries.
Adam allows you to express a bunch of things in terms of other things (e.g. this button's right edge needs to be 10 pixels left of that button's left edge OR this HSV setting is related to that RGB setting) and then have them automagically be kept updated. Neat.
Eve is a UI library. It seems to allow for automated layouts (as well as manual?) and depends on Adam for some of its functionality.
Both depend on the boost C++ libraries.
Actually, I'd say the quality of Adobe products has declined over the last few years - they've reached that stage where they try to milk the current line for as long as possible, while adding more and more mis-features rather than listening to their customers and splitting out features into different products. Quark in its time was also an innovate company, and look what happened to them...
Personally I find the Photoshop CS menu bar over-crowded, and the Layer Style dialog byzantine (quite apart from the fact it takes an age to open). Double clicking on stuff in the layers palette is also a bit hit and miss - click on the text and you get to edit the layer name, just off the text and it opens the layers dialog. They are suffering a little from featuritis. Compared to The GIMP of course, it's a dream to use.
The File menu in Illustrator CS on OS X now includes the gem 'Save for Microsoft Office' which isn't in the Export menu where it belongs but at the top level - a sure sign that the marketing department has taken over, quite apart from that Online Services... stuff and the recent emphasis on copy protection.
I don't agree that there will be no competition to them - Apple for one have the incentive and resources to create a competitor if Adobe continues their slide towards windows. Already the CS suite are pretty slow on anything but the high end hardware under OS X, because they obviously haven't optimised for UI performance on OS X. A competitor doesn't have to produce a category killer all at once; they can start small and cheap, and build up, as Adobe did with InDesign when competing with Quark. In fact on OS X 10.4, with core image, it wouldn't be too hard to produce a competing product to Photoshop Elements, and build from there.
Having said that, yes Adobe will dominate the professional market for years to come, due to inertia if nothing else - I'm still stuck working in quark under classic for quite a few design clients, who would love to switch to InDesign but haven't yet for legacy/cost reasons : )
You might want to check out the Free Object-Oriented License, written by those compression pioneers over at lzip.
Highly, highly recommended reading. If you're curious about the tone of the license, consider the acronym formed by its title.
EVE is not a widget set. It is a layout engine to put widgets in the right place, according to a UI description. Given a set of rules about what your platform widgets look like, and a list of translations for your text, it automatically adjusts the layout.
It's pretty good.
Disclaimer: I used to work for Adobe. I left a few years ago.
.rc UI resources into expressviews (the precursor to EVE.)
I have experience with EVE that may be more interesting to read that a bunch of anti-Adobe slurs: For a while it was my job to localize Illustrator, and part of that involved converting the old DITL and
At the time, Illustrator had somewhere around six or seven hundred dialogs. Times fourteen languages. Times a few platforms (OS 9, OS X, 95/98/ME/NT, XP). That's a LOT of UI to program, translate, and test.
EVE lets you describe a dialog with one XML-ish text file, and have that layout work for all languages on all platforms. That is a significant potential reduction in UI programming (and hopefully bugs.)
It looks good, too. Take a look at Photoshop or Illustrator's UI. I don't mean the wacky custom controls-- I mean look at the widget layouts. Can you tell which ones were painstakingly created by a human, and which ones are being generated on the fly?
When I was working with this technology, there were a class of problems that couldn't be easily handled (such as alignment across separate view hierarchies) but it looks like EVE2 is fixing most of those areas.
I can't really comment on ADAM since that wasn't at a usable stage when I was at Adobe. Some people have commented that the static binding dates it, compared to say 10.3's Cocoa bindings and KVO. Maybe, but any sort of binding that gets rid of huge chunks of UI glue code is a good thing. It's in C++ because that's what Adobe's giant cross-platform codebases are.
So, this is good stuff. It works. Now you can play with it. What's wrong with that?