Creating an eBook Publication

I just finished creating a short eBook using Apple’s Pages ’09 and SnagIt. Patrick from MacSage has two blog postings that give a nice overview.

Here are 9 some key points that I discovered along the way.

I just finished creating a short eBook using Apple’s Pages ’09 and SnagIt. Patrick from MacSage has two blog postings that give a nice overview.

Here are some key points that I discovered along the way:

(1) Use this template to get started. Open this document up in Pages and then do a File/Save as template. You can view the list of styling options in Pages using View/Use Styles Drawer

Formatting is very basic with ePublications due to the wide range of devices that might be used to display the output. Bulleted lists work and so do links. But, there are very few other options. No fancy fonts, no fancy formatting.

I made a few minor size adjustments to the template (making the main heading smaller) and added in my logo, company contact information, and creative commons licensing. Then I did another “file/save as template” with a new name so I can have a custom template that contains elements that will be common to all my ePubs.

Pages inspector window showing the settings for ePublication images

(2) Make certain all your images are set to inline.  Although I would really like to design pages with wrap-around text and use multi-column layouts, ePubs limit this inorder to be fluid and adapt to horizontal and vertical viewing as well as all the different sizes and shapes of displays.

 

(3) ePublication “pages” are set by inserting a Section break.  From the menu select:   Insert/Section break

There is no page numbering because page break may differ depending on the device used to view the document. Instead I just set up bookmarks for each new chapter and made each item in the Table of Contents a link to the appropriate bookmark.

screen shot showing space, paragraph, and section break markers

(4) Pages ’09 automatically makes a Table of Contents when you export to ePub. I didn’t have to do anything. When I viewed the finished document in iBooks there was a Table Of Contents icon and all the chapter heads were listed. Nice.

(5) Display all editing marks so you can see what you are working with. From the menu select:  View/Show invisibles.  Section breaks will display as a blue line with a page icon at the far right.

(6) Embedded videos will make your document HUGE. As an alternative I uploaded a short demo video up to YouTube and then included a hyperlink to that video inside the document.

The ePublication standard does not recognize multimedia yet so trying to add it to your documents is walking the edge of the accessibility cliff.

(7) You aren’t able to put a link around a graphic in Pages ’09. My first inclination was to emulate having the video embedded by including a screenshot of the video so people could click on the image as if it was an embedded video. But I couldn’t make the screen shot into a link. I ended up having a still shot captured from the video and put a normal text hyperlink right above it.

If you create a .pdf document you can use Adobe Acrobat to add an embedded video.  (In Adobe Acrobat Pro Version 10 use View/Tools/Content  and then choose Multimedia/Video from the right sidebar menu

that pops up.) But, once again the PDF file size jumped from 4 meg up to 17 meg. So, I removed the video and just kept the link to YouTube. That made my ePub universal, fairly fast to load, and I knew that YouTube would automatically accommodate any type of display.

Checkbox in ePub export window

(8) Duplicate the first page and use it as the cover to your ePub.  In Pages right-mouse click on the thumbnail page on the left side of the page and select “duplicate”. When you export the ePub make sure the box “Use first page as the cover or your publication” is checked.

(9) Calibre is a free ePublication reader you can download to test your work. It runs on all platforms. Yea!

To view your publication on an iPhone or iPad email it to yourself as an attachment. When you read the email on the mobile device it will ask you if you want to open up the document using iBooks.

On an iPhone the images and screen shots are very tiny and iBooks doesn’t let the user zoom in. Too bad.

Working on the Windows platform? – Check out the SmashWords platform and the Smashwords Style Guide.

Have some other ePub and Pages ’09 tricks that you know about? Post them here for others to use.

Course Design Philosophy

As I develop more and more online courses I’m starting to fine-tune my design philosophy. How do these bullet points fit with your experience?

Externsteine rock formation in Horn-Bad Meinberg, GermanyAs I develop more and more online courses I’m starting to fine-tune my design philosophy. How do these bullet points fit with your own experience?

Overall

  • Have a clear path for the learner to follow.
  • Strive for deeper learning.
  • Focus on the learning, not the technology.
  • Be platform independent whenever possible.
  • Utilize open source frameworks
  • Create adaptable content for both mobile and desktop devices.
  • Pluralize your content. Present the same information in multiple formats for maximum learning.
  • Always nudge your students’ learning up to the next level of Bloom’s taxonomy.

Presentation of Material

  • Incorporate short video (3-4 minutes) with sound and closed-captioning.
  • Written materials must be presented in an interesting manner.
  • Create succinct checklists for future fast reference and re-learning.
  • Edit, edit, edit. Be Hemingway by removing all extra words, phrases, and explanations.

Utilize the Writer’s Craft

  • Create suspense
  • Be clear and organized
  • Use scenarios, creating memorable and personable “characters” that the learner can identify with.
  • Overlap information in a kind and gentle manner.
  • Follow the Hero’s Journey pattern  established by Carl Jung, Joseph Campbell, and incorporated by George Lucas, director of Star Wars.

Listen Closely to Your Students

  • Their questions tell you where you need clarity.
  • Their observations or ideas can be used to enhance the content.
  • Ask for their feedback near the end of the course.  What worked? What didn’t. What should I change? Take notes!
  • Throughout the course, highlight changes you’ve made to the course as a result of previous student input.

What is Drupal? A hands-on lab for content editors

Last week I had the opportunity to present at the eLearning Conference held at Northwestern College in St. Paul, Minnesota.
One of the labs I did allowed folks to experience how Drupal works. Each person had their own Drupal account and could experiment learning how easy it is to add content to a site, edit that content. We set up new pages and made menu links to display those pages.

 

What is Drupal?

A hands-on lab for Content Editors

A t

Last week I had the opportunity to present at the eLearning Conference held at Northwestern College in St. Paul, Minnesota. 

One of the labs I did allowed folks to experience how Drupal works. Each person had their own Drupal account and could experiment learning how easy it is to add content to a site, edit that content. We set up new pages and made menu links to display those pages.

One of the things I did was create silly user names such as Missy Sippy, Peg Legg, Marshall Law, Mary Christmas, and Sal A. Mander. Everyone enjoyed picking their names. Here is the original list of names I used http://www.ethanwiner.com/funnames.html  Many of them are very inappropriate for a lab situation, but I was able to cull about 25 very safe ones from the list.

I used a new technique with this tutorial. Keynote (the Apple version of PowerPoint) just doesn’t hold enough information and I wanted the participants as well as anyone sitting at home to be able to see the actual techniques I was presenting long after the conference was over.

To accomplish this I used standard bullet points in the presentation itself as a quick-view text summary of the steps involved. On the same slide I also included a link to a YouTube video demonstrating the actual technique using the same site and basic theme that we used in the lab. Although everyone did really well during the hands-on lab, I think knowing that they could review the steps later took a lot of pressure off the group.

I have a link to the presentation out on my web site:  http://WebExplorations.com  Look along the left column under “Presentations” for “What is Drupal? For Content Editors

Look for the hyperlinks in the upper-right corner of most of the slides to the videos.

Let me know what you think of this technique using videos as part of a slide presentation. Does it work for you?

 

 

 


What is Drupal?

Here is my presentation “What is Drupal? An introduction for Programmers” that I gave at the 2012 Minnebar this last weekend.

 

Here is my presentation “What is Drupal? An introduction for Programmers” that I gave at the 2012 Minnebar  this last weekend. What a great conference!

I’ll be presenting this again at Twin Cities DrupalCamp at the University of Minnesota on May 18-19th.

Use full view in SlideShare and you will get access to the links in the upper right corner of the slides which link out to the demonstration videos I have out on YouTube.

 

 

 

 

South Central College students attending 2012 Minnebar #7Ten of our students from South Central College were able to attend on Saturday. Here is a shot of some of us waiting for the fun to begin.

 

Install Drupal 7 In Five Minutes (or less)

I’m getting my presentation “What is Drupal?” all set up for the 2012 Minn*Bar Conference. Here’s a video I created showing how easy it is to install Drupal 7. I was able to do it in under five minutes.

If you are new to Drupal this will give you a quick overview on the installation process for Drupal.

This is just one part of my presentation. I’ll post the finished presentation as soon as it is ready.

Set up the PHPStorm 3.0 Debugging Environment

PHPStorm allows you to dynamically debug your code using breakpoints, stepping, and many other features. The following steps document how I set up debugging on my MacBook Pro using Lion OSX version 10.7.3 and PHPStorm 3.0.

Debug using Localhost

PHPStorm allows you to dynamically debug your code using breakpoints, stepping, and many other features. The following steps document how I set up debugging on my MacBook Pro using Lion OSX version 10.7.3 and PHPStorm 3.0.

I am running localhost as part of the operating system instead of using MAMP but the overall strategy remain the same.

The term “remote” signifies debugging on a web server and your localhost server is just that, a ‘remote’ web server. This is different then debugging say, JavaScript, on a local web page, that doesn’t run on a web server like PHP.

I hope these notes are helpful in getting your debugging sessions set up as quickly as possible on your system.

Make sure php.ini is loaded

You can verify that your php.ini file is being read by creating a simple PHP file and save it in the root of your localhost web folder. You may want to name it test.php:

  <html>
  <head>
    <title>Testing PHP</title>
    </head>
  <body>
  <h1>Testing PHP</h1>
  <h2>Demo Code</h2>
    <?PHP
     echo "This is a test";
     phpinfo( );
   ?>
  </body>
  </html>

The key to this page is the phpinfo( ). This is an invaluable function to help you verify that PHP and all its support programs are up and running.

When you run this page using localhost you should get an information page that looks something like this:

view of the phpInfo( ) test page

Make sure there is a path in the Loaded Configuration File reference. This tells you that PHP
is using your php.ini file.

If not, check the settings in your Apache .conf file. (Mine was located in
private/etc/apache2/httpd.conf. It includes this line of code:

PHPIniDir “/etc/php.ini”

Make certain to reset your server if you change either the .conf or the php.ini files. Apple
logo/System Preferences/Sharing/ Uncheck “Web Sharing” and then recheck it to turn the server
off and back on, rereading both of these initialization files.

Install xDebug

You can get a compiled version of  xDebug from the Komodo website. Select the “PHP Remote Debugging Client” for Mac (Universal).

Download and unzip this file and save the xdebug.so file in /usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so. The long folder name designates the version of xdebug which became important later on when I was installing the Google Chrome extension.

Add the following lines to the php.ini file. Make certain you are using the php.ini file that your PHP program is using. (Refer back to the path found when you ran test.php in the first step.)

  ;PKJ  http://files.zend.com/help/Zend-Server/zend_debugger_-_configuration_directives.htm
  ;PKJ  http://drupal.org/node/157609
  ;PKJ  http://stackoverflow.com/questions/1936792/where-can-i-download-xdebug-for-php-and-mac-os-x
  [xdebug]
  zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so
  xdebug.remote_enable = 1
  xdebug.remote_host = localhost
  xdebug.remote_port= 9000
  xdebug.remote_log = /users/yourUserNameGoesHere/Desktop/xDebug.log

Notice I listed several web pages you can use as a reference. You can also comment out the xdebug.remote_log if you don’t need that. It should be a path pointing to the spot where you want to have the log created. I just put it on my desktop for quick debugging.

list settings for PHPStorm phpDebug
Run test.php again.

(Don’t forget to run it from localhost.) and you should see two references to xDebug.

Once under PHP Modules and again under Zend Modules. Use CTRL F in your browser to locate these references quickly on the phpInfo web page.

 

Set up PHPStorm

A nice, fast shortcut to access the Preferences Window in PHPStorm is CMD , (comma).

Inside the PHPStorm Preferences select PHP/Debug

phpInfo( ) output showing that xdebug is loaded properly Inside the PHPStorm Preferences select PHP/Debug.

— Set the port to 9000 (matching what you have in the php.ini)

— Check the box “Can accept external connections”

— The next three break options can be left check or unchecked depending on you own preferences.

Also go into PHP/Debug/XDebugProxy and set the following:

— IDE Key: PHPSTORM (This is used to connect the Google Chrome Extension with PHPStorm
xDebug).
— Host: localhost
— Port: 9000

Add Extension to Google Chrome

xDebug extension after installation in Google ChromeIcon showing the Google Chrome icon set to "active debugging"

 

Using Google Chrome Extensions do a search for Xdebug Helper and install it.

The option settings must match what you have in the PHPStorm Preference settings that you made in the previous step.

Use the Remote Debugger

To use the remote debugger, open up the test.php in a browser (using localhost) as well as in PHPStorm. A small grey bug icon will display in the right end of the URL.

turn on remote debugging and set a breakpoint

A session stopped at the breakpoint after refreshing the browser window

 

 

 

 

 

After you refresh the actual web page (CTRL R) you can control the flow of the program and view the variables by switching to PHPStorm and using the controls in the Debug Window.

NOTE: You have to run the debugging session from the browser by refreshing the page. That will trigger off the breakpoint set in the actual code.

Toggling back and forth between the browser and PHPStorm…

  • Step Over (F8) allows you to skip through a function.
  • Step Into (F7) allows you to step into a function.
  • Use the Red X (CMD F4) to stop a debugging session. (At first you might forget this and have several debug sessions all
    piled on top of each other.)

 

Designing Social Interfaces

Christian and Erin have written a very readable volume that is indispensable for anyone creating software, especially if it is a social-based web application.

Patterns for Improving the User Experience

 

 

Patterns. They are so useful because we design things to do similar tasks over and over. Like a login screen. This book is filled with best practices and patterns on how to create a great user interface.

I first heard about this book while listening to a podcast with Christian Crumlish, Erin Malone, and Jared Spool as they discussed UX (User Experience). They talked about use patterns and how these can be applied over and over for a better user experience as part of the User Interface Engineering podcast series.

Christian and Erin have written a very readable volume that is indispensable for anyone creating software, especially if it is a social-based web application.

Each pattern has colorful examples describing the what, when, how, why as well as accessibility issues to be aware of, related patterns, and a list of example web sites. There are lots and lots of excellent screen shots showing how the pattern is used out on the Web that flow in and out of the text just at the right times.

The authors also include several anti-patterns: things that don’t enhance the user’s experience. These are just as valuable as the useful patterns. As you read about each anti-pattern you’ll say “Yes, I find that so irritating when ‘they’ do that.”

Other experts have been invited to the party as well and each chapter is interspersed with short articles that go into greater depth.

This information could be SO dry, and it originally was, but Christian threw out the first two versions and wrote the finished book in a talkative, friendly, fun-to-read manner.

I’m enjoying the read and am already using this as a reference as I talk with people about their web sites and what they want to accomplish.

 

JavaScript – Using Variables

Learn about JavaScript variables and operators and how to convert strings into numbers with this video presentation.

Learn about variables and how to convert from strings to numbers using JavaScript.

  • Discover the difference between declaring a variable and initializing it.
  • Uncover the different types of variables such as Strings and integers and floating numbers.
  • Meet NaN and find out what her name really means!
  • Learn how to convert a String to a number (so you can do calculations with it) as well as the "Octal Gotcha"
  • Unlock the mystery of the = = operator and how discover how computer scientists have "stolen" the equal sign and made it into another operator all together.
  • Meet some other smooth operators such as the ++ and the +=
  • Be introduced to W3Schools.com where you can find out even more about JavaScript.

 

This is part of the online course Programming Fundamentals offered by Computer Careers at South Central College, North Mankato, MN USA 56003.

Three Steps to Faster JavaScript Programming

This is an in-class demonstration showing how to use the FireBug console to catch JavaScript errors as well as CSS errors.

There are three steps that you can follow that will help you learn how to write JavaScript faster, easier, and with a lot less frustration.

(1) Use the HTML Validator add-on for FireFox to make certain your HTML code is valid.

(2) Use the Console tab in FireBug to check for any JavaScript errors you may have in your code. This is a great way to check for misspelled variable and function names as well as missing quotes or concatenation operators "+".

(3) Finally, use the breakpoint and stepping tools in FireBug to step through your program.

This video is an in-class demonstration showing how to use the FireBug console to catch JavaScript errors as well as CSS errors. It is part of the Programming Fundamentals course (JavaScript) offered by Computer Careers at South Central College in North Mankato, Minnesota.

 

Google Website Optimizer

Here is a video showing how Google Website Optimizer allows you to set up “experiments” by comparing two or more versions of a web page to see which one is most effective. This is a free service.

I’m reading an interesting (and very useful) book, Trust Agents by Chris Brogan and Julien Smith. The book shows how to use the Web to build influence, improve reputation, and earn trust and it filled with action items. One of the tidbits I found this morning is Google Website Optimizer.

 

Google Website Optimizer allows you to set up "experiments" by comparing two or more versions of a web page to see which one is most effective. This is a free service.

This video gives a great 2 minute overview right up to the last 10 seconds: "My credibility within the organization has risen and people think I know what I’m doing. (laffin)"

This is a great tool for you (and your web developer) to use to increase the effectiveness of your web sites.

Have you used this tool? Add a comment and let me know how you changed your web pages. What were your results?