Name: Paul
Posts by pjohnson:
- Plugins - The most basic extension is the plugin. This allows you to modify your content in some way before it is presented to the user.
- Modules - For your Twitter feed, you’ll want to have a section of your website devoted to it. This is where modules come into play. You can specify where you want your feed to go on the page and what pages should have it.
- Components - Finally, there are components like the calendar and photo gallery. These consist of content that will be the main focus of the page or series of pages.
- http://www.joomla.org - The main Joomla site with information about the product and a place to download it
- http://extensions.joomla.org - Where you can go to find all those nice plugins, modules and components
- http://docs.joomla.org/ - The documentation repository
- http://www.goodwebpractices.com/other/wordpress-vs-joomla-vs-drupal.html - A good comparison of Wordpress, Joomla and another CMS, Drupal
- http://www.edc.org/newsroom/articles/qa_speech_recognition_101 - This is a general overview of the topic from an interview with Bob Follansbee
- http://www.rehabtool.com/forum/discussions/97.html - Contains a more detailed discussion of special education uses
- http://www.nuance.com/ - Makers of Dragon software, one of the leading solutions in the speech recognition market
eBooks: Where They Were and Where They Are Going
May 15th, 2012Up till now, the successful eBook was text based. Although the technology allows for graphics, the beauty of the eBook is the ability to change the font size. This is one of the most important reasons people buy eBook readers. A winning strategy for an eBook was to have illustrations complement the text and not dominate it. Although there are options for illustrated novels and comic books, by their very nature eBook readers, due to their different resolutions and formats, will have a difficult time rendering things that are in a fixed position in a standard and pleasant way. You don’t want your user having to use a magnifying glass with a PDF document or move the interface around to see all the illustrations.
There is a wide array of technologies to choose from to produce a standard eBook similar to a print version, but they basically boil down to the choice of PDF or EPUB. EPUB is markup similar to what goes into a web page. Although the Kindle doesn’t support EPUB, there is a free tool, Kindlegen, which will convert the EPUB markup to the format used by Amazon, MOBI. If you only want to produce for the Kindle, Kindlegen will allow you to produce your document from other formats including standard HTML and XML. But you don’t want to limit yourself to the Kindle, do you? According to a study done by Aptara, the preferred eReader was the iPad, not the Kindle.
If you are simply making a conversion of a printed book to an eBook, similar to making apps, it is best to utilize a technology that will easily allow you to port your document to all the various formats. If learning the EPUB syntax seems too daunting, there are other tools you can use to convert your document to the EPUB format. Calibre is one such tool. You simply save off a Word document in HTML format and use this as input to Calibre. This will generate the document in EPUB format for all readers but the Kindle, and MOBI for that. If you want, you could then play around with the code that is generated to make small tweaks to your book if things don’t layout appropriately.
Although a standard eBook will gain you market share, the next generation of eBooks are trying to make a book more than a book: it should be a fully interactive experience, much like the web. Although taking this approach will obviously limit your exposure to more advanced devices than say the standard Kindle, this is the cutting edge of eBook development. A couple examples of technologies utilizing this new paradigm are inkling and iBooks Author. These books involve deep user experiences: video, interactive models and quizzes. Inkling even offers social networking tools that allow a user to take notes and then share these notes with other classmates, perhaps to get answers for their questions. To see more, check out their video.
The type of eBook you will create depends on both your target audience and the content you are delivering. Being on the cutting edge is great, but it will limit your exposure. If your content is really a conversion from print, it may not benefit you to be cutting edge; it may make more sense to make a standard eBook. But definitely investigate the alternative, because this is the wave of the future. People crave more interactivity, and frankly expect it with the advances in web technology and the experience it provides. There will always be a place for the standard textbook, but its market share and viability diminish more daily as people use and expect a higher level of innovation and a more immersive experience.

How I Realized the Laptop Wasn’t Dead
March 6th, 2012Late last fall, I finally decided to take the plunge and buy a tablet. It seemed like the perfect solution for our desktop woes: we hated going into our dreary office to search the web, which is what we do 90% of the time with our computer. I figured we could streamline our household by not having a clunky laptop to drag to the various rooms in our abode. If only I could have known how wrong I was.
After excitedly opening my new tablet, I was amazed to see a look of distress on my wife’s face. “I don’t like touch screens,” she said. Unbelievable! I had never heard such nonsense before. Turns out, she likes the tactile feel of the keyboard and appreciates the speed with which she can enter data on pages. What a crazy notion! I had thought this would be a non-issue, considering most surfing doesn’t require too much user input. She was aggravated right from the start.
We own fairly simplistic phones to save money. Surfing the web on our phones isn’t something we need to do frequently enough to warrant the cost. So, was it possible she was just unaccustomed to the touch screen and it would take a little time? The answer, after a week or so of having the device, was a resounding no. “I want a mouse,” she said. The touch screen makes it all so much easier though, I thought. For her, moving the mouse around offered a familiarity she wasn’t willing to give up.
So, we had to buy a laptop too.
Is she just an archaic relic of a bygone era? I would have to argue firmly against that. I find myself being drawn to the laptop all the time when I just don’t want to take the time to touch my way to my destination. Yes, I know I could get a keyboard for it. But doesn’t that start to defeat the whole purpose of having this one compact tablet in the first place? Not to mention that any kind of file system necessary to do some of the most basic computing tasks I’m used to doing is totally lacking from my device. Having the iPad and a laptop has given me a new appreciation for the lack of substance in an argument that the laptop is being replaced by the tablet. In fact, I would definitely recommend having the laptop and only having the tablet if you can have both. It’s a great toy, don’t get me wrong: even thought my wife now refers to it as “my second wife,” there really is no substitute for the power you lose when you give up on its older brother.

The Constantly Evolving Skillset of a Programmer
October 11th, 2011In the world of computer programming, there is no time to sit still. That is part of the fun. Every day brings new challenges, especially when it comes to education. Not only are there always new programming languages to learn, there are new techniques within the current language set to learn as well. Don’t want to be perpetually uneducated in what you are working on? Try a different career.
Since I started at Seward, my skill set has been in a constant state of flux. That is a good thing. When looking for a job, the amount of technologies required along with the years of experience in each was daunting. Although I had some web programming experience, much of my background was in old technologies that are rarely used. Rarely used, but not never. In fact, this last week I have been working on a program that used the first language I ever learned.
With the advent of the app and mobile development, a new twist has developed. Although the languages are the same, now the technology mandates that new approaches be learned as the interface to the device is changing. Up till this point the last major innovation in user interface was the mouse. Now that touch screens are the norm, new ways of programming to adapt to them are required.
At least there is a wide array of resources online to assist the developer when trying to wade through something that is brand new. If I still had to look up everything in books like when I started out, my development speed would be drastically reduced. I greatly appreciate the time developers take to share their knowledge and donate great examples to the online education of people like me. Not to mention the great open source solutions that are available to solve many standard problems. The developer community has always had a deep desire to share with each other, forming a common bond in the difficulties of making a computer do what you want it to do, not what you tell it to do.
Constantly growing is one of the most challenging parts of my career, but it is also one of the most fulfilling. If I was making the same widget in a factory all day, every day, I think the days would seem a lot longer. Having to learn a new technology every other day is a bit scary, but once you get used to it, it is an exciting ride. If you are looking for a career in software development, get ready to not be ready for your next day at work. The constant change is the norm for a programmer in this day and age, and it makes for a surprising and enthralling career.

Software Requirements: How Much is Too Much?
August 9th, 2011Every developer or project manager at some level has to deal with solving the requirements problem: how do we build software for a client that will be what the client envisions? In many cases, a client may know some of the important pieces of the application that they need, but in most cases not all the intricate details will be known.
A huge amount of time can be dedicated to writing a document that encompasses everything that will be done in the development effort down to the minutest detail. But is that really necessary? Will that deliver the best product? In the end, that is the standard for how a project is judged: the satisfaction of the client. A tome of software requirements does not a happy client make.
In some cases, very detailed requirements are necessary. One project I worked on was a CPAP machine that needed to be approved by the FDA. It seemed like it took longer to update the requirements document than it did to make the code changes in many cases. But it was important to have this level of detail; having it allowed us to prove that each requirement had been fully tested and prove that the device functioned as designed.
At the other extreme, some projects I have worked on have no documentation at all. These are usually in house projects that don’t have the same intense external scheduling and cost pressures. Often these require unnecessary time as well, because many iterations of the software need to be made before the client actually gets what they had envisioned. Sometimes this is the best way to develop, because writing requirements down may be a waste of time. Many times people don’t get that much out of them anyway because they have visual minds. They need to see the actual product before they can decide whether or not it meets their needs.
Ideally requirements will be loose enough to allow for some freedom in design decisions so as not to inhibit the innate ability of the team to have the product organically grow out of development process but concise enough to not force extra iterations. Having requirements also facilitates drawing up a schedule, which in many cases is just as important as completing the project itself. Another key is client acceptance: if there are no requirements, how can you say you delivered what the client wanted? My advice would be to break a project into digestible chunks, not bite size portions. The bigger the document is the more that will need to be maintained.

Browser Wars: a Developer’s Perspective
May 24th, 2011For as long as there has been an internet, there has been a protracted war going on in the realm of the internet browser. With each passing year, like another country entering an armed conflict, another browser seems to popup or an existing army upgrades its version. All of these players create an enormous headache for web developers.
Those Simple Days…
When I initially started developing for the web, I tested all my code exclusively on IE (Internet Explorer) 6. Netscape was dead as a browser and Firefox was a distant second. I figured since hardly anyone used anything else, I could get by doing my development for one platform. I would do cursory testing on Firefox if time permitted, but mostly I was willing to accept small rendering issues and bugs in other browsers by saying to myself that it was the user who had to deal with browser quirks if they decided to use one of the unpopular browsers.
A Better Way to Develop (I thought)
Then the day came where I was introduced to the world of Firebug. For those who have never heard of Firebug, it is a developer add-on for Firefox that gives amazing detail about the rendering of pages and the operation of the associated scripts. Gone were the days of frustratingly trying to figure out IE6’s cryptic script errors that didn’t give you hardly any information as to the cause of the problem. The error messages with Firebug were much more descriptive. Along with this came a beautiful engine for viewing the elements rendered on pages and even allowing the developer to make changes on the fly to the way things are viewed. I was converted; I was never going back to IE6.
Sadly, of course, this wasn’t an option. I was now stuck in the world of those other people from my early development days. And so the nightmare of dual development began. Build an application in Firefox and debug it then move to IE6 and proceed to spend hours debugging little quirks that made things render or behave differently. Compounding the differences was the fact that I was now doing much more complex things with my web applications. Throw in the fact that IE7 had been released, and my work had tripled. IE7 rendered things more like Firefox but just different enough to necessitate thorough testing with all the code written.
The End Result
Now, things are a total mess for me. I have decided to use Chrome for development as it includes a suite of developer tools very similar to Firebug, but it also loads much quicker than Firefox, so this increases my productivity. It has also garnered an impressive 11.75% of the browser market as of January 2011 according to Wikipedia, so it definitely is a big enough player that everything has to be tested in it anyway. Once I finish my initial testing, I proceed to test in IE6, IE7, IE8, the most recent version of Firefox, Safari and Opera. I know this list isn’t exhaustive, but it covers the vast majority of users. Sometimes I do miss my fledgling IE6 days. But I’m pretty sure the world of indefinite browser battling is here to stay.

Technology Review: Managing Software with Trac and Subversion
March 29th, 2011In our post last week, Matt and I talked about two very helpful tools for managing software projects that work very well together: Trac and Subversion. Maintaining software can be a difficult task, and these two tools make the often complex process a little easier. Here is a short description of each along with some information about how I have found they can work together.
Trac is an open source wiki tool that allows users to describe a project and its releases along with adding tasks for each project. This tool has been invaluable on bigger projects, such as The First 4000 Words, when many members of our team were testing. Having a bug tracking system allowed anyone to report a problem and have it assigned to the appropriate person. The wiki section is also very useful to document what features apply to what releases in a central location that everyone can easily refer to. Managing tasks becomes even easier for developers using the MyLyn plugin for Eclipse, which allows a programmer to view tasks without even leaving the development environment.
While Trac allows users to comment on and report problems with a system, Subversion maintains the system itself. This tool saves old versions of software in a repository, so the most current version along with all previous versions of a product are easily accessible to anyone on the development team. Without a package like Subversion, source code cannot be maintained in multiple developer environments without potential catastrophe. One developer could accidentally overwrite the work of another with no way to retrieve the original developer’s work. When multiple software files are changing rapidly, there needs to be an easily accessible place where anyone can go to get the most current version.
Using a Trac plugin, the source code in Subversion is also viewable in Trac. So, everything is available in one place on the web for easy reference. This makes Trac a one stop shop for any information regarding the software for a project. Projects run more smoothly, and everyone is happier with the end result: a more bug-free and well documented software product.

Passing On the Power: The Beauty of Joomla
January 18th, 2011The more I work with the content management system Joomla, the more I become enamored with how much work it takes off my shoulders. If you haven’t heard of Joomla, it is an open source software package that allows a user with no programming experience to setup a website and manage its content. It is similar to Wordpress in the sense that the content is not necessarily managed by someone versed in web programming, but the focus is more on website structure than listing a series of blog postings.
Right out of the box Joomla allows you to build a basic website. With its large documentation set and sample application, you’ll be up and running in no time. Once you have a few pages up, you’ll want to tweak the look and feel of your site. No problem! There is a vast array of free templates that can literally be plugged right in to give you a unique look.
And, like Wordpress, there is a huge assortment of extensions that can be added to your site, many free of charge. Need a social media widget? There are plenty to choose from, including ShareThis, Twitter Box and Facebook FanBox. How about a calendar for events, twitter feed or photo gallery? Plenty of these exist as well.
Joomla offers three types of customizations: plugins, modules, and components:
Of course, if you are a programmer like me, you will appreciate the large amount of customization available with the system. You can make your own template from scratch or write your own extensions. Find a plugin that does something almost like what you want but not quite? It’s all in PHP - you can just dive in and change it.
So, if you need to help a client with a site and don’t want to be maintaining the content for all eternity, consider using Joomla. Passing the content off to the person that knows the content and knows when it needs to change makes tons of sense. As a developer, your job is to produce something for a client or yourself. How nice is it when what you produce can keep on growing without you there to water it every day?
Here are a few links to get you started:

Speech Recognition in Education
November 16th, 2010My sister recently came home from starting work at Regions hospital and was raving about the speech recognition software used there. She says it will reduce the time she spends on entering chart information as well as speeding up other day-to-day tasks. Speech recognition is becoming more and more prevalent in our lives. We can now talk to our phones, our cars, and our computers. With Seward’s focus on eLearning, a discussion of where speech recognition fits into this is in order.
The first use of speech recognition that comes to mind in education is obviously the learning of the language itself. Many programs that teach us a new language allow for speaking to the system to gauge pronunciation skill. One of Seward’s products, The First 4000 words, does just that. It is an interactive web-based program used to teach the 4,000 most frequently used English words to English Language Learners and struggling readers in grades 1 through 4.
Speech recognition is also relevant to the education process for students with disabilities. If a student is unable to type due to a physical disability, speech recognition is the only way for the thoughts of this person to get into readable form other than dictation to someone else. As another person is not always available for this task, speech recognition is crucial in this situation. It might also just be desirable to dictate versus type, especially if the student is not the most accomplished typist. Anything that can speed up the process of getting thoughts into the world is a good thing.
There are some barriers to its use in education, however. Although speech recognition has become up to 99% accurate when trained, it can be much less than this before training of the system has occurred. This is especially true when there are problems with the recording quality or the speaker is not an adult. Also, certain environments, most notably many classrooms and offices, are not ideal places for many people to be talking at once. This problem can be alleviated to some extent by having a more powerful microphone, but it is a serious barrier to voice recognition use. People normally aren’t allowed their own enclosed space to learn, and talking can be very distracting.
Barriers aside, speech recognition has a place in education and our everyday lives. If it isn’t as ubiquitous as it could be in education, it is most likely due to the fact that at least some isolation is required to use it comfortably, and this may not always be possible in the setting where educational material is being taught.
Here are some other resources discussing how speech recognition is being used in education:
What other uses of speech recognition in education are you aware of? Please share!

Considerations When Choosing an LMS or LCMS
August 10th, 2010A Learning Management System (LMS) can be a tremendous help to companies and organizations in efficiently managing their eLearners and eLearning resources. However, deciding which LMS fits your needs best depends on many factors. If you are only looking to manage your training, an LMS may be the answer. The LMS will monitor your learners and eLearning content, but it will not allow you to change the existing content or create new content. For this, you will need a learning content management system (LCMS). An LCMS allows you to create new courses and edit ones you’ve created already, as well as manage and track your learners’ experience with the content.
Whether it is an LMS or an LCMS, one of the first decisions you will have to make is the delivery method. Do you want the service hosted externally or do you have the capacity to host it in house? If you are not allowed to use hosted services at your company or organization, or need the LMS/LCMS to communicate with other business systems, having it hosted externally may not be an option. It is also possible that an externally hosted solution does not have web services that could appropriately be accessed by internal software. Hosting the LMS or LCMS on your own server has its own set of problems. You need to have a team to set it up and maintain it, as well as purchase the hardware to run it. However, doing it this way does give you more control.
The next thing to consider is the list of administration features you need. Some LMS/LCMS products only allow basic reporting and each user must be registered with the system as a separate process from the addition of the user into the HR system. Other products have the HR process integrated seamlessly with the training an employee needs when beginning work at a company. How users are organized makes a big difference in reporting as well. If users can be organized at the team level, as well as individually, more reporting options are available. In addition, every LMS or LCMS allows training to be assigned to users, but only some also allow prerequisites to be set for courses.
A critical thing to consider is the assessment. What kinds of question types are allowed? Can questions be randomized? If the assessment capabilities of the LMS or LCMS are not fully featured, your ability to test the comprehension of your learners will be severely diminished. The reporting metrics will also mean much more if there is a thorough assessment rather than just a completion indicator for each course.
One other important thing to consider when obtaining or creating eLearning courses is Sharable Content Object Reference Model (SCORM) compliance. Courses that are SCORM-compliant can be imported from other sources, enabling the use of many off-the-shelf courses. Courses created with an LCMS should also be SCORM-compliant so they can be exported to run standalone or be imported into another LMS or LCMS.
Cost is an obvious factor, but the most expensive product is not always the best. Many open-source products exist that will satisfy the requirements detailed above and others your company may have. In the end, the decision of which LMS or LCMS to use depends somewhat on the way the features are presented. For this reason, try out the system if possible before making a commitment. The choice that you make will likely have a lasting impact on your company or organization, and as time goes by, switching to another system will become a hardship because of potential loss of user metrics. Spend enough time up front to make sure that the LMS or LCMS you have chosen will meet the needs of the company in the future as well as today.



