The "What's New in 8.5 and 8.5.1" help doc indicates that you can also add a website as a search bar engine just as easily as a Notes view:
I looked and I looked, but I couldn't find the Widget option to do that. My wife says that I can't find things even when they're sitting right in front of me, so honestly the option might be there in a very obvious place and I simply didn't see it. However, since I couldn't see how to do it, I decided to write a plugin to add a website search for me. Here's what it looks like:
When you do a search with it, it will search the following sites simultaneously:
Here's a short demo video to give you an idea of what I'm talking about, if none of that made any sense. I made that Camtasia video before I added Chris' blogger search engine, but you'll get the gist.
If you want to download this plugin and use it yourself, just go to the SNAPPS Widget Catalog, click the "LDD Web Search" option, and follow the instructions. It installs just like any other widget, but you won't see anything new in your sidebar after you install, just a new option in the search bar. And you'll have to restart the Notes client after install too (sorry, not my fault).
Anyway, after I set up the router and the 11 wireless devices around my house, everything was working great. Fast connection speeds, excellent range and signal strength, and even large file downloads seemed just a little faster.
The only problem was my Aastra 57i VOIP phone -- it wasn't working. I could see other people's extensions lighting up when they were on the phone, and I wasn't getting the "No Service" notification or anything, but I couldn't make outbound calls, internal or external. It would just wait a few seconds and then I'd get a fast busy signal and a "Call Failed" message. Here's how I had it set up on the router:
Based on how I had the old D-Link router set up, that should have been all I had to do. The D-Link had a "Virtual Server" setting I had to use, and this seemed equivalent. But it didn't work, no matter how many times I restarted everything.
Then I found a seemingly unrelated post on the Buffalo Technology forum that dealt with VPN problems on a Mac, with the solution being to adjust the MTU to a value of 1492. I really didn't think that would have anything to do with my problem at first, but then I remembered reading about UDP fragmentation problems affecting SIP. And frankly, it was something I hadn't tried yet, so I gave it a shot.
It worked! That fixed the problem. The default MTU value was 1500, but knocking it down to 1492 did the trick.
Another nice feature of the Buffalo router is that it has customizable QoS settings, so I have the VOIP traffic marked as high priority and everything else defaults to medium. It'll be interesting to see if my call quality/reliability improves.
Reading outside
As you might have heard (or surmised), the shiny backlit iPad screen does not perform anywhere near as well as the Kindle e-ink screen in bright sunlight. Here's a picture I shot yesterday at 1:00 in the afternoon in the brightest sunlight I could find:

Not only can you barely even tell that the iPad is on, but you can see the glare from me taking a picture. So if you're considering both devices and you read outside a lot, go no further. Your decision has been made. However...
Reading inside
...I do pretty close to 100% of my reading inside -- sofa, bed, hotel, airplane, etc. For me, the outdoor reading thing is not even an issue. And don't confuse "outside" with "natural light" either. On Sunday I was reading on my iPad on an airplane at noon with all the windows open and cabin lights on, no problem.
There's a concern about the iPad causing more eye strain because of the backlit screen, but honestly I haven't noticed it. I've only read one full book so far though, so maybe it's a delayed effect? I don't know.
In low-light or no-light situations, the backlight is an obvious bonus for the iPad. In fact, you can adjust screen brightness on both the iBooks app and the Kindle app for iPad, and the Kindle app even lets you switch to white text on black background (or brown text on sepia, which seems kind of muddy/dirty to me). Granted, I could also spend $5 on a portable LED book light for my Kindle, so that might not be a huge issue either.
Screen size
I thought that the larger iPad screen would be more of a big deal to me than it actually is. Turns out that I'm pretty neutral on the screen size difference between Kindle and iPad. I've never had a problem with "pace" on my Kindle (turning pages too often), so the size difference really didn't matter.
Weight
I also thought that the heavier weight of the iPad would bother me, but it doesn't. At least, not after I got the iPad cover. Holding the iPad for reading in its "bare" form was much less comfortable than holding it with the cover for some reason. I have no idea why. In any case, both the Kindle and the iPad are equally easy to hold and use.
Battery life
My Kindle can go for many weeks without requiring a charge, as long as I keep the wireless turned off. While the iPad battery won't last nearly that long, it has a pretty considerable battery life too, at least long enough that it's not really an issue.
Controls
The demonstrations of book-reading on an iPad always show someone swiping the screen from right-to-left to turn a page. While this makes for a cool demo, it seemed to me to be a very jarring way to read an e-book. Kind of like that old OK/Cancel cartoon about Minority Report and how the stand-up-full-arm-swipe computer interface in the movie looks really cool but would be completely exhausting after 5 minutes.
Luckily, both the iBooks app and the Kindle app on iPad allow you to simply tap the left or right edge of the screen to turn to the next or previous page. This is very simple and satisfying, but it's also actually a situation where the physical Kindle device is a little better for me. You see, I spend most of my time reading with the book straight ahead of me, but sometimes I like to roll onto my side and lay the book down, which effectively gives me only one arm/hand to use for page turning (the other one is supporting me or tucked under my head). With a Kindle, it doesn't matter which arm is free because there's a "Next" button on both the left and the right sides of the device. As far as I can tell, with my iPad I have to either tap the right side of my screen or do a quick mini-swipe on the left side to go to the next page. If I only have my left hand free, the left-side-mini-swipe motion often gets interpreted as a "previous page" tap, which is annoying.
Of course, maybe I could build an iPad-equivalent of the xkcd Kindle stand and solve the problem myself. Or maybe a future version of the iBooks/Kindle app on the iPad will have a left-side "Next" button, so this will be fixed with a software upgrade, kinda like the brakes on a Toyota.
iBooks versus Kindle app
I've also been testing the iBooks app versus the Kindle app on the iPad:

The two apps are essentially equivalent in terms of usability and features -- you can adjust fonts, change screen brightness, etc. The screenshots above look a little blurry because I resized them down, but the text and fonts are quite readable. The iBooks app does have one feature that I've been wanting on my Kindle since the day I bought it though: number of pages until the end of a chapter:

Again, that might be something that the Kindle app gets in an update, but in terms of physical devices that's a nice thing that the iPad has that the Kindle doesn't.
The iBookstore also has the same "Sample a book" feature that Amazon does, so you can download the first chapter or so of a book for free to see if you like it. However, iBooks currently has a much more direct interface with the iBookstore than the Kindle app has with Amazon -- in fact, you currently have to use Safari to find and buy a book for the Kindle app and then switch back to the app to download it -- but that's another thing that might change with a software upgrade later on.
The price of books
The last thing I'll discuss is the price of books. Earlier in the year there was a lot of speculation that eBook prices were going to go up, and that does seem to have happened. Going through my Kindle purchases of the last year or so and comparing the price I paid to the current Amazon list price, maybe around 1/4 to 1/2 of the books I bought have gone up. Mostly it was books I paid $6.39 for that have gone up to $7.99 to match the paperback price. There are also a lot of ebooks selling for more than $9.99 now, which I don't remember seeing at all last year other than a few specialty books.
In terms of iBookstore price versus Amazon price, I think the story is that I'll have to shop both stores. Ars technica talked about "agency pricing" and how that affects prices in both places (and on other readers like Sony and Nook), so I'd guess that best-sellers will probably mostly be the same. Older books are still a toss-up as I've been looking for titles though. For example, right now "Atlas Shrugged" sells for $9.99 as a Kindle book, but it's a whopping $27.99 in the iBookstore. Not sure who's setting the prices there.
Both bookstores have an equivalent selection of free Project Gutenberg books too, if you're into those.
Also, please refrain from sending me e-mails or leaving comments or otherwise carrying on about DRM and "book lending" and whatnot. That's not what we're talking about here. You can have that discussion somewhere else.
Conclusion(?)
I still have no conclusion, I suppose. I like my Kindle and I like my iPad. The iPad is slightly more satisfying to read with right now, but that could be a reality-distortion thing caused by having a shiny new device.
I'll probably be much more likely to buy books from Amazon than from the iBookstore simply because I can sync pages between the Kindle device, the Kindle app on my iPad, and the Kindle app on my iPhone, so I can always read with whatever device is handy. When I travel, I'll probably leave the Kindle at home and read on my iPad just so I have one less device to carry. Around the house? It'll be a toss up. I haven't decided yet, and in some ways I don't really have to. I can use whatever's handy.
I'll tell stories later (perhaps) -- suffice to say that I highly recommend going there for vacation if you're American, because everything's in English and you pay in dollars and you drive on the right-hand side of the road and stuff. Europeans might even enjoy it too! Who knows.
But the real point of this blog entry is: pictures. I'm not a great photographer. I can occasionally take a decent photo, but it's entirely based on the infinite-number-of-monkeys-with-cameras theory of photography. If I take enough pictures, eventually I'll have a few good ones by sheer chance. Here are a few of the many I took last week (click for slightly larger versions):
![]() |
![]() |
![]() |
![]() |
![]() |
What would really help me out is to read things like the BBC outdoor photography masterclass series and study up on picture composition and how to use a camera, and maybe even buy a nice digital SLR or something. That's all a time and money problem though, and there's a talent aspect too, so in the meantime I'll just try to snap a lot of pics.
In any case, I've been playing with a couple of interesting photography tools recently, and I'll at least share my novice opinion on those with you.
The first is TiltShift Generator for iPhone, which creates an interesting "miniature" effect on pictures you've taken with the iPhone. There's also an online Flash version and an Adobe AIR version you can play with from your desktop computer. That created some fun pictures, although the resolution on my 1st-gen iPhone is low enough that the resulting pictures didn't render as well as I'd like on a non-iPhone display. As always, the examples on the application's website are better than mine. My examples:
![]() |
![]() |
![]() |
![]() |
So that's the first one. Fun little app, even if it is kind of a one trick pony. The second tool is the Hugin photo stitcher, a multi-platform, multi-language, open-source panoramic photo stitching tool that's so easy even I can use it. Here's a landscape view of the Bushiribana Ruins, from three pictures stitched together, as an example:
I mostly followed the LifeHacker instructions for using the software, although those were for a slightly older program interface. It was pretty straightforward to use though. The only thing I had to play with a little was the exposure settings, because at the "low exposure" setting the bright section of the sky got pretty purple. The horizon line also has a little bit of curvature, but I think there might be a setting for that too. Or, that could all be fixed with other photo software once the stitching is done.
In conjunction with Chris Miller's new "Consultant In Your Pocket" webinar series, I will be hosting a free webinar later this week called Getting Started with iPhone Development: First Steps. It's this Thursday at 11:00am EST, and you can go here to register: http://bit.ly/CIYPSeries3a.
Should be pretty fun. It's only 30 minutes (with an additional 15 minutes at the end for Q&A), and it covers what you need to know about getting started with iPhone development -- toolkits, languages, considerations, etc. It's not a "You'll walk away with total knowledge of how to create an iPhone app that will take over the world!" kind of stuff, more along the lines of "Here's what you need to look at to get started."
If you want to get more hands-on with the technology, there are still some spaces left for the one-day iPhone developer training seminar at SNAPPS HQ on April 16th.
He also mentioned that there is sample code for Windows and Linux, but none for Mac (at the moment). This reminded me of some code that Bill Buchan published a while back.
Bill has done a lot of work with not only calling the C-API using LotusScript, but also with working around platform differences when making the API calls. Here's an excellent presentation Bill made a few years ago that outlines some of the considerations you need to make when writing multi-platform API code.
Around that time, he also published an open-source LS2CAPI database with some remarkable code that hides all the platform differences using wrapper classes, so you can just define your API functions once and let the classes manage the platform dependencies in the background. As an example, I wrote a wrapper class around Bill's wrapper class that allows you to make calls like this:
Dim apiNotesDir As New simpleApiWrapper("OSGetExecutableDirectory")
Call apiNotesDir.addParam("PathName", type_STRING, False, "")
Call apiNotesDir.setReturnType(type_WORD)
If apiNotesDir.run() Then
Print "Exe Path = " & apiNotesDir.getParamValue("PathName")
End If
I know that this might look like more work rather than less, but in a lot of ways it really makes your cross-platform C-API code much easier to manage. It's worth taking a little time to get your head around it.
SnappFiles -- the Lotus Quickr file viewer for iPhone -- has now been updated to version 1.0.3 on the App Store. Features and improvements since the original 1.0 release include:
While I personally like the download counter the best (so I know if I'm almost done with a large file download on a slow network, or if I should give up), I think the ECM support is probably the most interesting.
Here's what IBM has done. For the Content Manager and FileNet P8 products, IBM has created "Services for Lotus Quickr" components that make these ECM systems accessible as repositories for Quickr 8.1.1. Because of the way they've implemented the services, these components ALSO make CM8 and FileNet accessible to lightweight end-user clients like the Quickr Connectors and SnappFiles, even if Quickr is not the front-end. You can talk directly to the "Services for Lotus Quickr" layer and access the ECM system.
As announced at Lotusphere, there is also an equivalent connector for Alfresco's open-source ECM. Works the same way: install the services and access Alfresco directly from the Connectors. Or, now, your iPhone.
If you've already installed SnappFiles, go the App Store and grab your update; otherwise you can just download it fresh and start using it. Either way it's still free.
It may come as a surprise to some of you that my coffee pot at home is not always sparkling clean. I have a Cuisinart 12-cup coffee maker that brews directly into a stainless steel carafe. This very conveniently produces a pot of coffee that stays warm almost all morning without getting "burned" by a heating element underneath the pot. It is also almost impossible to clean because the neck of the carafe is very narrow and the stainless steel isn't as stainless as one might hope.
So, to clean this thing, we've tried all sorts of soap-and-scrubber methods, vinegar and baking soda solutions, and my wife even took out the steamer this past weekend to blast the coffee stains off the inside of the pot. Still stained.
Finally, I did what I should have done in the first place: search the Internet. The answer was amazingly simple:
Voila, a sparkling clean coffee pot, no scrubbing required.
As a summary (i.e. -- something you can copy-and-paste for your boss), here are the salient details:
Also, I should have my iPad by then, so we'll talk about that too. ;-)
As Rob mentioned last week, people have been asking for a while if SNAPPS offers focused hands-on training, and we finally decided after Lotusphere this year to clear some time out of the project schedules and give it a try.
Earlier that same week, Viktor, Troy, and Jerald will also be heading up a three-day workshop-style Lotus Quickr Development Bootcamp to give developers a solid understanding of how Lotus Quickr works and how to write (and maintain) Quickr applications. If you're evaluating Lotus Quickr or if you need to understand how it works, this workshop is a fantastic place to get a solid technical overview. As of today there are only 9 seats left for that one, and the early pricing for both ends next Monday. So go bug the boss!
There's all sorts of interesting code scattered throughout The Great Code Giveaway database from this year's Lotusphere. Here's one snippet that's useful for people who do a lot of programming for the Lotus Notes client: multi-platform (Windows/Mac/Linux) code to launch a file using the user's default program for opening that file type:
Option Public
Option Explicit
Uselsx "*javacon"
Sub Initialize
Dim workspace As New NotesUIWorkspace
Dim response As Variant
Dim fileName As String
response = workspace.SaveFileDialog(False, _
"File name", "All Files|*.*", "", "")
If Not Isempty (response) Then
fileName = response(0)
Dim jSession As JavaSession
Dim jClass As JavaClass
Dim jMethod As JavaMethod
Set jSession = New JavaSession()
Set jClass = jSession.GetClass("org/eclipse/swt/program/Program")
Set jMethod = jClass.GetMethod("launch","(Ljava/lang/String;)Z")
Call jMethod.Invoke(, fileName)
End If
End Sub
I realize that there are Windows API calls to do the same thing but, you know, I have a Mac, and no matter how hard I try I can't get those pesky Windows API calls to work on my Mac.
I've tested this (lightly) on Notes 8 and 8.5. No idea if it works on pre-8 versions of the client -- LS2J functionality has been available since v6.5 but I don't know how long org.eclipse.swt.program.Program has been there.
For reasons that would be too boring to explain, I was installing Domino on a CentOS 4.x server rather than a 5.x server (CentOS 5.x being a pseudo-supported version, since RHEL 5.x is supported). This naturally caused problems. For the sake of Google searchers who might have some of the same problems I did, I documented the issues I had installing Domino on Linux, including a happy ending in which the installation was successful.
Late last week, we got notice that my pet iPhone project (SnappFiles) got approved for download on the Apple App Store. Yay! We got hundreds of downloads in the first 48 hours and some great feedback so far.
What is this SnappFiles thing? It's a way of accessing your Lotus Quickr files from an iPhone or iPod Touch (or, in a few months, your new iPad). Works with Quickr 8.0 and higher, both the Domino and the Websphere versions. It uses the native iPhone viewers to display files, so any file format the iPhone can natively view can be used to open a Quickr file.
For a general description of what the app does, Rob Novak -- owner and intergalactic leader of SNAPPS, aka "my boss" -- did an excellent overview on the day it was released, and Paul Mooney has a nice writeup with lots of screenshots. I also put a short demo video up on YouTube, if you're a visual learner:
A few common questions we've received in the past several days:
One of the things that took a really long time was getting the 11 minute video of how to create a native iPhone app to an acceptably quality for viewing. The video I played during the session was over 3 GB in size (super high-def to get the best quality on the big screen in the session room). I obviously couldn't and didn't want to upload such a giant video to Vimeo, partially because it was too darn big, and partially because Vimeo was going to scale it down after it was uploaded anyway, so you automatically lose quality. Here are the settings I ended up using:
That produced a 231 MB file, and it looked good enough for me after upload and processing. I'm actually not crazy about the audio quality (too much sibilance, I also have several vocal tics that would have been good to edit out), but after messing with the video settings and waiting 2 hours for each new output file and many more hours for each upload, I finally just called it "done".
First, I'm going to do a writeup of the conference after it's over. There have been some interesting announcements this week -- I'm sure you've read about them on many of the other blogs on PlanetLotus, so it's not like you're missing the whole confence just 'cause I'm not blogging it. However, I was lucky enough to be in the blogger program again this year, which has given me some access to people and information that might make for a few interesting comments when I get to do my writeup.
Second, me and Bruce have recorded two Taking Notes Podcasts already during the conference, and we'll be doing at least one more before we go home. Take a listen to those to hear some of my current thoughts on the conference.
Third, I presented my iPhone development session this morning and there are a couple things to mention as far as that goes:
Finally, speaking of sessions, here are the two sessions I'm giving tomorrow (Thursday):
I think there's a shortcut between Y&B and Dolphin if you go over the parking lot and through the woods, but that's not clear on this picture. You can probably figure it out with a Google satellite map of the Dolphin though.