A second look at Seafox – Wow!

I couldn’t help but take a second look at Seafox and I am really impressed.

In my last post I wrote it’s a squeak app, but that’s nonsense. There is a squeak app that runs on top of seaside and can serve the Seafox plugin for download, but in fact Seafox itself is just a Firefox plugin. [Update: The Squeak App displays a nice page with documentation on most Seaside-generated tags and is a nice showcase of jQuery usage – but it has some issues with some browsers on some operating systems]

If you’re not a Squeak / Pharo user, you can simply download Seafox from http://seafox.seasidehosting.st and click on the download-icon.

There’s not much to the plugin: it just adds a little seaside icon to your Firefox (just next to Firebug in my case 😉 ). Once it is installed you can visit any web page and click on the Seafox icon. It will convert the page you look at into two methods:

  • updateRoot for the html header (like meta tags or links to css files)
  • renderContentOn: for the html tags in the body.

Sounds simple and easy, he? But wait: if there’s JavaScript code on your page, it will also be converted to Smalltalk code. I’ve tried it with a hand-written page with a jQuery UI accordion on it (our company homepage).

How cool is that?

All you need to do now is visit your favorite page that you’d like to implement in Seaside, start Seafox and copy&paste the code into your smalltalk browser.

Well, there’s a lot more to do than that. You’ll have to find the places where Seaside puts in dynamic content and you’ll sure want to decompose a page into components and so on. But Seafox gives you a comfortable starting point for that.

So go and get Seafox!

Thanks a lot to Nick Ager for making this available. Great work, dude!

I’m not alone: Charles Jade doesn’t like the Magic TrackPad

There’s been a lot of buzz around Apple’s new Magic Trackpad. And it’s okay if people like it and buy it like sliced bread. I just can’t understand what it’s good for in its current form.

Being a MB Pro user who always has his MightyMouse at hand, I don’t buy into this “This is finally where we all want to be” stuff. Just like Charles Jade from The Apple Blog:

If the comparison seems unfair, it is because the mouse is the device the Magic Trackpad is meant to replace. On a MacBook, the multitouch trackpad is a portability compromise–the best portable input device ever made–but still a compromise. Unfortunately, the Magic Trackpad doesn’t even compare well against a MacBook trackpad.
[…]  It’s not the size of the trackpad, but how you use it that matters. The MacBook trackpad is well-integrated in front of the keyboard and as part of the palm rest, allowing for thumb or finger movement […]

Charles also complains about the TrackPad’s quality which I must admit to not have tested, so I cannot comment this one:

From Photoshop to StarCraft to Pages, the lack of precision compared to a $5-off mouse a close-out table at Best Buy was constantly irritating. Even when precision was not an issue, like scrolling in a web browser, the Magic Trackpad–any trackpad–will simply not be as smooth as a mouse.

…other than I agree as far as I can tell from my experiences with the Trackpad on my MB Pro. I like it much better than the one on my wife’s laptop, but it’s still not as good as using a mouse. Maybe that’s only true for old men like me.

The only use case that would make sense to Charles and me is a wireless keyboard with the Trackpad integrated.

You can read his full review here.

Seafox HTML: from web page to Seaside render method

Nick Ager just released a first version of a Firefox plugin called Seafox. It’s purpose is to translate a loaded web page into a #renderContentOn: method that would produce exactly this output in Seaside. Cool thing.

While Nick says in his announcement:

The background to the project is that often when I try advocating Seaside to my non-Seaside developer friends, they protest that Seaside won’t fit into their workflow. Their excuse is that they receive html from their designers then use that as their template. I know that templates vs Seaside render methods + CSS is a well trodden path (and don’t want to reopen that discussion), instead I thought if I could make something that would give non-Seaside developers a start by taking a page design and translating into Seaside render methods that might alleviate one perceived obstacle.

I guess there also is another important use for it: Analyse a page that looks like what you want to achieve and see how it’s done. The typical workflow would be to use Firebug to analyse the html code and try to rebuild it from scratch in a #renderContentOn: method.

As you surely know, building web pages and applications is and has always been a mix of of copy & paste together with (lots of) trial & error. This won’t be changed with Seafox, but now there’s a shortcut: suck in & reuse 😉

Go and read the full announcement on how to get the plugin and seaside app and how to use them. Currently it is only available for Squeak and possibly pharo, but since it looks very promising, chances are it will be ported over to other dialects pretty soon…