Dashcode (beta) First Look

by Chris Howard Jan 08, 2007

Last week Apple released a beta of Dashcode, a Dashboard widget development system to be included in Leopard. Its appearance should dash a few hopes of an imminent release of Leopard - especially when you consider the beta doesn’t expire until July.

The Dashcode beta has some Tiger imposed limitations but none that significantly affect what the Leopard version will look like. Likewise, the final release won’t differ a lot from this beta.

At some time in the very near future, Steve will proclaim how anyone can now create a widget using Dashcode, so I thought I’d give it the once over to see what chance there is of that being true. After all, Apple’s Dashboard Developer website already tells us “if you know how to write content for the web, you can write a Widget”, and that’s a bit of a stretch of the friendship. I sense a bit of RDF in the air.

I can’t claim to be a newbie when it comes to development although my last serious coding role was a good ten years ago; however I did develop a few successful widgets for Konfabulator in 2004. (My widgets have been downloaded over 300,000 times. Wouldn’t I love a dime for each download!)

Hopefully Dashcode can break down some of the barriers to writing Dashboard widgets as the Dashboard developer page also says: “Dashboard Widgets are created using a mix of HTML, JavaScript, and CSS.” That sort of undermines the earlier statement about how easy widget creation is.

The Dashcode development window is broken into four parts:
- a toolbar
- the Canvas (which is also used to display attributes, run log, code evaluator and source code)
- the Navigator (which displays the widget components, files and workflow steps)
- a status bar

The Workflow Steps vary slightly depending on which template you chose. For the custom template the steps are:
- Layout interface
- Add handlers and code
- Set attributes
- Preview default image
- Design widget icon
- Test share

These steps are a nice addition and indicate Apple is very serious about widgets and is trying to make widget development as easy as possible for anyone who wants to try.

One great feature of Dashcode is the Parts library. It contains many useful elements - buttons, gauges, shapes, text areas, media, indicators, sliders and so on . With these you can build very professional looking widgets without ever having to go anywhere near Photoshop. For the coders who are no good at graphical design, they’ll be doing cart wheels.

Another useful feature is you can import other widgets - although presumably it only applies to non-commercial widgets. This is particularly useful for seeing how other developers coded functions similar to ones you’d like to do.

Can anybody create a widget using Dashcode? The short answer is yes. Dashcode’s templates allow anybody to instantly create a widget but the problem is none of the template widgets are overly useful.

Seeing as it’s nearly MacWorld San Francisco, the obvious quickie first time widget to create is a countdown timer to the Stevenote. (Expect to see a plethora of countdown widgets.) A few minutes after loading the template, l had a countdown timer to the MWSF 2007 keynote. That’s reasonably impressive.

However, a couple of hours later l found there’s a bit of a learning curve ahead of me if I am to develop any decent widgets, or even widgets with the functionality of the ones I developed for Konfabulator (not that I wrote them in a short time, mind you).

The little countdown widget I developed highlights one of the biggest problems of Dashcode. That is, lots of newbies will get on it thinking they can create widgets, and all they’ll end up with is widgets based on the templates, especially the countdown timer. Thus, those half dozen template widgets are going to pollute the Macweb like viruses in the Windows world!

With the ease of creating professional looking widgets, and after looking at the code Dashcode generates, you’re left in no doubt of the usefulness of Dashcode. Programmers and wannabes will likely love Dashcode; however, except for the template widgets, newbies won’t find that Dashcode turns them into an instant widget developer (despite the impressions Steve may try to give).

Dashcode did leave me with the feeling that with a bit of time and effort, I could be creating useful widgets. However, it doesn’t remove the feeling that developing widgets for Dashboard takes more programming expertise than it does for Konfabulator (now Yahoo Widgets Engine).

Dashcode is a welcome addition to OS X and hopefully Apple will provide a Tiger version of the final release.

If you have an inclination to develop widgets, get a hold of Dashcode, you’ll be glad you did. But please, spare us the countdown widget to Aunt Mavis and Uncle Bert’s 53rd anniversary of their first date. wink

 

 

Comments

  • “(…) lots of newbies will get on it thinking they can create widgets, and all they’ll end up with is widgets based on the templates (…) those half dozen template widgets are going to pollute the Macweb like viruses in the Windows world!”

    I believe this is not true. I’ve developed a LOT of websites, yet I didn’t feel home immediately in Dashcode. After poking around a bit, I managed to create a basic widget, BUT it took some effort - even for a web developer. IMHO Dashcode is just a bit too complicated for those who don’t know how to program, but is by far the most easy way to develop widgets for those who do know. Remember Automator? Same thing there.

    TriangleJuice had this to say on Jan 08, 2007 Posts: 5
  • Is there a Dashcode tutorial anywhere?  Whenever I use a new tool, I like to get a hand-holding walkthrough the first time through.  It makes reading the other docs a lot more meaningful.

    I think there is some law that it needs to show me a widget that displays “Hello, World!”

    macFanDave had this to say on Jan 08, 2007 Posts: 3
  • macFanDave, your question highlights another problem of Dashcode/Dashboard, which is that tutorials and manuals are scattered. Whereas Konfabulator comes with a 300 page manual, Dashcode somes with a small help file (24 pages in PDF form) and then you have to hunt around the Dashboard devloper website for the manual that might tell you what you want to know.

    Add to that you will need to pick up a good book on Javascript coding as well. smile

    Start at the Dashboard developer page

    I might add, the Apple Developer website SUCKS!! It is near impossible to find anything. Try going to the ADC hompage and finding Dashboard. Somehow I found it yesterday but I can’t find it today.

    Have searched, and found it now. It’s a child page of the developer OS X page, yet therte’s no link to it.

    http://developer.apple.com/macosx/dashboard.html

    At the bottom you will find a couple of guides for widget development.

    On the plus side, the default custom template widget is a “Hello, World!” widget. smile

    Chris Howard had this to say on Jan 08, 2007 Posts: 1209
  • TriangleJuice, interesting comments. Validate what I said about it being harder than Steve will tell us.

    And yes, you’re right about Automator. Same thing. SJ says anyone can write a useful Automator workflow. Pfft!

    Although, I found the biggest problem was any workflow I wanted to create would have required me to write my own Actions as the ones I needed never seemed to exist.

    Chris Howard had this to say on Jan 08, 2007 Posts: 1209
  • I have ZERO programming experience yet I was able to easily create a slick RSS feed widget using Dashcode. I tried looking for a similar tool to create a Yahoo/Konfabulator version of my widget and all I found were lengthy tutorials on HTML and Javascript. I have no intention of teaching myself to program just to create the simplest of widgets for Windows.

    So anyone who scoffs at Dashcode is talking out of their ass.

    Sure, it’s not going to allow a newbie to create a sophisticated widget beyond the capabilities of the included templates… but at least it includes those templates, along with some easy to use, built-in graphics and fonts tools.

    I had thought of presenting my company the idea of hosting an RSS newsfeed along with downloadable widgets to generate more frequent visits to our company web site and to entice customers to register. It took me just 15 minutes to create a simple, yet slick-looking Apple widget using Dashcode. But when I realized that no similar development tool exists to create widgets for the windows platform (ie Yahoo/Konfabulator), my plan started to fizzle.

    Worse yet, though, I then realized that the appeal of widgets is far more limited for Windows users than for Mac heads.

    The average Windows-using schmo doesn’t even know what a widget is and probably has little interest in adding yet another resource hogging application to their already buggy and bloated Windows Pee Cee. I use both OSX and Windows, and while I happily install and remove widgets on my Powerbook, I am more than a little reluctant to install Yahoo / Konfabulator on my Windows machine.

    Why? Because it’s yet another resource-hogging utility to layer on top of my already sluggish and unstable Windows installation, and because installing and removing apps and utilities in Windows is a far messier and riskier process than it is on my Mac.

    So while a widget would be a no-brainer for any Mac user (since Dashboard is already built-in), it’s useless for the vast majority of non-enthusiast Windows users.

    So enough Apple bashing. Dashboard is awesome. Dashcode is awesome. Nothing comes close on the Windows platform when you consider the issues I just covered.

    freediverx had this to say on Feb 21, 2007 Posts: 1
  • Great response, freediverx. It’s good to get strong feedback of a widget newbies impressions.

    Chris Howard had this to say on Feb 21, 2007 Posts: 1209
  • Page 1 of 1 pages
You need log in, or register, in order to comment