First Look At Palm's Mojo SDK
snydeq writes "Peter Wayner puts Palm's Mojo SDK through its paces and finds the general outline of the system solid and usable despite 'numerous rough edges and dark, undocumented corners.' The main draw, of course, is the reliance on HTML, CSS, and JavaScript, which lower the barriers to entry, though with Mojo, HTML and JavaScript do at times work against each other, with JavaScript occasionally 'wiping out anything you do with HTML.' But more than anything, Wayner sees the current version of Mojo as 'merely the start of access to a very fertile platform. 'Developers are actively digging into the Linux foundations of the Pre and finding they can build tools that work with the raw guts of the machine. Some are talking about writing Java services underneath,' Wayner writes, pointing to sites such as PalmOpenSource.com and PreCentral.net that are cataloging dozens of apps that come complete with the source code. 'I know people are doing similar things with the iPhone — such as selling the source to people who must install it themselves — but the entire scene emerging around Palm has a much more organic and creative vibe. It's not getting hung up on parsing and reparsing the App Store rules.'"
Seems like it was this same type of development culture that helped to launch the first Palm Pilots to popularity.
PRAY...FOR...MOJO
0 = 1 + e^(Alt something)
"Ultra Mega Chicken? No, no - shhh - he is legend!"
...
"One convenient locations...in Africa"
One convenient locations...in Africa.
Palm doesn't like this, but it's awesome so do it.
http://forums.precentral.net/homebrew-apps/191213-my-tether-tether-over-wifi-usb-bt.html
I know people are doing similar things with the iPhone â" such as selling the source to people who must install it themselves â" but the entire scene emerging around Palm has a much more organic and creative vibe.
What does this even mean? Are we measuring mobile phones against each based on "vibes" now? And how is doing the same thing on a different device somehow more creative?
Wish they'd support some decent languages like C/C++ and Python or even regular Java. because JavaScript is the most awful excuse for a scripting language I have ever tried to work with
Since when does something that is technically better mean it's a viable competitor to Apple? History is *full* of technically better failures.
I've come to the inflammatory conclusion regarding the iPhone. The crazy rules of the app store and the phone's 'jail' are a demand accellerant. The intricate craziness of the Apple culture wins out over a vendor developing a relatively open phone OS.
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
"numerous rough edges and dark, undocumented corners"
They found it!! they finally found my Mojo!!!
I think this will gain steam overtime... they needed to just get it out there and get customer-driven direction from developers....
Hey, beats the piss out of the last Palm OS SDK approach.
"the entire scene emerging around Palm has a much more organic and creative vibe"
mmmmm... warm fuzzy feelings... and ya'll can support the darn thing when Palm discontinues it!!
HTML, CSS, and JavaScript are three separate programming language/syntaxes (JQuery syntactic sugar would add yet one more pseudo syntax). To design graphical applications with them for the Pre, I'd have to use a text editor. And if I read the article right, I would have to fiddle with the command line to do development.
The Cocoa API is essentially one programming language/syntax. And I can design graphical interfaces with a graphical application (Interface Builder). And I never have to touch the command line.
No contest.
I've been developing applications for the Palm Pre for about a month and this article does a pretty good job of summarizing the state of the SDK. I was never a Javascript fan and was disappointed at first to learn that it would be the language for developing apps. However, I've since discovered that there's actually quite a bit of power in Javascript. One of the big hurdles for 'traditional' developers approaching the Palm Pre is that you have to learn up to five new technologies at once: Javascript, HTML, CSS, the Mojo framework and, optionally, Prototype. None of these is difficult on their own. Diving head first into all of them leads to a bit of confusion at first as you wrap your brain around them.
I have set up a blog where I discuss some of the more user-facing aspects of the Palm Pre: Pre101.com. I hope to bring out a more developer oriented site later.
Author of Enyo: Up and Running from O'Reilly Media
Dashboard widgets, Dashcode IDE.
you had me at #!
"Tethering"? I don't need to "tether" my Pre.
It's just an ordinary Linux computer that runs iptables and iproute2 like any other Linux computer. If I want to forward traffic over it, I can do it in exactly the same way I would forward packets through any other Linux machine. (Hint: the wifi interface is called eth0. The cellular interface is called ppp0. And it supports USB networking.)
The Pre is mind-bogglingly banal. We're so accustomed to twisted, badly-designed platforms in the mobile world that when we're confronted with what's more or less a boring old Linux system, our jaws drop in flabbergasted amazement.
HTML, CSS, and JavaScript are three separate programming language/syntaxes (JQuery syntactic sugar would add yet one more pseudo syntax). To design graphical applications with them for the Pre, I'd have to use a text editor. And if I read the article right, I would have to fiddle with the command line to do development.
The Cocoa API is essentially one programming language/syntax. And I can design graphical interfaces with a graphical application (Interface Builder). And I never have to touch the command line.
No contest.
First, claiming that the Cocoa API is simpler than HTML, CSS and JavaScript together is misleading.
Second, it assumes starting from scratch, but the point of the route Palm is taking is that there are already bucketloads of developers fully immersed in web development.
Third, isn't this exactly how Apple started out for iPhone development? Okay, Apple was much slower but they're where they are now and that's mostly what matters. Still, you're being very disingenuous overall.
Now personally, I've been developing web applications for the iPhone. In part because I've got my hands on one today and the Pre is still in the future for us Canadians. Regardless, I'm not developing with the Cocoa API exactly for the reason you've inadvertently illustrated: I'm leveraging the knowledge I already have.
Using what you already know = much simpler.
yeah, the G1 isn't as sleek/sexy as the new Palm...
Have you actually used a Pre? It may look sleek and sexy in pictures, but actually holding the thing it feels completely flimsy, the keyboard is shit (and I say that as someone who really likes my Treo keyboard), and the application interface is frustratingly slow (half the time I couldn't even get the touch screen to work when I played with it). I didn't find it sleek or sexy at all.
Microsoft at least has one thing it knows: cross language APIs/SDKs are a good thing. I wanted to perform some data mining on an Excel Spread sheet, I just popped open Python file and imported COM support -- tah-dah, Excel access in the language of my choice, with as many supporting features as the Java/C#/C++/PHP/Ruby approaches.
"Sorrow is better than laughter, for by sadness of face the heart is made glad." [Ecclesiastes 7:3]
but there are 3 (that I can name!) next generation javascript frameworks that may help:
GWT -- google's java to javascript translator.
Sproutcore -- Apple is using it for .Mac
Cappuccino -- more or less complete reimplementation of Cocoa via objective javascript
I'll also mention OpenLazlo, though I haven't paid any attention to it, so I don't know the internals.
Do you even lift?
These aren't the 'roids you're looking for.
Please explain why 'Java services' are a good idea? I don't mean to disrespect Java.. but my understanding is that it is not compiled to native code. If I really want something like a service, don't I want it to be as efficient and spanky fast as it can be? Don't I want it running in native machine language? I see so much being done these days with 'interpreters' (.Net CLR, Java, Flash, Python, Perl) and I wonder how good the interpreters REALLY are and how they would fair against native code? I come from an assembler background so it's difficult for me to appreciate how giving up the efficiency of native code is a good idea for something like a service, especially in a small portable platform where resources may not be abundant? Do people ever compile Java to native code?
Knowledge is like ignorance.. too much can be just as bad as not enough.
So, if you lose your Mojo, does it mean you got Austin Powers around?
Catalin Braescu
Ofaly.com
Can you use it to automatically report all data (number, gps loc, usage , all installed apps etc...) that a user of your app is using to your own central server ? Because REALLY that is what I want, to get no privacy at all
'crap', 'dataloss' - at first I thought wtf? But soon realized that it's nothing more than the Apple fanbois are taking their tagging work a tad bit too seriously today!
Who cares - They are a bunch of snoops who don't deserve any apps at all. (see earlier story)
This is all well and good but what I really want to know is can I install emacs?
Javascript is powerful, but I would not call it 'awesome'. It is very verbose and has very peculiar ways about it. Javascript frameworks alleviate some of the pain with nice functions like '$' to do getElementsById, but fancier even, but some of the weirdness still shines through.
Also, Javascript is only as powerful as the primitives exposed by the interpreter. For example, try writing a hardware accelerated 3D application in javascript. The language could describe such a thing, but as it stands it has no hooks to manipulate such a thing.
XML is like violence. If it doesn't solve the problem, use more.