PDFpen for iPad Wins Awards at Macworld | iWorld 2012

February 6th, 2012 by Greg

Smile introduced PDFpen for iPad to critical acclaim at Macworld | iWorld 2012.

We received three awards:

Here’s the Smile team at one of our booths with our awards:

Macworld2012Team

(From left to right: Éric, Philip, Jean, Angel, Maia, Greg, Edward, Brian, and Colin.)

Thanks to everyone who dropped by for making this a great show!

Macworld: Meet the Podcasters at Smile

January 12th, 2012 by Jean

It’s that time of year again. Smile will be at Macworld|iWorld this year. You’ll find us in the OS X Developer Zone (#201) and in the Mobile Applications Showcase (#818), where we’ll be showing off our iOS products.

We are also happy to announce that the popular “Meet the Podcasters” is back.  Each day at 3 p.m., we’ll host some of your favorite podcasters at the Smile kiosk in #201. The podcasters will be there to meet listeners and answer questions.

Thursday, January 26, 3 p.m. – 4 p.m.
Dave Hamilton & John F. Braun
Mac Geek Gab

Friday, January 27, 3 p.m. – 4 p.m.
Adam Christianson
The MacCast

Saturday, January 28, 3 p.m. – 4 p.m.
Katie Floyd & David Sparks
Mac Power Users

Smile is proud to be a sponsor of these great podcasts. Come on by just to say “hi” or chat about the Mac, iPhone and iPad. These are the experts!

(Photos, l-to-r: Dave Hamilton, John F. Braun, Adam Christianson, Katie Floyd, David Sparks)

 

Apps for Water: Developers Support charity:water

December 20th, 2011 by Jean

Apps for Water

Smile is participating in the Apps for Water fundraiser for charity:water. All the developers will donate their revenue from app sales on December 20, 2011.

charity: water is a non-profit organization that brings clean and safe drinking water to people in developing nations. 100% of public donations directly fund water projects.

We really appreciate Gaucho Software‘s Mike Piatek-Jimenez, who did all the hard work of putting this project together. We’ve done a special discount of 20% on our Mac apps to encourage you to buy great software and support a very worthwhile cause at the same time.

And if you already own PDFpen, TextExpander and DiscLabel, check out the other great software that is available, or consider giving gift licenses to your favorite Mac users.

 

Random TextExpander Snippets Made Easy

December 3rd, 2011 by Greg

We regularly get requests for a way to choose a random snippet from among a set of snippets. To date, we’ve pointed folks to this technique:

http://nerdgap.com/how-to-randomly-selected-snippets-in-textexpander/

Now that TextExpander itself is AppleScriptable (as of version 3.3), there’s an easier and more flexible way to do this:

  1. Choose File -> New Group
  2. Name the new group Random
  3. Add snippets that you’d like to be chosen at random into the Random group. You can drag existing snippets from other groups into Random, or you can create snippets expressly for use in Random.
    Tip: if you are creating new snippets for use only as random snippets, you can save time and work by not assigning abbreviations to these snippets.
  4. Make a new snippet in a group other than the Random group
  5. Set the Content: of the new snippet to AppleScript
  6. Enter this for the snippet:
    tell application "TextExpander"
    	set groupCount to count (snippets of group "Random")
    	set randomIndex to random number from 1 to groupCount
    	return plain text expansion of ¬
    		snippet randomIndex of group "Random"
    end tell
  7. Set an abbreviation for this new snippet, for example: rrand

Any time you type rrand, you’ll get a random selection from among the snippets in your Random group.

The advantages of this technique over the one linked above are:

  • You need not know the abbreviations for all of the snippets in advance
  • You can add to and remove from your Random group without changing anything

(Thanks to Sheree Peña of Black Pixel for the inspiration for this post.)

TextExpander 3.3.4 and Japanese, Chinese, etc. Input Methods

October 25th, 2011 by Greg

One of the changes we made in TextExpander version 3.3.4 was to stop expansion and capitalization correction when using input methods which combine keystrokes. Several of our users told us that having TextExpander active while they were typing into Japanese or Chinese input methods caused problems because capitalization and/or snippet expansion would interfere with the construction of multi-keystroke characters. Based on user feedback, we made TextExpander 3.3.4 detect the “primary language” of the current input method and ignore anything typed in Japanese, Chinese, Arabic, Sanskrit, or Hindi.

Now, we are hearing from other TextExpander users who found it useful to expand snippets while typing in these input methods.

Perhaps we should have disabled only capitalization correction for these input methods. Users who found snippet expansion troublesome might have to find better abbreviations for their snippets. If you have any strong feelings or suggestions for solutions, let us know at support@smilesoftware.com.

TextExpander v. 3.3.4 and above has a setting which can restore expansion and capitalization correction for any language where it is currently disabled. TEIMPrefSetter can be used to change that setting:

Download TEIMPrefsetter

Here is how to use TEIMPrefSetter:

  1. Quit TextExpander
  2. Launch TEIMPrefSetter
  3. The list contains languages where TextExpander will _not_ expand. Select the language(s) that you want to expand in.
  4. Click the ‘-’ button to remove that language(s) from the list
  5. Click the “Save” button to save your changes
  6. Quit TEIMPrefSetter
  7. Launch TextExpander

Again, if you have comments or feedback, please let us know.

Fix Dock Hiding for TextExpander 3.3 on the Mac App Store

May 12th, 2011 by Greg

If you prefer to hide the TextExpander icon in the Dock, then you ran into trouble when you updated TextExpander to version 3.3 on the Mac App Store. We’re sorry for the trouble. We made a mistake by checking the wrong box when updating TextExpander’s version number for the Mac App Store. Fortunately, this mistake is easy to correct. Here’s how:

  • Quit TextExpander if it is running.
  • Download the “Fix TextExpander 3.3.zip” file.
  • Double-click to expand the file to “Fix TextExpander 3.3.scpt”
  • Double-click “Fix TextExpander 3.3.scpt” to load it into AppleScript Editor
  • Press Run
  • After the script completes, launch TextExpander (and quit AppleScript Editor)

Our apologies for the inconvenience. This will be fixed in our next update.

Note: After running this script, it may appear that TextExpander is not installed in the Purchased section of the App Store application. If you Install at the next update, that will no longer be an issue.

Update, 5/20/2011: An update with the fix is now available on the Mac App Store. Thanks for your patience.

AppleScript and Shell Script Snippet Issues in TextExpander 3.3

April 25th, 2011 by Jean

A couple of unfortunate issues have cropped up in the recently-released TextExpander 3.3. We wanted to make you aware of them and offer workarounds.

AppleScript Snippets
If you create a new snippet and set it to AppleScript, TextExpander 3.3 still treats the new snippet as a text snippet. When you expand it, the result will be the content of the AppleScript, not the script results. Any AppleScript snippets you created in earlier versions are still treated as AppleScript snippets.

As a workaround, you can duplicate an existing AppleScript snippet and then edit its contents.

Apple Script and Shell Script Snippets and “%”
This issue with shell script and AppleScript snippets involves the % (percent) symbol. TextExpander has always used % to delimit macros. In a script snippet,  TextExpander 3.3 is treating the % as a macro delimiter, which allows you to embed snippets within script snippet source code, but this has the unfortunate side effect of misinterpreting occurrences of ‘%’ as a character.

One workaround is to use 2 percentage signs (%%) to “escape” the % character (TextExpander power user @drdrang posted more about this on his blog), but this is inconvenient and does not work if the script snippet itself is embedded within another snippet.

If you use script snippets a good deal, you may want to consider reverting back to TextExpander 3.2.4. We do apologize for the aggravation and we hope to release a fix shortly in TextExpander 3.3.1.

AppleScripting TextExpander

April 19th, 2011 by Greg

TextExpander version 3.3 [download] introduces AppleScript support, primarily oriented toward automating snippet and group management. TextExpander includes AppleScript support for:

  • creating and deleting groups
  • editing group properties
  • creating and deleting snippets
  • editing snippet properties
  • adding (importing) groups from files or from URLs
  • enabling/disabling expansion

These capabilities should be broad enough to allow for some interesting scripts to be created. As you develop scripts, you may encounter some limitations. Your feedback will help determine future expansion of TextExpander’s AppleScript vocabulary.

Here are a couple of sample scripts to get you started. The first one creates a new group and then creates two snippets within it:

tell application “TextExpander”

–– create a new group

make new group with properties {name:”My New Script Group”}

set newGroup to the result

tell newGroup

–– create a snippet, then set the major properties one by one

make new snippet

set newSnippet to the result

set the abbreviation of newSnippet to “tastytreat”

set the plain text expansion of newSnippet to “Toasted marshmallows are a tasty treat”

set the label of newSnippet to “Snippet from AppleScript”

–– create a snippet, setting properties immediately

make new snippet with properties {label:”Second Scripted Snippet”, abbreviation:”scrptwo”, plain text expansion:”Eat Two Marshmallows”}

set secondSnippet to the result

end tell

end tell

The second script checks for the existence of a URL-based group. If no such group is found, that URL is imported:

–– This script checks to make sure that a group based on a particular URL is present.

–– If not, it imports that group

set success to false

set groupURL to (“http://www.smilesoftware.com/te/example.textexpander” as text)

–– note coercion above: TE group source is type text, not URL

tell application “TextExpander”

set sourceList to the source of every group

if sourceList contains groupURL then

–– the desired group is already present

set success to true

else

set newGroup to import URL group using URL groupURL

–– the returned group is a placeholder for URL contents, which are downloaded asynchronously

repeat with i from 1 to 10

delay 1 –– allow some time for download, then poll the group placeholder

tell newGroup

–– find the number of snippets in the group

–– unless the group is supposed to be empty, zero snippets indicates download failure

count snippets

set snipCount to the result

if snipCount is not equal to 0 then

set success to true

exit repeat

end if

end tell

end repeat

end if

end tell

if not success then

beep –– real error handling goes here

end if

 

Again, we welcome your feedback on TextExpander’s new AppleScript capabilities.

Automate HTML to PDF with PDFpenPro 5.2.3

April 12th, 2011 by Greg

We’ve been listening to your requests, PDFpenPro users! PDFpenPro 5.2.3 can now automate the creation of PDFs from web pages via AppleScript. Here’s an example:

tell application “PDFpenPro”

activate

set theDoc to make new document with data “http://smilesoftware.com” with properties {levels:2, top margin:36, bottom margin:36, right margin:36, left margin:36, follow:server, maximum pages:100}

end tell

The return value is the created document.

You’ll find additional information on converting HTML to PDF with PDFpenPro in the PDFpenPro help.

You can upgrade from PDFpen to PDFpenPro for US $40. In addition to being able to convert websites to multi-page PDFs, you’ll also be able to create cross-platform fillable forms and to construct document table of contents with PDFpenPro.

 

Virtual Keyboards and TextExpander

March 29th, 2011 by Jean

Virtual keyboards are on-screen representations of a keyboard which allow you to enter characters by clicking the mouse or other pointing device. That is, you move the mouse to the part of the screen where the ‘v’ key is, click the mouse, and a ‘v’ appears in your text document. (Note: there are other types of virtual keyboards in addition to the on-screen, mouse-driven variety, but this post does not cover them.) One reason to use a virtual keyboard is if you have trouble typing on a physical keyboard.

Mac Keyboard Viewer

Mac OS X built-in Keyboard Viewer

TextExpander has some issues with virtual keyboards. When you click the mouse, TextExpander assumes that you are moving the text insertion point within a document, selecting a range of text, changing to a different window or text area, or performing some kind of formatting or other command. Thus, when you click the mouse, TextExpander clears the buffer of typed characters it maintains to track when you type a snippet abbreviation.

For example, with the ‘ddate’ snippet, when you click the ‘d’ key on the virtual keyboard the first time, TextExpander clears the buffer because the mouse was clicked, then notices that a ‘d’ has been typed. When you click the ‘d’ key the second time, TextExpander again clears the buffer, then stores the ‘d’. The snippet never expands because TextExpander keeps clearing its buffer, never tracking more than one character at a time.

TextExpander version 3.1 fixed this problem by adding support for typing with the system’s built-in Keyboard Viewer and for Corallo Software’s VirtualKeyboard application. TextExpander 3.2.4 adds support for AssistiveWare’s KeyStrokes application.

If there is another virtual keyboard program that you are using, there is a “hidden” setting in TextExpander that will allow you to use it before support is “built-in” to TextExpander. Just contact support@smilesoftware.com for details.