Copy link to clipboard
Copied
Hi everyone, can anybody explain this to me quick? I'm not programming-savvy, but I'd like to know.
thanks!!
Copy link to clipboard
Copied
I would say it's much higher than 70%. Probably well over 90%... ![]()
Harbs
Copy link to clipboard
Copied
Harbs,
I am really relieved.
You should already have a package off list / forum, and yes, it would be very interesting to know the relative performance values for that 100 pages document.
Harbs and Steve,
thanks for leading the discussion back to the general topic. ![]()
If you talk about consumers, your estimates might be right - the small Mom and Pop designer (whom I'd still consider professional) has heavily invested on two seats of the master suite plus all those upgrades and they are not really prepared to pay for even more to get it working, even though some of them value their saved time.
On the other end of the range there is an enormous amount of seats where 100s or 1000s of people work together, isolated from the remainder of the world by layers of admins and typical large scale IT staff. These people have their specialized solutions (with 100s of dialogs and panels, database and so forth), and otherwise are shy of compatibility issues and, given the media crisis, also the additional costs at their large scale.
There must also be those mid size agencies and in house documentation departments with similar needs, just at a smaller scale. Some of them even from other industries, who just found out that there is more than Word or XSL:FO. I think they do not frequent our typical places and will only find solutions by accident, strong advertising or if mentioned by their friendly consultant who also held the hand when the original software was installed. Sometimes I really think I should walk up all such shops in the neighborhood and grill them about their specific problems.
Dirk
Copy link to clipboard
Copied
Hi all,
First of all, special thanks to Dirk and Steven for very interesting information about plug-ins development.
I dabbled a little in SDK too: completed WriteFishPrice tutorial and played with sample projects a little, but didn't make any progress since. By the way, this tutorial contains numerous typos which makes things much more complicated.
As far as I understand, if you want to start developing plug-ins you should invest considerable sum of money first — $450 and above — to join a partner support program so that to get debug version of InDesign. Or, alternatively go back to InDesign CS (Version 3). Right?
I know that a few guys, here on this forum, are experts both in scripting and plug-in development — so I want to put questions to them.
Is it difficult for a scripter, writing mainly in JS (but also acquainted with AS, VB and Xcode) to learn to make plug-ins? Does scripting experience help in this?
Is there some free tutorials, articles, manuals, etc., for scripters making their first baby steps into the scary world of SDK? I've found only this one, called "How to remake a script into plug-in": http://forum.rudtp.ru/showthread.php?t=5415 — but it was written in the days of CS.
I read about feature development with scripting and wonder: is it possible to create a native InDesign's panel with buttons, checkboxes, etc. and bind these UI elements to scripts — so that when a user clicks a button it triggers a script?
Could someone draw parallels between main concepts in scripting and plug-in development?
For example, I'd like to know what corresponds to Data browser, Console, OMV, Call stack, etc. in Visual Studio.
Kasyan
Copy link to clipboard
Copied
I'll leave answering the rest of your (very good!) questions to Dirk et alii, but here's an interesting one:
Does scripting experience help in this?
I've also dabbled with plugins for CS (and that without a Debug ID!), but was very happy to see JS processing speed sky-rocketing with CS2 and further on.
YES: it absolutely helps if you are an experienced (not a starter!) script writer. Not only because of the discipline of code writing, but also because a lot of the "inner workings" of ID shine through into the scripting DOM. If you are familiar with this, you'll at least have some idea what all those bosses and interfaces are doing.
It always surprises me to see InDesign rookies ("never used it b4, can u help me") post questions in the SDK forum. What are they thinking?
Copy link to clipboard
Copied
Kasyan Servetsky wrote:
As far as I understand, if you want to start developing plug-ins you should invest considerable sum of money first — $450 and above — to join a partner support program so that to get debug version of InDesign. Or, alternatively go back to InDesign CS (Version 3). Right?
InDesign Debug is given free to developers following guidelines mentioned at http://blogs.adobe.com/notesfrommnr/2005/08/heres_how_to_ge.html#more
Kasyan Servetsky wrote:
Is it difficult for a scripter, writing mainly in JS (but also acquainted with AS, VB and Xcode) to learn to make plug-ins? Does scripting experience help in this?
Like Jongware mentioned there are 2 parts, knowing InDesign and understanding Object Oriented C++. To understand InDesign scripting experience will help, but it's still necessary to read and understand the "programmers guide.pdf" included with documentation. For Object Oriented C++, prior experience goes a long way. I personally have done lots of ATL and WTL Com programming, which helped me out immensely.
Kasyan Servetsky wrote:
Is there some free tutorials, articles, manuals, etc., for scripters making their first baby steps into the scary world of SDK?
Not that I know of. All there is, are the many examples of the SDK. I use Locate32 app to full-text-search of sample files to find examples to learn more about API.
Kasyan Servetsky wrote:
I read about feature development with scripting and wonder: is it possible to create a native InDesign's panel with buttons, checkboxes, etc. and bind these UI elements to scripts — so that when a user clicks a button it triggers a script?
Yes, it can be done. However the UI is from the hardest parts of SDK to get used to, making it questionable if you wan't to have to compile plugin for each platform and version so that your UI looks built-in. Besides, text seems to take up more space on mac dialogs or panels, making it sometimes necessary to change numbers based on platform, where ScriptUI (if used correctly) and InDesign scripting dialogs do panel layout for you.
Copy link to clipboard
Copied
Hi Kasyan,
The semi official way to get a hold on the debug build (highly recommended) is described in this 2005 blog entry:
http://blogs.adobe.com/notesfrommnr/2005/08/heres_how_to_ge.html
I do not know whether this information has been revised.
I have to pass the question on difficulty if you come from JavaScript, as my C and C++ experience predates JavaScript by a decade. I can imagine hard times if you are only used to flat semi procedural JavaScript, on the other hand there are also advanced/twisted libraries in browser scripting. Jongware's quote is on the point. I've seen some Java (non -Script) developers despair, others succeed. Even to regular C++ developers the learning curve is steep, because the object model is BIG and has its specialties. Be prepared for dimensions in the difference of development time, e.g. a non trivial script will take you few hours, the first equivalent plugin will be weeks.
Scripting experience helps because it already covers the most relevant 5 or 10 percent of the document object model. Repeat: You'll have an enormous advantage because you already know InDesign in and out, including expected UI behavior, where the average C++ developer does not know the difference between page and spread. You'll completely miss on the object model outside the document - UI, import filters and so forth, most of these classes are just exposed as an enum option given to a scripting method. You still know enough to prevent the worst gotchas of UI. A good introduction to software design patterns will also help.
Native user interface is created from resources, which have their own language. Mac veterans will recognize the Rez language, actually the successor ODFRC was abandoned by a joint effort of Apple and IBM ages ago with the OpenDoc technology but is still alive in InDesign.
You'd instantiate the resources from minimum code, but full user experience requires plenty glue code. Especially for true palettes you can not map straight to selected objects, but have to follow an abstraction "suite" that anonymizes objects and only passes the respective property. This is just the equivalent to the typical scripter's question "what class has app.selection[0] today?"
If you know your way around in the object model, the major work is hook into the relevant notifications, advanced behavior (drag and drop) is also extra work. If you do not want to follow the selection, you can simply watch the widgets from an observer class and fire off scripts. Of course as I said this will break the expected user experience.
The SDK itself has plenty examples, generated documentation and programming guides. Admittedly some of the examples show their age, others are taken straight from working code. We once started a wiki again sponsored by MNR, but unfortunately the typical developer is too busy to even copy and edit responses he received for free into the wiki. The fewer of us that actually answer also have their regular work. Maybe the login process was just too much asked.
Parallels:
- data browser => that would be the debugger, for your own classes. Problem here is most data is hidden in methods of interfaces, which are not displayed by a debugger. In other words, I maintain my "sniffing" plugin, there are also many obscure trace options in the debug build, but no silver bullet. The scripting data browser or an IDML file already get close.
Console => there is a "debug window" application, again only for the debug build. Trace output is removed on compile time for the release build. VS has a console panel.
OMV => unzip the generated HTML files. This command shows the size: du -s -h /Adobe/ID6SDK/docs/references/sdkdocs
599M
Call stack => again standard feature of XCode and Visual Studio. XCode / gdb is better to recover from call chains that include Adobe code, VS is lousy in that regard. XCode has other problems. For editing I still prefer CodeWarrior which was killed by Motorola around CS2 when Apple chose the Intel way.
Quote from Jongware: It always surprises me to see InDesign rookies ...
The tough ones learn patience and survive.
Steven also beat me: "I use Locate32 ..."
Yes, you will need a good full text search, I prefer the builtin of OSX but will try Locate32. VS is crawling by comparison.
"text seems to take up more space" ... I start at Mac and only change details like expected button locations.
Dirk
Copy link to clipboard
Copied
Dirk, you seem to use the mac as your development machine while I work on windows. (I actually borrow a friend of mine's mac for compiling on mac)
Locate32, I think is Windows only, where build-in search is very slow. I like locate32 because I can save Search locations and reuse from dropdown.
The problem is that it doesn't show where in the file the text is found. So I drag all the results into notepad++ and run a search on all files.
Oh by the way, how much $ you sell your "sniffer" plug-in
I only need 1 license.
Also on Windows, all the documentation comes as a single chm file with built-in texual search.
However, the most frustrating thing in my InDesign development is that even with debug version, there is very little information available via the immediate window since everything is hidden behind undefined functions.
For editing, I guess i'm a little old school, I still like using a text editor like notepad++.
Copy link to clipboard
Copied
Steven.., if you only like Notepad++, you'll love TextPad. It has full-text search in any folder and any set of files, and you can double-click the found items to immediately load&locate the original line. It has a better GREP than InDesign. It's highly configurable -- I used to compile and run BCC program directly from within it, and that's possible with any command line utility, even the ones you write yourself (in BCC, for example: run & compile, then run your own program and catch its output ... et cetera).
How does Notepad++ do with h-u-g-e files? I wrote a disassembler and loaded its output immediately into TextPad. One text file, 10 MB -- no sweat drop anywhere, not with paging up and down, not with searching, not even with replacing. It has no problem at all with the measly 6 MB JS Help XML.
Being new on the Mac, I haven't found a plain text editor yet that even comes close, and missing it dearly already ![]()
Copy link to clipboard
Copied
[Jongware] wrote:
Steven.., if you only like Notepad++, you'll love TextPad. It has full-text search in any folder and any set of files, and you can double-click the found items to immediately load&locate the original line. It has a better GREP than InDesign. It's highly configurable -- I used to compile and run BCC program directly from within it, and that's possible with any command line utility, even the ones you write yourself (in BCC, for example: run & compile, then run your own program and catch its output ... et cetera).
How does Notepad++ do with h-u-g-e files? I wrote a disassembler and loaded its output immediately into TextPad. One text file, 10 MB -- no sweat drop anywhere, not with paging up and down, not with searching, not even with replacing. It has no problem at all with the measly 6 MB JS Help XML.
I guess spending money on a text editor is a hard sell, however Jongware you are a good salesman
[Jongware] wrote:
Being new on the Mac, I haven't found a plain text editor yet that even comes close, and missing it dearly already
I think BBEdit is quite popular, maybe some mac experts could comment
Dirk Becker wrote:
Steve, you know you can drag the panels around in VS? Close, build a pile, create groups, and so forth.
Yes I do know. However I'm not sure what I wrote that prompted response.
Dirk Becker wrote:
In case you were not kidding: That plugin is not for sale, it is a major unique selling point of my consulting business. Besides it needs heavy customizations for every other task. You definitely learn what interfaces not to use on certain notifications.
I was kidding, thinking that even Harbs couldn't make a Scipt/Extension/Plug-Script etc.. to compete with such a capable product.
Copy link to clipboard
Copied
> think BBEdit is quite popular
It is, but TextMate seems to be gaining a following among coders.
Copy link to clipboard
Copied
I think BBEdit is quite popular, maybe some mac experts could comment.
I use BBEdit myself, and it's quite good. It has very good type-complete, etc. It's highly configurable, and I regularly have about 100 files open simultaneously (some of them large) and I've never experienced any trouble. It has good recovery as well.
I briefly tried TextMate and I was blown away by its features, but I found BBEdit more comfortable to use. I would only write code in the ESTK if you twisted my arm!![]()
An additional advantage to working in BBEdit (or TextWrangler) over ESTK is that it saves Spotlight searchable files.
Harbs
Copy link to clipboard
Copied
Hi Harbs,
I don't want someone to twist your arms or mine neither.
However, I can imagine there are better tools than ESTK. But I use it because I can access to the Indesign DOM.
How the other softwares deal with that? Can you load the DOM onto them ?
Loic
Copy link to clipboard
Copied
No. I know most of the DOM by heart, but when I need to browse the DOM, I use either the OMV or (more likely) Jong's HTML browser.
When I need to debug a script I'll load it in the ESTK to do that there, but for simple debugging, I find that it's sometimes easier just put in an alert at the expected trouble-point and run the script from the script panel.
My aversion to the ESTK began when I had one too many crashes and lost a whole day of work...
I have NEVER had BBEdit crash on me. Also, the code-complete of BBEdit makes sure I almost never have any typos which is the biggest source of bugs in ExtendScript.
It might be possible to load the DOM into TextMate, but that's probably not for the faint of heart... ![]()
Harbs
Copy link to clipboard
Copied
Thanks Harbs for your answer 😉
Copy link to clipboard
Copied
Another entry in the "should have a look" list is the heavy-weight "Eclipse".
Advantages are integration of source code control ( Subversion ) and specialized editors for every obscure language and programming related task on the planet.
Disadvantage is that it is based on Java. I have not tried it recently, and there has been much optimization so Java might have become acceptable, but whenever I used Java based applications in the not so distant past the responsiveness reminded me of 20 MHz machines from the stone age of IT.
Dirk
Copy link to clipboard
Copied
Wow!
This thread is definitely turning into the most interesting one of recent history. Possibly of all-time! ![]()
Harbs
Copy link to clipboard
Copied
Steve, you know you can drag the panels around in VS? Close, build a pile, create groups, and so forth.
I use Macs for myself because I'm faster with them but if a client insists I'll also do Windows only jobs.
In case you were not kidding: That plugin is not for sale, it is a major unique selling point of my consulting business. Besides it needs heavy customizations for every other task. You definitely learn what interfaces not to use on certain notifications.
Dirk
Copy link to clipboard
Copied
A great big thanks to everybody who responded me!
I read this blog entry about a year ago, when I was playing with SDK and looking for any information related to it, but all links turned out to be outdated and broken — so I was (and am) unable to get a free ASN web listing. Or, should I just skip this step and e-mail to mnr directly?
Kasyan
Copy link to clipboard
Copied
You are probably going to need the listing to do any real work in the SDK. You will need your own prefixes, etc...
If the links are broken, send Mark an email. He's a really helpful guy, and he'll probably sort it out for you...
Harbs
Copy link to clipboard
Copied
sign up here https://www.adobe.com/cfusion/partnerportal/index.cfm and send email.
These day's I think its part of your regular login.
Copy link to clipboard
Copied
thanks to everyone who replied. It was very interesting and helpful to read your answers, and now I feel like I could give an answer to that question which I just KNOW I will be asked. The Forums come through again!! ![]()
Copy link to clipboard
Copied
Let's not forget a major plus point of scripts: they are, or can be made to be, version independent. Older scripts that don't wo
rk
anymore (--please ignore random hard returns, I'm not going to fix jive-ups!) can be made to come alive
by putting them into a "Version xx Scripts" folder -- it works for all but the utmost 'dirty scripted hacks'.
Plugins, on the other hand, are highly version-dependent. And as Adobe publishes a new SDK, with new system and environment demands, per each new version of InDesign, the programmer has to acquire that new programming environs, work through the documentation to find what changed where, and update the source code of his own plugin just to make it work for a newer InDesign. Woe unto them who write plugins for a living if they don't promptly update their plugins to work with the latest version (after all, hey, the client paid for his old one -- and it does not work anymore in the new version so why don't you fix it for free as it is clearly broken -- etc.).
Copy link to clipboard
Copied
Is the capacity to show a preview of changes made in the user interface live and difference between scrip and plugins? or they both can show a live preview? If a script can do it can someone please instruct me how to do it. Thanks, Jean-Lou
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more