From: Andrew Poulos on
On 10/01/2010 1:35 AM, Jorge wrote:
> On Jan 9, 2:53 pm, RobG<rg...(a)iinet.net.au> wrote:
>> (...)
>> Cljs is *the* place to discuss technical issues related to it.
>> (...)
>
> Sadly, in higher profile forums, cljs is seen more and more as a bunch
> of clueless idiots. Garret is helping a lot with that, for in every

You're posting on cljs so that must mean you are also a clueless idiot.

> other forum he dares to put a feet on -where he invariably tries to
> impersonate as the author on the cljs faq (*)- it's just to annoy them
> with pointless, arrogant, ridiculous posts of little or no value at
> all, except for his great success in pissing off the regulars.

So he's not allowed to dare point out faults in sproutcore but you feel
justified in doing a character assassination?

> (*)See his signature, and the 1st line in the cljs faq states "by"
> him. Given the negative image he projects wherever he goes, I wonder
> whether -for the good of cljs- his name ought to be there at all to
> begin with.

When a house is built the architect will say its there's, the build will
say its there's, the actual owner will say its there's, anyone leasing
the house will say its there's, and anyone living there will say its
there's. So claiming ownership of something you are responsible for is
not unnatural.

Andrew Poulos
From: RobG on
Jorge wrote:
> On Jan 9, 2:53 pm, RobG <rg...(a)iinet.net.au> wrote:
>>> (e.g., you don't know
>>> a word of cocoa),
>> Utterly irrelevant. Apple's Cocoa is a "collection of frameworks, APIs,
>> and accompanying runtimes"[1] specifically for Mac OS X developers. That
>> is unrelated to a script library that is supposed to be suitable for web
>> applications and presumably platforms other than Safari on Mac OS.
>
> In case you didn't know, SproutCore is Cocoa for the Web.

You've been drinking the Kool-Aid. That is a line introduced by Apple's
marketing team back in mid-2008 when they announced the new MobileMe
site based on SproutCore. It makes as much sense as calling it .NET for
the web.

The fact that Apple's MobileMe site doesn't even work with their own
mobile devices (iPhone and iPod Touch) gives you some idea of how
accurate marketing terms are.

Have a play with the SproutCore site on an iPhone, you'll notice the
following:

- The SproutCore home page takes 20 seconds or longer to load (iPhone
over broadband and WiFi) and throws an error about "ready() is not yet
supported on Safari 3.1 and earlier" as does every page using SproutCore

- The demo page takes over 20 seconds to load

- Going forward and backward between the above two pages takes over 20
seconds so caching appears to work

- You can't scroll to the demos below "user_defaults" (so much for their
cross-platform widgets)

- The bullet images may or may not appear

- Selecting a particular demo is a lottery - the list may or may not
respond to touches

- I have no idea what the iPhone demo is supposed to do, it does nothing

- The user_defaults demo does not work at all, the suggestion text is
cropped by incorrect style settings (it works OK in Firefox)

I could go on. And all that from a demo page for a framework that is
supposed to include mobile devices and specifically target iPhone.

It claims to be "small(ish)" yet is bloated. It claims to do more with
less code (where have we heard that before?) but doesn't. The clock demo
can be written in far less code and be more functional.

SproutCore also embeds most of the styling in the code, so the supposed
abstraction of script and content is completely broken. Have a look at
statements like:


Clock.mainPage=SC.Page.design({mainPane:SC.MainPane.design().layout({centerX:0,centerY:0,width:320,height:120}).classNames("clock").childView(SC.LabelView.design().layout({left:10,right:10,centerY:0,height:48}).tagName("h1").bind("value","Clock.clockController.value")).childView(SC.CheckboxView.design().layout({centerX:0,width:130,bottom:10,height:18}).prop("title","Show
Greeting").bind("value","Clock.clockController.showGreeting"))});

My stab at pretty-printing it:

Clock.mainPage = SC.Page.design({
mainPane: SC.MainPane.design().layout({
centerX: 0,
centerY: 0,
width: 320,
height: 120
}).classNames("clock").childView(SC.LabelView.design().layout({
left: 10,
right: 10,
centerY: 0,
height: 48}).tagName("h1").bind("value",
"Clock.clockController.value"))
.childView(SC.CheckboxView.design().layout({
centerX: 0,
width: 130,
bottom: 10,
height: 18}).prop("title", "Show Greeting")
.bind("value", "Clock.clockController.showGreeting")
)
});


Not to mention that the clock itself uses "invokeLater" (which I presume
is simply a call to setTimeout) with an interval of 1000 and therefore
runs up to 1 second slow. It will slowly drift and occasionaly skip a
second.


--
Rob
From: Jorge on
On Jan 10, 2:16 am, RobG <rg...(a)iinet.net.au> wrote:
> Jorge wrote:
>
> > In case you didn't know, SproutCore is Cocoa for the Web.
>
> You've been drinking the Kool-Aid. That is a line introduced by Apple's
> marketing team back in mid-2008 when they announced the new MobileMe
> site based on SproutCore. It makes as much sense as calling it .NET for
> the web.

http://www.google.com/search?q=cocoa+site:sproutcore.com
--
Jorge.
From: RobG on
On Jan 10, 6:38 pm, Jorge <jo...(a)jorgechamorro.com> wrote:
> On Jan 10, 2:16 am, RobG <rg...(a)iinet.net.au> wrote:
>
> > Jorge wrote:
>
> > > In case you didn't know, SproutCore is Cocoa for the Web.
>
> > You've been drinking the Kool-Aid. That is a line introduced by Apple's
> > marketing team back in mid-2008 when they announced the new MobileMe
> > site based on SproutCore. It makes as much sense as calling it .NET for
> > the web.
>
> http://www.google.com/search?q=cocoa+site:sproutcore.com

Thanks for agreeing.

Your point was that a person can't do a worthwhile review of
SproutCore unless they have a good knowledge of Cocoa. Your basis for
that seems to be a bunch of marketing material that uses Cocoa as a
similie for an MVC framework.

There is no need to know about Cocoa at all when reviewing the library
code used by SproutCore, criticisms were based purely on its use of
javascript. If you can show that a specific criticim is not justified
based on some principle of MVC architecture, design pattern, code
style or some other relevant point, please do so.

Otherwise your point is irrelevant.


--
Rob
From: Garrett Smith on
RobG wrote:
> Jorge wrote:
>> On Jan 9, 2:53 pm, RobG <rg...(a)iinet.net.au> wrote:
>>>> (e.g., you don't know
>>>> a word of cocoa),
>>> Utterly irrelevant. Apple's Cocoa is a "collection of frameworks, APIs,
>>> and accompanying runtimes"[1] specifically for Mac OS X developers. That
>>> is unrelated to a script library that is supposed to be suitable for web
>>> applications and presumably platforms other than Safari on Mac OS.
>>
>> In case you didn't know, SproutCore is Cocoa for the Web.
>
> You've been drinking the Kool-Aid.

Jorge posts generally have a very low signal/noise ratio.

That is a line introduced by Apple's
> marketing team back in mid-2008 when they announced the new MobileMe
> site based on SproutCore. It makes as much sense as calling it .NET for
> the web.
>

".Net for the web" would probably not be good salesmanship for Apple.

> The fact that Apple's MobileMe site doesn't even work with their own
> mobile devices (iPhone and iPod Touch) gives you some idea of how
> accurate marketing terms are.
>

MobileMe? Isn't that a pay site that allows the user to sign up for
push-notifications of email and syncing photos and stuff?

http://www.apple.com/mobileme/

I think I see.

Does MobileMe use the standard iPhone notifications? Those notifications
interrupt user process to present a modal dialog. Modal dialogs can be
really annoying when trying to do something important, like make a
time-sensitive call. Such modal design actually violates Apples UI
design principles, actually.


Well, iPhone is about hype, and the phone itself, as a phone, is of very
poor quality.

In a way, SproutCore and iPhone match up.

> Have a play with the SproutCore site on an iPhone, you'll notice the
> following:
>
> - The SproutCore home page takes 20 seconds or longer to load (iPhone
> over broadband and WiFi) and throws an error about "ready() is not yet
> supported on Safari 3.1 and earlier" as does every page using SproutCore
>
> - The demo page takes over 20 seconds to load
>
> - Going forward and backward between the above two pages takes over 20
> seconds so caching appears to work
>
> - You can't scroll to the demos below "user_defaults" (so much for their
> cross-platform widgets)
>
> - The bullet images may or may not appear
>

They're using list-style for mobile? That won't work on a lot of devices.

> - Selecting a particular demo is a lottery - the list may or may not
> respond to touches
>
> - I have no idea what the iPhone demo is supposed to do, it does nothing
>
> - The user_defaults demo does not work at all, the suggestion text is
> cropped by incorrect style settings (it works OK in Firefox)
>
> I could go on. And all that from a demo page for a framework that is
> supposed to include mobile devices and specifically target iPhone.
>

That sounds awful. After looking at the code, I am not surprised that it
has such problems. I've seen places where I can spot exactly how it will
fail (using the `rules` property, using `userAgent` checks). I'm really
surprised that such a large codebase was designed for mobile.

> It claims to be "small(ish)" yet is bloated. It claims to do more with
> less code (where have we heard that before?) but doesn't. The clock demo
> can be written in far less code and be more functional.
>

Small is a relative term.

Our Sun is much smaller than the anticipated SuperNova Betelgeuse.

Dojo: Small, fast, deep.

Ext:
Ext Core is a cross-browser JavaScript library for building dynamic web
pages. It includes:
* High performance, lightweight

This is called marketing lingo.

> SproutCore also embeds most of the styling in the code, so the supposed
> abstraction of script and content is completely broken. Have a look at
> statements like:
>
>
[snip]

That code is a mess. Did anybody at Apple review any of this code before
paying for sponsorship? Or were the reviewees unable to make assessments?

I've seen the demos for the 280 north cappucino (same guys). While the
code is atrocious, they speak and present well.
--
Garrett
comp.lang.javascript FAQ: http://jibbering.com/faq/