Posted in April, 2007

Dojo 0.9 Update April 28th, 2007 at 3:41 pm by Alex Russell

As Chief R&D Monkey here at SitePen, my work primarily revolves around ensuring that Dojo rocks for our customers and that we take what we learn from building apps and ensure that the toolkit evolves to encompass those lessons. Early this year it became clear that for folks building Dojo apps, the question of “what is Dojo?” was becoming increasingly hard to answer. Each individual user might be working with a different subset and therefore they don’t share a common definition, which makes sharing what you know about the system harder than it needs to be.

In response, we’re in the middle of a huge undertaking: rethink the entire API surface area of Dojo from the ground up and split it up into 3 different top-level projects. With R&D dollars and time coming from all corners of the Dojo universe, 0.9 is shaping up to be smaller, faster, more coherent, and easier to understand. I’ll be doing a regular “where are we now?” set of posts here on the SitePen blog for folks who don’t have time to follow all our mailing lists and forums or watch the commit flow.

So, where are we now?

(more…)

Google AdWords and PHP 5’s Native Soap April 26th, 2007 at 5:48 pm by Dustin Machi

While I’m sure there are plenty of others who have had success ridding themselves of apility, very few places describe how this can be accomplished. I initially found an old post which described the basics of connecting directly to Google AdWords with the native Soap support in PHP. What I needed to create was a very lightweight library for communicating with the various ad networks. I didn’t want to define full class structures for each of the many, many types that the various ad networks have. So I set off to create a simple set of libraries for communicating with each network using PHP 5’s native Soap capabilities.

MSN, no problem…done.

Yahoo, no problem…done.

Google, no proble..err wait almost no problem.

Google went along smoothly as with the other networks until I hit a roadblock. In a few circumstances, Google uses inheritance with their complexTypes. For example, a TextAd is an extension of an Ad. In my simple code, I was creating an associative array with the appropriate structure for a TextAd and sending it off to __soapCall() as the parameter. In this particular case, I noticed (by receiving exceptions from Google) that only the properties that were part of the Ad were being encoded in the Soap envelope. The properties that were specific to TextAd were getting dropped.

After a couple hours of searching and experimentation, I found little that seemed to point me in the correct direction. I had tried to use the SoapVar, but there was very little documentation and fewer examples. However, I finally stumbled upon the relatively simple answer and here I am to document it so that the next poor soul traveling down this path will get there faster than I did.

(more…)

Mobile Movement April 26th, 2007 at 6:33 am by Alex Russell

At last month’s Open Ajax Alliance meeting in New York, a good chunk of time was dedicated to revisiting what, if anything, OAA should do about “Mobile Ajax”.

I’m something of a pessimist about what most people mean when they say “Mobile Ajax”, but the OAA meeting included several bits and pieces that gave me a lot of reasons to be less grumpy. Firstly, the device manufacturers are starting to get it. One of the attendees made the prescient point that the content devs, the phone vendors, and users alike are all trying to route around the OpCo’s. This suddenly put a lot of things in perspective for me: is wifi a stupid thing to put in a phone? You bet. But it beats the OpCo network. The list of cat-and-mouse features like this goes on and on. At some point something’s gotta give.

At the meeting someone was passing around a very slick Nokia device that has done more to convince me that that the web on phones isn’t dumb than anything else I’ve seen in the last year. Clearly, the UI issues are horrendous, but good screen + beefy CPU + wifi + thumboard makes a lot things bearable. Better yet, there was word that many of the issues I’ve raised about what’s useful input and output in a mobile web context (hint: text is no longer king) is starting to be addressed by the phone vendors. Better yet, there’s rewnewed work at the W3C to address some of the most pressing issues. In fact, it seems that the mobile browser vendors might be attacking the problem of rich content types better/faster than their desktop counterparts. An 18-24 month handset turnover rate will help make up for a lot of lost time.

But I mentioned Ajax and not just the web.

Ajax/DHTML lives in the nexus between a lot of the various web standards which means that it’s subject to the vagaries of all of them. No matter what the specs say, the lowest common denominator of what the clients ship is what the “standard” really is. The mobile browser market has been hugely fragmented for a very long time, but that looks to be changing. I think it’s pretty safe to say that in the next 3 years we’ll be down to three major rendering engine “flavors” in smartphones and that KHTML/Webkit derived browsers will probably carry the day for folks not on MS or Blackberry devices. Frankly, I didn’t expect it to happen this quickly, but I’m gald of it. Clearly, there are major issues still to overcome, but relative standardization on browsers brings the mobile web into alignment with a world that desktop web devs can approach. The sooner good browsers trickle down, the sooner we can start the painful process of forgetting what we think we know about doing webapps and building better idioms for mobile apps.

Mobile Web Apps: Apple iPhone to Wurfl April 24th, 2007 at 2:24 am by Jason Cline

Apple’s iPhone has sparked a great deal of interest and excitement in mobile web application development. The iPhone significantly raises the bar for the capabilities of mobile devices. Its large screen and advanced browser will allow for the development of applications never before seen on mobile devices. That said the iPhone will be one device in a vast ocean of mobile users. Developers of mobile web applications will need to provide a version of their app that supports in some way those other devices.

One of the largest problems facing prospective mobile developers is adapting content to the numerous sizes and styles of mobile devices. Screen size, network speed, image format and markup language support are just a few of the variables to consider. Even the iPhone when on the carrier network, is limited to the dial-up speed GPRS network. To compound the problem mobile carriers and handset manufactures are releasing new phones daily in an attempt to one-up their competitors. If you are planning on creating a mobile version of your web app there are open-source tools available that will make your job a little easier.

(more…)

Dojo Offline, Behind the Scenes April 23rd, 2007 at 2:26 am by Dylan Schiemann

At the beginning of 2007, we announced a collaboration with Brad Neuberg to develop the Dojo Offline Toolkit, and today we are pleased to announce the beta release!

Several people have asked how and why we decided to do this, and how this relationship came about. From the SitePen perspective, our clients have an obvious need for offline web applications. We’ve known Brad for a while through Dojo and his contributions to dojo.storage and dojo.flash, and highly respect his high quality work and his approach to tackling challenging problems. After Brad finished the HyperScope project, we started talking in greater detail with him in November about how to improve dojo.storage for offline usage. We quickly came to the conclusion that we had similar goals and interests, as well as a similar commitment to open source software, and agreed to collaborate on the development of Dojo Offline.

(more…)

Dojo Offline Beta Released: Toolkit for Offline Web Apps April 23rd, 2007 at 2:25 am by Brad Neuberg

We’ve pushed out the beta of Dojo Offline! See the official Dojo weblog for details.

Ajax “Dark Matter” April 19th, 2007 at 11:48 am by Dylan Schiemann

Until the release of GMail, much of the innovation in the world of Ajax (at that time known as DHTML and JavaScript) was occurring behind the scenes in corporate intranet applications. At one point, Alex Russell and I concluded that the “DHTML Dark Matter” was at least 10 times the size of the public-facing applications such as Oddpost that were available more than three years ago.

While there is now widespread adoption of Ajax across virtually every class of application on the internet, there are still a number of interesting inventions and advancements occurring inside the firewall, part of the ever-growing “Ajax Dark Matter.”

(more…)

Thoughts on XML, Ajax, and UI Development April 9th, 2007 at 4:44 pm by Dylan Schiemann

InfoQ had an interesting article recently asking Is XML the Future of UI Development?.

I believe that the author of the article is significantly underestimating the resourcefulness of JavaScript developers:

The first up is AJAX, the poster child of the Web 2.0 craze. Being essentially a new technique to leverage existing HTML and JavaScript technologies, there is little reason not to use HTML. While not currently suitable for desktop application development, it did set the stage for what was to come.

Historically, web developers have a knack for doing the impossible and making their imperfect platform bend to suit their needs.

Another point is made about Gran Paradiso, aka Firefox 3, with the assumption that relying on a single browser will make it fail as a platform. If anything, I think that this development will encourage further innovation among other browser vendors, as well as the creation of things like the Dojo Offline Toolkit to improve browsers until they add support for high-demand features.

(more…)

On writing training programs April 9th, 2007 at 9:21 am by Tom Trenka

In the past two or so months that I’ve been an employee of SitePen, my main task has been to design and write the materials for the majority of our new training course offering’s including slides, activity handouts, working code equivalents, slide design (which in the end Torrey did, a brilliant job too), and other branding aspects. On top of that, I’ve had to design these materials in such a way as to allow any of the SitePen instructors to create a specific course in a minimum amount of time with the ability to cherry-pick among various topics all to give our clientele the best learning experience possible.

The result has been to take a modularized approach to training materials. Like with the Dojo Toolkit (the main focus of our training offerings), I created a set of resources by topic that any of our instructors can then use to assemble a full presentation. You simply open the Keynote presentation on that particular topic, and drag all of the slides to the show that you’re working on. Very simple and neat!
(more…)

Dojo Offline Toolkit Status Report for Week Ending April 7th, 2007 April 9th, 2007 at 12:15 am by Brad Neuberg

This is it folks! This is the last week of dev for Dojo Offline until we pop the Dojo Offline beta out the door, either later this week or on Monday, April 16th.

Last Week

Last week we finished the Windows installer for Dojo Offline. It comes out to about only 300K! No multi-megabyte download runtimes here. We also continued to fix QA bugs with an eye to the beta launch. The Mac OS X installer was also worked on.

This Week

This is the big week! We will finish the Mac OS X installer, fix important QA bugs that remain and get things into a shippable state, write up good docs, and get a Dojo Offline beta out the door.

The following week, on Tuesday, April 17th, SitePen and Brad Neuberg will be giving the first public presentation on Dojo Offline and creating offline enabled web apps on the open web. The session is at 4:50 PM at the Web 2.0 Expo.