Monthly Archives:

June 2007

Posted on June 19, 2007 by Chris LoSacco

Introducing : AppCache

The application scope is a sweet spot when writing for the web, where caching can make or break (really break) an app. It's also a huge convenience when working with variables that are largely static during the life of the application. Some languages, like Coldfusion, provide this functionality out of the box--but PHP is lacking this feature.

Enter Chris Dary, programmer extraordinaire here at Arc90, with AppCache, a really nice PHP5 implementation of the application scope that leverages memcached for caching. You can get it, and check out some examples, over in the Arc90 lab.

| Comments (6) | TrackBacks (1) | Technorati Tags :

Posted on June 18, 2007 by Kamni Khan

Mind the Gap

On Tuesday, will you run down to your local record shop to pick up the latest release by the White Stripes? It's more likely that you will click the "Buy Album" button from the iTunes interface without having to step outside the comforts of your air-conditioned home or office. Perhaps you will wait for a friend to burn you a copy. Or did you save your $9.99 and find a leaked version of Icky Thump weeks before the release date?

Continue reading "Mind the Gap" »

| Comments (4) | Technorati Tags :

Posted on June 14, 2007 by Richard Ziade

10 Things We Can Learn From Apple

There's no need to restate the high reverence (or pangs of envy, depending on where your loyalty lies) of Apple. They have innovated, floundered, and in recent years, risen from the ashes to make one hell of a run in computing and electronics devices. Love them or hate them, you can't deny that they are adored by their fans. Their brand has reached that highly sought-after place in the world of marketing: they can do no wrong.

So how did they get there? Is it dumb luck? Or are they just much smarter than the rest of us? The most common reason given is Apple's rabid devotion to design. That is, without a doubt, a key component of Apple's success. But I think there's more to it than that. Here are ten reasons why I think Apple is so successful today, and what we can learn from them:

Continue reading "10 Things We Can Learn From Apple" »

| Comments (0) | Technorati Tags :

Posted on June 13, 2007 by Avi Flax

RESTful Revert

One of our goals for this blog is to give a glimpse into how we work, and how we think. In that spirit, here's a recent discussion that took place in a Trac ticket. The task was to add, to a RESTful web service, a way to revert a resource to a previous version.

Continue reading "RESTful Revert" »

| Comments (0) | Technorati Tags :

Posted on June 11, 2007 by Tim Meaney

Let's Stay In Touch

I've been thinking a lot lately about web services, particularly API versions, and how to make sure your software (which in 2007 is likely comprised of many disparate services) stays current with those services. More specifically - how you as creator and maintainer of your software stay current with those services. I should start off by saying that the overall goal across versions of an API is to remain backwards compatible, but for one, that isn't always the case, and new non-destructive features are frequently added in new versions. However, both cases are plagued with the same communication issue, which is described in this post.

Some background:

For one of our clients, we've built a software platform comprised of many distinct and protected services. This was done for many reasons, not the least of which is keeping a team of 15 developers productively working without stomping on each others toes, or code, as it were. You know, the whole reason we moved toward services in the first place, as a natural evolution of functions, components and objects. This particular software platform is built upon at least a dozen distinct services (however this is a bit arbitrary as a few of these are full-blown REST API implementations, which themselves are comprised of dozens of resources, each with their own life-cycle and potential effects on the API.) Most of these are created and maintained internally, but a few are commercial services. So flash-forward to this morning, imagine you're a developer coming to work on this software platform, how can you be sure your code is safe today, when you have little to no idea when they may be releasing a new version?!

This communication challenge exists within your organization as well, possibly to a greater extent than externally. Your private services likely change far more often, with undoubtedly a lesser focus on API compatibility, than those services available commercially. The good news - a new version of a service you rely on is available after being released by a guy in the cube next to you; the bad news - he forgot to let you know.

In addition to potential breakage resulting from a change to a relied-upon service, the same holds true for additions to the API. The goal across API versions is to attempt to be backwards-compatible, knowing that there are many clients out there using the services. But many times, non-destructive new services, alternate representations or additional resources are introduced that you might be interested in taking advantage of - but how will you be made aware of these?

Currently, most commercial services are described in static HTML pages, and sometimes machine-readable WADL or WSDL - but should you as a developer need to bookmark that page and check it every day? How about every week? New versions of services are sometimes announced via blogs or mailing-list, but this is 2007, every developer has a feed reader, right?

Wouldn't it be great, or at least really useful, if every service, whether private or commercial, SOAP or REST, would expose an RSS feed for each resource or method? As a part of the standard development / release process, developers can either write, or auto-generate out, information to this feed about changes to the API for new versions as they occur. Standard practice would be to create this feed for every API change, and standard practice for integrating with a service would be to subscribe to its change feed.

Picture yourself as a developer in this new world, launching your feed reader when you come in to work:

  • Joel Spolsky has a new post announcing his new book on recruiting talent: awesome.
  • Nick Carr has a new post letting you know it's too hot to blog, and he'll see you in a few months: damn.
  • A new version of the Yahoo! Maps Traffic API now supports serialized PHP output: sweet, I can use that.
  • A new version of the Highrise API now supports GET of people tagged with a specific tag: cool, that's useful!
  • The guy in the cube next to you has a new version of a list of contacts service you consume, which he states is backwards compatible and isn't announcing anything particularly interesting to you.

This allows developers on both sides of a service to stay in touch, via the standard method of, well, staying in touch these days.

| Comments (0) | Technorati Tags :

Posted on June 11, 2007 by Joel Nagy

Windows Live Writer Beta 2

I'm writing this entry from Windows Live Writer and I have to say that I'm pretty impressed so far.  One of the things that I liked (not even related to blogging) while installing it was that instead putting the typical installation pop-ups in the center of the screen it put them in the lower right corner.  This kept them out of my way by putting them in a spot that I would still notice them while allowing me to continue with other tasks.  Simple UI enhancements like this just make the install experience a little more pleasurable.

The UI is nice and clean and makes it very easy to add entries.  I had a bit of trouble at first posting to our internal blog here at Arc90. With my own personal blogs and a few test blogs I had no trouble.  It works with almost every popular blog API, however it does lack a few features I'd like to see such as image uploading to a Blogger account or other image uploading features other than FTP.

It does support plugins, so maybe someone will be able to write a plugin that recognizes the Blogger image API, or write a plugin that works with common sites such as PhotoBucket or ImageShack.  Other popular blog apps already support handling images elsewhere so I assume this feature will be enhanced come the official public release.  One other cool feature is the ability to insert a map (using Live Maps of course.)

I've used about a half-dozen other blog writing applications and have not found one that meets all my needs.  I recently tried Post2Blog when they released version 3 as freeware, but it immediately annoyed me with a poor layout; the title of the post you are writing is on the right hand side and seems very out of place.  I had used Performancing for a while and I liked it a lot.  Integration with the browser was a nice feature but not a need in my opinion.  The other's I've used don't even warrant a mention compared to Windows Live Writer.

| Comments (0) | Technorati Tags :

April 2007 | Main | July 2007