December 20, 2010

Tags blog

Adding SoftLayer to the Mac OS X Dashboard

<p>The SoftLayer API started on the web. It was originally created to support the back end of our web portals. However,

The SoftLayer API started on the web. It was originally created to support the back end of our web portals. However, the API is an asset whose value extends beyond the web. The API is built on commonly used technologies like XML, JSON, and HTTP. As a result, it is possible to access the API from environments that are very different than that of the typical web browser. The SoftLayer Mobile Client is an excellent example. The application space found in Apple's iOS or Google's Android, technologically speaking, do not share much in common with the computing environment of a web page in a browser. However, we are able to offer the SoftLayer Mobile Client for those operating systems because of the flexibility inherit in the SoftLayer API.

Getting back to our roots, however, it is impressive to see how far the technologies that drive the web have come since SoftLayer began it's web portals. Modern websites are much more dynamic, much more interactive, and much faster than those of a few years ago. The site designers and developers of today think in terms of "web applications" rather than "web sites". Along the way these developers have cultured an appreciation for the technologies and tools they use to build the web. For many JavaScript, HTML, CSS, and XML are well understood tools that fit well in their hands as they craft the rich experiences many of us enjoy.

Because of their familiarity, over the years the role of these technologies have grown. They have have broken away from the browser and are even found outside of the desktop computing environment. For example, the Macintosh Dashboard Widget environment, and the Windows Desktop Gadgets are both application environments where web technologies thrive outside of the web browser. The Adobe AIR initiative takes a similar tack adding Flash content as another technology, traditionally focused at the web browser, reaching beyond that focus to create something new. The WebOS system, employed by Palm in their Palm Pre cell phones, uses these same "web" technologies as the basis for all the applications running on that system. These are just a few examples in an ever-expanding set.

With the strong legacy the SoftLayer API has in the web, these new application environments are a natural fit for utilities that make server management even easier. At SLDN we've had several requests for to provide sample applications in these environments. To satisfy that demand we've created a few examples to not only offer technical detail, but to provide inspiration.

The first example we'd like to share is the SoftLayer Open Tickets widget. This widget runs in the Mac OS X Dashboard environment. The widget presents an account's open support tickets in an easy to browse list, inspired by the iOS Mobile Client. The list is organized to focus attention on the tickets awaiting your attention, and a simple click on the widget will take you to the ticket in the portal where you can respond quickly. The widget is small, elegant, and most of all very useful. The entire widget provides its functionality with just a couple of API calls. The rest is HTML, CSS, and JavaScript.
Widget screenshot
You can find the source code for this widget at the SoftLayer github site. If you prefer to just grab the widget and not bother with the source code you can download it directly from us.

The widget was developed using Apple's Dashcode IDE, though that tool is not required to develop widgets. Instructions for installing Dashcode and developing Dashboard widgets can be found at the Apple Developer web site.

The tools and technologies that have traditionally been the driving force of the web, can be found in a number of new, and exciting environments. Using the SoftLayer API from utilities crafted by those tools, in the new application spaces, yields focused tools that can keep your SoftLayer server environment at your fingertips. We encourage you to give it a try!


If this article contains any error, or leaves any of your questions unanswered, please help us out by opening up a github issue.
Open an issue