Clicky

Your first look at Palm’s webOS SDK, Mojo

Thanks to one of our ninjas, we’ve got some shots of the inner-workings of the webOS SDK. For starters, everything is tested and previewed in the web browser (our shots are of the Mac version, so Safari), which bodes well for Palm’s “anyone who knows how to program in Javascrizzy can write an application”, line. We’re told that even in Safari, apps work just like they would on the actual device, and much like the iPhone Simulator, just in the web browser. This means scrolling and rubberband-man bouncing. Very cool and very sneaky. The SDK operates as a local server that serves up the web pages (applications), and you can hook into it from your local browser. We’re not going to lie — SDKs for the most part aren’t really our cup of tea — this whole thing reminds us of the iPhone web apps era. But, if you do seek more information, our ninja was gracious enough to field questions. So if you’re really interested in this, drop some comments, and we’ll pass them over and get them answered. Screenshots are in the gallery!

Click on over to our Palm webOS Mojo SDK

Update: Our ninja answered some of you questions below!

Tags: , , , , ,

25 comment(s) for this post.

  1. On Jan 12, 2009 @ 4:57 am, PHug Said:

    I know absolutely nothing about coding but how hard will it be to take a native iPhone app and port it to a native WebOS app?
    Are we talking a few lines of code, add a few input options and your good or is it an entire rewriting project?
    I’ve never used an iPhone but those apps do look great.
    Same question for Android apps.

    Permalink | Reply

  2. On Jan 12, 2009 @ 6:52 am, blah Said:

    Here’s some questions:

    1) Can I embed sounds/vibrations into my app? Such that I can play those sounds without leaving the app. (A must have for user feedback). This was missing from iPhone web apps)

    2) Does the SDK force the app to be Palm-Pre specific? (meaning it requires .js that would render it useless if opened by other browsers). This would force the developers to maintain two separate apps, one for Palm, and one for the rest of world.

    3) Is the browser webkit based? And if so, how does it do on acid3 tests?

    4) Does the API provide full access to lower-level hardware? GPS, Graphics, accelerometer, keyboard, mic, and camera. Is anything specifically off-limits?

    Permalink | Reply

  3. On Jan 12, 2009 @ 7:53 am, Phempel Said:

    PHug asked about how hard it will be to port a native iPhone or Android app.

    Answer: very.

    This kind of coding is great - easy to write and easy to deploy, but really high performance applications; games (other than visually simple games like Tetris or Solitaire) will be impossible, until such time as Palm expose a native API using a compiled language such as C++.

    It took Apple a while to get there, too, so let’s assume they’re working on it!

    You won’t be see a flurry of dazzling multimedia launches in their app store, no matter great the capabilities of the phone (and first impessions are stellar).

    Permalink | Reply

  4. On Jan 12, 2009 @ 8:04 am, Zach LeBar Said:

    Pretty interesting.

    Couple questions:

    1. What’s the code base that Palm provides like? Or is there even a code base?

    2. is it possible to use prominent web js frameworks like jQuery, MooTools, or Cappuccino?

    3. How do you create the graphics? Are there any baked in to the SDK? Or do you have to create your own in Photoshop or something?

    I’ve got lots of other questions, but they’re a bit more complicated, so these’ll have to do for now.

    -Zach

    Permalink | Reply

  5. On Jan 12, 2009 @ 10:52 am, Eric C. Said:

    Okay, a few questions:

    Can you tell from the SDK if the Pre has vibration?

    Does the SDK include base graphics, or a graphical theme / guidelines for apps?

    Thanks for the sneek-peek - looking forward to trying my hand at some mobile app programming!

    Eric “GuitarEC”

    Permalink | Reply

  6. On Jan 12, 2009 @ 12:57 pm, theharmonyguy Said:

    PalmWebOS14.jpg shows a Java error message (as in actual Java, not JavaScript) - I’m guessing that’s from the local server and not the app?

    And one of my biggest questions is how all the apps we’ve seen so far have such consistent UI elements if this is all HTML/CSS/JS… is Palm providing standard images/CSS to use?

    Permalink | Reply

  7. On Jan 12, 2009 @ 1:22 pm, Tony S. Said:

    I’ll add some more questions to the pile:

    How does the IDE look, if there’s anything like an IDE? Is it intuitive in conjugating all the webOS technologies together?

    Is there any drag-and-drop visual screen-designer?

    Is there any basic widget library whatsoever? (to deliver an integrated a consistent look to normal applications)

    Thanks Mr.Ninja!

    Permalink | Reply

  8. On Jan 12, 2009 @ 2:10 pm, Verythrax Said:

    Well, I’m a web developer for years, so my question:

    So how really easy is to develop for WebOS? Does it have some kind of DB API that I can do more “intelligent” stuff? How far the system integration goes - there’s API for the machine itself in javascript?

    Permalink | Reply

  9. On Jan 12, 2009 @ 2:26 pm, Phoenix Said:

    1) yes
    3) yes, it is webkit based, as is the entire GUI
    4) yes

    Permalink | Reply

  10. On Jan 12, 2009 @ 2:33 pm, Mike Cane Said:

    >>>there is really just one app running: the widget engine and you’re navigating around widgets with lower overhead than a series of individual apps would have. If this is the case, and Palm has achieved both multitasking AND efficient performance
    http://www.roughlydrafted.com/2009/01/12/palm-pre-the-emperors-new-phone/#comment-16506

    Is that true? Is that what’s actually happening? It’s all widgets?

    Permalink | Reply

  11. On Jan 12, 2009 @ 2:38 pm, Benoit Cerrina Said:

    When talking about a native iphone app it will be exactly like starting from scratch and absolutely nothing will be reusable. Everything is different, the language, the API, the GUI design…
    In the case of an iphone webapp, most likely a lot will be reusable but the UI will have to be redone.
    (Coming from an iphone developer)

    Permalink | Reply

  12. On Jan 12, 2009 @ 2:55 pm, Mike Said:

    You just invented the word: “javascrizzy”. Congrats.

    Permalink | Reply

  13. On Jan 12, 2009 @ 3:00 pm, gameday22 Said:

    In reply to ERIC’s question On Jan 12, 2009 @ 10:52 am:

    Okay, a few questions:

    Q: Can you tell from the SDK if the Pre has vibration?

    A: Yes it does. If you look at the top of the phone in a close up picture you can see the button for quick set Vibrate Mode.

    Q: Does the SDK include base graphics, or a graphical theme/guidelines for apps?

    A: This is what I have found on graphics so far:

    MULTIMEDIA + GAMING:

    IVA 2+ a second-generation, power-optimized version of TI’s imaging, video and audio accelerator used in TI’s DaVinci™ technology provides up to 4x performance improvement in multi-media processing versus previous OMAP processors. The increased capabilities of the IVA2+ enables multi-standard (MPEG4, H264, Windows Media Video, RealVideo etc.) encode and decode at DVD resolutions. With the advanced multimedia capabilities of the OMAP3430 a multi-standard DVD-quality camcorder can be added to a phone for the first time. In addition, the ARM’s vector floating-point acceleration, coupled with the OMAP3430’s dedicated 2D/3D graphics hardware accelerator, provides outstanding gaming capabilities.

    GRAPHICS:

    The OMAP3430 processor embeds Imagination Technologies’ POWERVR SGX™ graphics core, and supports OpenGL ES® 2.0 and OpenVG™, providing superior graphics performance and advanced user interface capabilities. TI is enabling sophisticated and dynamic images with “smart pixel” technology offered via OpenGL ES 2.0. This unique technology allows each pixel in an image to be programmed individually, giving developers the power to create rich effects with cinematic realism. Users will now experience “life-like” facial features, advanced reflection effects and multi-textured backgrounds in the mobile environment.

    PROCESSOR: The OMAP3430 is the first applications processor in the industry to integrate the ARM® Cortex™-A8 superscalar microprocessor core. Combined with TI’s technology in the OMAP3430, the ARM Cortex-A8 enables faster user interfaces, faster data access and boosts productivity and entertainment applications on the mobile phone, while maintaining power efficiencies expected in a handset.

    None of this is 100% official, but from digging around and finding what I can based off Engadget’s postings this seems to be very accurate. I also found where the graphics/media capabilities of this chipset is so strong that it is capable of up to 12MP camera’s with Auto Focus and Zoom. This would lead us to believe that the platform is in it’s beginning stages and we can expect much more from it in the near future.

    Permalink | Reply

  14. On Jan 12, 2009 @ 3:22 pm, The Boy Genius Said:

    Here’s some answers to some of your questions from our guy…

    “”I know absolutely nothing about coding but how hard will it be to take a native iPhone app and port it to a native WebOS app?
    Are we talking a few lines of code, add a few input options and your good or is it an entire rewriting project?
    I’ve never used an iPhone but those apps do look great.
    Same question for Android apps.”

    iPhone applications are programmed in Objective-C, which is different than JavaScript, so porting an application is not going to be as easy as you think. You would probably need to re-write it, to be honest.

    1) Can I embed sounds/vibrations into my app? Such that I can play those sounds without leaving the app. (A must have for user feedback). This was missing from iPhone web apps)

    2) Does the SDK force the app to be Palm-Pre specific? (meaning it requires .js that would render it useless if opened by other browsers). This would force the developers to maintain two separate apps, one for Palm, and one for the rest of world.

    3) Is the browser webkit based? And if so, how does it do on acid3 tests?

    4) Does the API provide full access to lower-level hardware? GPS, Graphics, accelerometer, keyboard, mic, and camera. Is anything specifically off-limits?”

    I will wait for Palm to talk about this, as this is very specific stuff here. When you say Palm-Pre specific, though, I am not quite sure what you mean…if it helps to answer it, what I can see is that those screenshots I took for BG are rendered in Safari, along with the launcher, messaging app, et cetra.

    “Can you tell from the SDK if the Pre has vibration?

    Does the SDK include base graphics, or a graphical theme / guidelines for apps?”

    I cannot comment on the vibration, but for your second question, the SDK right now is very barebones, but then again this is a very early build so it should get better.

    “And one of my biggest questions is how all the apps we’ve seen so far have such consistent UI elements if this is all HTML/CSS/JS… is Palm providing standard images/CSS to use?”

    It is all HTML / CSS / etc. indeed.

    “I’ll add some more questions to the pile:

    How does the IDE look, if there’s anything like an IDE? Is it intuitive in conjugating all the webOS technologies together?

    Is there any drag-and-drop visual screen-designer?

    Is there any basic widget library whatsoever? (to deliver an integrated a consistent look to normal applications)

    Thanks Mr.Ninja!”

    As of now, it is not much of an IDE, it is quite barebones as I stated above. But at such an early stage, and judging but the SDK stability, bugs being fixed is going to be more of a concern, prettying up can come later :)

    Permalink | Reply

  15. On Jan 12, 2009 @ 3:41 pm, Tristan Louis Said:

    Another bit of news coming out of those screenshots: if you look at the code, it looks like Vodaphone will carry the GSM version. There’s a field called UseVodaphoneVoicemail in there…

    Permalink | Reply

  16. On Jan 12, 2009 @ 4:55 pm, Paul Said:

    Is there any built-in database/data store (like SQLite) on the device?

    Permalink | Reply

  17. On Jan 13, 2009 @ 4:56 am, Tony S. Said:

    Yes, it seems that SQLite will be in the device.

    Permalink | Reply

  18. On Jan 13, 2009 @ 6:58 am, luke kenneth casson leighton Said:

    1) Can I embed sounds/vibrations into my app?

    webkit supports SVG Canvas. SVG Canvas supports playing of sounds. therefore: sounds, almost certainly yes. vibrate: absolutely no idea - it depends on whether palm implemented it as a “sound device” or whether they hard-coded it to something that makes everyone’s lives really akward.

    3) Is the browser webkit based?

    yes, it’s webkit-based. so you get full support for NPAPI-compliant plugins, you get a full web browser - webkit is exactly the same engine that’s used in the iPhone, in Safari, in Adobe AIR, in appcelerator and in google chrome.

    Permalink | Reply

  19. On Jan 13, 2009 @ 8:05 am, valexey Said:

    There is C/C++ compiler/API? Or, maybe, some other native language?

    Permalink | Reply

  20. On Jan 13, 2009 @ 12:57 pm, simpf Said:

    Are the developing tools for webOS compatible with Windows XP or Vista?

    Permalink | Reply

  21. On Jan 13, 2009 @ 1:08 pm, Moon Said:

    Have Palm any Documentations and Sample code, how to develop software for webOS?

    Permalink | Reply

  22. On Jan 16, 2009 @ 12:21 pm, pher6224 Said:

    So..
    does this mean that I can SSH my way into whatever CLI is behind this big webkit facade and base apps on that or is this something like the gamecube firmware with what can barely be called an os with some huge pieces of software running on top.

    My question is weather it’s worth looking beyond developing for the CSS part of WebOS or not…

    Permalink | Reply

  23. On Jan 16, 2009 @ 10:21 pm, Brad Neuberg Said:

    Someone mentioned that SVG and Canvas support playing of sounds. This is not true actually. The just released SVG 1.2 spec has support for video and audio, but I don’t believe anyone other than an experimental branch of Opera supports that. Most browsers (other than IE) support SVG 1.1, while the Canvas tag itself just gives you a programmatic way to draw onto the screen with JavaScript but not play sounds.

    Questions for the article poster: do you know if SVG is supported on the version of Webkit on the device? How about downloadable fonts? Would that include OpenType and SVG Fonts? How about the HTML 5 video tag?

    Permalink | Reply

  24. On Jan 19, 2009 @ 9:35 pm, M Prindle Said:

    Your site has been stumbled…

    Permalink | Reply

  25. On Jun 5, 2009 @ 9:24 pm, zac Said:

    The question here is if this device will have SSH on it or be able to compile VNC for it.

    Permalink | Reply

Leave a comment on this post.