Petition Apple for AppleScript 3.0

Poisoning the well and blowing too much hot air! Why not take all available resources and do what you cannot in one with the other and focus on strengths. It’s great that you have split off and gone in a direction you believe is the right one, but if someone wants to promote AppleScript and encourage its support, don’t go to a site that supports its users better than anyone else and stand there with a sign saying ‘the end is near’. Everyone with any experience has heard that before and somehow it continues with the help of a community of support from people like @alldritt @Piyomaru @ShaneStanley and many others.

Poisoning the well and blowing too much hot air!

All 100% true. The problem is: @lite’s proposed strategy is a futile one… and had lite or I done due diligence we’d have found the whole petition thing was already tried in 2016 and achieved exactly zip, and saved ourselves a good chunk of unproductive exchange entirely.

That leaves all of you with only two options:

  1. You can accept that AppleScript’s day is done, that Apple has already chosen a completely different road and is already well along, and just enjoy it while it lasts; or

  2. You come up—quickly—with a completely new, exciting strategy to influence Apple’s new direction, by fixing its flaws and making it a hundred times better. Then roll up your sleeves and Build It Yourselves. A modern cross-platform Siri-centered solution which also happens to salvage the concepts that made AppleScript and Apple event Automation so compelling to you lucky few, and make those ideas attractive and accessible to MILLIONS of Apple’s iOS customers. And then You Sell Apple on That.

So, by all means, correctly criticise my inability to express myself coherently and concisely. And, once you have your own frustration out of your system (get in line!), you can start by editing my raw ugly brain dump with a chainsaw till you have it down to a fast plan of attack. Why use my plan? Because you don’t have one, at all, and mine has a 10-year headstart.

Or, keep posturing uselessly, fooling only yourselves that you are going to save anything of Mac Automation by complaining how Apple doesn’t love you enough any more.

Sorry not-sorry to speak super bluntly, but y’all have enough resources to build a solution that works and take to Apple to show, and maybe even succeed in selling them on it too! (Maybe 1-in-3 chance? Which is really good odds.)

And, for all my faults, what I have done is a lot of the ground work for you. There is nobody left who understands this tech as I do. Both AppleScript’s creators are dead now. I’m the only person on the planet to build Apple event bridges in the last 25 years that actually work. I have over a decade’s experience in designing end-user automation languages that work. None of you here have done that, including Mark (who is a legitimate tiny god). No-one at Apple has done that. Yes, I’m mad as balls, but everyone here is an automation user: we work with the tools we’ve got, not the tools we wish we had. And what we can build with them is phenomenal.

I will not be leading this charge. As you can see, that’s a non-starter even if I wanted to, which I don’t. My own Automation future is building something different entirely, for a smaller ($20Bn) market. But I will work with anyone who wants to work with me—and I am very good at that too, believe it or not—and I will give those people every assistance I can so that they have the best chance of winning.

.

This is my last post here. Anyone who wishes to contact me to get technical advice, discuss collaboration, etc, Mark has my email address. Be well.

1 Like

I think you lost the point. Nobody asked you what you thought the future of AppleScript was. If you don’t believe in the persons cause that posted, why go so negative on them, the language and one of the people that contributed a majority of their life to it. I’m not trying to start a war of words and posts, my point is…stand on your soapbox and preach what you believe. I respect that. Don’t deflate someone else’s enthusiasm. I personally believe in using every tool at my disposal to get the job done and until AppleScript, applescriptObjC no longer work and people stop building bridges from it to other languages, we all can contribute positively to the learning and support environments that are here.

1 Like

You can accept that AppleScript’s day is done, that Apple has already chosen a completely different road and is already well along, and just enjoy it while it lasts; or

I do not accept that. People have been saying that was happening or was iminent for as long as I’ve been doing appleScript and they’ve been wrong.

Not only is it still there, still usefull, still supported, it is faster than ever.

Yes, Apple does make nearly all of it’s profits on the iPhone. No doubt. But that doesn’t mean what you think it means. The Mac division still makes a profit. A good, profit, better than it ever has, but not a big as the iPhone. So why wouldn’t they keep a profitable business going?

It’s not like they don’t have the money to invest in both. It’s not like the Mac is syphoning off iPhone profits.

Ford makes cars and trucks, but its biggest money maker is the F-150 pickup truck and its most profitable division is pickup trucks. But ford isn’t going to stop making smaller profits on cars and busses and vans and tractors, because they’re making larger profits in one division. They’re going to keep making profit wherever they can.

Plus, the Mac division has other benefits besides profit and an iOS development platform. In the marketplace it helps apple keep a unified fenced garden of users, all within iphone, ipad, icloud, iTV and mac universe.

And since they have a profitable mac division and are getting a return on their investments, they will keep it going, and, for now and the forseable future that includes AppleScript as part of the Mac Automation strategy.

2 Likes

Hhas01, I felt compelled to open an account here just to reply to you. You begin so far above by criticizing the original poster for not using enough paragraphs, then you launch into the first of many exceedingly-verbose epic rants that you have cluttered this thread with. I have never seen so much drivel pouring out of someone in one place! I can’t believe you have the time in your life to spend furiously typing away your very-strong opinions like this, on and on ad infinitum. I wouldn’t normally have such an issue with this, I suppose—live and let live and all—but you are so negative, and so condescending to everyone else. It’s completely uncalled for; it is absurd. Perhaps you are a sage old AppleScript wizard and you know this subject inside and out—that doesn’t mean that your opinions are the de facto truth of the universe. You are, after all, merely another human being who thinks that they know more than they do—this is a common human feature, and you are not unique in this. You can be an expert at this subject yet still be mistaken about matters concerning it. Don’t forget your own fallibility—we all have this in common! People have more respect for someone who has at least a shred of humility about them compared to someone who bloviates endlessly while informing others that they absolutely can’t disagree as they are all ignorant little toads.

Now please go have some nice tea, give your pet some attention, and rest those poor, tired fingers for a while.

2 Likes

There’s still plenty to enjoy and use in AppleScript, and sunset can last a surprisingly long time, if you choose the right latitude.

Activism here is probably just time lost – waves crashing against rocks.

For better or for worse (my personal feeling tends to the latter) Apple’s centre of gravity has now shifted to the iOS cluster of operating systems, which are scriptable to some degree, but, inevitably, not in terms of Apple Events.

That’s it …

Relax and make good use of what is still there, and maybe enjoy learning a few additional languages in the meanwhile. It’s not a religion, and we should all get out more.

3 Likes

Very well put, CP, thanks!

I don’t know the abstract and ideal story. And I don’t know why you don’t talk about 2.9 after Applescript 2.8.

It’s not a story of a dream story, but specifically, you need to find the functions that should be in 2.9.

1. Elimination of defects
It is deplorable that the print command does not work well. Eliminating this type of problem must be done immediately. I have never heard an excuse that the AppleScript droplet cannot access the dropped file. This is an obvious defect.

2. Reserved reserved words that are not functioned
Select a remote application, select URL, and other CGI -related commands are not suitable in the current MacOS environment.

3. Elimination of specification restrictions
The very narrow width of the numerical variables is starting to be a problem. When cocoa enumerations are assigned, there are cases where an error occurs due to lack of digits. This is because the number of valid numbers in numerical variables is too small. The extension of the numerical type is necessary on a daily basis.

4. Orthogue of functions
The printer name can be specified with the print command, but there is no command to get the printer name list. You can specify the voice reading character by reading the text, but there is no function to get the character list. These are features covered with cocoa calls, but we want to avoid using Cocoa functions for beginners.

5. Cocoa script version upgrade
The adventure that uses Cocoa API from AppleScript seems to have completed the map on the map. The boundary between what I could and what I couldn’t do was clear. I gave up what I couldn’t do and polished what I could.

Nevertheless, cracks have been revealed by the introduction of Swift in the current Cocoa script world built in the Objective-C era and Cocoa API itself. The number of frameworks that cannot be reached from the current AppleScript is increasing. At least you need an API that cannot be called without using a block.

6. Restoration of Xcode environment
The situation in this area is the worst. The script using the XIB file in Xcode 13.x is hindered by Apple, and the AppleScriptObjc template deletion is specified in the release notes of Xcode 14.x. At least, I want you to restore the environment where you can create a normal application with the GUI.

7. Standard attachment of the 3rd Party AppleScript library
Currently, the library is created only by AppleScript, and various user interfaces (mainly dialogs) are provided. At least I want Apple to attach these things as standard.

Finally, as a result of working on Cocoa scripting, you realize that these APIs have been changed so often that they are unnecessary. And you will notice that bugs are occurring surprisingly frequently.

Even if AppleScript does not have a new feature that is surprising, I feel that a large amount of work is needed just by continuing to provide the same function. Apple does not look back on the opinions of foam developers from the Far East island country.

However, the maximum harassment we can do with them is to spread AppleScript great things and increase users.

3 Likes

You sound like you have much experience with AppleScript, Piyomaru, and I can only imagine your frustration with Apple for neglecting this amazing technology for so long. After many decades of being an Apple fan, I have finally decided to look into AppleScript, but it does appear I might be a little too late to the party. It seems that AS may finally be going the way of the dinosaurs—though hopefully not. They are known to return their attentions to things, sometimes. I do not get the feeling that this is likely in this case, unfortunately.

Cheers!

Can you clarify what you’re referring to here? Or, even better, are you able to give an example to illustrate what you mean?

I believe they’re referring to the fact that the integer type has a maximum positive or negative value of 536,870,911 (which would make it a 30-bit value…); 64-bit values are needed in many places nowadays.

AppleScript actually has a double integer class that should hold a wider range of values, but it’s not implemented properly & is not very useful.

(example of the only place I've ever used it)
to roundTo(n, decimal_places)
	(*    (number, integer) → number
	
	Return n rounded to the nearest decimal position specified by decimal_places. Accepts negative decimal_places. If decimal_places is 0 or less, the return type is integer, otherwise it is real.    *)
	
	set rounded_n to n * (10 ^ decimal_places)
	set rounded_n to rounded_n as double integer
	set rounded_n to rounded_n * (10 ^ -decimal_places)
	
	if decimal_places is greater than 0 then
		return rounded_n
	else
		return rounded_n div 1
	end if
	
end roundTo

roundTo(2.333444555666E+10, 0)
-- returns 2.3334445557E+10, rather than erroring out if "as integer" is used

A silly example here, perhaps, but I only came across double integer because the above handler choked with a regular integer.


For what it’s worth, I understand a lot of the sentiment here, but agree with Mark (and Hamish) that AppleScript doesn’t really have a viable future. It really is a pig of a language, and a lot of its “magic” comes from the first-class Apple Event support it receives from applications & its integration with macOS as a whole.

I think Swift would be the obvious way forward, if Apple was able to provide better support for scripting using Swift, with a proper Apple Event bridge, tooling, and some minor additions to the language that would take away the friction of using it for scripting (some sort of source “import” function, support for loading local swift packages similar to swift-sh, a more permissive syntax mode, etc).

Proper Swift scripting support would at least address a lot of the pain points of AppleScript while waiting for Apple to get their automation strategy sorted (if indeed that ever happens). It would provide a clear path forward for those of us who love AppleScript for what it can do (even if we don’t love the language itself).

We don’t have some suppoort in making Siri-like natural language interface program in AppleScript, 2002.

Now we are making more powerful solutions in AppleScript. But Apple make a lot of bugs in their OS and frameworks very frequently.

They may be able to make new functions and they can not fix their own bugs.

I don’t have any support from Apple. And Apple hinder us to make solutions.
Is it a neglect? No. It is a kind of no quality control.

Until just over a year ago, I’d never written a script in my life. Now I have hundreds of them. I’d say that I am pretty much exactly the target market for AppleScript. Low skills, complex needs, willingness to learn.

AppleScript seems to me to be an amazing idea that was about 70% realised by the mid-2000s, and is about 69% realised now… Since then, Apple has gone from being a computer company that happens to make phones to a phone company that happens to make computers. Its future seems to be as services ecosystem that uses its hardware for user lock-in.

What that means for AppleScript/Apple Events, I have no idea. What I can say for sure is that I would never have learned to code if it wasn’t for AppleScript, but then I would never have learned AppleScript if it wasn’t for Script Debugger.

It was really a revelation when I realised what I could do with these tools. But also that I could do these things with these tools. It was all a big black box to me until one day I looked at the Script Debugger Explorer View, and realised ‘Ah! So that’s how it works!’ It got me over that hump in the learning curve that had always defeated my curiosity in the past.

Obviously AppleScript users are a fringe of a fringe of a fringe from a commercial point of view. However, there are quite a few mainstream apps out there that rely on AppleScript for their feature set. Also, while Apple is a vast, ruthless, profit-pursuing machine, one thing that they have given much greater attention to in the past than would be strictly necessary for business purposes is accessibility.

If, in some wild nightmare, I had to make a pitch for AppleScript’s continued existence to an Apple exec, I would probably emphasise how important this integration is for accessibility purposes. In fact, that’s basically how I got into Mac automation. I suffered really terrible RSI and had to figure out a way of working. AppleScript has become absolutely integral to my life for that reason. (And because it’s fun.)

So, while I have no doubt that Apple would shut down AppleScript at some point for brute commercial reasons, I very much doubt they’d do the same for accessibility functions. That would be a PR disaster. That’d be how I’d pitch it anyway…

Long story short, vanilla AppleScript sucks. We all know that. But, whatever the opposite of vanilla is (I’m gonna say Neapolitan AppleScript), including Script Debugger, FastScripts, all the third party libraries, and all the shared knowledge going back 20+ years… that is pretty amazing. I’d certainly miss it if it was gone. However, learning AppleScript has given me the start I needed to learn other things too. So, while it would be a pain, I don’t think it would be a disaster, for me anyway…

1 Like

@meltcow @Piyomaru is one of the top. very few as knowledgable. excellent web blog AppleScriptの穴 – Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript you have to use a built in translator for the site…answering:

You sound like you have much experience with AppleScript, Piyomaru, and I can only imagine your frustration with Apple for neglecting this amazing technology for so long

I agree. It’s very useful.

I agree. I’m a heavy user of Adobe Creative Suite products, all of which have detailed AppleScript dictionaries.

2 Likes

The (signed) integer type can represent values in the range [-2³¹, 2³¹ – 1], which is 32-bits (the corresponding unsigned integer type obviously has the same number of bits to represent positive numbers, so shifts this range to [0, 2³² – 1].

What do you mean that it’s not implemented properly ?


The documented value for NSUTF16BigEndianStringEncoding is the hexadecimal value 0x90000100₁₆, which, when converted to denary, is 9×16⁷ + 16² = 2,415,919,360₁₀, represented in scientific notation as 2.415919360E+09.

Likewise, NSUTF16LittleEndianStringEncoding has the hexadecimal value 0x94000100₁₆, which is represented in denary as 2,483,028,224₁₀, or 2.483028224E+09.

Both of these values are the values returned by AppleScript, which can be visualised textually:

use framework "Foundation"
return my NSUTF16LittleEndianStringEncoding as miles as string
--> "2483028224"

So I’m not seeing an issue here. While it’s outside of the (signed) integer range, it’s within the range of unsigned integer.

Part of your concern may stem from the two orders of magnitude you’ve shaved off your estimate for AppleScript’s “numeric range”. It’s not clear what you’re evaluating here, although @tree_frog has a similar estimate for the integer type, so I presume your estimate also pertains to this.

This demonstrates the actual size of AppleScript’s integer type, which is exactly what one would expect it to be:

set i to 1

try
	repeat pi ^ pi times
		set j to i
		set i to i * 2
		result as integer
	end repeat
end try

set k to j - 1 as integer
return j + k as integer
--> 2.147483647E+9

If more application get better to solve different tasks and do it more efficiency. Scripting language could only fill other tasks. The question is why would a application benefit to be scriptable if the working flow is everything and be productive. Creativity and user inputs is still the main thing for most application. And that’s why few developers do not see the benefit. That said there are plenty of examples of more complex ideas that scripting language have benefit users and productivity.
ex. python in 3d application

I couldn’t say I have seen any AppleScript of that kind include Apple so it comes to my conclusion simple ideas only serve the people who couldn’t see the greater things.

Well, somebody here has quiite the ax to grind with Apple! :laughing:
I like Applescript so “I agree” and I hope Apple continues to support and update it.
But I’m not delusional, and Applescript may be on it’s way to bed. I also don’t think that you will ever have millions of Apple users clamoring for automation whether it is Applescript or something better — most people don’t want to put it in the time to learn how to script and only a small number more will take the time to learn something like Shortcuts. If Applescript is abandoned, I just hope that Apple provides something that is functional and useful. Most Mac users won’t care, but the small portion of people here certainly do.