Apple's great secret seems to be their Enterprise solutions. In fact, Apple and Enterprise sounds like a bit of an oxymoron. Enterprise usually means big business -- Fortune500 sorts of solutions -- and Apple isn't very publicly popular there. I use "publicly" because there isn't much attention (press) paid to the solutions Apple does provide. So while Apple is not well known in these areas, they are far more popular in them than people realize -- and the companies that have been using Apple's solutions, swear by them (as opposed to many Microsoft solutions, where people swear at them). There is some momentum building, and in a few years I expect things will seriously change.
Many non-engineers (and even a few engineers) don't understand why Apple acquired NeXT over Be. The answer is multifold, and includes many things like; "Steve Jobs", "Avie Tavanian", "NeXT's Kernel", "the talented engineers, sales, marketing people they got with the purchase" and so on. But one of the most significant reason is the Object Oriented Operating system and solutions (frameworks) that NeXT had created. For many reasons, that I'll get into later, Apple has not been very vocal about touting these solutions (yet) -- but let's discuss what the solutions are first -- after all, they are the basis of Apple's current enterprise solutions.
Apple's enterprise solutions can be summed up as; Cocoa, WebObjects, and EOF.
Cocoa (first called NeXTSTEP, which evolved into OpenStep, which evolved into YellowBox and finally evolved into Cocoa) is solution for rapidly building powerful custom Applications. These tools are cool, powerful, and it is far easier to develop applications using them than traditional C++ or Java Applications -- and it is far more powerful than most 4GL Database tools or specialized database solutions. This is very important in some companies where they need more power (and a better solution) than Notes or Netware can offer -- but still have enough time and money to develop a custom solution. There is over 10 years of legacy behaind Cocoa, so it is very mature technology -- despite the additions that make it very modern. Whether people realize it or not, Cocoa (and OpenStep before it) is a killer product in its market. it has the potential to be so in the future, assuming Apple opens it up cross platform.
WebObjects is similar to Cocoa -- in that it is a solution for building custom Applications, far easier than traditional tools -- but there is a caveat -- WebObjects is designed for building custom Web Applications. A Web Application is an application that uses a browser (or Java) as the interface, and can be controlled across the web (internet or intranet). It is the specialized brother product to Cocoa -- focused on Internet, and therefor often client-server (or n-tiered) information (database) solutions.
EOF (Enterprise Object Framework) is a solution that comes bundled with WebObjects and Cocoa -- but it can stand on it's own. It is a solution (set of tools) that allows you to connect applications that you create (using either WebObjects or Cocoa) to any database or datastore as the back end. In big business -- and many applications -- this is exactly what you need to do, create a solution that connects to and manages lots of data. To geeks EOF could best be described as a floating 3rd tier or abstraction layer to connect to and control one or more third party databases or your own custom database. To companies it means that developers can quickly connect applications to databases that already exist, and pull data from many sources, and to keep all the data in sync -- for a fraction the cost, with much more power and versatility, over home grown solutions.
All these solutions are the family jewels that Apple acquired with NeXT. The three solutions all solve different, but related problems -- and they all share a common set of frameworks (class / Object Oriented code libraries that is called the foundation framework(s)). This code reuse means that once programmers learn one of the solutions they have a head start in learning the others (since they share a lot of the same code), and Apple designers can leverage code/changes to the foundation frameworks in all their solutions. To companies this means savings in training time, and reduced development time -- and time is money.
These solutions are very powerful and will empower Apple to create many more solutions themselves -- they can make a better Operating System, and developers can make better Applications because of these technologies. And of course a better Operating System and better Applications are what makes the Mac a compelling solution in the first place. These solutions are why Apple engineers and management overwhelmingly felt that NeXT was a better purchase than Be.
BeOS is a cute lightweight Object Oriented Operating System, that had a long way to go to get finished. We are years after the purchase of NeXT, and Be still hasn't finished the features it would have needed to add more value to Apple. Be is fast and small, and speed and size add some potential -- but you have to be able to exploit that potential for it to add real value. There were serious design issues with Be; like it being designed around the worst Object Oriented Language ever created (C++), and some technical flaws that using C++ for an OS created (like something called FBC or Fragile Base Class issue). This is the stuff that makes many geeks eyes glaze over -- but basically there were serious ramifications for growing BeOS beyond a certain point, that would require every application written to be recompiled. This is something that NeXT basically fixed 10 years earlier, as had IBM with SOM and Taligent, and even Microsoft sort of addressed. And Be didn't have the market or technologies that NeXT had. IMHO, NeXT was a 10 times wiser purchase.
Why the silence?
So people ask, why is Apple so quiet about these technologies? Well they are and they aren't. Apple does talk enterprise in some circles (enterprise circles) -- but that isn't yet the mainstream. The most important thing is the time isn't right -- yet! There are many things that need to fall into place before Apple starts screaming "Cocoa and WebObject" from the rooftops.
1) Apple needs to get the MacOS transitioned to a more modern core (kernel).
This is what OS X is all about. Get the Mac Application running on a UNIX core -- with all the uglies of UNIX hidden from users. Improve the user experience to the point where OS X is a Mac with more power -- instead of now where it is UNIX with an interface (where it started from). This transition will take time -- but it seems to be progressing nicely.
2) Get Application developers excited about the Mac OS, and get all the Applications working on OS X.
This is what Carbon and Classic is all about. Classic allows most legacy Mac Applications to run on OS X. Cocoa allows Mac Application developers to add features and power to Mac Applications for OS X and OS 9. This allows all the current Apps -- called Apple's bread-and-butter since they are what sell Macs - to run better, have more features, be more reliable, keep users happy, and make money for everyone.
3) Create compelling custom solutions (tools) for creating Applications on the Mac (using Cocoa).
This is what Cocoa and WebObjects are about. But #3 comes after #1 and #2. This means that after OS X is out and getting attention, and after Carbon is compelling and there are lots of nice Mac applications running on Mac OS X, and users are already shifting (in droves), and users are happy with OS X -- THEN, and only then, Apple can start shifting the focus and marketing to the next big thing. Ironically, the new next big thing is just an improvement of the older NeXT big thing.
If Apple pushes Cocoa too hard now, it just makes developers nervous about Apple's mixed message (Cocoa and Carbon) -- so Apple is trying to be clear. Last year, and this year the message is Classic and Carbon -- get the thousands of Mac Applications working, ported and improved for OS X. Get everyone making money and happy about what Apple and the OS is doing. Then later focus on the dozens of NeXT Applications, get new specialized apps created, and then start building momentum for making thousands of Cocoa and WebObjects Apps. So over tim the message should become more and more about Cocoa (and WebObjects). However, Carbon is here to stay, and will be with us for the next decade -- heck it has been 15+ years since Microsoft started trying to migrate from DOS (to Windows) and NT, Win98 and Windows2000 still have DOS underpinnings and run DOS applications and DOS doesn't have near the versatility and usability of Carbon (and MacOS).
No one is perfect
Of course no company is perfect -- and messages get mixed. I realize why Apple can't shout from the rooftops about some technologies right now -- but it would be nice if they could at least whisper to their developers. Apple has grown so quiet that people are left to guess and can't get the straight scoop on anything -- sometimes security can go too far. Developers can handle more complex messages than the general press, and companies can give out some longer (3 year plans) and make everyone feel more secure that they have a plan at all. But despite the deafening silence, I think things are trending the right way (or will be corrected to do so).
Cocoa and WebObjects are the best Java based solutions I've seen to date. Java (and thus Cocoa) isn't mature enough to compete with stand-alone commercial Applications (but it is getting there) -- and Cocoa doesn't yet run on a mainstream version of Mac OS -- so I can understand why Apple is so quiet about Cocoa. It will be an awesome solution in a year or two -- for now it is a nice solution that doesn't yet have a large enough installed base to be pushed. There are also some killer potential suprises in this area that could revolutionize the industry, like if Apple makes Cocoa Applications that can run cross platform (NT and/or OpenSource). However, that requires some alliance building (with some of the most arrogant companies in the world). So like a fine wine, it needs to mature on its own -- and geeks like me just have to learn patience. It is likely to happen, and I think Apple is smart enough to realize it -- they just aren't pushing it, yet.
WebObjects on the other hand is a solution that works great today on WinNT or OS X Server. This is a killer product in its market (WebApplications). I think it should be getting 10 times the money, and 10 times the marketing attention that it is right now. Apple should be building itself up as a serious player in the Web Solutions market. To do that, they need to behave a lot like Microsoft and keep pounding the message of WebObjects home, in every press release about Web Developement, and by making allies, and supporting the hell out of Web Objects. They need to attend every Internet and Enterprise tradeshow, and communicate with a megaphone, or at least communicate better (like possibly telling developers ahead of time when the next version will be released). Personally, after I did my own research, I was so impressed by WebObjects (and EOF) that I quit developing traditional Mac Applications and made a career shift to being a WebObjects developer. If you want to read more on WebObjects, you can read an article I wrote in this months MacTech Magazine -- even if they did spell my name wrong on the cover <sigh>.
Apple has compelling world class enterprise solutions. They are going to take more time, and more development money, to build momentum. It is also going to take a shift in the industry and the close minded atttitude about Apple. But I think it is going to happen. Apple just needs to keep pounding away at the stupidity, and showing the superiority of what they do. More and more people will catch on, and momentum will build.
Carbon is an improvement on the reliable MacAPI's and will bring those application forward in a very nice way. WebObjects is just a killer solution for creating large scale Web Applications that needs more attention. Cocoa is years ahead of the industry for making traditional or custom applications. Commercial developers and Apple can use Cocoa to make market leading applications for the industry. Small developers can get a foot in the door (again) because of the added power of the tools -- meaning more choices for users. Vertical and corporate developers will be able to use Cocoa and WebObjects solutions as a sort of Lotus Notes on steroids as well as be the foundation of their internet technology (like Apple has done for itself). Lastly Apple will be able to use the power of Cocoa (and WebObjects, and EOF, and Foundation Frameworks) to improve the OS itself. Each will build off of the other -- and all will help keep the Mac (or reestablish it) in its position of technological leadership over the industry.
All this factors well for Apple in Enterprise. Add in the possible opening up of the industry by breaking up Microsoft, and the potential of Apple and others doing more open-source, JAVA, going cross platform and generally playing well together -- and the industry in 4 or 5 years from now could be completely different than it is today. The only constant in this world is change.