David J McClelland

Experiences at the Intersection of Programming & Design

Archive for the ‘Tools’ Category

eLearning Mechanics #8: Chaining

The emphasis on reusable learning objects in instructional design never led to the free-form chaining of these objects into custom curricula. I was involved in a failed attempt to do this once: it was realized that objects mapped to a single objective did not function as standalone units. They were really learning fragments.

Chaining requires that each contingency or challenge be part of an over-arching context relevant to the learner. Perhaps including this requirement would help redefine what a learning object is and does.

  • 0 Comments
  • Filed under: Tools
  • Google Dream Catcher

    Working as a professional creative person, I have to take inspiration seriously. I want to capture ideas, dreams and other random things before they float away.

    Here is a super-lightweight tool that I set up to help me do that no matter where I am or what time it is, thanks to Google:

    Get Google Docs

    Create a new Form

    When you enter something in this form it will be added to a table that is searchable and indexable, and will appear as a link after you submit your entry. You can enter ideas from browser, phone, iPad, etc. If you get inspired visually you can use a theme- I am not sure how well it works with mobile devices. I am in favor of keeping it lightweight and simple.

    Although this is a personal tool, Google has built in sharing options so that you could use this for a group. At some point a wiki is probably better for a group than a form/table.

  • 0 Comments
  • Filed under: Practice, Tools
  • A Flash Developer in Unity’s Court Part 2

    Unity Logo

    Unity�has been a very compelling solution package for developing learning games for at least the last couple of years. �If Adobe rebuilt Flash ground-up to support all the features and platforms we want today, this would be it. A single workflow of real 3D games to IOS, Android, XBox, Wii, Windows, PC and browsers with a game engine and support for multiple script languages.

    Good news if you like FlashDevelop

    UnityDevelop is a hacked version of FlashDevelop that does all the autocomplete and syntax hinting for Unity JavaScript that FD does for AS3. The only thing that could be better is if there was a plugin for FD instead of a hack of a (now) old version that will never get upgraded, but what do you want for free anyway?

    Prefabs !=== MovieClips

    When I first started using Flash the biggest hurdle I had to overcome was how similar it looked to Director while being based on a subtly different paradigm. Unity presents a similar challenge in how it manages assets. For example, in Unity you can create assemblies of assets similar to MovieClips called “prefabs”. Prefabs are a nested arrangement of 3D objects and scripts that can be placed in a scene (Flash:Stage) in multiple instances. Where things get subtly weird is how Unity recombines the concept of Flash’s Library and MovieClip into the Hierarchy and Project concepts. When I want to use an individual Object that is used in a Prefab I have to be careful to drag it out of the Project Window from outside the prefab folder or unexpected results will occur that effect the prefab definition. I can’t drag it out of the Hierarchy Window.

    The good way to drag an object onto scene

    And the bad way

     

  • 0 Comments
  • Filed under: Tools
  • A Flash Developer in Unity’s Court

    Unity Logo

    Unity�has been a very compelling solution package for developing learning games for at least the last couple of years. �If Adobe rebuilt Flash ground-up to support all the features and platforms we want today, this would be it. A single workflow of real 3D games to IOS, Android, XBox, Wii, Windows, PC and browsers with a game engine and support for multiple script languages.

    First impressions

    The Unity development UI is understated, responsive, and deceptively spare. �The menus and panels are few, but deep. No timeline, playback in separate window from stage. The stage is called the Scene, views are locked down to your basic cardinal and 45 angles. Scripts get attached to game objects – Flash AS2 throwback to MovieClip scripts. The hierarchy view is actually very useful, compared to the one nobody remembers even existing in Flash.

    Where are all the complicated panels, arcane keypress macros and command-line inputs that must be required by a tool capable of so many output formats? Where is the script editor? This is my first clue that Unity is going to present me with a density of information challenge.

    But this is not Flash, and it doesn’t import or output Flash content. To play Unity games in a browser, you have to download and install the Unity plugin. In the world of corporate eLearning this is a show-stopper, and has effectively kept me in (an admittedly jealous) spectator mode. I have been wondering if Adobe or Autodesk would buy Unity, or if Unity would support Flash assets, swf output or some combination.

    My first quest has been to find a series of tutorials covering Unity for a beginner with programming or Flash background. I found a lot of tutorials, but few in a series and format that fit my criteria. Unity tutorials aimed at Flash developers�is pretty basic until this one�and stops too soon, many are too complex or require existing knowledge. One that hits my sweet spot is 2DGameplayTutorial. I will post more about it later.

    So far Unity announced forthcoming support for Flash Player. They will also support ActionScript 3 internally. They haven’t put this support in a specific release in their roadmap for 2011 as of writing, which is disappointing if you were thinking of release something with it in 2011. �Meanwhile Adobe’s moves to release molehill (the spark that got Unity to commit to Flash Player) and game-worthy mobile workflows are lacking – IOS packager in particular.

     

     

     

     

    Unity tutorials aimed at Flash developers have surfaced

  • 0 Comments
  • Filed under: Tools
  • Use Putty to ssh Into HostMonster

    There are many helpful posts out there on how to do this.

    This is written so that I can recall the exact steps I used that worked for me.

    Starting Point
    I am able to log on to my host using ssh (Putty) just fine. I have to log in using my host username (that my host sent me when I purchased the site this is hosted on) and password (that I set using cPanel tool). And that is fine, I don’t ssh into my account very often.

    However, I am on a mission to set up another tool that needs to access my site that already requires authentication per project, and I don’t want to have to authenticate twice when it tries to connect to my host to do it’s magic.

    Some don’ts: Don’t use Puttygen or the cPanel tool to create keypairs. They don’t work with my host/setup for some reason.

    1. Create a key pair on the server using an ssh session in putty. Something like this:

    ssh-keygen -b 1024 -t dsa -f keyName

    It will prompt for a passPhrase. This is a well-intended gotcha – passphrase=password, which I already said I don’t want to deal with.

    2. FTP to site – If you run the command to create the key pair when you are at the root of the site like I did, that is where you will find the key pair. Put the public key in a folder named .ssh and chmod 700. Change file name to authorized_keys and chmod 600.

    3. Get the other key file to your local and delete from server – it is the private key and it should not be accessible on a server. Open puttyGen and select menu Conversions->Import Key and find the private key you just downloaded. Select menu File->Save As and leave name the same wtih .ppk extension. Now Putty can use it!

    4. Open Putty – load connection Save Session if there is one close to what you will use with the keyed connection. Add the username you use to log in to the url: username@site.com. Save.

    5. Open Category (Left pane) Connection/SSH/Auth and put path to private key (.ppk from step 3). Save
    6. Click Open and the terminal window should show that you connect to host without any prompts required. Yay!
    7. If you are willing to run Pagent all the time,. you can right-click it in the taskbar and add the ppk file to it’s list. Then you can delete the key path from the Putty Settings File and check “Attempt authentication using Pagent” in Authentication methods panel above.
    8. to test from DOS window:
    test connection via plink using command line. from c:program filesputty:

    plink -i "c:pathtokey.ppk" user@hostname

    Method that TortoiseSVN uses to connect:

    > plink -i "c:pathtokey.ppk" putty_session_name
  • 0 Comments
  • Filed under: Techniques, Tools
  • Toolkit Shakeout 2011

    IN OUT WHY
    TeamViewer Live Mesh sharing, DimDim, VNC desktop sharing, file transfers, screen capturing, seamless firewall and VPN traversal, very fast Free for non-commercial.
    PHP Directory Lister Dreamweaver, ugliness Drop this file in a directory on webserver and it looks like you created it special for whoever is viewing it instead of looking like you forgot to turn off  anonymous directory listing access.
    OffiSync Skydrive, Windows Live Makes Google Docs into Cloud thumb drive for Office
    Mercurial, TortoiseHG Subversion I found a free host with no size or renumber limitDistributed Repo is safer

    Commits make more sense to me the way Mercurial does them

    The host makes a Wiki and issue tracker for each repo automatically – also free

    BitBucket/Atlassian Live Mesh Free file/version control hosting True distributed repositories instead of hacking Mesh
    TeamLab WordPress Free host for PM site that displays my logo, has almost all features I wantNo more hacking WP to be something it is not intended to be.
    Android Phone Google Voice Finally there is a pre-pay smartphone I can buy for less than the price of a decent laptop
    SimpleDiagrams Visio Diagrams that don’t take long to make and look like imagination at work
    TOOL USED FOR
    Android SDK and emulator Eclipse App development
    iPod Touch An elaborate alarm clock
    Flash Builder 4 Anything that has to look good and “griddy”
    WSDL Any DB-backed project where I can access or make this available: pure magic
    Excel New appreciation for MATCH and INDEX. Excel is a powerful tool.
    Google Calendar Bridge to Exchange calendar on Android
    ABANDONED BY ME OR THEM?
    DimDim Bought out by Salesforce.com – free option to go away
    Live Mesh MS pulling plug
    VNC Me, for poor performance and dropped connections
    Google Voice Me, same as above
    Gridiron Flow Slick Adobe Bridge in Cloud is still an impediment to my developer-centric workflow

  • 0 Comments
  • Filed under: Tools
  • SmartFox Server on LocalHost

    Recently I needed to do some development for a communication tool running on a SmartFox Server instance. Since it is easier to develop with a localhost-based server instance I decided to install SmartFox Server.

    Successful installation wasn’t as simple as download and click “Install.” I didn’t find a complete set of instructions addressing what I encountered – so here is my experience…

    As of November 2010 there are two versions of the server – 1.6 professional and the new 2.0 version. I needed to install 1.6, so there is no information on 2.0 in this post. And I installed on a Windows Vista PC.

    SmartFox provides pretty good documentation. I use it – this is not a substitute.

    I started with downloading and install 1.6.

    After installing, I tried to run it. It opens a terminal window to display startup progress.

    Read Only Problem: The first attempt failed because it was unable to save a log file. If this happens select the parent directory (“C:Program FilesSmartFoxServerPRO_1.6.6″ on my system) and change permissions to allow anyone write access to the whole thing.

    Java Problem: After fixing the read-only problem SmartFoxServer hung while starting up a little further in the process. The error displayed had something to do with a problem with java.qt and an inability to communicate with the database. I downloaded a newer version of Java Virtual Machine and switched over to it in the Java Control Panel and rebooted. Thank Apple Quicktime for that one.

    DbManagerException: A message like this: “DbManagerException: The Test SQL statement failed! Please check your configuration.”

    Follow the steps in this post on setting up SmartFoxServer to hook up to MySQL: http://www.packtpub.com/article/flash-virtual-world-smartfoxserver-thirdparty-database-web-server [Note: works with XAMPP too] I tried changing the setting to not use a DB but it still failed to run with the same error message as before.

    RedBox Bat problem: Follow steps listed on SmartFoxServer Forum. As I mention there, replacing  %CLASSPATH%  with C:Progra~1 was necessary before any other suggested changes worked. If you aren’t planning to use live voice and video chat this probably won’t matter.

    Launch AdminTool (in Admin folder in Start Menu) to verify that examples will run on local.

    1. Open the config.xml in your favorite text editor.
    2. Go to line 203 of the config.xml. This line should be within the structure of a Zone tag with name as dbZone.
    3. Change the lines 203-218 from the config.xml:
      Original code:

      <DatabaseManager active="false">
       <Driver>sun.jdbc.odbc.JdbcOdbcDriver</Driver>
       <ConnectionString>jdbc:odbc:sfsTest</ConnectionString>
       <!--
       Example connecting to MySQL
      
       <Driver>org.gjt.mm.mysql.Driver</Driver>
       <ConnectionString>jdbc:mysql://192.168.0.1:3306/sfsTest
                                                </ConnectionString>
      
       -->
      
       <UserName>yourname</UserName>
       <Password>yourpassword</Password>
      
       <TestSQL><![CDATA[SELECT COUNT(*) FROM contacts]]></TestSQL>
    4. Replace the code in lines 203-218 with the following code:
      <DatabaseManager active="true">
       <Driver>org.gjt.mm.mysql.Driver</Driver>
       <ConnectionString>jdbc:mysql://127.0.0.1:3306/mysql
                                          </ConnectionString>
       <UserName>root</UserName>
       <Password></Password>
      
       <TestSQL><![CDATA[SELECT NOW()]]></TestSQL>
  • 0 Comments
  • Filed under: Tools
  • Flash MMO Overview

    I recently went on the hunt for a reasonable way to experiment with Flash MMO game development without spending any money up front. There seems to be a growing number of players in this space, which has lead to solutions that cater to what I want.

    I found a couple posts that covered this topic pretty well (but neither completely) at gameGeekSpeak and Ohnit which helped me find 10 solution providers.

    Here’s an overview of what I found:

    Intro
    CCUs
    SDK Hosting Model Server Langs
    n/a API Hosted Profit sharing ??
    25 API You host $1/user, 1000 min Java, JSAS3
    100 API You host $1/user, 500 min C++
    10 API+server You host £468.83 perp. buyout AS3
    n/a Player.io API/SDK Hosted Profit Sharing C#
    500 Player.io API/SDK Local test server Hosted or You host <0.01/month/user C#
    n/a Server You Host Open Source Java
    20 API, Red 5, Flash components You Host tiered plans100, 500, unlimited ASJSPython Java
    1000 SDK, AS Lib You Host TBA AS3
    n/a API Hosted Profit sharing ??
    20 SmartFox plus Iso projection tools and library You Host 2200 Per dev seat AS3
    0 SmartFoxServer Dedicated and Fractional Hosts Host Only $80/mo + setup + SFS License SFS

    I came out in favor of Player.IO for having the best combination of features at the lowest real cost of entry. Whirled, Come2Play and Nonoba are more game portals than technology platforms and do not offer local instances for testing. Anything requiring self-hosting fell off my list immediately as I can’t install server apps on my host.

    Who did I miss?

  • 1 Comment
  • Filed under: Practice, Tools
  • What Does Experience Look Like? Closed Captioning.

    I am in the process of publishing around 100 Captivate projects which came from a software vendor – I have never seen them before. At some point I hear that many learners will not be able to listen to the narration and will need to read the captions. Realizing that the courses have Closed-Caption text, I suggest setting the courses to display the captions by default. This will avoid the challenge of educating learners about the feature while ensuring it gets used. But Captivate Skin Editor doesn’t have a setting to display CC by default. I Google around and find a Flash animation that is supposed to provide the functionality. I try it and it doesn’t work. Time to crank up the custom actions and build a script! A minute later and I have the captions displaying – yay!

    Since narration begins on the second slide I think “this looks more polished and professional if I raise the CC bar when the narrator starts talking.” Testing reveals that this change prevents the CC from appearing when returning to where I left off in the course.  Switch it back to slide one and the CC is back. Captivate always loads Slide one before resuming at a bookmarked slide.

    Probably 99% of what I am doing is repetition – publish one couse after another. I suppose I could train a monkey and leave the gig. A trainer assigned to “do eLearning” may have shrugged when automatic CC display didn’t appear to be an option. But because of broad experience with Captivate and other tools, I was able to poke around for less than 20 minutes and come up with a significant improvement to the content.

    Experience is valued in the abstract, but rarely makes tangible appearances where a client can say “That’s what I am paying for!” A lot of the value of experience is negative: not doing things that didn’t work before. Not wasting time. No one gets to see that, including the experienced practitioner. There are many habits and patterns that have become automatic through experience – not celebrated.

    I am very conscious of this fact. I try to notice when I do something tangible in case it helps my client justify hiring my experience on a project. It can be a challenge to recognize when it happens. I am reminded of interviews where a reporter gushes about a heroic rescue, and the fireman says  ” I was just doing my job.” (Not to compare professions).

    So I can relate to the uncelebrated Closed Caption bar that finally will make an appearance in a starring role.

  • 0 Comments
  • Filed under: Practice, Tools
  • Free Engage Learning Game Interaction

    Tic-Tac-Toe Whaddyaknow is the first eLearning product offered by Novatek.

    We are exploring the notion that we could sell eLearning tools for use by other developers, so we are giving away the first one to the community. Created in Flash with the Engage SDK, instances are authored using Articulate Engage, a commercial template-driven eLearning development tool we use quite often.

    I hope that once learners experience a simple game like this the response will drive instructional designers to come back to buy more.

    Got a nice mention on Articulate‘s Word Of Mouth blog, and the downloads have begun!

    We shall see.

  • 0 Comments
  • Filed under: Tools
  • Categories





    Finger Lakes, NY

    United States of America

    Enter your email address to subscribe to this blog and receive notifications of new posts by email.