Friday, May 21, 2004
Brent's 'Frontier Dreams'
inessential.com: Frontier Dreams
Brent explains Frontier's beauty in a way only Brent can.
When I wrote about Frontier a couple of days ago, I was very careful not to "dream" about any features I'd like to see Frontier have. I started doing that, but in the end the post felt unfocused so I decided to stick to the questions rather than my ideas.
I'm pretty torn about the Python thing, to be honest. I worry that if you stored Python objects in the ODB, that UserTalk code wouldn't be able to effectively deal with them, and it would become a 2nd-class language. But then Python is pretty darn sweet, and maybe part of the bridge would be a way that UserTalk could introspect and deal with Python objects. Maybe. Python deals with Unicode, I can't remember if Frontier does.
If I had the time I'd go back into discuss.userland.com and find the many posts I made about Cocoa-izing Frontier, because Brent brought it up and it's intriguing. Back when I was advocating it, Cocoa was stil called Yellow Box and it (Rhapsody) was going to run on Intel and Windows as well as Macs. Oops!
Replacing MacBird with .nib files would be very very cool indeed. What about the reverse though, what about a Frontier runtime that you could embed into an app so that you could do the UI of an app with IB and the code for it in UserTalk. The app would start up the little mini-Frontier runtime and would have its own ODB and UserTalk environment to drive the application. The end user wouldn't even notice it... then again, since it was a Frontier app, you might consider letting your users poke under the hood, and give users the ability to add plug-ins and callbacks like how people do it in Frontier using guest databases.
I wonder, could Frontier's script editor be wired into Python's debugging APIs in such a way that Python code could be debugged someting like how UserTalk can be debugged in Frontier, with browsable call stacks and local variables etc?
As far as Frontier as a server goes, I think it'd take a massive amount of work to really bring it up to par with current server engines. It needs transactional database support, for one. That would be cool but I don't know if it's feasible. For example, each web request could have its own ODB transaction associated with it. The changes the request/response loop creates are only committed to the ODB if the request completes successfully (ie: without unexpected error occuring). Zope works like this and it's wonderful... if a request fails, it doesn't leave half-done changes in its database that you have to clean up. Plus, transactions can be un-done in Zope. I'll just dream about this for Frontier. It's beyond my ability to make that happen, which is an example of why I'm going back to school soon.
Also, the UI really needs to be separated from the back-end engine to be a good server, so that it doesn't have to run as an application on a logged in account. It needs to be able to run as a daemon on a headless server.
It's because I think getting Frontier to be a great server would be so much work that I think it makes sense to focus on its value in scripting and automation. And even if it did happen, I don't think it would really catch on, because it's not Java, it's not Perl/Python/PHP, it's not OO, and it doesn't run on Linux (yet).
See, now Brent got me started! I'll leave it at that, my lunch break is over. ;-)
Cringely connects the dots between iPod and iMac
I, Cringely: Divide and Conquer - Why Apple Has an iPod Division
... I'm not saying this is going to happen, but I think it will happen if Apple has any trouble at all maintaining its margins under the current strategy. Absolutely look for the rape of the resellers, and then MAYBE look for the end of Macintosh hardware."
Connect the dots, la la la-la! Perhaps the Mac OS X for Intel exit strategy is getting closer?
Thursday, May 20, 2004
Atrocities in Iraq
sacbee.com: Opinion -- Atrocities in Iraq: 'I killed innocent people for our government'
A must read.
Wednesday, May 19, 2004
Jon Stewart's Commencement Address
Jon Stewart's Commencement Address
So many funny parts I couldn't pick a quote. If you like Jon Stewart (yes, the host of the Daily Show), you'll love this speech.
Frontier as open source
It's been over two days since Dave Winer announced that Frontier will be released under an open source licence. I've been so blown away by this, I've had to think about it for a while before attempting to articulate a reaction.
First and foremost, I think Dave Winer did the right thing, and I think it took a lot of courage to make it happen.
It's true that Frontier has fallen behind as a server platform, and its scripting libraries aren't on par with Python and Perl and PHP and Ruby, to name a few. But to rate Frontier in those terms does a disservice to Frontier's unique capabilities and lasting value. Frontier is still a productive scripting-based automation environment with a beautiful transparent data store, elegant scripting language and development environment, and an artistic user interface. Sure, other popular scripting languages have awesome libraries, and other code editors have wizzy features like syntax colouring, contextual autocompletion, function popup and more, but they don't have Frontier's integrated development environment, not by a long shot. The term IDE seems shallow when applied to other languages in comparison to Frontier... except for Smalltalk-derived environments, which are similarly pervasive.
I have no idea if I will do anything at all with the Frontier source except study it and build it so I can use the application itself. I've wanted to learn how UserTalk and the ODB are written ever since the day I laid eyes on it. Putting my CS student hat on, I am giddy with excitement at the prospect of lifting the hood. It's unlikely I'll have time to do anything significant development with it for quite a while, unfortunately.
I look forward to putting Frontier back on my desktop as a scripting and automation tool. Since I really don't care for Manila or Radio, I won't be missing anything compared to what I used to use Frontier for years ago, and Userland certainly will not have lost any money by letting me get the software for free, because I never would have paid for Manila or Radio, the only ways one can currently get a Frontier license.
I wonder, what do other people hope for Frontier in its new life as an open source package? Do people want to see it get beefed up into a hunky server juggernaut with scalability and reliability up the wazoo? Do people want to see it instead focus on its roots as a scripting and automation engine? Do people want to see it adopt other open source languages, or vice versa, have other languages adopt Frontier's environment? I know some people would love to get back to writing code in an outliner again. Include me in that group! I bet there are people who fall into all those categories, but I'm far from certain that Frontier will attract a sizable enough community to tackle all of those ideas, if only because so much time has passed since the Frontier scripting community was vibrant.
On Monday I saw a message from Jim Byrne, a seriously old-school Frontier wizard and much-admired community participant. I wonder, how much of of the old community might re-form around this new release? Is ScriptMeridian relevant again? Now that it's open source, can the dissenting faction of the old community finally bury the hatchet and have a productive relationship with Dave Winer? (I sure hope so)
Like anything with potential, I think this announcement raises more questions than it does provide answers. This could be a true rennaisance for Frontier and Frontier users. So many Frontier users moved on long ago. I think what happens next depends greatly on how many people are willing to move back. Even if too few return and not enough new enthusiasts appear to make strong waves, simply having Frontier as open source software has tremendous, long lasting value, and we should not forget who made it happen.
Thanks Dave!




