If you’ve ever wondered how to go about the whole social media thing, Lon Safko, author of the Social Media Bible suggests 10 commandments that go a long way to embracing the phenomenon:

Commandments 1. Thou Shalt Blog (like crazy)

Blogging, although possibly now considered old school is a first priority. Set up a blog, a personal blog, a business blog, says Safko, It’s easier than you think. There are a multitude of Blog providers and software for self-hosting. My clear favourite is WordPress, which provides a hosted solution much like Blogger.com or GoingOn.com, or in my case, the software to setup and manage your own blog.

Commandments 2. Thou Shalt Create Profiles (everywhere)

Create profiles on the websites that interest you; do it now before someone else takes them. Once they are gone, they are gone forever. That’s commonly called cyber squatting. So get out there. If you have a personal brand, set up all the profiles you can against that brand, alternatively just use your name. For example, You can see my Google and Facebook profiles, the later of which has allowed me my own distinct URL. You can see more of my profiles via the links in the footer of my website. For the technically-minded, you can use Open Social to make filling in your profiles as easy as a click of a button.

Commandments 3. Thou Shalt Upload Photos (lots of them)

Upload photographs. You’ve got them, afterall you probably own the latest and greatest digital SLR from Canon or Nikon. Don’t upload the one with you with a lampshade on your head, that’s somewhat counter-productive; but other photographs? Absolutely; show your creativity and interests. Customers want to see and participate. You want to give people a face to go with your company. Sites such as Flickr, known for hosting some stunning photographs, are regularly used as a private area through which not only photographs, but product designs can be discussed and developed with clients. Photobucket is another example, albeit more consumer orientated.

Commandments 4. Thou Shalt Upload Videos (all you can find)

Safko, like many others, sees videos becoming an important part of business interactions: You all have got videos. I don’t care whether it’s training videos or customer videos, grab your video camera and go interview some of your customers. What’s better than seeing your customer’s smiley face on your Web site? And it doesn’t cost anything. Fortunately, much like the plethora of photo sites, there are some really great video websites out there. My favourite is Vimeo, but you could also use the more familiar and popular YouTube.

Commandments 5. Thou Shalt Podcast (often)

In my opinion this is a tricky one, much like video. Safko suggest if you’re too cheap to get a camera, use the free audio software that’s in your computer. That’s what I did. I created 48 audio podcasts. If you take the podcasts I did for my book and played them back-to-back, they run 24 continuous hours of interviews. You can do that. It’s free. It just takes time. But like video, people don’t necessarily have the time, budget or talent to produce relatively decent Podcasts. If you’re going to create decent Podcast, however, put them on iTunes where they can easily be found. If you have a smart phone, you could also try the AudioBoo and Qik, they are simply awesome at recording and publishing Podcasts and Videocasts respectively.

Commandments 6. Thou Shalt Set Alerts (immediately)

Set alerts. People are talking about you. You probably need to know what they are saying and you want to participate. A simple approach would be to use Google Alerts or Technorati and the soon-to-be-released Twitterati. If you have a greater concern, companies like Brandwatch dedicate their lives to spidering the web and garnering what they call company sentiment based upon conversations.

Commandments 7. Thou Shalt Comment (on a multitude of blogs)

Commenting is like going to a cocktail party says Safko, You wouldn’t walk into a networking event, walk up to a group of people talking, and tell them your name and what you do in your business. That would be rude and unacceptable. Listen first. Read the blogs and add comments. You can be controversial, that’s okay. But participate. Get involved. Many blogs allow comments and there is also a 3rd-party services, such as Disqus, that help you keep track of all your comments.

Commandments 8. Thou Shalt Get Connected (with everyone)

Get LinkedIn. Put it in your email that you have a LinkedIn account, you have a Facebook account, and that you have a Twitter account. Make it a part of your heading on your letterhead, because that’s how you propagate. That’s how you sell it.

Commandments 9. Thou Shalt Explore Social Media (30 minutes per week)

Explore social media. Safko suggests give it thirty minutes a week, that’s all I’m asking. Friday morning grab your coffee, lock yourself in your office, and give it thirty minutes. Just Google something. I promise you within the first 30 days you will be excited. You’ll be as excited as I am. You will get excited because of the ROI. I would contend that 30 minutes per week isn’t enough. Spend 30 minutes per day, exploring and keeping up-to-date with what is happening out there in the big-bad-world.

There are tools that make this a lot easier; they’re called social media aggregation or lifestreaming. FriendFeed is one of the best social media aggregation and discussion tools available, with numerous widgets and 3rd-party applications. It currently supports more than 40 social media websites. SocialThing allows you to see everything that’s going on with your friends on all of your social networks and allows you to interact with multiple sites at one time. Importantly, SocialThing interacts with the 3rd-party APIs, so data is sent to the source service, unlike FriendFeed. Alternatively, Flock is a web browser with a built in social aggregator, which allows you to interact with sites such as Facebook and Twitter. It is not as wide reaching as its online rivals, but does boast a blog editor, drag-and-drop image uploading and an RSS aggregator.

Commandments 10. Thou Shalt Be Creative (go forth and create creatively)

Safko’s final commandment is all about creativity; And the most important commandment is creativity. That’s all. It’s just creativity and having fun. But you know what, that’s what your customers want. They want to see transparency. They want to see authenticity. They want to see you having fun. They want to be able to relate and communicate.

Adobe recently announced, in conjunction with Amazon, that they would bring LiveCycle to Amazon’s Elastic Compute Cloud (EC2). To quote Adobe:

Adobe is now offering developers subscribed to the Adobe Enterprise Developer Program access to their own virtual instance of LiveCycle ES through LiveCycle ES Developer Express. LiveCycle ES Developer Express provides a pre-configured, virtualized installation of LiveCycle ES Solution Components in a self-contained development environment. LiveCycle ES Developer Express is hosted on the Amazon Elastic Compute Cloud (Amazon EC2). AEDP members can test, build, store and develop their applications in a cloud-base environment where all LiveCycle ES applications are pre-configured and running. The Adobe Enterprise Developer Program will offer a minimum of 10 hours of runtime per month, with additional hours to be available separately.

What is cloud computing and why is it important?

The term cloud computing, as used by some commentators, refers to the use of scalable, real-time, Internet-based information technology services and resources. This somewhat nebulous concept incorporates software as a service (SaaS), utility computing, Web 2.0 and other recent technology trends. The common theme stresses reliance on the Internet for satisfying the computing needs of users, without them needing knowledge of, expertise with, or control over the technology infrastructure that supports them. An often-quoted example is Google Apps, which provides common business applications online that are accessed from a web browser, while the software and data are stored on Google servers.

The cloud element of cloud computing derives from a metaphor used for the Internet, from the way it is often depicted in computer network diagrams, and is an abstraction for the complex infrastructure it conceals.

How do Adobe and Amazon fit into the equation?

Adobe and Amazon have similar goals. They both want to gain more share of the enterprise market. Amazon needs to convince the enterprise that its version of the cloud is capable of supporting the demands of enterprise applications. On the other hand Adobe wants to convince the developers who already use AWS that LiveCycle is the platform of choice for the enterprise.

What is Adobe LiveCycle?

Adobe LiveCycleAdobe’s LiveCycle Enterprise Suite is a J2EE-based server software product used to build applications that automate a broad range of business processes for enterprises and government agencies.

LiveCycle combines technologies for data capture, information assurance, document output, content services, and process management to deliver solutions such as account opening, services and benefits enrollment, correspondence management, request for proposal processes, and other manual based workflows.

What are Amazon Webservices?

Amazon Webservices LogoSince early 2006, Amazon Web Services (AWS) has provided companies of all sizes with an infrastructure web services platform in the cloud. With AWS you can requisition compute power, storage, and other services–gaining access to a suite of elastic IT infrastructure services as your business demands them. With AWS you have the flexibility to choose whichever development platform or programming model makes the most sense for the problems you’re trying to solve. You pay only for what you use, with no up-front expenses or long-term commitments, making AWS a cost-effective way to deliver applications to customers and clients.

How do they fit together?

Essentially, Adobe has put a Red Hat JBoss J2EE stack on AWS and deployed LiveCycle on the stack. Adobe state that this platform is purely for prototyping, developing and testing applications, rather than production environments, but that is likely to change.

The future

Deploying LiveCycle on AWS has wider implications, not only for Adobe products. By setting up a J2EE stack on AWS it makes it possible to deploy any Java-based application; yes that does mean one developed in Adobe’s ColdFusion or indeed its chief rival, Railo.

Adobe AIR LogoAdobe Integrated Runtime is more than just hot air, it traverses the previously unexplored space that exists between the Web and desktop applications.

Up until very recently, the void between the Web and the desktop seemed like a schism that could not be crossed. But since AIR’s 1.0 release in February this year, a whole host of other applications are emerging to compete with AIR in the single site browser space.

Although AIR is very new, the product is remarkably mature with the integration of the excellent opensource WebKit browser engine for rendering HTML and JavaScript, the SQLite database engine for embedded database functionality and of course, Adobe’s Flash player for development of Flash-based Rich Internet Applications. Because of this flexibility, the learning curve faced by developers is almost non-existent, they simply have to get to grips with the AIR API.

What is all the fuss about?

Delving into the AIR API, your application will have the ability to detect whether it is currently the active window or connected to the network. You can access the file system, allowing you to read and write files, access other datasources, tap into the native menu options or interact with almost any aspect of the operating system in a way familiar to common desktop applications. This functionality is available regardless of the architecture on which it is installed. Therefore AIR applications will work similarly when installed on a Windows PC or Mac, and soon on Linux machines as well.

AIR is much, much more than a single-site browser — it’s a cross-platform runtime environment and the distinction is significant.

The ability to run applications built on AIR on almost any machine, on- and offline, sets it apart from any other offering currently out there or in development. For example, Google Gears is restricted to AJAX applications, whilst Mozilla Prism isn’t much more advanced than a cut-down version of Firefox, with no offline capabilities yet.

Who else has entered the race?

As mentioned, a significant entry is Mozilla’s Prism, however, Pyro for Linux and Bubbles and Fluid for Mac are clever little tools for packaging up an existing website and presenting it as a standalone desktop application.

Mozilla Prism

Mozilla Prism LogoPrism, previously known as WebRunner is a product in development which integrates web applications with the desktop, allowing web applications to be launched from the desktop and configured independently of the default web browser. It is commonly used with Google AJAX Applications, such as Gmail and Google Docs.

Prism is part of an experiment by Mozilla designed to “bridge the divide in the user experience between web applications and desktop applications”. Essentially, Prism will allow you to create a desktop-like application out of individual websites. These site-specific applications are a growing trend and a trend heavily marketed by, not only Adobe, but now Mozilla, as ‘the future’.

While traditionally users have interacted mostly with desktop applications, more and more of them are using Web applications. But the latter often fit awkwardly into the document-centric interface of Web browsers.

In its current form, Prism doesn’t have the ability to function as a desktop application without access to the Internet, but Mozilla says it is “working to increase the capabilities of those apps by adding functionality to the Web itself, such as providing support for offline data storage and access to 3D graphics hardware.”

More details can be found on the Mozilla Prism website.

Pyro Desktop

Pyro LogoPyro Desktop is a new type of desktop environment for Linux built on Mozilla Firefox. Its goal is to enable true integration between the Web and modern desktop computing. Pyro was announced during GUADEC 2007 and is developed by Alex Graveley and Chris Toshok.

More details can be found on the Pyro Desktop website.

3D3R Bubbles

Bubbles LogoBubbles is a desktop application that allows you to work with your web resources in the way you want to work with them.

The Bubbles application window, known simply as a Bubble carries the web resource almost like a web browser does. Since the Bubble has advanced browser capabilities there’s an advanced control device for it — the Bubble seed — an XML file called Smart Bubble. It defines the properties — the whats & the hows — of its Bubble window. The Smart Bubble contains the information about what Bubble will load, how it will look on the desktop and what capabilities it will have, etc. So it goes from the Smart Bubble into a grown Bubble that lives on your desktop, accessible from the system tray.

More details can be found on the 3D3R Bubbles website.

Fluid App

Fluid LogoFluid is a way to create Site-Specific Browsers SSBs to run each of your favorite WebApps as a separate desktop application. Fluid gives any WebApp a home on your Mac OS X desktop complete with Dock icon, standard menu bar, logical separation from your other web browsing activity, and many other goodies.

Fluid includes optional Tabbed Browsing, built-in Userscripting (aka Greasemonkey/GreaseKit), RSS/Atom Feed detection, a JavaScript API for setting dock badges, showing Growl notifications and adding Dock Menu Items, optional bookmarks, optional browsing to urls outside the SSB “home” domain, Dock badges and Dock menus for Gmail, Google Reader, Facebook, Flickr, and Yahoo! Mail, auto-software updates via the Sparkle Update framework, and custom SSB icons.

More details can be found on the Fluid App website.

Adobe AIR LogoSince the Adobe Integrated Runtime (AIR) was released at the end of February, we now have a stable platform on which to build desktop applications with our existing web skills. A number of people have already started and the Adobe AIR Marketplace is filling with AIR applications by the day.

So what is the big deal? The Adobe marketing team state that:

The Adobe AIR runtime lets developers use proven web technologies to build rich Internet applications that deploy to the desktop and run across operating systems. Adobe AIR offers an exciting new way to engage customers with innovative, branded desktop applications, without requiring changes to existing technology, people, or processes.

What AIR applications should you check out?

What is intriguing is that all the tools I have chosen are generally useful tools for the developer or designer, with the exception of twhirl, which is a social-interaction tool. I’m looking forward to when other, less developer-centric tools become freely available. AgileAgenda has taken the lead with this respect, albeit not freely available, as has eBay desktop, but I would like to see examples from the BBC in the form of a desktop BBC iPlayer or maybe a Flickr image browser, del.icio.us bookmark reader, RSS aggregator and a Picnik image editor.

Analytics Reporting Suite

Google Analytics Reporting SuiteThe Analytics Reporting Suite, by Nicolas Lierman, brings Google Analytics to the desktop. It uses it’s own custom API to interact with Google and nearly implements all the features of Analytics.

For website owners this is a must-have application. Like the twhirl AIR application below, it is a fantastic example of what can be achieved with Flex and AIR. Measuring visitor trends and traffic are essential tasks to managing and improving a websites performance. The Analytics Reporting Suite allows you to configure multiple Google’s Analytics accounts and access the web-based suite’s plethora of features via a desktop application. The application displays integrated graphs and animations via a tabbed interface, which allows you switch between a number of reports. These reports can then be saved as a PDF, Excel or XMLdocument, or printed.

You can download and install the application from the About Nico website.

twhirl twitter Client

Twhirl Logotwhirl, by Marco Kaiser, is probably the most popular desktop client for the twitter micro-blogging service. Most of the features available on the twitter website are accessible through twhirl, plus, a lot of usability enhancements have been added to make it easier to manage multiple accounts. This is great for those who want to separate business and personal accounts they may have.

The twhirl application is a great example of how AIR can bring web applications to the desktop; it can dock to the system tray, display message alerts and you can configure the applications opacity when not focused (great if you like Mac and Vista-styled themes). The application allows you to search twitter users, view their timelines, add friends, view followers, delete tweets and much much more. Twhirl automatically fetches your friends’ status updates, direct messages and replies, whilst also colour coding different types of messages and alerting you to messages both audibly and visually.

The twhirl application is skinnable and comes with several built in skins with which you can customise the application. All-in-all twhirl is not only one of the best twitter clients, but AIR applications.

You can download and install the application from the twhirl website.

Kuler Desktop

Adobe Kuler LogoAdobe kuler is the first web-hosted application from Adobe Labs designed both to stand alone and to complement Adobe Creative Suite software. Built using Adobe Flash and ActionScript 3.0, kuler is all about colour: colour for exploration, inspiration, experimentation and sharing. Kuler is clearly targeted at the designer, but anyone interested in colour will benefit from its use.

You can download and install the application from the Adobe Labs website.

WebKut

WebKut LogoWebKut is a web screenshot tool that allows you to capture web pages, or parts of them in a very simple way. It provides you with 3 capture options: the entire page, the current view, or only a selection. This little application proves particularly handy for those presentations or projects that need great visuals from the web.

You can download and install the application from the WebKut website.

RichFLV

RichFLV, by Benjamin Dobler, lets you edit FLV files. The key features include reading FLV metadata, read and edit cuepoints, cut FLV files, convert the sound from an FLV to MP3 format, convert an FLV to an SWF … and much more.

You can download and install the application from the Adobe AIR Marketplace website.

SearchCoders Dashboard

SearchCoders LogoThis Flex-based chat widget is designed with programmers in mind. The code input feature allows developers to chat about code without disrupting the conversation.

You can download and install the application from the SearchCoders website.

Pownce

Pownce LogoMuch like twhirl in look, feel and ease-of-use, but with a slant towards productivity rather than micro-blogging, Pownce is a way to keep in touch and share things with your friends or colleagues. You can send people files, links, events, and messages and then have real conversations with the recipients. This is a great collaboration tool and was one of the first services to really embrace AIR as an application architecture, which could realise their service as a desktop client. Everything that is available via the Pownce website is also available via the client application, except and possibly importantly, the ability for the user to amend their account settings and add friends to your network; this still has to be done via the website.

For a small annual amount, Pownce offers a paid-for service which will eliminate adverts from your profile and allow you to send huge file sizes (100MB) and customise the theme of your Pownce.

Pownce also offers Drupal integration and a mobile application, which works with the iPhone, BlackBerries and many more ‘internet-ready’ mobile devices.

You can download and install the application from the Pownce website.

Both Web 2.0 and Software-as-a-Service (SaaS) almost always depend up on the browser as a common denominator. It is with the web browser that web-based applications are accessed and run, yet the browser model is rapidly reaching its limitations.

Adobe thinks it has the answer and so now does Mozilla.

A year ago, most web developers had to think about Firefox, Internet Explorer, Safari, Opera and perhaps WAP for mobile devices and widget development for one of yet more platforms. Today the horizon is changing and web developers are afforded more opportunity and possibly with that more complexity, through offline development.

Browser extensions now exist that allow for the creation of offline web applications with Dojo Offline, Google Gears, Firefox 3, and other options on the market, pioneering the way and making it possible to take your web application with you on an aeroplane or an underground train.

The drive to make these offline applications desktop applications has also been thrown into the mix, with examples coming from Apple with WebKit Cocoa bindings, Adobe with AIR and Microsoft with Silverlight. Now it is the turn of Mozilla to enter the foray with a project called Prism.

Mozilla Prism

Prism is part of an experiment by Mozilla designed to “bridge the divide in the user experience between web applications and desktop applications“. Essentially, Prism will allow you to create a desktop-like application out of individual websites. These site-specific applications are a growing trend and a trend heavily marketed by, not only Adobe, but now Mozilla, as ‘the future’.

While traditionally users have interacted mostly with desktop applications, more and more of them are using Web applications. But the latter often fit awkwardly into the document-centric interface of Web browsers.

In its current form, Prism doesn’t have the ability to function as a desktop application without access to the Internet, but Mozilla says it is “working to increase the capabilities of those apps by adding functionality to the Web itself, such as providing support for offline data storage and access to 3D graphics hardware.

Instead of needing to run a browser to, for example, access Google Calendar, a simple icon can be clicked on the desktop. The icon will launch the Google Calendar application inside a Prism window, without any of the additional web browser bloat. This can have its benefits, especially when designing workflows and securing applications as the developer’s pain, the back button and address bar, are removed from the equation.

Prism-based Google Calendar

Although Mozilla may be excited about the concepts behind Prism, and Adobe about AIR not everyone shares the same enthusiasm, or has the working habits that require such an application-based approach. For some, the advantage of web applications is that they inherently aren’t desktop applications and everything can be handled in a single application almost anywhere on the planet, assuming a computer with a browser and web connection. However, Prism, AIR and Silverlight could end up offering the best of both worlds.

An interesting article I read in the CFDJ recently was entitled Poor Man’s HTTP Compression with ColdFusion. Almost every web application will benefit from the compression of content. A compression filter optimises the size of the content that is sent from a webserver to a web browser via the Internet. Since generating content and serving pages via the World Wide Web is the core behind web applications, it is simple components that aid these processes that are incredibly useful. This is where servlet filters come into play.

Servlet filters are tools available to web application developers. They are designed to be able to manipulate the request and responses that are sent to a web application, without manipulating the servlets, static pages like HTML and, in this case, CFM pages that are being used by the web application (unless of course that is the desired response). Servlet filters act like a chain of steps that a request and response must go through before reaching the page in the application.

Compressing Content Using a Servlet Filter

Compression is a process that reduces the number of bytes required to define a document in order to save disk space or transmission time. It is extremely useful for sending information across the web, because the speed at which people receive information from a web application is dependent upon how much data you are trying to send. The smaller the amount of information that is to be sent, the faster it can be sent. Therefore, compression and the associated responsiveness is a key component to retaining users and generating revenue from those retained users.

Compression can be effectively achieved by having a servlet filter conditionally pipe the produced content to a GZip-compressed file. GZip is supported by the HTTP protocol and almost all modern browsers (hence the servlet filter conditionally compresses the content).

GZip compression usually results in a 6:1 compression ratio, although this depends on how much content is being sent and what the content is.

Setting up the Servlet Filter in ColdFusion

Using the ColdBeans servlet filter found at the following URL:

http://www.servletsuite.com/servlets/gzipflt.htm

  • Download the GZipFilter.jar
  • Save GZipFilter.jar in the WEB-INF/lib folder in the ColdFusion Server wwwroot.
  • Edit the web.xml file in the WEB-INF folder in the ColdFusion Server wwwroot with the following code:
    <filter>
    <filter-name>GzipFilter</filter-name>
    <filter-class>com.cj.gzipflt.GzipFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>GzipFilter</filter-name>
    <url-pattern>*.cfm</url-pattern>
    </filter-mapping>
  • Restart the ColdFusion Service

Now, when you invoke any .cfm page the GzipFilter will check out client’s browser settings. If the browser does not support gzip, the filter invokes resource normally. If the browser does support gzip, output will be compressed.