New ChessJam blog created for game-specific posts

•October 24, 2009 • Leave a Comment

I’ve created a separate blog for ChessJam-specific news.  I will continue to blog about ChessJam here on Greg’s Ramblings but only when it’s relevant to the Adobe developer community.  For example, I’m working on a new post that goes into some details on how the app was built with Flex, AIR, ColdFusion and LiveCycle Data Services that will be posted here but posts about ChessJam’s new features, etc. will now go on the ChessJam blog at http://chessjam.blogspot.com.

Not all chess players want to hear about Flex and ColdFusion and not all developers want to hear about an online chess game, so this seems to make sense. :-)

You can also follow ChessJam on twitter – http://twitter.com/chessjam

ChessJam and Robots – A.I. saves the day

•October 19, 2009 • 3 Comments

A few days ago, I blogged about the roll-out of ChessJam, an online chess app built on Flex/AIR, ColdFusion and LiveCycle Data Services.  The roll-out has gone well but we have quickly learned that our real challenge is creating a new chess playing community!   From analyzing our logs, here is the typical experience over the past few days:

  • User installs the app, creates a profile
  • User clicks around looking for someone to play with but finds nobody so they don’t even get the gaming experience
  • User leaves the app after spending an average of 90 seconds :(
  • Five minutes later, another user logs in and repeats the cycle!

We discussed a few options:

  1. Hiring middle-school kids to staff the room for $1/hr
  2. Me take a sabbatical now and play chess 24/7
  3. Employ some robots!

We went with option #3.   If you were one of the users that went through the 90 second experience described above, come back and play a bot.  Hopefully you’ll also see a few humans hanging out to play.

If your trial has run out, email us at chessjam -at- gmail -dot- com and we’ll get you going again.

To learn more about ChessJam, read my previous post.

Adobe AIR Auto-Update – How to force some updates and make others optional

•October 16, 2009 • 9 Comments

If you are looking for information on how to add auto-update capabilities to your Adobe AIR app, start with my earlier blog post, “Adding auto update features to your AIR application in 3 easy steps“.

Most updates to software applications are optional for the user.  The typical flow is that the user is notified that an update is available and then given the choice to update now or later.  However, there are situations that warrant forcing the update.  For example, if you have made changes to server-side APIs that make existing client-side apps unusable, you obviously need all client apps to update themselves.  I recently ran into this situation with my online chess application.  I started reading through the AIR documentation to determine how to make some updates mandatory and others optional.  AIR provides an extensive set of APIs to control each step of the update process from comparing versions to downloading the update to managing the install but this was too much work for a lazy developer like me. :)

I typically use the ApplicationUpdaterUI version of the update framework because it’s easy to implement and the built-in dialogs that walk the user through the update are perfect.  To force an update with the ApplicationUpdatedUI, you simply disable two dialogs using the following code:

  • appUpdater.isDownloadUpdateVisible = false; // Disables (skips) this dialog:
  • appUpdater.isInstallUpdateVisible = false; // Disables (skips) this dialog:

With both of these dialogs disabled, the update immediately downloads and installs.   A dialog showing download and install progress is still displayed but you can turn these off too (I wouldn’t recommend turning this off).

My approach

I wrote some code that loads my server-side update.xml file (prior to initializing the application updater) and looks for a new tag I created called “FORCE”.  Once the file is loaded, I initialize the updater and toggle the dialog accordingly.   Now I can control whether an update is forced by simply updating my update.xml.

The sample code below builds on my original blog post.

Server-side xml file with <force>yes</force> added (update2.xml):

<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
<version>v2</version>
<force>yes</force>
<url>http://tourdeflex.adobe.com/blogfiles/AIRAutoUpdateSample/server/AIRAutoUpdateSample-v2.air</url>
<description><![CDATA[
v2
  * These notes are displayed to the user in the update dialog
  * Typically, this is used to summarize what's new in the release
]]>
</description>
</update>

The modified source with code added to look for the FORCE tag.

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="200" height="70" creationComplete="preCheckForUpdate()">
	<mx:Script>
	<![CDATA[
		import flash.events.ErrorEvent;
		import air.update.ApplicationUpdaterUI;
		import air.update.events.UpdateEvent;
		import mx.controls.Alert;

		private var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();

		private var updateXMLURL:String = "http://tourdeflex.adobe.com/blogfiles/AIRAutoUpdateSample/server/update2.xml";

		// Pre-read the server-side XML file to look for <force>yes</force>
		private function preCheckForUpdate():void{
			var loader:URLLoader = new URLLoader();
			loader.addEventListener(Event.COMPLETE, checkForUpdate);
			loader.load(new URLRequest(updateXMLURL));
		}

		private function checkForUpdate(event:Event):void {
			setApplicationVersion(); // Find the current version so we can show it below

		    var myXML:XML = new XML(event.target.data);
			namespace items = "http://ns.adobe.com/air/framework/update/description/1.0";
		    use namespace items;
		    var forceUpdate:String = myXML.force;

			appUpdater.updateURL = updateXMLURL; // Server-side XML file describing update
			appUpdater.isCheckForUpdateVisible = false; // We won't ask permission to check for an update

			// If <force>yes</force> was found above, turn off the download and install dialogs
			if(forceUpdate.toLowerCase() == "yes") {
				appUpdater.isDownloadUpdateVisible = false;
				appUpdater.isInstallUpdateVisible = false;
			}
			appUpdater.addEventListener(UpdateEvent.INITIALIZED, onUpdate); // Once initialized, run onUpdate
			appUpdater.addEventListener(ErrorEvent.ERROR, onError); // If something goes wrong, run onError
			appUpdater.initialize(); // Initialize the update framework
		}

		private function onError(event:ErrorEvent):void {
			Alert.show(event.toString());
		}

		private function onUpdate(event:UpdateEvent):void {
			appUpdater.checkNow(); // Go check for an update now
		}

		// Find the current version for our Label below
		private function setApplicationVersion():void {
			var appXML:XML = NativeApplication.nativeApplication.applicationDescriptor;
			var ns:Namespace = appXML.namespace();
			ver.text = "Current version is " + appXML.ns::version;
		}
	]]>
	</mx:Script>

	<mx:VBox backgroundColor="blue" x="0" y="0" width="100%" height="100%">
		<mx:Label color="white" id="ver" />
	</mx:VBox>

</mx:WindowedApplication>
</code>

Keep in mind that forcing an update is borderline intrusive and should be done judiciously.

If you know of a better way to do this, please comment.

My pet project – ChessJam – live online chess with a fun attitude

•October 15, 2009 • 12 Comments

For the past eight months, I’ve been working with two friends, Todd Williams and Sean Carey, on a little side project called ChessJam.  This project started in February, 2009 when Sean and I decided to play a game of online chess with each other to finally resolve who was the better player.  We explored several online chess sites and to our surprise, we found all of them disappointing.  This led to a discussion about what we could potentially build ourselves.  We knew that UI design would be key, so we rounded out our team with Todd, artist, UI designer and ninja Flex developer.  All three of us have demanding day jobs so the journey has been a bit slow, but we are finally ready to show the world what we’ve built.

ChessJam is a desktop application that you can use to play live chess with other people via the Internet.  You will quickly notice that ChessJam is a bit different than the other online chess sites.  Our goal from day one was to create a user interface that is both functional and fun.

Features

  • Rich graphics and sound
  • Simple interface – pick a tower, pick a room, sit at a table and play on a 3D or 2D board
  • Multiple game parameters available (60 minutes, 30 minutes, 10 minutes and speed chess.  More coming soon)
  • Full disconnect/reconnect capabilities
  • Tracking of wins, losses and draws
  • Player to player chat
  • Watch any game in progress
  • Much more coming soon!

The Technology

The front end of ChessJam was built with Flex and deployed as an AIR application so it will run on Windows, Mac OS X and Linux.  The back end is ColdFusion and LiveCycle Data Services.  I am already working on a new blog post titled, The making of ChessJam where I will share why we chose this particular combination of technologies and the challenges we faced.  You might be surprised so stay tuned!

How We Monetize ChessJam

We knew from the start that we would need to charge something for ChessJam to offset the operating cost, but that’s only half the reason.  If you have tried any of the free online chess sites, you know that they are filled with many people that really aren’t there to play chess.  From my personal experience, I was only able to play a decent game about one out of four attempts!  Many users leave in-progress games without warning (especially when they start losing!).  Other users tried to get me to click a link to see their webcam and other garbage.  It was not the fun atmosphere that I had hoped for!  By charging a small fee, we hope to eliminate a lot of this noise.

The ChessJam application is free for 14 days.  After the 14 day trial, there is a one-time $15 charge for the application.  There are no recurring fees.  Basically, you pay $15 and you can play chess using ChessJam forever.

UPDATE 10/24/2009:  ChessJam is now free – see http://chessjam.blogspot.com/2009/10/big-changes-at-chessjam-app-now-free.html for details!

October Promotion

We realize that it’s very important to grow a good community of users, so to encourage people to use ChessJam during these early days, we are going to give away a free copy of ChessJam to the 20 people that play the most games between now and October 31, 2009.

Dates and times are subject to change based on my work/travel schedule.  In other words, be flexible and work with me.

If you are interested in challenging me to a game of chess, email chessjam@gmail.com with one or two preferred dates.  I’ll update this blog post as the timeslots are assigned.

If you beat me, you get a free copy of the app.  If I beat you, you have to pay triple for it and blog about how great it is! (just kidding :-) )

Links

Video demo (view in HD on Youtube for best viewing)

My next blog post on ChessJam will provide a tour of the stack, and I think you will find that this is an excellent use case for Flex, AIR, ColdFusion and LCDS.

Updated: Adding auto update features to your AIR application in 3 easy steps

•October 14, 2009 • 1 Comment

In August, 2008, I blogged “Adding auto update features to your AIR application in 3 easy steps“.  It gets many views every day so I spent a little time today updating it to be AIR 1.5 compatible and to include a few common mistakes that developers make when implementing auto-update.

I’ll do a new blog post in a couple of days on how to dynamically control whether an update is forced or optional.

Adobe Flex Certification – Attest Pro

•October 12, 2009 • Leave a Comment

At speaking events, I am often asked about Flex Certification.  As the demand for Flex developers increases, many employers are looking to certification programs as a means of pre-qualifying applicants.   I’m not a big fan of using a single test to pass or fail potential employees because some of us are just not good test takers  but, in many situations certification is a good indicator that can be considered along with experience, sample projects, etc., so I absolutely see the value.

Adobe has a page that explains the program at http://www.adobe.com/devnet/flex/articles/flex_certification.html

Basically, you take a test with 50 questions.  If you answer 34 or more correct, you’re certified.  Sounds easy, right?  Well, the questions are tough!

Here’s the breakdown of topics from the Exam Guide:

This is where Attest comes in.  Attest is a desktop application (build on Adobe AIR of course!) that provides mock/practice exams for the Flex certification test.  You can simulate the test to gauge how you’ll do, and if things don’t go well, you can put it in “learning mode” and access tons of resources to help sharpen your skills.

Attest Pro is available in the Adobe AIR Marketplace for $20.  There is a 3-day free trial available.

Holly Schinsky (twitter), co-creator of Attest, recently blogged about Attest Pro here.

David Flatley (twitter), the other co-creator of Attest, also blogged about Attest Pro here.

You can grab the Attest Pro trial from here.

What’s all this LiveCycle noise at Adobe MAX about?

•October 2, 2009 • Leave a Comment

You may have noticed that this year’s Adobe MAX has a lot of noise about LiveCycle ES and you may be wondering what it’s all about.  If you would like to see a good overview of LiveCycle along with some great demos, I recommend you grab one of the remaining seats in Marcel Boucher’s session titled, “What’s Next in LiveCycle ES?“.    The session focuses on the new LiveCycle features but it’s actually a great introduction to the platform if you’ve never checked it out.

Sign up here.

Avoka SmartForm Composer for Adobe LiveCycle ES

•October 2, 2009 • Leave a Comment

LiveCycle ES is taking a larger role this year at Adobe MAX than in previous years.  There are sessions, labs, pre-conference labs (sold out!) and tons of information about LiveCycle.

In addition to all of Adobe’s activity, I wanted to make you aware of something new from one of our partners, Avoka Technologies called SmartForm Composer that will be on display at MAX at booth #434.  I’ve seen a few demos of this new product and found it to be quite impressive!   SmartForm Composer is a web-based Flex application that makes it easy to build PDF forms. With Composer, you simply select one of our pre-defined templates, and quickly build an interactive Adobe XFA compliant PDF SmartForm that looks great and work with LiveCycle ES.

Avoka has put together a great video demo..  check it out!

MAX Lab: Making Real-Time Data Come Alive with Flex Data Visualization

•September 10, 2009 • 5 Comments

If you are attending Adobe MAX, I’d like to invite you to come to what I think will be a fun BYOL (bring your own laptop) lab that I am co-presenting with Holly Schinsky.

I’ve always been fascinated with data visualization, especially data that needs analysis as it is generated.  For example, financial transaction data can contain immediately useful trending information that is invisible without some visualization.  Credit card transaction data can contain data indicating fraudulent use.  I once worked on a project where we analyzed cellular call data in real-time looking for indications that a phone had been cloned (old-school cellular phones could easily be “cloned” before things went digital).

I thought that this type of data visualization would make for an interesting lab at MAX and invited Holly (Flex and Data Services guru) to help me put it together.  Holly and I have been working hard to make sure that this is both an informative and fun 90 minute session.

Here’s the description from the MAX site: Discover how the real-time messaging capabilities of BlazeDS and LiveCycle Data Services ES can be combined with the data visualization capabilities of Flex to result in some very interesting applications. In this lab, you will learn how to produce and consume a real-time data feed and how to pass that data to various data visualization components to create an interactive dashboard.

We’ll explore the basics of publish/subscribe messaging with BlazeDS and LiveCycle Data Services as it applies to real-time data feeds and learn how to take that feed and turn it into something very visual and compelling.   We will first employ some of the Flex charting capabilities and then look at how to plot data on interactive maps.

The session times are Monday, Oct 5th at 2:30pm and Wednesday, Oct 7th at 1:30pm.   Both sessions are filling quickly.  The Oct 7th session is already 70% full – maybe I need to show you with a bar chart?  ;)

Click here and sign up!

See ya at MAX!

New Flex 4 Samples added to Tour de Flex

•September 4, 2009 • Leave a Comment

We just rolled out the first 22 samples in Tour de Flex for Flex 4.  Holly Schinsky wrote a blog post describing this initial wave of samples.  We plan to roll out more every few days over the next several weeks.   Once Flex 4 ships, we will merge the samples into the main Tour de Flex tree.

The samples are best viewed using the desktop version of Tour de Flex.

Are you interested in contributing Flex 4 samples?  If so, contact me! :)

Flash/Flex Camp Atlanta is tomorrow – only a handful of tickets left

•August 27, 2009 • 1 Comment

If you live near Atlanta and have any interest in Adobe Flash, Flex, AIR, etc., you should go to http://flashcampatlanta.eventbrite.com and grab one of the remaining tickets for tomorrow’s event.  I just confirmed that they have less than 10 tickets left!

Check out the sessions at http://events.universalmind.com/page.cfm/flash-camp-atlanta-2009/speakers-and-sessions

I’ll be doing the keynote and showing some new stuff, including our upcoming Composite RIA Framework.  If you are involved in building enterprise Flex applications, I think you’ll find this very interesting.

See ya there!

Join me in San Jose Aug 19th and explore Adobe LiveCycle and the Flash Platform

•August 17, 2009 • 2 Comments

If you are near San Jose, CA and are curious about the Adobe Flash Platform and/or Adobe LiveCycle, please join me Wednesday, August 19th at Adobe Corporate Headquarters for a 5 hour demo-filled, action-packed free event. It’s a great opportunity to get introduced to what Adobe has going on in both client-side and server-side technologies. Topics include:

  • Flash Player, including cool new features of Flash Player 10
  • Developing applications for the Flash Platform using Adobe Flex
  • Exploring the types of applications possible with Flex, including data visualization examples, real-time data push apps and more
  • Deploying applications on the web and on the desktop with Adobe AIR
  • Wiring Flex to various back-end applications using LiveCycle Data Services and BlazeDS
  • Adobe’s ultimate server-side SOA platform, LiveCycle ES – process management, data collection, rights management, PDF generation and much more
  • Discussing how all of these technologies fit together in “real world” applications
  • Sneak peeks at several upcoming products

The event is free but requires registration. Click here to register now.

Ok, here’s what marketing told me to say: Learn how top companies are improving their business bottom line by lowering operational costs, increasing productivity and driving revenue growth using the Adobe Flash® Platform and Adobe LiveCycle®. Join us in San Jose  for this complimentary event. :)

My CFUnited Session – How ColdFusion 9 and LiveCycle ES can work together

•August 4, 2009 • Leave a Comment

I’m presenting at CFUnited (August 12th-15th) on a topic I think many will find interesting – “ColdFusion 9 & LiveCycle ES: SOA Development“.  I’m hoping to spark some interest in how ColdFusion and LiveCycle ES (LCES) can be combined to do some really unique and amazing things. I had the idea for this session the day I learned about the new “ColdFusion as a Service (CFaaS)” feature in ColdFusion 9, which exposes capabilities of cfchart, cfdocument, cfimage, cfmail, cfpop, and cfpdf as web services and Flash remoting endpoints.

+

LiveCycle ES not only provides 100+ out-of-the-box services, it also provides the ability to combine or orchestrate these services using LiveCycle process management (workflow) capabilities.  These newly created processes become new services.  The LCES invocation layer exposes all of these services to the outside world through various endpoints including SOAP, Flash Remoting, EJB, watched folders, email, and in the upcoming new version of LCES, REST!

So, you have ColdFusion services and LiveCycle ES services; each set of services offers its own unique capabilities, and all of them are callable using common means.  What can you do when you combine them?

When does LiveCycle ES need ColdFusion?

LiveCycle ES offers a ton of out-of-the box features, but it doesn’t include many capabilities that ColdFusion provides such as Microsoft Exchange integration, image manipulation, dynamic chart creation, and numerous other CF-abilities. If what you need is not provided by the  new CfaaS in CF9, you can easily create your own services by writing custom ColdFusion components (CFCs), and as you would expect, these CFCs can also be exposed as web services or Flash Remoting endpoints.

When does ColdFusion need LiveCycle ES?

CF  includes neither the workflow/process management capabilities nor most of the extensive document-related services included in LCES.  CF does provide some PDF creation capabilities and in CF9, you can now add headers and footers, optimize images, and more.  But when when you look at  the PDF capabilities of LCES, you’ll find a long list that includes rights management, digital signatures, 2D barcodes, and much more.  LiveCycle also brings human workflow features to the table for things like approval processes and collaboration, which many CF developers will likely find useful in a variety of applications.

I’m still working out the details of my session, but here’s a rough agenda:

  • Introduction to ColdFusion as a Service (CFaaS)
  • Introduction to LiveCycle ES
  • Calling ColdFusion services from LiveCycle ES (including calling a simple CFC)
  • Calling LiveCycle ES services from ColdFusion
  • Exploring various use-cases where this madness actually makes a lot of sense
  • Brainstorming what a new custom ColdFusion component in LCES could/should look like

This is all subject to change based on how successful my demo preparation goes, but so far, it’s looking good, and I think it will be a fun session.  If you have never looked at LiveCycle ES, this is a great way to get started.

Sign up here – http://cfunited.com/2009/topics#topic-367

Resources I used to crash course ColdFusion 9

•July 22, 2009 • 1 Comment

During the past several weeks, I’ve been cramming on ColdFusion 9.  Like many of you, I rely on blog posts from key CF’ers, Adobe TV and other key resources.  During this journey, I kept notes of where I found useful information.  I thought that others might find these notes useful.

I have posted my long list to the following page – http://gregsramblings.com/cf9

There are other good resource lists out there, but I thought it couldn’t hurt to post my own.  Let me know if you find this useful. I plan to do one for Flex 4, LCDS 3, Catalyst and other products soon.

THANK YOU to all of the fantastic ColdFusion bloggers out there that help the rest of us get our heads around this stuff!  I’ve been super impressed by the CF community!

Join me in Atlanta next week – free event – Adobe LiveCycle and the Flash Platform

•July 20, 2009 • Leave a Comment

If you are near Atlanta and are curious about the Adobe Flash Platform and/or Adobe LiveCycle, please join me next Wednesday, July 29th at the Hotel Palomar in Atlanta, Georgia for a 5 hour demo-filled, action-packed free event.  It’s a great opportunity to get introduced to what Adobe has going on in both client-side and server-side technologies.  Topics include:

  • Flash Player, including cool new features of Flash Player 10
  • Developing applications for the Flash Platform using Adobe Flex
  • Exploring the types of applications possible with Flex, including data visualization examples, real-time data push apps and more
  • Deploying applications on the web and on the desktop with Adobe AIR
  • Wiring Flex to various back-end applications using LiveCycle Data Services and BlazeDS
  • Adobe’s ultimate server-side SOA platform, LiveCycle ES – process management, data collection, rights management, PDF generation and much more
  • Discussing how all of these technologies fit together in “real world” applications
  • Sneak peeks at several upcoming products

The event is free but requires registration.   Click here to register now.

Ok, here’s what marketing told me to say: Learn how top companies are improving their business bottom line by lowering operational costs, increasing productivity and driving revenue growth using the Adobe Flash® Platform and Adobe LiveCycle®. Join us in Atlanta on July 29th for this complimentary event.  :)

Kevin Hoyt is doing a similar event in New York, NY on July 30th. 

I’m also doing the same event in San Jose, CA on August 19th.  The registration link above has all of the events.


Announcing the release of 3 New Solution Accelerators for LiveCycle ES

•July 16, 2009 • 1 Comment

The solution accelerator team today announced the release of 3 new solution accelerators for LiveCycle Enterprise Suite.  The solution accelerators are designed to be extended and customized by partners leading to reduced development time and increased quality.  The accelerators are packaged with a set of production-ready building blocks that consist of reusable components and technical guides. The building blocks may be used within the context of a solution accelerator or form the basis for developing new solutions.

Financial Services: Account Enrollment

Improve account enrollment while driving consistency and efficiency across channels and products. With Adobe LiveCycle ES and the Account Enrollment solution accelerator, you can minimize repeated data entry, streamline account processing and setup, and deliver tailored information to customers with ease.

Financial Services: Correspondence Management.

Ensure customer communications are consistent, tailored, and cost efficient by managing all of your correspondence on a single platform. With Adobe LiveCycle ES and the Correspondence Management Solution accelerator, you can automate all kinds of correspondence — from welcome packages and confirmations to proposals and claim letters — while ensuring communications are accurate, compliant, and secure.

Cross-Industry:  Human Capital Applications

Adobe solutions can help HR teams simplify and streamline forms-based processes, as well as reduce costs by providing self service options to employees.  Adobe solutions can support secure HR processes throughout an enterprise, engaging employees and applicants whether online or offline, and integrating the employee or applicant data within your existing infrastructure. The Human Capital Applications solution accelerator facilitates new employee onboarding and offboarding. With Adobe LiveCycle ES and the Human Capital Applications Accelerator, you can streamline data collection, secure employee data, dynamically generate welcome and exit packages, and reduce compliance risks and loss of intellectual and physical property.

Technology Building Blocks

Supporting these new solution accelerators are additional technology building blocks (Selection and Capture, Content Creation, Correspondence Generation) and updates to the existing On-Demand Assembly building block.

For further information including referencing the solution guides and technical documentation or to download these new releases, please visit http://www.adobe.com/devnet/livecycle/solution_accelerators.html.

Additional information will be posted soon on the Adobe Solution Accelerator team blog at http://blogs.adobe.com/lcsolutionaccelerators/

To learn more about Adobe LiveCycle, check out Tour de LiveCycle, a desktop application for exploring LiveCycle’s features, tools, APIs, and more.

New features added to tBlurb.com – editing and reporting

•July 16, 2009 • Leave a Comment

I created tBlurb.com (original blog post) primarily as a means of sharing code snippets and other web content.  The concept is simple; you go to http://tblurb.com, enter your content, click Save Page, and get a URL that you can share.  The page remains online forever unless it gets zero traffic for 90 days.  This concept of “disposable web pages” is something I’ve needed on multiple occasions when responding to blog comments, questions on twitter, etc.   After using tBlurb for a few weeks, I realize that not having the ability to edit the content after clicking “Save” is a problem!  There were several occasions where I created a page and later needed to modify it.

tBlurb.com now provides a private URL that takes you back to the content editor.  I also create another URL that provides traffic data for your content.  No personal information is collected…not even your email address.  I simply assign a random key for the edit and reporting URLs.

So, you create your content:

When you save your content, you get 3 URLs:

Sample traffic report:

When I get time, I’ll improve the reporting and add some geo information (countries visiting, etc.).

I’ve recently been using tBlurb to share small Flex code snippets on Twitter.  Below are a few recent that have received decent traffic:

I’ve also used it for sharing agendas for webinars on twitter moments before they start and other similar content (e.g. http://tblurb.com/Y3O9fn)

What’s new in the next LiveCycle Designer? ..by Mark Szulc

•July 15, 2009 • Leave a Comment

Mark Szulc just posted a great summary of the new features in the next LiveCycle Designer, part of the next LiveCycle ES that just went beta yesterday.  Check out Mark’s post here.

LiveCycle ES Developer Contest Announced

•July 15, 2009 • Leave a Comment

Today, Marcel Boucher announced the first ever LiveCycle developer contest.  There are some great prizes so it’s worth taking a peek.  I look forward to seeing the entries!  Check it out here.

Adobe LiveCycle ES Beta now available!

•July 14, 2009 • Leave a Comment

On the heels of the beta releases of Flash Builder/Flex 4, Flash Catalyst, ColdFusion 9 and LiveCycle Data Services 3 is….. (trumpets sound!) LiveCycle Enterprise Suite.  As you can see, the engineers at Adobe are working weekends!

Below is a brief summary of what’s new in the upcoming release of LiveCycle ES:

  • Improved development and authoring tools, including many features to make team development possible and process design more intuitive.
  • Improved UI development capabilities
  • Improved LiveCycle ES administration including new monitoring capabilities and easier backup and restore functionality
  • Improved support for document assembly of XDP-based documents including a new interface to generate DDX commands
  • Improved administration and platform maturity with  improved backup and recovery support
  • Expanded platform, database, and JVM support including a new turnkey installer
  • Improved out of the box solutions for reviewing and commenting of processes

The list above only scratches the surface of what’s new.  You’ll find other enhancements across many of the individual services that make up LiveCycle.  We’re also saving some big surprises for later this year so STAY TUNED!

Important Links: