Photoshop offers a "mosaic" filter, but it's not very convincing as
a mosaic. It's actually a cheap pixellate filter, and lots of apps
besides Photoshop call this effect "mosaic". I call it a pale
imitation of the real thing. With that in mind, here's a closer
approximation of real mosaics. I used Photoshop for this effect;
notes for using Picture Publisher will be listed at the end.
Let's start with a simple picture:
Now use Filter > Pixelate > Crystallize with a cell size of 15:
Select All and copy this image to the clipboard. Create a new image and paste onto it. Use Filter > Stylize > Find Edges. Convert to greyscale (Mode > Grayscale) and use Image > Map > Threshold, with the threshold set to 255. Use Filter > Other > Maximum. This is your grout (the stuff between mosaic pieces):
Select All, copy to the clipboard, make a new image, and paste onto it. Paste onto it again and invert (Image > Map > Invert). Set the overlay mode to multiply and nudge it up and left one pixel each. Select All and invert. This is your shadow multiplier:
Go back to your grout picture. Select All, copy to the clipboard, make a new image, and paste onto it. Paste onto it again and invert. Set the overlay mode to multiply and nudge it down and right one pixel each. This is your highlight:
Copy your shadow onto the crystallized image, make it a new layer, and set its mode to multiply. Copy your highlight onto the crystallized image, make it a new layer, and set its mode to screen. This is your basic mosaic picture:
Use Filter > Blur > Gaussian Blur at 0.5 pixels to soften the tile edges. Then take your grout picture, paste it onto your mosaic, make it a new layer, opacity about 40% and merge mode of multiply:
The results from Picture Publisher's Crystallize effect do not work quite as well with this technique as Photoshop's, but it is adequate. However, PP does not have the Maximum filter, so instead you will have to use a Gaussian Blur of low strength, followed by a Threshold; adjust the threshold level to get your desired grout width. (Speaking of Threshold, a level of 255 in PS equates to 1% in PP.)
Since Picture Publisher pastes images as floating objects (like Photoshop layers) by default, you will need to remember to Combine All Objects With Base before the final invert of your shadow multiplier, and before copying your highlight to the clipboard.
If you reproduce this effect on a large, high-resolution image, you will obviously need to increase the cell size on the initial Crystallize filter. However, you'll want to increase your grout width and highlight/shadow width, too. To increase the grout width, skip the Maximum filter or replace it with a Minimum filter. To increase the highlight/shadow width, increase the amount of nudging used.