As noted in the inluminent weblog there don't seem to be many bloggers at OSXCon. At least they're not blogging. That's rather disappointing. They were strong at OSCON and the Emerging Technologies Conference (damn, I wish I had the foresight to go to that one).
Check out the MT TrackBack page for OSXCon to see the few folks who are blogging. There's what, four of us? Maybe five? :-(
I realized something the other day. I've been programming in Perl for roughly seven or eight years now. Maybe nine. It's hard to remember for sure. But at some point it lost its shine. It used to be a lot of fun. I programmed for the hell of it. I loved the Perl culture and community. I didn't dream of using anything else.
Anymore, I'm really seeing Perl as just another language/tool/whatever. I feel compelled to start looking into other languages--namely Ruby and Python, just to stimulate that part of my brain and have some fun again.
I don't know when this all happened, but it has really only come to my attention recently. I suppose it's natural. I mean, how long can you program in the same language before it get a little old?
Or maybe it's part of something larger that I haven't figured out yet.
The business news of the day has long been telling us that we're in a very slow economic period. Yet I've received multiple job solicitations recently. Not random head-hunters or anything. People I know, who know me relatively well, want me to work for/with/near them.
I'm not sure what to make of it all. But one thing I've learned is that sometimes life is trying to tell you something. And it's best to try and listen. Yet other times, you're reading something into nothing. Hard to tell which is the case here, but I'm leading toward the former.
The really odd part is that I hadn't even touched my resume until the other night when someone asked me to send a copy. So I updated it a bit. No harm done. I don't know what, if anything, will come of all this.
Well, I'm not going to defend Terry. He doesn't need me to do that. It's pretty clear, things are very different at Yahoo than they were a few years ago. Or even one year ago. Semel has a lot to do with that. He sets (or should set) the tone for the company. A lot of that article is true, as far as I can tell. But I'm just a lowly engineer. I have no idea what's going on at the top or near the top. Is that, itself, a problem? Perhaps.
On the plus side, I can say that there are several things coming "soon" that will hopefully demonstrate how Terry's ties to Hollywood can finally benefit Yahoo in a big way. But only time will tell.
In the meantime, Yahoo continues the transformation from a company that changed the world to a company that's just like every other big (public) company.
On a related note, I'm still amazed that Filo and Jerry are still involved in the company. Those guys are amazing and in may ways, they're still the heart and soul of Yahoo. How many other Internet companies can say that?
This talk is not supposed to be technical or marketing, but more of a ramble. We'll see. :-)
"Living above the Curve" BB is a strange company, as they've been Mac-only are have been in business for over 10 years. Haven't gone out of bussiness, gone public, or been bought. It's very rare. They make a living doing Mac-only. So it can be done.
What are the topics: Why are they still around? Embracing the hard. World domination.
Why are they still around? Customer loyalty. They spend the money to make it all possible. And those customers help to breed other customers. Word of mouth, new features, etc. Industry changes have helped, too. BBEdit was originally a programmer's editor. But BBEdit had a plug-in interface. And HTML came along. Customers began developing HTML plug-ins. People actually bought BBEdit for the purpose of using one of those 3rd party plug-ins.
Back in 1997, things were bad. Everyone thought Apple was gonna die. Other companies began developing Windows software. And that's often more expensive. And if your Windows software is really good, Microsoft eventually buys you, puts you out of business, or otherwise squashes you.
Mac platform changes have helped too. 68k to PowerPC helped a lot. Allowed BB to adopt very quickly. The move to OS X has helped too. If you move quickly (like BB did), you can ride the wave very well.
They're careful about picking their fights very carefully.
There is always room for 3rd party software. Apple can't do it all and needs 3rd party software. They always will.
What about the move to OS X and "carbonizing" their application? OS X is brutal because it doesn't tolerate mis-behaving applications. OS 9 let things gradually degrade. OS X is WAY more stable. Cabon forced them to review their code and find latent bugs that had been around for years and years. Had to work to meet Aqua standards. Had to realize that OS X is Unix and that means a whole lot of new things they could do.
Don't limit yourself to Carbon. Use Cocoa. Use Unix functionality.
BBEdit can be run from the command-line and take command-line args. You get things file filename globbing automatically. You can pipe to it. It even has a man page! Very cool. :-)
There's a feature that acts a lot like a shell buffer in Emacs. You even get undo. You can run arbitrary Unix filters on selected text.
Java has been successful everywhere but the desktop. Or at least that's what people here. It's big on the server and that downs out the desktop news.
What else went wrong?
Microsoft's battle with Java.
For the longest time, there really has been only ONE desktop. It was the only market that mattered for developoers.
We're finally getting desktop competition from Linux and Mac OS X.
A lot of the cool things about OS X are the little things. Like closing the notebook lid.
Why use Java?
Productivity. Lots of APIs. Tools. Community. Security and reliability. End-to-end story. Portable skills. Lots more. Memory management and platform neutrality.
Swing API. It's the 747 cockpit of UI toolkits. Lots of components on jars.com, etc. Very extensible.
Swing problems. Complexity. It's easy, but finding the easy way is hard. You need to watchout for performance pitfalls too.
Good stuff. Abstract data models. Map data structures to models.
And then you've got Java2D (like Postscript/Quartz/etc), Java3D, Advanced imaging, Media, Networking, and so on.
Used NetBeans IDE to show us the source to his Java-based presentation system. (Very cool, but I note a distinct lack of comments in his code.) It does reformatting on the fly--rather quickly. Makes good use of threading.
Lots of screen shots and demos. (But very little OS X specific stuff. I'm sorta disappointed.)
Which was the better UI? Mac OS 9? Mac OS X? Windows? Nobody can agree. Tim O'Reilly didn't like Mac OS 9. He gets OS X. Traditional Mac users are a bit annoyed by OS X. They think it's a bit too much like Windows.
What about Intel hardware? Jordan can't say (of course). A lot of folks are willing to pay for the extra Mac hardware. But in the larger world, people worry about pricing, Morotola, and so on.
Existing Mac users need Quark on OS X. It's supposed to be coming someday.
An audience member asks about performance improvement. Jordan says they're still working quite hard on it. They need to catch up with Linux. Mac user's don't buy new hardware every year. They keep their boxes *forever*. So the software really does have get faster.
Jordan: "One of the benefits of going with Morotorla is that we don't assume the hardware will get faster."
Lots of laughter. :-)
Discussion about what might be tuned. How to keep the foreground processes faster. Scheduling is very tricky.
What about having X installed by default?
Jordan thinks it *could* happen someday. Or at least bundle the client libraries, etc. Or maybe put it on the developers CD if not installed by default.
Notice how Apple has made sure that normal Mac users NEVER have to open the terminal if they don't want to.
DarwinPorts stuff coming soon. Stay tuned for news. Watch DaemonNews for more info.
There are Open Source developers still don't trust Apple yet. What if their whims change? Might developers be stranded--even a concern for in-house corporate development. What can be done?
Tim says that corporations often do orphan products. That's life. But in the Open Source world, folks can pick it up and keep it alive. Might Apple give products away when they orphan them? Jordan will take it back to Apple.
OS X is a safe bet. Apple is all over it. They are being very consistent, focused, and determined. They're in it for the long-haul.
Lots of talk about iApps. Will they be more open? Plugins and scriptability? The development teams seem very responsive.
Nat brings up the "culture shock" involved in coming from the Unix world. Things like, "wow, I have to pay for all my software." What can Apple do to help ease the transition. The other is that you can' fix apps, but you can usually talk to someone who can. That can be frustrating.
Jordan stressing sending in feedback. Don't be so cynical. Apple is not Sun or IBM.
Complainers need to register as developer and FILE BUG REPORTS, just like in the Open Source world.
Linux switchers want cheaper hardware.
Someone asks Jordan what it was like as an Open Source guy at Apple. He got there late enough that he didn't have to fight a lot of battles. He got lucky.
Ack! TiBook power is low. Must submit and go off-line soon. Should have charged it last night.
Talking about his mainframe background and roots in computing. He played a lot on the big iron and sorta "missed" the PC revolution. He wasn't terribly interested in PCs for quite a while. Then he got to play with one of the very first Apple II computers. But he liked the mainframe hardware yet.
In 1980, he began working with Unix and started to understand and appreciate the design of Unix.
In the old days, your OS came from your hardware vendor. It was all about lock-in. If you let them interoperate, they might switch to another vendor. Hide the internals. Make it a bit of a pain to deal with--but not too much. The OS was specific, often designed for a particular market and task.
The hardware was very big and expensive (of course). There was no portability. They were always multi-user and the displays were dumb terminals.
Lots of talk about Unix history, AT&T, and Berkely.
Berkeley added long filenames, virtual memory, curses, vi, job control, UFS filesystem, and so on. SunOS and DEC Untrix came along. The wars started when AT&T and Sun got together. The others started the Open Software Foundation (OSF). OSF1 vs. SysV. Yuck. SysV vs. BSD too.
BSD ended up under a "legal cloud" for quite a while.
Nobody wrote portable software. Everyone was pissed at each other. They all created their own windowing/desktop systems. Intel didn't rule the CPU space yet, so the world was very fragmented on the architecture front. That's why there's so much portability and ./configure stuff floating around today.
Then came the GUI wars. Sun had NeWs, which was based on Postscript. But it lost to X. So they created OpenLook, which battled with OSF's Motif. That made Unix softwrae more expensive, and Unix lost the desktop war long ago as a result. Windows was unified but Unix was not. CDE vs. OpenView vs. ... Ugh.
Every vendor tried to differentiate themselves with desktops. So most software vendors just went to Windows.
X is the reason that Unix lost the desktop war. It was a system by engineers, for engineers. Text and font handling sucked (and still does). No printing support. No multi-media support. The APIs are all very low-level. Everyone had to write their own printing engine.
Now you know why we have Qt vs. Gtk vs. whatever. It should have been decided long ago.
Unix users are often averse to solving "big picture" problems. Unix was assumed to be user-unfriendly. The only real API, libc, was very low-level. Folks had to write their own APIs. Again, look at Qt vs. Gtk. Everyone wanted to own the standard, so nobody did.
But Unix remained alive. Why?
The underlying tool-building philosophy is a Good Idea. Open systems are very compelling. There are some very smart people in the Unix community. Unix was open to inspection and extension.
Unix has risen again. Why?
The Internet. Unix TCP/IP kicks ass. It all started on Unix and still happens first on Unix. Unix handles load, so it works on servers well. And there was always an installed based in the science and tech communities. Open Source broke the vendor lock. And Linux Torvalds as a poster child has done a great job. He beat the odds. The BSD lawsuit finally went away. BSD was freed.
Unix and BSD both made a comback. It's now a good word in the IT circles again. It became a foundation for the next layer: Perl, Apache, Python, Emacs, GCC, other GNU stuff.
But what about the desktop?
It had been lost to Microsoft. Until Apple came along and tried to fix that with OS X. Mach microkernel, threading, power management (for portables), ease of use, etc. To get the developers back, they've gotta provide great APIs. That's what Cocoa is all about. And the Java implementation works very, very well. They haven't sacrificed multimedia support either. Their internationalization support it world-class.
Quartz is cool. Finally solves the font/bitmap/display/printing problems on Unix. Makes good rendering and printing work well. It's all built-in. OpenGL for industry standard 3D and it works out of the box correctly. That's important for the game industry. Quartz Extreme unified 2D and 3D and makes good use of the GPU. (I guess that's important when your CPUs are still slower than Intel's?)
Great video support, including QuickTime 6.
Putting all that together, now Unix desktops are getting the media apps they only dreamed about before. Apple has done it *and* commoditized it too. It's not like paying SGI prices anymore.
And, if you still want X, you can get X. It's there for those who want it. The XFree86 project has done a great job.
Mac OS X can help try to win (some of) the desktop back. It is getting the critical mass necessary to get ISVs back building software for it. And the cool hardware and tools is bringing back many developers too.
And, well, it's NOT Windows. :-)
Now for the panel discussion.