Create a user guide with WordPress & Jing for FREE!

July 8, 2009 at 2:01 pm | Posted in Sofware Startup | 2 Comments
Tags: , , ,

As my development team at MioWorks rounds the corner on a significant update, I thought it was important to have a user guide that explained the features and told the story of the MioWorks application.  I started looking into online help systems around the open source ecosystem.  It seemed that everything I found was either overly complex or required time from my development & system administration team.

As my frustration level grew I realized that WordPress was a solution I could use.   With WordPress.com I didn’t need technical help from my overloaded developer team.  I didn’t need any training since I already know the application from blogging.  And of course, the price is just right for a start-up company.

You may only think of wordpress.com as a blogging site.  But what you may not know is that you can create content pages in a hierarchy.    I decided to use content pages organized into chapters to mimic a user guide.  I started out by defining the top 5 “sections” of my guide.  I then added subsections to each of those to provide details on different features.  I quickly “stubbed” out the entire site and started to view it in different templates to see how it looked.  I found that using the “Freshly” theme with a custom header made for a nice looking user guide that closely resembled the color scheme of my application – a double bonus!  I applied the theme, uploaded my header and I was happy with the result.

The next step was to assign a domain name to the wordpress.com site.  I choose http://userguide.mioworks.com as the new URL for my wordpress site.  I followed the instructions provided by wordpress, adjusted a CNAME on my DNS records and then paid $9.97 for a year of domain forwarding to WordPress.com.   The site was live and accessible from the URL.

Now it was time to start adding content.  I wanted to not only provide text descriptions but I also wanted to have accurate screen shots that were legible with call outs and numbering when needed.  The perfect tool for this task is  Jing by Techsmith. Jing runs on both Windows and Mac OS.  Jing not only allows you to capture a screen shot, it allows you to quickly annotate that screen shot and save it as a PNG file.   The process to capture a screen, annotate it, save it locally and then upload it to wordpress.com was very simple and fast.

The process of documenting the entire application took a few days but the end result is well worth the effort.  MIoWorks now has a complete user guide that will help existing clients take advantage of all the features inside the application.  It will help guide them on not only the purpose of a feature but includes examples of how those features can be used.  I really like the user guide because it will also serve as a learning tool for potential clients that want to see more before they decide to use our application.

MioWorks.com User Guide

MioWorks.com User Guide

Collaborative development – the power of beta testing

April 26, 2009 at 3:13 pm | Posted in Sofware Startup | Leave a comment
Tags: , , , , , , ,

Don’t underestimate the power of beta testing to a wide range of people. Consider it collaborative development. Open your software to a broad range of people inside and outside of your target market and you’ll be amazed at what you get back from them.

A perfect example is my current project MioWorks.com. We opened up for public beta testing a couple weeks ago. In that time we have been getting amazing feedback that has allowed us to direct our development resources to the must have features of a target set of users.

Now you can’t just run off and implement every feature that is throw at you by the beta group. But you can listen to them as a whole and look for trends and commonalities. For us, we knew that we needed to implement ways to improve data manipulation and the feedback gave us the exact path to take. As we complete the development and roll it out, we are extremely confident that this effort will be well received by our beta group.

So open yourself up to critique and criticism early in the process.  You may also want to adopt some not-so-traditional approaches by using social media.  We encourage our beta group to use Twitter to spout off feature needs and questions in real time – all they have to do is respond @Mioworks and we collect that data and use it in our analysis and product planning.

In the end, no matter how you do it, building software should be a collaborative process that takes into account your target market.

Monitoring applications in the cloud

March 10, 2009 at 3:22 am | Posted in cloud computing, Software as a Service, Sofware Startup | 3 Comments
Tags: , , , , , , , , , , , ,

Cloud computing is a rather powerful tool that allows even the smallest of businesses to provide an enterprise class environment for web applications.  In a nutshell, the cloud is nothing more than the ability to rent computer services on demand from a 3rd party provider.  At MioWorks.com we use Amazon Web Services, but there are several other services out there for you to explore.

Mastering the cloud takes a bit of work, a dash of experience and an openness to learn from others.  But once you do master it, the benefits are tremendous.  You’ll never have to order another server or rent a rack in a data center.  You’ll be able to fluidly control your environment by increasing and decreasing the services you need on the fly, saving time and money.

This power, flexibility and potential demands that you pay attention to the details.  You must anticipate that the cloud can have hiccups and that as quickly as a server comes to life, that server can disappear.  In previous blog posts I’ve already talked about the importance of backups and recovery drills, but let’s take a step back.  Today let’s talk about monitoring and how important it is to your survival.

Ok I’ll bite, why is monitoring so important

Let me sum this up in a single sentence: Monitoring can be the difference between “whew that was close” and “holy s$%t we are down”.  I lied –  I need another sentence…  Monitoring can also be the difference between a five minute outage and a five hour outage.

What to monitor

Every web based application environment in the cloud is a jigsaw puzzle of pieces.  At the core you have your virtual hardware followed by your operating system.  Each of your servers is then configured differently depending on its specific duty.  You may have application servers, web servers, search servers, database servers and the list goes on.  Each of these servers needs to be monitored from several points of view – both internally and externally.

Internal Monitoring

The big question isn’t “Is the server running?” it should be “Is the server and all of its pieces running correctly? Each virtual server in your setup is a maze of processes, files, directories and file systems.  At any given time a hiccup can occur within this delicate environment that will eventually disrupt the end user’s ability to use your service.   In our environment we use monit and munin (two open source tools) on the inside to provide us with critical monitoring, recovery & trending capabilities.

Monit provides systems monitoring and error recovery for our Unix systems.  In our environment at MioWorks.com we have configured monit to watch dozens of potential failure points.   Monit can start a process if it is not running and can kill/restart a process if it takes too many resources. Monit is also configurable as an intrusion detection system by watching for changes in files, directories and file systems.  By spending a little time learning and using Monit your system administrator has a great tool to keep a constant eye on all the pieces of the puzzle.

In addition to the direct monitoring and error recovery system, we also like to see the bigger picture.  We use Munin to aggregate information across our server pool.  Munin provides a graphical view that allows your team to quickly see what’s different from yesterday.   You can quickly determine your resource utlization and plan in ADVANCE any increase of capacity.

From the outside

Keeping track of all the pieces inside the cloud is very important, but you also need to know how your environment in the cloud is performing to the outside world.  There are more external monitoring services out there than I can count.  But I’ll tell you who we use.  Our favorite at the moment is monitis.com.  We like them because starting at just $10/month you get on demand fault & performance monitoring for your environment. This external watchdog system helps to keep everyone informed if/when the cloud is having issues.  It also provides us with important statistics on response time and application performance that we use to determine how to adjust our infrastructure.

Continuous improvement

Your monitoring program must become a living, breathing element of your systems administration.  As new problems arise or potential problems are identified, the monitoring system must be adjusted to be proactive.   The good news is that the more you adjust your monitoring and error recovery system, the less you’ll be surprised in the future.  It takes discipline to post mortem each problem and determine how to proactively detect for it in the future.  And this discipline will distinguish your application in the frenzy of the cloud.

Real world results of a good monitoring program

In the real world your monitoring system can be the difference between keeping your systems alive and thriving OR having unhappy customers and missed SLAs. It can help you pinpoint exactly what went wrong and reduce the time it takes for the first responders to identify and solve the issue.  There are lots of solutions in the marketplace including commerical  and open source alternatives.  It may seem overwhelming at first, but once you start the process and improve little by little, you’ll be amazed at the positive impact your monitoring program will have on your environment stability and your ability to get some sleep.

Create a free website or blog at WordPress.com.
Entries and comments feeds.