Sun and Apple Team Up for StarOffice for Mac OS X
An anonymous reader writes, "CNET writes about Sun and Apple getting together to create StarOffice for the Mac OS X." Apparently, the Java-based OpenOffice app will be released before year's end (a developer release went out on Thursday), with a commercial StarOffice release sometime next year.
CNet may be partially right... the article talks about Apple engineers having access to StarOffice source and working on moving the UI to Quartz... maybe just the UI work will be done in Java (which has the Quartz UI on MacOS X) with the core functionality being in C/C++ as per the other Star/Open Office platforms. Using JNI this would certainly be possible... as for performance, well, we'll have to wait and see.
The main points of the article are:
1) The relationship between Apple and Microsoft has been strained by the lackluster sales of Office v.X. Apple supports the porting of StarOffice because it doesn't want MacOS X to be cutoff from the ability to interact with the ever-important Microsoft dominated office file formats should Microsoft decide to abandon the platform.
2) Development hurdles that Sun must overcome are removing and redesigning X11 protocol specific code to work with Quartz 2D -- Apple's windowing API -- and redesigning the user interface such that it conforms to the Apple Aqua guidlines. (That's a tall order, especially considering that much of the Aqua guidlines are incomplete and still being formed.) Currently, StarOffice uses its own interface toolkit, built from the ground up.
3) The ever-pressing issue of how to make money by selling an essentially open-source product. Sun plans to do this not by merely offering support, but also adding special enticements to a commercial distribution that wouldn't be available in an open-source distribution. (An example is the bundling of commercial quality fonts with the software).
to me, that sounds like apple is preparing for a time when MS decides -- for valid reasons, of course -- to discontinue their office product line for the mac.
btw, any new rumors about OS X for x86 out there?
--
making up good sigs is a hard thing to do.
It might not be as bad as it sounds. Cocoa can be programmed from Java. They talk about Quartz, which I don't think is accessible from pure-Java apps, so that's probably what they're doing. A Java/Cocoa app is totally indistinguishable from a "fully native" app (Objective-C/Cocoa). Except that it's a bit slower and uses more RAM, of course.
This space unintentionally left unblank.
First I'd like to say that I like Java very much, but I think that this must be a mistake. Let's see. OS X is unix-based, and does support X11. StarOffice (and OpenOffice) runs just fine on X11. Basically their problem is to port the GUI from X11 to Quartz
Porting StarOffice (once the biggest open source project) to Java would be an absolutly huge task. This rules out a full port. It leaves the option of using Java as the GUI. World+dog (including me) agree that Java's GUI is so-so, even if it is better on OS X than anywhere else. Anyway, what would be the point of using Java to interface between C/C++/Objective-C apps? None.
CNET just got it wrong one more time.
Nobox: Only simple products.
Sure there is. Java is quite fast these days and it has gotten a lot more stable and robust. OpenOffice could actually become smaller and simpler if it is written in Java because much of the big and complex stuff in OpenOffice is already taken care of by the Java runtime.
Also, Sun finally needs to put the resources behind Java for client/desktop apps--that means developing large and complex client/desktop apps and fixing whatever problems remain in Java and the Java runtime.
Corel already tried and we all saw the result: slow and dismissed by the market.
Corel didn't know what they were doing and they didn't have the option of hacking the Java runtime much. Besides, there are an awful lot of bad or failed C and C++ applications--should we stop using C and C++ because of that as well?
Sun has been looking for hardware allies in its long-running quest to popularize StarOffice, which competes against Microsoft Office. To date, no major PC makers have pledged to heavily promote StarOffice.
To me, it's incredible that no hardware vendor such as IBM or HP is offering StarOffice or OpenOffice preinstalled on personal computers. I see no reason for them to not install it.
DNA is the ultimate spaghetti code.
This is, IMO, a good idea. It'd be an even greater thing if GNUstep could have Java hooks too, then this fairly respected GUI API could have much wider use.
You are not alone. This is not normal. None of this is normal.
Apple has had two achilles heels in the past. Number 1: Dependence upon Microsoft Office If Jobs is throwing some of the same programming talent that went into OS X onto Star Office, the result should be sensational. Apple surely has learned that it must lower it's dependency upon a Bill Gates controlled project. I'm sure they have been working on Star Office for some time.
Number 2: Dependence upon Motorola. Any company risks their entire future when they have a single point of failure and for Apple, that is Motorola. They have been limited by Motorola's ability to produce faster chips and enough of them in the past. They also lose mindshare with the "megahertz myth". I'm sure Apple by now has realized that most people don't give a damn about processor internals and pipelines. It is just going to be harder for Apple (in the mindshare department) once Intel is shipping 2 GHz processors in quantity, while Apple is just cracking 1 GHz.
Everyone knows that Darwin runs on Intel. What you don't see is how much more advanced development is going on at Apple to bring the full look and power to the Intel/AMD platform. In a Yahoo financial interview recently, Jobs played coy with the question but did not deny it.
This doesn't mean that Apple is turning it's back on the hardware business. Apple could easily make sure that it's OS X innovations became available first on it's own hardware. But an operating system that competes on traditional Windows platforms that includes great apps like iMovie, iPhoto, iDVD, iTunes, and Broadcaster (plus the new ones like iCal and iSync) for a prospective $129 must have the Microsoft honchos tossing in their sleep. Making the iPod available for Windows, is just another indication that Apple is opening up to a whole new market.
No, Windows isn't going away but now it must fight a strong competitor on two fronts: IBM/Linux and Apple/OS X. Linux shipping on Walmart computers for the average user may be a pipe dream, but do you think Walmart wouldn't love shipping Wintel platforms with OS X and saving the Windows OS fee?
I love Linux, but I encourage Linux programmers to take a good hard look at OS X (if you haven't already). Your product could run on both platforms with very little extra work. I have seen the future, and it is OS X.
Curious George
***General Consultant to the Human Race*** My opinions are free. You get what you pay for.
Spoken like a true guy-who's-never-read-the-Aqua-guidelines.
In order to be in line with the Aqua UI guidelines, you have to implement them all, completely. You can't just get kinda-sort close, throw a pinstripe background behind your toolbar and some gummy window decorations, and call it a day.
You should read the Aqua HI guidelines sometime. (Also available in PDF. They just might open your eyes.
Because X is an awful, old standard?
It gets the job done okay, but gosh. If you need X, XFree86 works fine. I'm quite certain that the people who either don't know what it is, or can't figure out how to install it don't really need it, and it would add a whole 'nother layer of bloat to the OS that's just not necessary for 95% of users.
And from Apple's viewpoint, putting X into OS X would be a ghastly, stupid move. Apple's best interest is served by people producing beautiful, consistent Quartz applications. If you give people an escape hatch to write cross-platform ugly-as-ass X apps, Mac OS X loses a whole lot of its sex appeal in one fell swoop. Half of the little program writers would abandon Quartz for X in a heartbeat, and the integrity of both the UI and the OS experience would go right down the toilet, and that would sink everything Apple has going for it.
There should be a moratorium on the use of the apostrophe.
Max V.
NeXTMail/MIME Mail welcome
In the case of Sun's current HotSpot JVMs (1.3, 1.3.1, 1.4, 1.4.1beta), however, the basic execution is bytecode interpretation. Only when the HotSpot profiler determines that a piece of code would benefit from optimization does is (possibly) get compiled into native code. Many other optimizations are also possible, of course. This is part of why there is still hope for Java on the client and why Java on the server actually works quite well. For long running processes, the HotSpot optimizer can (more accurately 'could') do a bang-up job optimizing the code.
As for your statement that there are optimizations that a Java compiler can do that a C++ compiler cannot, that is true. Of course the reverse is also true; the Java bytecode compiler cannot do as much type checking as a C++ compiler can, and it cannot do some of the optimizations that C++ can because until runtime it cannot know if they will be usefull or not. Java's compilation environment is, in some ways, more complex than C++'s, even though C++ is a much more complex language. Java has two compilers: one source to bytecode compiler run at "compile time", and one bytecode to native compiler than [may] run at runtime.
This is mostly offtopic and mostly pedantic, but, as a developer who uses several languages, I hate to see silly comments by language biggots go unchallanged. Always remember: All languages suck; some just suck less in a given situation than the others do.
I use my home x86 boxen for web development (php, mysql), with KDE/Qt for C++ development (and some Java).
Mac OS X out of the box includes extensive support for the Java platform.
If you want to write KDE apps on the Mac, you're in luck: Fink, the most comprehensive distribution of free software for the Darwin operating system, now includes KDE. Fink also includes PHP, Ruby, Python, MySQL, and PostgreSQL.
Will I retire or break 10K?
I develop 4 open source PHP/MySQL utilities, and have moved development of all of them over to OS X. Project Builder is pretty good, or if you use Vim or Emacs you can install X11 (I did). KDE is now in Fink, and Trolltech has also release an OS X native version of Qt.
One recommendation: put in a lot of RAM. When I first got the iBook (700MHz) I though it was kind of slow, but now that I maxed out the RAM (640MB), it's very nice. Also, my wife has one of the 800MHz 15" iMacs, and it's really nice as well.
.technomancer
When I went to WWDC this year for the first time ever, I went as a Java programmer interesting in learning how to program OS X (and Quartz GUI stuff) in Java. I was told by the "java evangelist" in no uncertain terms that I was "not Apple's target market". Java was its own platform, not to be crossplatformed to OS X and Quartz.
WWDC did not have a single session on programming Quartz in Java. In the only mildly interesting session on Java, it was like pulling teeth to get concrete information out of the presenters in Q&A, and yet the presenters (Apple JVM guys) were incredibly arrogant about their work and how advanced it was (which in some ways it is) and how even Sun was considering incorporating their JVM innovations.
What was boggling was Apple's Java guys didn't _get_ that they should want Java to become a first class citizen on OS X (rather than a poor stepchild to OS X's (and NeXTstep's vaunted in their eyes) objective-c. Sure, I could see the obj-c guys being protective of their baby (even though it's basically stillborn by the time its reached OS X), but why would the Java guys be so lousy sharing information on Cocoa (OS X) programming in Java.
On the side, I got contradictory information about how to program in Cocoa using two different bridges across obj-c and java. In sum, neither really works so Apple doesn't support either really. (In particular, obj-c's reference counting doesn't mix well with Java's garbage collection.) Unfortunately, despite Apple's migration of WebObjects to Java (from obj-c), The rest of OS X and Cocoa (GUI) stayed in obj-c. Doh.
I even spoke with their then new head of software tools and engineering. As a smalltalk guy (skeptical of java and obj-c), he claimed that obj-c won him over. No love for Java there. Just more "not Apple's target market". It's hard to swallow paying thousands to go to a developer conference and have some pinheaded honcho tell you that despite Apple's "best platform for Java" campaign, that Java programmers are not allowed to program in Cocoa (OS X native) since Java Cocoa is not Apple's target market. What arrogance!
Unfortunately, one of Apple's catchy banners did not mean what I wanted it to mean: "Come for the Java, Stay for the Cocoa". Instead of providing the means to program Cocoa in Java, the banner really means come to learn about Java on OS X (and be profoundly disappointed), and we'll (try to) lure you to objective-c every step, session, and discussion along the way.
Cough-cough.
Unfortunately (or fortunately), I'm an ex NeXT enthusiast, so I've already tasted obj-c (not to my liking), reasonably informed about its strengths and weaknesses, and happy with Java.
-=-
So, why is Apple, its head of engineering so obstinate. I assume it's because he's in love with smalltalk and obj-c caters (a la obj-c tenuous lease on life) to smalltalk, his desired language. Fair enough (but too bad for Apple and its Java shortcomings).
But why oh why would lowly Apple Java grunts be so against first-class java support on OS X for Cocoa? That really confused the heck out of me, until I discovered that the very arrogant presenter(s) of JVM breakthroughs (yada yada yada about Apple innovations) was really the obj-c kernel team doing side work on the JVM. Doh!
Java not obj-c. Obj-c >> Java. You know?
There are not Java evangelists at Apple. The keepers of the Java VM are obj-c hacks. Their baby (albeit on life support) is obj-c. OUCH.
When I figured that out, beat around the bush at the top to discover the smalltalk allegiance, and just generally got stonewalled by too many (certainly not all) of the small team of java(obj-c) insiders, I just gave up.
Besides, the Quartz Extreme team had awesome presentations, was extremely humble despite their awesome GUI architectural innovations, and was just generally the real mccoy from an engineering point of view. My WWDC became a GUI tour rather than a deep tour of Java (as intended and paid for, as far as I was concerned).
One final note: my impression is that Java on OS X is good --- but only for Java only apps (i.e., use Swing, not Apple's Cocoa). Their target market (as I gathered anyway) is pure Java (as opposed to Java Cocoa apps). So, if you want to port and run pure Java on OS X, they (should) love you. FYI.
-=-
So, it's amusing and ironic to see Apple spending any resources on Java for Cocoa now as I assume (fingers crossed) they'll do for OpenOffice after telling me that's not their target market!
What happened to all the arrogance? Disdain? Curt political marketroid answers to basic engineering questions? Yada yada yada.
Too painfully amusing and ironic.
So I guess I am crossing my fingers that Apple separates the JVM team from their obj-c team, fires (or at least reassigns to obj-c only) their so-called "java evangelist", and gives java its own first-class political and technical citizenship at Apple.
Maybe next year's WWDC can have a banner which says (and means) "Come for the Java, and Stay for the Mocha". That would be a dream worth having.
= Joe =
There's a lot of confusion about the history of AppleWorks/ClarisWorks.
You just referenced three different programs, each with entirely different codebases.
The first AppleWorks was text-based, in the days of the IIe. I associate the name Rupert Lissner with early versions of this; Beagle Bros. was involved in later versions, I think. I think there's also some connection to the early MSWorks team.
AppleWorks GS was an independent project, written by StyleWare, and originally to be called GSWorks. Claris bought StyleWare, and it became AppleWorks GS. This was a fairly typical module-based integrated app (i.e. mostly separate programs with a wrapper around them), but you would not believe the challenge of doing something like this with a color GUI on a 2.8 MHz machine. (One unusual feature was an integrated paint/draw environment: objects retained their integrity, but you could e.g. lasso or erase parts of them.)
Two of us from StyleWare (myself and Scott Holdaway) later left Claris, wrote what was to become ClarisWorks, and sold it to Claris. Comepletely independent codebase from AppleWorks GS, and a completely different design, much more integrated. (That's right, Claris was there long before ClarisWorks, although people sometimes say "Claris" when they mean "ClarisWorks" - always confuses me.)
Some subsets of the two of us and the other early CW developers worked on ClarisWorks through version 5. Most of this group was later at Gobe, writing Gobe Productive (originally for BeOS, now for Windows as well).
Eventually Apple dismantled Claris. What was left became FileMaker Inc.; ClarisWorks transitioned to Apple, renamed (confusingly) AppleWorks. None of the original ClarisWorks developers are involved with AppleWorks at this point.
Although I'm somewhat depressed at what's become of ClarisWorks, I'm hopeful that StarOffice will be good for the Mac. (Either that, or I'll have to go write another integrated app - I won't use MS software.)
Bob Hearn
One of the beauties of the Mac OS is that there's a unform, consistant, and universal interface and scratchpad model. IBM pioneered the idea of a standard interface and Apple brought it to the GUI and applications with a vengance.
Not only do the MacOS and applications follow the same behaviors they also allow universal cut-and-paste. Anything you see that's editable on a Mac can be cut-and-pasted anywhere else that is editable and supports the medium (eg no sound-for-text.) Styled text, QuickTime multimedia, everything. This is more thoroughly plumbed then on Windows and certainly more extensive then on X and traditionial Unix applications.
It has always frustrated me when someone puts together a Theme and presents it as being the same as another OS. No. There's more to an interface then window-dressing. Another misbegotten kinda-sorta-looks-like-Aqua (but doesn't use the System Services or Quartz engine etc.) is exactly the sort of half-assed implementation Apple is selling the alternative to. Without a doubt if Apple ships an Apple/Open Office it'll be as high-gloss and thoroughly native as any of the iApps. That they've chosen Java as the platform to work from rather then Cocoa is a "Good Thing" for everyone else.
Yes Java is a completely peer layer in MacOS but it is portable and so anything Apple & Sun produce is instantly applicable to all of the other Open Office platforms (if not as nicely as the Apple implementation - think of this as payback for Apple having really committed to making Java a native portion of their OS.) This will also allow all of those other wonderful Java libraries to be leveraged in a consistant manner and become directly usable by Open Office.
Is this worthwhile for Apple? Yes. They get the only robust MS Office alternative to run suh-weet on their OS, now the best-selling Unix out there. Sun gets a partner in melding Open Office and Java, pusing their jewels out into the marketplace. The Users gets a better GUI on Open Office, one that can build on lots of other work rather then being another home-grown roll-your-own deal. They also get an infusion of all of those new MacOS X (Unix) desktops all using and supporting and developing further Open Office.
Win-Win-Win.
I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
I got an iBook because I thought the hardware was sexy. I tought about installing Yellow Dog and a two button mouse. Guess what happened?
I ditched Linux for MacOS X but kept using my old apps, like mutt and so on. I kept writing C code with vi, et all
After 3 months, I found myself using the Mail app that comes with MacOS X, Project Builder, and Objective C.
Cocoa is wonderfull -- get the Hillegrass book, it's good beginning stuff.
I never intended to make the switch. It was the hardware that got me. Then, slowly I got hooked. I highly recommend the platform. I would never ever use a mac before MacOS X, but now I think of it as the NeXT box that I never got.
Sometimes I think of the non-free nature of the whole thing, but the fact that Darwin, gcc, and a lot of other stuff is Open Source/Free, it makes me feel a little better. Besides you can run Darwin, X and GNUStep.
-- askien
If they use the JAVA-Cocoa bridge, Apple can speed things up by adding functionality to Cocoa. Apple already has the basic functionality of a word processor built into the application kit (multiple fonts, spell checking, WYSYWIG printing).
I wouldn't be suprised if OS 10.3 has a few new cocoa classes like NSWordProcessorView, NSSpreadSheetView, NSRelationalDatabase. These would be subclasses of existing Cocoa classes like NSTextView, NSTableView, and NSData.
I think this fits Apples strategy of making development for the Mac quick and easy. This benefits them in several ways: 1) They attract more badly needed developers to their platform 2) They can churn out iApps much more quickly than M$ 4) Once developers have tasted Cocoa, they don't want to go back 5) With so much work done in the Cocoa frameworks, Apple can make the frameworks run faster and make all the apps on a system runs faster. 6) If apple changes processors, they can make it real easy to port cocoa apps to the new architecture since all of the machine dependent stuff is done in their APIs.
There are 10 types of people in this world, those who can count in binary and those who can't.