

Mail.app implemented on the web using ukijs  - tswicegood
http://blog.ukijs.org/2010/04/08/mail-app-on-the-web/

======
fjabre
I think that building web apps that look/feel like desktop apps is a step in
the wrong direction. Some of the best web apps around like Gmail, Maps,
Facebook, Twitter, Wordpress etc represent a complete break from traditional
desktop software and I actually like that.

You can almost think of the browser viewport as a blank canvas on which you
can draw pretty much anything. Desktop apps feel much more constrained in
terms of UI & appearance. I think web apps - if done right - look and feel
much better than most desktop apps anyway.

Not to take way from what the OP accomplished.. That's some serious
javascripting and I like his approach much better than Cappuccinos

~~~
johnrob
The best example of this is forward/back buttons - these don't exist on the
desktop, but are integral to the browser experience.

~~~
slug
Undo/Redo ?

------
pistoriusp
You can play with the actual demo over here:
<http://ukijs.org/mail/index.html>

It seems pretty interesting.

~~~
pak
It's interesting, but not very deep in terms of functionality.

The main exhibits here are the split panel view and the table view. Both are
OK, but these problems have already been solved many times by ExtJS, Dojo, and
various jQuery plugins, most of which implement many more difficult features
like sorting, searching, editing, and saving state.

All else to be seen here is the meticulously reproduced skin with CSS and
background images.

Things I would have been excited to see, because they are not yet well-solved
amongst JS frameworks: tokenizable editable text fields, like the real
Mail.app's To: field, attachments using HTML5 D&D, a quickly-searchable inbox
and a drag & drop sortable treelist view for the mailboxes.

~~~
boucher
I actually think it shows a lot of promise. Though it is reasonably limited, a
lot of what it does do it does well. For example, it doesn't have the
_extremely common_ problem of every piece of text being selectable, and often
that selection fundamentally breaking other interactions like drag and drop.

~~~
necubi
Disabling text selection is actually really simple. All you need to do is
apply user-select: none (currently available as -webkit-user-select and -moz-
user-select) to the element.

------
daok
I have to admit that is quite fast, and the GUI is pretty. Nice job.

------
sant0sk1
I'm a little confused. The blog post states:

> "Models store, load and transform the data from the server."

But the ukijs.org states:

> "Uki doesn't want to be a Jack-of-all-trades. It only does layout but it
> does it well. You won't find any ajax or data storage layer code here."

Which one is it?! (I'd much prefer the former)

~~~
regularfry
Both. He's saying that models (in general) handle data, but Uki (in specific)
doesn't specify how you should go about doing that.

~~~
aaronblohowiak
The data.model file is about 100 lines of code

------
briancooley
_What this basically means is that you have to do more: read more source,
learn more conceptions and tools, support more code, fix more bugs._

I think the biggest advantage to Cappucino is that, if you already know the
Cocoa framework, there is less to learn.

~~~
sant0sk1
True. But if you're already developing for the web, chances are you know
JavaScript better than you know Cocoa.

~~~
sant0sk1
Side Note: One of the major draws for me to learn Objective-J (coming from a
Ruby/JavaScript background) was that I simultaneously learned a lot about
Objective-C and Cocoa, which is key for iPhone/iPad apps.

I felt like I was double dipping courses in college again.

~~~
boucher
More of our biggest users came from pure web backgrounds then from Cocoa
backgrounds.

------
euroclydon
How theme-able is it?

------
asnyder
Disclaimer: I'm one of the co-founders of NOLOH (<http://www.noloh.com>).

I want to apologize in advance for being so brash. I find that these
demonstrations are very misleading. We all ohh and ahh, but not because of the
technical accomplishment, but because of the beauty of Mac interfaces. First,
sure the app is fast, it's loading the entire application from JavaScript, yet
another fat client app.

Second, the capabilities that this provides seems no different than the basics
of YUI, or other JavaScript widget collections with unified syntax.

Third, it's misleading to suggest that this is Mac Mail when in fact I can't
search. I guess that's not a part of the Mail.app.

Fourth, 15 hours to do a main screen and a new message form, really? I'm sure
that we or the guys at Cappuccino & Sproutcore could throw a similarly
functioning demo together quicker.

The hard part of this example is getting the image resources, not the
implementation. This implementation could've been done just as well in
straight JavaScript or any other JavaScript framework just as nicely.

~~~
lovskogen
I really see no reason for being an ass like this. The guy made something,
embrace it or leave it. Constructive criticism is valuable, but telling "…I
can do it better" serves no other purpose than being negative.

~~~
axod
I think the point is, the title "Mail.app implemented on the web using ukijs"
is wrong.

It's pretty easy to clone a UI so something looks like something else. It's
easy enough to then add a bit of data so it sort of feels like it as well. But
building a real world fully functioning app takes a bit more work.

