Greetings from Amsterdam. I'm here for the second day of CocoaDevHouse! About 20 geeks have been camping out in the Post C.S. building to gather, discuss, develop and generally have fun.
I've mainly come to work on my first Cocoa app (LemonJuice) and benefit from the expertise of people who actually know the API ;). I've gone from "typing a bunch of random crap" to "doing cool stuff with ridiculously small amounts of code". Cocoa is definitely interesting, and far more powerful than the Windows API I've used for a couple of years.
More details inside...
The application I've been coding is essentially, a WebKit based Terminal. I dislike the fact that a typical bash session in a GUI terminal is not a very consistent experience. For example, bash does not understand the normal home/end keys. And because you're not typing in a normal textbox, you can't select text by holding shift, have spell checking, and non-destructive autocompletion. What's also important to me is that the typical shell command now outputs a very ugly, very UNIXy stream of text. Whereas usually, that information is quite structured (a list of files, a list of key/value pairs, a timestamp, a media file, ...). Files and hyperlinks should be clickable. Tables should be sortable. Etc. etc.
So, I want to use WebKit (the engine behind Safari) to make a Terminal that outputs nicey styled HTML. A directory listing would emerge as a nicely formatted table with icons, for example. But you could just as well pipe that list into another application, without losing the structure (sort of what Microsoft's Monad is supposed to be like).
Of course, I have no clue if I can build such a thing. I'm essentially going blind now, coding until I have a good prototype ;). So far I've got "cd", "ls" and "quit" working. Still, most of the work now has been trying to figure out how I can achieve things in a way that is Cocoa-ish and clean. At least I'm having fun...
Current prototype:


Are the commands you've
Are the commands you've implemented already schema'd in code or in expandable XML files?
Nope
They're just a set of hardcoded commands now. As I said I'm not focusing too much on big architecture side of things.
great idea
I love this idea man! I just wanted to encourage you to keep hacking on it.
Niiice
My eyes got wide when I saw this post - I've been thinking about how terminal could be improved for a good while, and it was exciting to see a project. I know this is 2006 - but has this gone anywhere? Perhaps you could release it to open source if you haven't already. I'd be really interested in seeing what you've done on it and seeing what I could contribute.
btw - nice site design!
@Alex: Not really
Sorry, I never really got past the primitive prototype phase with this ;). But there have been a number of exciting developments since I first started it, like the massive increase in JavaScript engine speed, which means that a lot of the core of a WebKit based terminal could actually be run as JS.
Also, WebKit's developer tools already have something like what I proposed: the console for JS and client-side SQL already outputs richly formatted data. It also has a really awesome implementation of autocomplete, where the autocompleted text is appended on the fly, but grayed out. Best of all, it's all implemented with HTML, CSS and JS.
All HTML?
Wow - I've used those developer tools hundreds of times and never guessed they were all HTML - amazing. What better way to access the DOM I suppose.
Maybe I'll try to hack something together with this sometime... if alot of it was implemented as web technologies it'd be quicker to make and much more extensible...
Post new comment