Blue Mango Blog

ScreenSteps 2.5 Release Candidate

Last night we uploaded the ScreenSteps 2.5 Release Candidate. 2.5 is a major milestone for us as it completely redefines how customer support can be handled in an organization. The integration between ScreenSteps and ScreenSteps Live offers unparalleled speed and flexibility when it comes to creating documentation that actually answers customer questions.

Those of you who don’t use ScreenSteps Live have a lot to look forward to as well. Version 2.5 has tons of speed improvements so that you can work with larger libraries and longer lessons. And since ScreenSteps is all about having an optimized workflow we’ve streamlined some common tasks as well.

You can download the release candidate from our downloads page. By the way, the manual is ready for release.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Slashdot
  • Technorati
  • TwitThis
  • e-mail

Data Grid Webinar

A few weeks ago Kevin Miller, Bill Marriott (both of Runtime Revolution) and I put on a webinar that introduced the new Data Grid in Revolution 3.5. The data grid was originally developed for ScreenSteps so that we could provide our customers with a much more responsive UI when working with large libraries and lessons. We were thrilled when Revolution decided to integrate it into their core product.

Given the extremely positive response by attendees, Greg and I thought people might be interested in seeing how ScreenSteps 2.5 uses data grids throughout the application. So we’ve added a new webinar to our webinars page entitled Using Data Grids in Revolution 3.5. In the webinar we will show you:

  • The various UI elements created using the data grid.
  • The techniques used to create some of the visuals.
  • The techniques used to hook the data grids up to data from SQLite, stacks, folder contents and the web.
We also plan on providing ample time to answer questions people might have. So join us on Thursday April 30th if you want to improve your data grid chops.

Sign up for webinar

Share and Enjoy:
  • Digg
  • del.icio.us
  • Slashdot
  • Technorati
  • TwitThis
  • e-mail

Webinar Recording: Decreasing Customer Support Requests with ScreenSteps Live

Yesterday we hosted our first webinar about how to use ScreenSteps and ScreenSteps Live to decrease customer support requests. Thank you so much to all of you who attended and for all of the kind words so many of you have shared.

Brian Weiss of WORD’SWORTH, one of the attendees, emailed us and said:

When people agree to attend a webinar, they are trusting you to make it worth their while. They’re trusting you with one of their most precious commodities - their time. You guys delivered, big time.

We hope that the rest of you felt the same.

For those of you who weren’t able to attend, we have posted a recording of the webinar. The recording is about 75 minutes long. The first 30 minutes contain a presentation on how to effectively use ScreenSteps Live to handle customer support. For the last 45 minutes Greg and Trevor respond to questions from viewers.

You can download a recording of the webinar here:

Decreasing Customer Support with ScreenSteps Live wmv (66.3 MB)

Decreasing Customer Support with ScreenSteps Live m4v (81.5 MB)

We are already working on plans for our next one. We hope you will join us. Be sure to check this blog or sign up for our newsletter to be notified when we will present one.

You can subscribe to our newsletter here:

http://www.bluemangolearning.com/newsletters/screensteps.html

Share and Enjoy:
  • Digg
  • del.icio.us
  • Slashdot
  • Technorati
  • TwitThis
  • e-mail

Free Webinar This Thursday: Decreasing Customer Support Requests With ScreenSteps Live

We are just back form the Web 2.0 Expo in San Francisco and are excited to announce our first webinar. The webinar will be held this Thursday, April 9th from 2pm-3pm Eastern Standard Time.

In this webinar we will:

  • Introduce you to some of the obvious and not so obvious enhancements available in ScreenSteps 2.5. We have packed a lot of workflow enhancements into ScreenSteps 2.5 that make it easier to work and collaborate on large projects. We’ll show you how you can improve your workflow with ScreenSteps 2.5 to create your manuals in even less time than before.
  • Show you how to create a customer support site and populate it with a lot of content in a single afternoon using ScreenSteps 2.5 and ScreenSteps Live. Our customers are seeing dramatic improvements to their customer support process after just a few days of implementing ScreenSteps Live. We’ll show you the workflow they are using and how you can achieve the same results.
  • Leave time at the end to answer any questions you have about ScreenSteps or ScreenSteps Live.

Please come join us and see how you can improve your customer support process using ScreenSteps Desktop and ScreenSteps Live.

Register for the webinar here

Share and Enjoy:
  • Digg
  • del.icio.us
  • Slashdot
  • Technorati
  • TwitThis
  • e-mail

Recovering From a Disasterous Git-rebase mistake

Yesterday was adding the finishing touches to a marketing redesign of our screenstepslive.com site. This had been through many iterations but I felt that I finally had things the way I wanted them. ScreenSteps Live is entirely programmed in Ruby on Rails, both the web application and the marketing/sign-up area. We use Git for all of our version control.

Following standard Git practice, I was working on "marketing" branch that I had created from our "master" branch. Earlier in the day I had made a small update to the master branch to fix a small bug. In preparing to launch the updates to the marketing site I decided to do a git-rebase.

I’ll go into the details of how rebase works in a second, but basically the idea is to update the changes with a child branch (marketing) with changes that have been made to the parent branch (master). I ran into a few problems with the rebase and decided to abort, which has always worked before, but not this time. At least it didn’t work the way I expected it to. After aborting the rebase my marketing branch was at the same state it had been the day before. I had done a LOT of work in that 24 hour period. Basically all of my changes were gone.

Extreme panic set in. I had lost my css, my copy, my design, everything. I looked frantically for a way to recover from my disaster.

Option 1: Time Machine

Time Machine has saved me from myself more than once in my life so that was the first place I went to. Checking the backup I could see that I had a backup from about an hour ago. That was much better than losing an entire day’s work, but I had still done a lot of work in that last hour. What was more, I had finished the work. There is nothing worse than having to finish something twice. So I began to look for different options.

How Git Works

how-git-works.png

To understand the problem you need to understand how Git works internally. Whenever you make a commit with Git you are taking a snapshot of how your repository looks at that moment. The commit is assigned a sha1 hash (basically, a unique id), a message and a parent. The parent is the sha1 hash of the direct ancestor of the selected commit.

A git branch really doesn’t know anything more about its lineage than its direct parent. It also doesn’t know anything about its children. Branches are put together by stringing together a line of parent ids.

So What Happened?

Here is how things went. Oftentimes when doing a rebase you will run into conflicts that you have to resolve before the rebase will complete. It usually isn’t a big deal. But for some reason git had been acting funny because I had replaced a file titled "Movie.png" with a different image file called "Movie.png". I don’t know exactly what the problem was but it caused an issue with the rebase. Instead of resolving the conflict I decided to just to git-rebase -skip for that commit. Apparently this was a bad idea.

Right after that another conflict popped up. I decided that I really didn’t need to do a rebase and that this was going to be more of a pain than it was worth. I was just going to do a merge so I issued a git-rebase -abort command. The way this has always worked for me in the past is that all of the updating of the child branch with the parent branch is undone and you are right back where you started before you issued that "git-rebase master" command.

But not this time. Apparently issuing the git-rebase -skip command changed the point that my branch would rollback to, which was about 24 hours ago. Since git commits don’t know anything about their children there was no way for me to "fast forward" the branch to where I needed to be.

The Solution

Even though things looked bleak I was pretty sure of one thing - Git doesn’t usually delete commits from its database. That meant that my finished version was somewhere in there, I just had to find it.

I quickly searched the internet for ways to find commits that were no longer attached to a branch but didn’t find anything. So then I just started digging around in the .git directory of my project.

And I found a solution.

In .git/logs/refs is a list of text files. These text files have a history of your commits and merges on a branch.

media-1238070241727.png

I opened up the log for my marketing branch. Above is the relevant part of the log. I have highlighted the rebase that went bad.

media-1238070336956.png

But here is the interesting part. The log lists the commit’s sha1 (1) and the commit’s parent (2). You can see that in the image above.

So the solution was simple:

git checkout -b marketing_recovery 0b4354e5b95394c43

This created a new branch based off of my finished marketing update (note: You don’t have to enter the full sha1 hash of a branch when referencing it, just enough so that Git knows which one you are talking about).

There is one caveat: I lost the history of the branch but in this case it didn’t really matter. I was just happy to have retrieved my changes.

Lesson Learned

I still don’t know exactly what went wrong. It seems that git-rebase -abort should have taken me back to where I wanted to be. But I do know that I will not be using git rebase-skip again anytime soon.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Slashdot
  • Technorati
  • TwitThis
  • e-mail

Bring the Power of ScreenSteps Live to your WordPress Blog

Do you want to bring the power of ScreenSteps Live to your WordPress blog? You are probably asking yourself “What is the power of ScreenSteps Live and why would I want it in my blog?” The ScreenSteps Live WordPress plugin lets you manage all of your tutorial content on ScreenSteps Live, but deliver it via your WordPress blog.

We have prepared a short video that will show you why you would want to use ScreenSteps Live in conjunction with your WordPress blog and how the plugin works.

There are two scenarios where you would want to use the ScreenSteps Live WordPress plugin:

  • If you want to offer a manual composed of ScreenSteps lessons on your blog AND you want to be able to update and add to it regularly. With the plugin you can manage all of your lessons/manuals on ScreenSteps Live and the changes will instantly show up on your blog.

  • You want your manuals to show up on multiple WordPress blogs. You want to be able to update the manual once and have those updates show up on all of the blogs. This can be especially useful if you are supporting multiple WordPress blogs and want to provide tutorials on how to use WordPress to each of your clients.

Download the plugin and try it out. It comes pre-configured with an example ScreenSteps Live account so that you can see how the plugin will work inside your blog right away.

We also have a complete manual that will show you everything you need to do to get the ScreenSteps Live WordPress plugin up and running.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Slashdot
  • Technorati
  • TwitThis
  • e-mail

Blue Mango at the Web 2.0 Expo

We are happy to announce that we are going to be exhibiting at the Web 2.0 Expo in San Francisco from April 1-3. If you are attending the conference be sure to stop by the Long Tail pavilion where we will be hanging out and showing people how to get the most out of ScreenSteps and ScreenSteps Live.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Slashdot
  • Technorati
  • TwitThis
  • e-mail

New Tours Available for ScreenSteps Live

At the end of last week we launched some new “Tours” of what you can do with ScreenSteps Live.

The first two tours show you:

These are both broad overviews that should give you a good idea of how you can implement ScreenSteps and ScreenSteps Live in your organization.

We have also added a new chat option to the site, so if you have any questions while browsing the information, click the chat button in the upper right and we will do our best to answer them.

Let us know if you find the new information helpful.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Slashdot
  • Technorati
  • TwitThis
  • e-mail

Does Your Documentation Connect the Dots?

The other day I was watching my 5-year old complete a connect-the-dots page. I was amazed at how such a simple concept could turn just about anyone into a semi-functional artist. All he had to do was draw one line at a time between two numbers. At the end he had completed a drawing that would have been far beyond his ability had the dots not been there.

This is exactly how your documentation should be. Software is not art. It isn’t golf. It isn’t the violin. You shouldn’t need to work years and years to master it. There is a task. It needs to be done. People are going to use your software to do it. Does your documentation allow them to connect the dots?

Now imagine if my 5-year old sat down and saw “1,2,3,4,29″. Imagine that between 4 and 29 there are bunch of dots with no numbers on them. What would he do? He would be extremely frustrated. Which dot does he go to next?

You can find these “missing numbers” in documentation all of the time and it creates feelings of extreme angst and frustration - not exactly the experience you are trying to create for your users.

This happens most often when documentation focuses on features and not tasks. Are you telling your user what your program does or are you telling them how to do it?

Next time you are documenting something, ask yourself, am I numbering all of the dots? Are my users going to be able to connect those dots? If not then go back and tidy things up. Your users with thank you for it.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Slashdot
  • Technorati
  • TwitThis
  • e-mail

Plan to Not Plan

I don’t ever plan my documentation. I used to. But not anymore. It’s a waste of time. Maybe if I were on a documentation team and had 6 months to get the documentation ready then maybe I would plan. I could plan and then revise and then plan some more.

But I am not on a documentation team. I run a business. I am the web programmer, accountant, custodian, sales person, system admin and business development director. I don’t have time to plan my documentation.

So what have I done? I have planned not to plan. I have created a system for documentation that requires no planning at all AND creates documentation that is much more useful to our customers. It really is quite simple. Just follow these simple steps:

  1. I write down the questions my customers have actually asked me.
  2. I create lessons in ScreenSteps that answer those questions.
  3. I post the answers as a manual to ScreenSteps Live. You can see an example here.
  4. When a customer asks a question I do one of two things:
    • If I have a lesson that answers their question I send it to them.
    • If I don’t, I create one, add it to the manual and send it to them. See here and here for two lessons I added to our manual this last week in response to customer questions.

This system has worked really well for me. I don’t end up writing content that won’t ever get used again, the lessons are very easy to update because they focus around a specifc task and I can quickly respond to customer questions.

Try it out. On your next documentation project, plan not to plan. Just answer the questions people are asking. You will find that your documentation will be easier to create and easier to use.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Slashdot
  • Technorati
  • TwitThis
  • e-mail