Feb 24, 2011

Am I a Flash developer?

As I build up my development skills and try to communicate my skills to others I do business with, I keep asking myself, "am I a Flash developer?"  Adobe Flash is a very complicated product and in order to create a Flash application, you need a variety of skills.  On one hand, as a software engineer, I am well equipped to write Flash applications.  On the other hand, not being a graphics designer, creating applications with amazing animations is not really my strength.

So I am quite well equipped to write Flash applications.  ActionScript is just one more programming language I've learned in order to do this.  I can use ActionScript to respond to events and work with Movie Clips.  I've been able to take advantage of 3rd party libraries to do projects that involve math plots and work with SCORM communications.  I use ExternalInterface to call out to JavaScript when necessary to communicate with a web page.  So, I'm pretty comfortable saying, "yes, I am a Flash developer!"

Where I need to draw the line is where it comes to creating animations.  I am not a graphic designer nor an animator.  I do know how to do these things and I've done a tween or two in my time, but this is not my strength.  I have a great understanding of vector graphics and the Flash time line.  I also understand how to work with objects.  So I am comfortable working with animations, I'm just not experienced creating them.

I make this distinction because when some people think of Flash, they think of animations.  But animation is only part of an application.  To write an application, you need to be able to write code, work with libraries, and understand the requirements of the system you developing for.  In that since I am a Flash developer.  As far as Flash animation goes, its not my strength but I can work with it.

Feb 15, 2011

Won't you please, please HELP me!

I'd like to think my e-learning is so intuitive that there is no need to add help.  (Pause for applause???)  The reality is that no matter how brain dead simple I think it is, there is always a chance that it won't actually be me taking the course.  That's right, it will be someone else with a different brain, a different level of experience, and a different familiarity with a web browser.

Most of the content itself is actually pretty intuitive, with the exception of learners moving or resizing the window so that previous and next buttons disappear off of it. How many people have discovered the "I can't find the buttons" issue in usability testing?  But it's all the surrounding technologies where things go haywire:
  • You know that back button there...don't use it!
  • You can't see the video...yeah, that's because you're using Quicktime 6 instead of Quicktime 7!
  • You opened up the course in a tab in Lotus Notes...no wonder the video is choppy!
 So...I need help.  I host the help outside of the course so that several courses can access the same help.  I label it with version numbers so that when I have to make changes, new courses refer to the new help and old courses refer to the old help.  I also have different kinds of help.  One help file for home grown courses and other help files for 3rd party content.  The benefit of this is that I only have one help area to edit when I have issues and I won't have to recompile SCORM packages just to make minor changes to help (e.g. a support contact number change).

How do you handle help?

Feb 11, 2011

My mind (map) is in the cloud

I love mind maps. They are a great way to brainstorm ideas and organize your thoughts. I've also found them very helpful for taking notes at meetings. I use mind maps at both work and home for these reasons. 

Because I keep a lot of information in mind maps, I need to be able to access them from wherever I am. Through the use of my smart phone and storing my data in "the cloud", I am able to do just that.

I use a combination of tools to access my mind maps. I use Freemind to edit mind maps on my desktop or laptop computer. I use Thinking Space to access and edit my mind maps on my Android phone. I use Dropbox to store the maps in "the cloud" so that I can access them and keep them in sync in all of those devices.

Do you use mind maps? What tools do you use?

Feb 8, 2011

Adobe Learning Summit

I'm looking forward to attending the Adobe Learning Summit in March. There are a few things I'm particularly interested in:
  • Adobe Captivate Widget 101 - I've already created my own widget to marshal communications between Captivate and Lectora so that I can save a learner's place inside a simulation. However, I'm interested in learning more about best practices for creating widgets and see some examples of what other people have done.
  • Captivate for Android Devices - I'm a bit of an Android fan so anything with the name Android in it immediately draws my attention. A bonus for this session is that I think learning to use Captivate on Android will also have applications to creating apps for mobile in general. Argh! I do wish this was titled Captivate for Android and iPhone. I wrote recently about some of those issues in this article.
  • People and Best Practices - Mostly I'm interested in networking with others that use Adobe for e-Learning and discovering more about best practices in the industry.
Are you heading to this conference? What are your learning goals?

Feb 4, 2011

Take Command of your next Meeting

All of us go to meetings and most of us think the meetings occur way too often and last way too long. Instead of formal meetings, I’m a big fan of impromptu meetings with 2-3 people when technical decisions need to be made. I’ve never seen good decisions made when more than 4 people are in the room.

However, for large projects, it is important to have regular status meetings where representatives from all aspects of the project are present (i.e. development, support, documentation, marketing, etc.). This allows for transparency into those aspects of the project and allows a chance for miscommunications to be caught between these work silos. These meetings also serve as a good way to identify risks to the project and facilitate relationships between the various members of the project. These meetings should not exceed 1 hour and should normally be accomplished in much less time. If all is going well, 10-15 minutes are less.

One person should always serve as the facilitator of the meeting. This is usually a project manager. This person organizes the participants for the meeting, makes sure the meeting is timely, and drives the team towards decisions. This person is also responsible for the following:
  • Creating and following agenda and soliciting for agenda items from team members
  • Making sure proper stakeholders and project team members are present
  • Avoiding wasting members time with something that can be discussed later or after meeting, keeping the meeting timely
  • Hitting important items
  • Clarifying any statements
  • Driving team towards a decision point
  • Setting/clarifying next actions for members
  • Getting the correct participants involved in the discussion
  • Confronting issues
  • Identifying risks
  • Reducing ambiguity
  • Delegating tasks as necessary
The facilitator should ask one person take minutes for the meeting. The facilitator should not do this job because they need to focus on moving timely through the meeting and getting the whole team involved. Minutes should be sent to all team members and include:
  • All attendees present
  • Notes of items discussed giving careful attention to dates, name of person discussing, and concerns
  • Important decisions that are made
  • Action Items - clearly labeled as such, single name assigned as responsible, date to be completed given
Each meeting should start with a quick status on the previous meetings action items taken directly from notes. Do not reopen discussion during this status check because you will surely derail the timeliness of the meeting. Lingering action items should be addressed as soon as possible and next steps for the item should be re-identified. Meetings should end with a quick summary of action items with assignments and dates for each.

Of course, you need to tailor your meeting to your company's culture and your particular project. Keeping these tips in mind will surely improve the success of your next project.

Feb 2, 2011

LMSCommit and Timeouts

Systems and courses timeout. We all know that. A logged in session with a computer only has so long with inactivity before the user is considered to have abandoned their session and the system logs them out. While this is well understood to those in the e-learning industry, it can be confusing for some learner so e-learning developers need to handle this time out gracefully.

With the way my organization's LMS is setup inside a single sign on portal, the web based training will continue even after the LMS and portal system has timed out. The learner will never know until they try to exit an assignable unit and the SCORM-based WBT tries to send the results to the LMS. NOT SAVED! This is particularly a problem if the assignable unit was complex and the learner spent a considerable amount of time on it.

I'm taking a two prong approach to this problem:
  1. Save important data periodically using JavaScript to manually call LMSCommit in the SCORM API as the learner completes major sections.
  2. Setting a pop-up message that will first do an LMSCommit and/or LMSFinish and alert the learner that they are timed out.
Has anyone else run into this problem? How have you addressed it?

Plans for Learning Developments in 2011

So I guess 2010 is water under the bridge and I'll try to forget that I only managed four blog posts for the entire year. I'm hoping to contribute more this year and get my readers back for some good discussion about developing for learning. I know from personal experience there are not a lot of good resources searchable on the web related to e-learning development and want to address that with this blog. Best wishes in 2011!

-Jonathan