Archive for the ‘Portable Apps’ Category

h1

Magnificent Magnification

02/08/2009

Following on from my ZoomIT post and thinking again about presentation tools,  I started thinking about the ways in which magnification tools generally work an how you might want to use it in a presentation scenario.

The most common magnification applications for Windows I’ve come across are the operating system’s magnifier utility and (portable) Virtual Magnifying Glass (as this is probably the most widely known portable magnifier).  So I’m going to start by taking a look at the commonality and differences between these and ZoomIT.

Click image to see example window

Click image to see example window

Virtual Magnifying Glass

This application creates a window centred around the mouse pointer.  Wherever the pointer is  moved the window follows.  Upon clicking to interact with something the magnification window closes.

ZoomIT

The magnifier in ZoomIT is a whole screen magnifier.  The magnification is centred around the mouse pointer and as the pointer is moved around it scrolls the portion of the image that is being shown on screen.  Like the Virtual Magnifying Glass application when interacting you lose the zoom … unless your interaction is to use the drawing mode (as described in the ZoomIT post).

Select window to see

Click image to see example window

Windows Magnifier

The Windows magnifier creates its magnification window such that it can be placed somewhere on screen but it magnifies the area around the mouse pointer.  So rather than the window moving around or taking up the whole screen, it sits to one side and displays the area around the mouse cursor.  It also allow for interaction so it can “watch” you type for example.

Please note that the example used here is the Windows XP magnifier (as I believe that this is version of Windows currently most “in play”), but the latest version bundled with Windows 7 is more or less an extension of the XP version with some additional tweaks and some of the Virtual Magnifying Glass and ZoomIT application features included.  For specific details about the Windows 7 magnifier take a look at the BLTT post about it.

Issues for Presenters

Whilst these can all certainly help presenters, there is a bit of a limitation here.  Whilst I love the features that ZoomIT provides for a presenter I do find that not being able to zoom in on something I want to interact with is a bit of a limitation.  For example if I’m trying to show people how to use a piece of software for example.  The alternative is to use Windows magnifier and this is certainly a practical alternative, but there are two issues I find with this.

The first is that magnifier varies between versions of Windows and finding it can sometimes be a bit of hassle.  For me personally not so much, but for some end users trying to explain where to find them if they have to go out and use someone else’s presentation computers is just a headache I could do without.  Portable applications for presenters give consistency and are most certainly the way forward.

The second issue is something I call the “Doom Presentation Effect”.  This is after the first person shooter game of my youth – Doom.  Often when watching others play first person shooters the quick movements of the full screen shifting can start to give some people a bit of motion sickness.  It also requires a lot of additional concentration.  Not good for a presentation where you want people to be concentrating on the content.

So is there an alternative?  Yes there is.  After scouring the Internet and trying out more magnifiers than I ever thought existed, I found one that looks a little dated with its interface but offers a feature that does the job nicely.

Desktop Zoom

Desktop Zoom has a range of magnification features mostly reproduced by the other tools here – often in a way I found easier to use.  However the thing that is particularly noteworthy is an option to have “fixed window” zoom.  This creates an on screen area which you specify for which Desktop Zoom will create a window that displays a zoomed view of the area.  You can interact with the area on screen and it will give you a zoomed display (which it won’t seem to let me capture in a screen shot) of you interacting.  It even lets you specify how the mouse pointer displays which can help you in showing your interaction if you have the usual small mouse pointers.

So would I exclusively use Desktop Zoom?  No, but I would recommend having this in your collection of presentation tools alongside ZoomIT.  That way no matter where you are you can keep zooming tools to hand to help you get your message across.

h1

ZoomIT

02/08/2009

After FlagIT, RebootIT, PostIT and SpotIT, ZoomIT sounds like part of the theme. Unfortunately it isn’t, but it is a great free tool from SysInternals.

ZoomIT is a tool that lends itself to assisting presenters by allowing them to not only zoom in on an area of the screen but also to temporarily add annotations on the screen.  The latest version (v3.03) also includes a break timer.  One thing I did find was that the instructions were hidden away and not laid out as I would have liked, so I’ve decided to put my slant on things and talk about how to use it here.

Running ZoomIT

ZoomIT is what I would describe as ‘ultra-portable’.  This is probably overstating things, but as well as being able to download it and put it on your hard drive or flash drive, SysInternals also offer an option to download and run  it directly (should your web browser allow).  It’s only really a difference between downloading a ZIP file and the EXE file, but it is a nice touch when you’re in a rush on someone else’s PC and want to grab a copy temporarily.

When you run it, ZoomIT sits in the system tray, and you can access the functionality through the system tray menu by (right or left) clicking on the icon or through hot key combinations.

Zooming

The main feature is zooming.  This is full screen mouse pointer based zooming which means that the entire screen will be used to project the zoomed area and it will be centred about the position of the mouse pointer.  To enter zoom mode you can either select it from the system tray menu or by using the hot key combination which by default is CTRL+1.

  • The scroll option on a mouse or touch pad will zoom in and out as will using the up and down arrow keys.
  • Pressing ESC or right clicking will exit zoom mode.
  • Left clicking or pressing a key that can be used in draw mode will switch to draw mode.

There’s also a live zoom feature in ZoomIT that allows the screen to be updated/ interacted with whilst zoomed.  Unfortunately this is only available on Windows Vista and later versions of Windows.  There are also a number of limitations around using other features and from the description it also sounds prone to maybe using a little bit too much memory and producing a little too much flicker.  If you want this sort of option then there are alternative pieces of software which I’ll come back to in another blog post quite soon.

Annotating

ZoomIT allows you to effectively take a snapshot of the screen and then to draw on it by using the draw mode option which is again available from the system tray icon’s menu.  As mentioned above it can also be entered by using left clicking or pressing one of the keys that is used to draw something in draw mode (more details on these below).

When in draw mode you can left click and move the pointer to draw shapes just like you might in a paint program You stay in draw mode between clicks so you can draw multiple shapes – thank fully it isn’t an Etcha Sketch.  There are a variety of standard shapes that can be drawn including straight lines, straight lines with arrow heads (the head is drawn at the starting point of the line), rectangles and ellipses.  You can also add text to the screen.

To make things even clearer draw mode provides you with some colour choices for drawing and typing and a selection of eighteen line widths for drawing.  Unfortunately the text size and font is standard, but you can set this in the ZoomIT options (again available from the system tray icon’s menu).

TIP: Before you enter text mode set the colour of your text as you can’t change it once you’re typing as you’ll just end up typing the key you pressed.  Also be careful you don’t type off the screen.

As well as drawing onto the screen you can also clear the screen and set it to a black background or a white background.  Unfortunately it really does clear the screen wiping any drawing that you have already done.  If you just want to wipe the screen clean then there’s a key for that and the standard undo option of CTRL+Z which works against an eight step history of actions.

TIP: If you’re presenting and need a bouncing red ball is to enter draw mode, set the colour to red and whack the line size up to maximum.  The resulting cursor is a perfect red ball for you to use.

Finally there’s an option to centre your cursor to the middle of the screen area being displayed.  I’m not really sure what the purpose of this is, but if you want to draw a graph I guess this is a good way to get back to an origin.

You can exit the draw mode by right clicking on the screen.  ESC is also an option but will exit zoom mode and drawing mode, so if you’re zoomed in and want to remain in zoom mode use a right click not ESC.  Should you happen to have entered text entry mode (within draw mode) pressing ESC or right clicking will only bring you out of text entry (as will left clicking) and into the standard draw mode.  A little inconsistent but easy to get used to.

A nice touch is the addition of a shortcut key to take you straight into draw mode without having to enter zoom mode (and potentially zoom out) first.  The default hot key combination for this is CTRL+2.

Screen Capture

In either the zoom or draw modes you also have the option at any point to capture the screen.  As well as offering a copy to the clipboard option there is also a save option.  The save option will save the screen as a portable network graphics (PNG) image and offers you a choice of the screen at actual size or zoomed in … even if you aren’t zoomed in but are in draw mode.  That aside this save option is much more valuable than the copy as unless I was going to crop a particular area I’d only be saving the screen shot in any case.

Break Timer

The third mode is as ever accessible from the system tray icon menu.  This is a simple count down display but with a number of options that again lend them to use in a presentation or workshop environment.

The count down timer is set from the options dialog (available from the system tray icon menu).  The countdown is specified in minutes and can range from 1 to 99 minutes (though you can enter zero manually … though I’ve no idea why you would want to).  When it runs the countdown is displayed on screen an accuracy of a second  – i.e. “mm:ss” format.

Under the advanced options you can specify a number of features such as an audio file to play when the time is up, the transparency of the timer and the background image (if any you would like it to use).  There’s also an option to choose where to display the timer on the screen based upon a 3×3 grid layout of the screen.  This means that you can choose to show the background image of the screen or use an image with some instructions on and have the timer display in a clear area of the screen.

Another option for the timer is to display the time elapsed after it has reached zero.  You should be aware that it displays this in brackets beneath the “0:00” display and it will cause the area the timer is being displayed in to expand up and down.  So if you have a carefully crafted background image be aware that it might not fit after it reaches zero if you have this option enabled.

It is also worth noting that there is not option to change the font (size, typeface, embellishments) or the colour (you can have any colour you like as long as it’s red), so you may need to account for this if you were planning on a background colour for your countdown.

It would be nice to see a few options to choose a range of preset timers (each with it’s own settings) in the future as if you are presenting and need different lengths you have to interrupt the presentation to set them, but with each revision I’m sure we’ll see the feature set around break timers improve.

Keys – Hot Keys / Short Cut Keys
So now you’ve read through the features and have some idea of how to use the application it’s time to give a bit of a summary on how to access all the functions.

  • Access Modes (Default Keys)
    • Zoom Mode = CTRL+1
    • Drawing Mode
      • Zoom = Left Click in zoom mode
      • No zoom = CTRL+2
      • Text Mode = T (when in drawing mode)
    • Break Timer = CTRL+3
  • Zoom Mode
    • Zoom In = Mouse scroll up / Up Arrow Key
    • Zoom Out = Mouse scroll down / Down Arrow Key
    • Move around = Use mouse movement to scroll screen in a direction
    • Exit Mode = Right click / ESC
    • Enter Draw Mode = Left click or press a draw mode key
  • Draw Mode
    • Centre cursor on screen = space
    • Undo = CTR+Z
    • Screenshot
      • Copy to clipboard = CTRL+C
      • Save to PNG = CTRL+S
    • Change colour
      • Red = R
      • Green = G
      • Blue = B
      • Yellow = Y
      • Pink = P
      • Orange = O
    • Clear Screen
      • Erase drawings = E
      • Erase to black screen = K
      • Erase to white screen = W
    • Draw shape
      • Line = Left click and move mouse
      • Straight Line = Hold Shift, left click and move mouse
      • Straight Arrow = Hold Shift and CTRL, left click and move mouse
      • Rectangle = Hold CTRL, left click and move mouse
      • Ellipse = Hold Tab, left click and move mouse
    • Change Line Width
      • Increase = (Left) CTRL+Up arrow / scroll-wheel up
      • Decrease = (Left) CTRL+Down arrow / scroll-wheel down
    • Enter text entry mode = T
    • Exit
      • Exit Draw Mode = Right click
      • Exit Draw (and Zoom) Mode = ESC
  • Text Mode
    • Exit Mode = Right Click / ESC
  • Break Mode
    • Exit Mode = Right click / ESC

Summary

As you’ve seen this utility has a rich feature set.  Hopefully the next version will address some of the little niggles I’ve highlighted here, but even without them being updated this is a really useful bit of freeware that I’d recommend to anyone running Windows.

h1

A portable web server where I want it

13/07/2009

I’ve been tinkering recently with some things around portable applications which I will probably post more about in the hopefully not too distant future.  One of the things I’ve been trawling around for and busily configuring are various free web server packages that are “portable”.  Unfortuately it has taken a fair bit of effort to actually track down and configure something that is portable enough.   The problem for me is that I have a particular need to locate the web server within a particular sub folder and in the case of most software packages this is not an option.

Most implementations are based around Apache (e.g. micro apache, XAMPP, TWAMP, WAMP, USB Web Server) but there are a few other options out there I also looked at  such as RITlabs TinyWeb.  Some of these experience problems when they are not installed to the root of a drive and others have a problem when the installation path contains spaces.  My desired installation path unfortunately is not in the root folder and does contain spaces which ruled out most of the options.

I found two options that did seem to cope with the path.  These were WAMP and USB Web Server.  My preference is for USB Web Server and I’ll explain why…

When installed my WAMP system tray application did not match up to the one shown on the web site.  Even though it was running, the status told me that it wasn’t and there was no option to stop/start individual applications such as Apache and MySQL.  Moreover WAMP comes as an installation package which adds an entry into the registry – at least for the add/remove software entry … which seems blatantly false for something that is supposed to be portable.

USB Web Server on the other hand does work as expected and does allow me to stop and start specific web related services and even to move it to a different folder (you have to close it in between).  The one thing I would like is to be able to specify which web services it should run at start-up.  It runs Apache, MySQL and SMTP by default, but I’d really just like to run Apache and free up my RAM without specifically having to manually turn them off.  I tried various renames of folders and changing of settings, but everything I tried either had no effect or stopped Apache running as well.  I’m guessing that there’s some sort of start-up chain at work rather than independent requests.  But maybe someone else knows what to change to address this or perhaps the developer will provide this option in a future release.

So if you want a truly portable web server try USB Web Server.

h1

AutoHotKey – Portable Drive Menu

21/02/2009

I’m a big fan of portable applications and particularly the work driven by PortableApps.com.  The PortableApps Menu has been undergoing a revamp for some time now to work towards a number of enhancements and in the mean time I’ve taken up using a branch of this known as Geek Menu.  Unfortunately they are all quite slow as I have a huge number of portable applications on my portable hard drive.

I usually have a small number of applications I use regularly and so I actually want a fast loading light menu for automatic loading and then I load Geek Menu from that should I need access to lots of applications or ones that I use infrequently.

I’ve created a basic little application menu using AutoHotKey that is driven from a simple INI file menu system (that you manually edit) to fill this need.  When run it sits in the system tray and when you click on it it displays a set of menu items (including sub menus) and executes the item associated with it using the path for it in the INI file.

The script for this is as follows:

; Copyright flagit.wordpress.com 2009
;;;;;;;;;;;;;
;MAIN SCRIPT;
;;;;;;;;;;;;;

;;;;;;;;;;;;
;Initialise;
;;;;;;;;;;;;
#Persistent
#SingleInstance

AppName = PUMAS
AppIni = %A_ScriptDir%pumas.ini
IconFile = %A_ScriptDir%pumas.ico

;;;;;;;;;;;;
;Build Menu;
;;;;;;;;;;;;
;Set-up Base Menu Settings
menu, tray, Icon, %IconFile%
menu, tray, tip, %AppName%
menu, tray, nostandard
menu, tray, add, %AppName%, Heading
menu, tray, Default, %AppName%
menu, tray, disable, %AppName%
menu, tray, click, 1
menu, tray, add ; separator

;Build the base menu
BuildMenu("Tray", AppIni)

;Exit app entry
menu, tray, add ; separator
menu, tray, add, Exit, ExitApplication
return

;;;;;;;;;;;
;FUNCTIONS;
;;;;;;;;;;;

;Recursive function to build the menu
BuildMenu(MenuSection, INIFile)
{
    ;Build menus from INI file
    Counter=1
    Loop
    {
        IniRead, MenuEntry, %INIFile%, %MenuSection%, Item%Counter%, *
        If (MenuEntry="*")
            Break
        IniRead, MenuEntryPath, %INIFile%, %MenuSection%, %MenuEntry%, *
        If (MenuEntryPath="*")
        {
            BuildMenu(MenuEntry, INIFile)
            menu, %MenuSection%, add, %MenuEntry%, :%MenuEntry%
        }
        Else
        {
            menu, %MenuSection%, add, %MenuEntry%, ExecuteItem
        }
        Counter += 1
    }
}

;;;;;;;;;;;;;;;;;
;MENU PROCESSING;
;;;;;;;;;;;;;;;;;

;The heading is disabled and simply allows the left click to produce
;the right click context menu
Heading:
menu, tray, show
return

;Open the specified path for the menu item generated from the INI file
ExecuteItem:
;Open the item specified for this in the ini file
IniRead, MenuEntryPath, %AppIni%, %A_ThisMenu%, %A_ThisMenuItem%
SplitPath, A_ScriptDir, , , , , ScriptDrive
Run, %ScriptDrive%%MenuEntryPath%
return

;Close the application
ExitApplication:
ExitApp

There are a few variables in the initialise section that specify the name of the application, the INI file that defines the menu (which is convenient to store in the same folder as the menu script/executable and the icon file for the application.

The INI file has a “Tray” section which defines the root content of the tray item’s context menu.  Each item is specified by “Item#” in numeric order.  Each item specified will either have an entry in the same section (making it an item for execution) or a section of the same name (indicating it is a sub-menu).

An example menu might look something like:


[Tray]
Item1=Utilities
Item2=Tools
Item3=Help

Help=Helppumas.chm

[Utilities]
Item1=Defrag
Item2=Format Floppy

Defrag=File HelpersUnfrag.exe
Format Floppy=batchformatFD.bat

[Tools]
Item1=Tools Guide
Item2=Mega Kit

Tools Guide=ToolsGuide.doc
Mega Kit=Toolsmegakit.exe

This produces a menu system with two sub menus (one for utilities and one for tools) each with two items and a help item on the root menu.  This configuration file specifies all paths in relation to the root of the drive it is stored on.  You can tailor this INI file to your needs and even the menu system itself by modifying the script to what you want – just recompile it with the AutoHotKey compilation tool and you’ve got it.