The Robot, the Apple and the Coffee Bean

Update on 13/11/2010: Java and Oracle announce that they will be working together on the Java Open JDK project. So, as we were saying, Java is far from dead on the Mac OS X platform.

For a change, let’s talk about technologies…
Have you heard about Java? No? Well, even if you don’t know it, you are probably using Java everyday: On your computer, your mobile phone, your TV and more. Action(s) is made with Java, and it is the reason why you can run it indifferently on Windows, Linux or Mac OS X.

Apple made recently two big announcements regarding Java:

At, we love Apple products. Most of our developments are done with a Mac. Our website is made on a Mac (with the help of a very nice Mac application Rapidweaver). Our every-day computers are Macs. Why? because we think that Apple products are well-designed, efficient and long-lasting. This is the way we want our computers to work, and this is with these concepts in mind that we created Action(s).
So you can imagine that seeing our favourite development platform (Java) being announced as dead by our favourite computer manufacturer was heartbreaking news.

Anyway, Java has been declared dead thousands of times over the course of last years, and it is still the most used programming language in the world.

But the question that a lot of you have been asking us is: will these announcements impact the existence of Action(s) on the Mac OS platform?
The answer is No. We are still very committed to the Mac OS platform. We do not believe that Java will disappear from Mac OS X and we will continue to provide a high-quality – fully integrated version of Action(s) for Mac users.

No, Java is not dead on Mac OS X

There are a lot of reasons to be confident for the future of Java on the Mac OS. First, it is important to know that Apple ending is support of Java does not mean that Java will not continue to exist on Mac OS.

On every other platform (Windows, Linux… ) Java is provided by Oracle. For historical reasons, Java on Mac OS has always been supported directly by Apple. Over the years, this has become more and more problematic. Apple’s released were always late compared to other platforms. Quality and compatibility were not always there. Some specific libraries were never released nor included on the Mac platform.
The decision of Apple to stop its support of Java on Mac OS X is in the line with their current strategy of not providing any 3rd party software with their systems (they are already not shipping Adobe Flash with the latest MacBook Air laptops).
As softwares evolve faster than hardware, Apple does not want to ship their computers with already deprecated version of applications (especially if they are not their applications). People are still free to download these softwares by visiting the provider’s website.
It makes a lot of sense for Java to be developed and distributed by Oracle instead of by Apple. Even if Oracle’s executives haven’t communicated their intentions yet, I am very confident that they will follow this path. It is in their best interest. After all, Apple computers represent almost 20% of the computer market. Nobody will give away such a market without a fight.

There are other clues that are telling that Java will continue to work on Mac OS. Apple has always provided specific libraries for Java, allowing Java developer to create applications with a high level of integration with Mac OS X. Even if some of these libraries have been a little forgotten over the last years, most of them are still very active. A few days ago, Apple released a big set of changes in its eawt library (creating in the same time border-effects issues in Mac OS X version of Action(s) – but all this will be corrected in Action(s) 1.1) and a few months ago, a whole new library to handle gestures in Java applications. Why bother so much if you are planning to stop to support a technology?
Steve Jobs (Apple’s CEO) did not decide to “abandon” Java a morning while reading his newspaper iPad and drinking his coffee. It has probably been planned for months, discussed with Larry Ellisson (Oracle’s CEO and Jobs’ very good friend).
The fact that the announcement has been done with the release of the Java 6u22 (a version that corrected high number of security issues, and which was released almost simultaneously on PC and Mac, which is very unusual, Mac version being usually 2 or 3 months late) gives also indication of what Apple this trying to achieve: Apple does not want to feel pressured by Oracle for following the Java roadmap. Apple is not giving up on Java, and will continue to provide specific libraries for it. But the core is to be maintained by Oracle now, because they are the best to do so. And Apple is giving Oracle plenty of time to do so: Java will probably not be provided with the next version of Mac OS X (Lion), which is not to be released before at least next August.

Java and the Mac App Store

Finally, the biggest deception we have here is to know that Action(s) and other Java applications will not be available on the Mac App Store. This does not mean that you will not be able to use Action(s) anymore on a Mac. Action(s) will still work as it is currently working, by simply clicking on the button. But the Mac App Store will be an incredible show room and we are disappointed by not being able to be part of this adventure.

But why is Apple rejecting Java (and other “deprecated and optionally installed technologies” languages) from its store?

Well, the first reason is technical. If an application requires an “optionally installed technologies”, it might not work if the technology is not installed on the end-user computer. Apple is very keen on the user experience (and is right to be). Apple users want to download an application from the store and be able to use it immediately. They don’t want to face an error message telling them to install such or such technology from such or such website. And, as we saw it, every technology that is not made by Apple is an “optionally installed technology”. Java included.
We agree with underlying idea. End-user experience should be simple and integrated. This is why if you are trying to use Action(s) without having Java on your PC, Java is downloaded and installed automatically. We don’t ask you to visit another website and install Java; we are doing it for you. The objective is to make sure that you are always one step from using Action(s). One step, never more.
So yes, we agree with the underlying idea, but we think that Apple could have found a better solution than simply excluding every application not made with their tools.

The second reason that Apple’s employees will give you (if you ask them) is that Java applications (and more generally multi-platform applications) do not provide a consistent user-experience. This is of course totally wrong. There are a lot of very good examples of multi-platform applications that are very well integrated with Mac OS X and the “Apple” user-experience: Picasa, Firefox, Eclipse, Action(s) of course, and much more.
What defines a good application is not the platform it is based on. It would be like saying that the talent of a cook depends on the quality of the ingredients he is using. And even so, non-Apple platforms, such as Java, are as good as (and maybe sometime even better than) Apple ones.

The real reason why Apple is de-facto rejecting application not created with Apple technologies is very strategic. Apple is a very big company, and Steeve Jobs knows about people, marketing… and strategy.
Most of the applications that you will find on the Mac App Store will be “Mac only” applications. Why? because most of the software companies are small companies, and they don’t have the resources to create and maintain more than one version of their app. Apple, by forcing them to use proprietary technologies in their software, makes sure that they will not create a similar application for another (concurrent) system, such as Windows or Linux. Of course, big companies, such as Microsoft or Adobe, will be able to develop a version dedicated to the Mac, and another one to Windows, but a lot of the providers do not have resources to do so. To give you an example, if we, at, decided to develop a version of Action(s) based on a technology available only on Windows, we would never be able to create and maintain another one especially for Mac. It would be too much work.
For Apple, this is extremely strategic. End-users will download, use and like “Mac only” applications. When time will come to change their computer, they will not be inclined to buy a PC with Windows or Linux, because their applications might not work on another system. This is how you create dependant customers.
It is very strategic. A little bit evil, but very strategic.

However, alternatives to the Mac App Store will for sure show up very soon (including the Java Store if Oracle decides to boost a little bit its development, the project being on hold since a few months). Thinks are changing fast in the Tech world, so stay tune.

One more thing…

Action(s) users: we have published this week-end a brain new free action for your workflows. It returns the path or the name of the files passed into it. Enjoy.


Get More Actions

Some of you may have notice a strange little option in the Help menu named "Get more actions...".

Action(s) provides a lot of built-in actions to work with files, images, Internet... but depending on what you want to do, this might not be enough. Fortunatly, Action(s) is also made to support additional actions, which means that anybody with some knowledge in computer programing can create new actions and add them into Action(s).
In order to help you find new actions, we have create a dedicated webpage where all extentions for Action(s) are available. You can access it by clicking on the "Get more actions..." menu in Action(s) or simply by following this link.
One on the webpage, simply download the new actions you are interrested in, open the actc file and and the new actions will be instantly available within Action(s). Et voila.

But wait, that’s not all: today we are providing the very first extention for Action(s). We named it Split Files because it’s a set of actions to split big files in smaller files. It is very usefull if you want to sent files via the Internet but have a size limitation. We’re sure you gonna love it! It is available in the Get more actions webpage.

If you are a developper and you want to know how to create your own actions, remember that everything you need - API, documentation, tutorial and much more - are available in the Resources for developpers webpage.