Tim.Tripcony@lotus911.com
Blog Tags
|
Tim TripconyTim.Tripcony@lotus911.com
A pre-Sphere tease from Nathan showed a glimpse of what he's been chipping away at for a while: an upcoming product from Lotus 911 called Carousel. It's an Eclipse component that, when included in a composite application, allows you to browse Notes/Domino data like you might browse your music library in iTunes. A few (quite a few, actually) lucky folks got to see this up close at our booth last week. The example included here (and in Nathan's tease) shows just one use for this: browsing an address book. But the demos that wowed booth visitors also included an augmented bookmarks database (allowing you to navigate your bookmarks via screenshots of each application's user interface) and - my favorite - integration of Carousel into a report database. In the latter example, Carousel is actually downloading a Google Charts URL, allowing report data to be browsed visually without actually storing the charts in the database itself. Pretty amazing stuff.
(cross-posted from TimTripcony.com)
Tim TripconyTim.Tripcony@lotus911.com
An announcement during Lotusphere that grabbed some media attention but didn't seem to even get mentioned at Lotusphere is that Red Hat is now offering a version of RHEL client and server that comes bundled with Notes and Domino, respectively. Our general manager is quoted in the BusinessWire press release, but it doesn't make it clear what (for us, at least) is so exciting about this: if you want to try this out but aren't comfortable flying solo on the initial setup, you call them and they send us. That's right: we'll come install the whole package for (and with) you to get you up and running. I'm a bit fuzzy on the exact details, to be honest, but if this sounds tempting to you, send an email to services@lotus911.com and we'll get you the whole scoop.
(cross-posted from TimTripcony.com)
Tim TripconyTim.Tripcony@lotus911.com
Rocky submitted an idea requesting that IBM finish the job of DXL completeness and round-trip fidelity. For what it's worth, I was the one who asked for that at "Ask the Developers". It was cool to see Bob Balaban support us on this, both by standing and joining the applause when I asked the question, and by publicly asking his boss to give him the resources to make this happen. Since IBM watches ideaJam as one way of measuring community support for feature requests, go promote Rocky's idea if you haven't already. For bonus points, leave a comment explaining why you support this; the current weighting system takes both net promotion count and number/age of comments into account when determining popularity of ideas, so the more comments and votes it receives, the longer it will retain its current status of top idea.
For the longer term, I created a BleedYellow community called "DXL Fanatics" and will occasionally be posting bookmarks of interest as I find them. Please join if the community name aptly describes you. I suspect it'll start out as something of a "support group", but as (not if... I'm opting for optimism) IBM continues to mature this API, perhaps this will be a gathering place for some exciting innovation.
(cross-posted from TimTripcony.com)
Tim TripconyTim.Tripcony@lotus911.com
Now that I've been back a couple days, I thought it'd be fun to look back on the highlights of my first Lotusphere.
- Meeting for the first time some of the coolest people in our community:
Thomas Bahn, Bob Balaban, Chris Blatnick, Ed Brill, Bill Buchan, Chris Byrne, Mitch Cohen, Duffbert, Bruce Elgort, Adam Gartenberg, Andre Guirard, John Head, Mikkel Heisterberg, Theo Heselmans, Bernd Hort, Ben Langinrichs, Alan Lepofsky, Rob McDonagh, Paul Mooney, Rocky Oliver, Kevin Pettitt, Andrew Pollack, Phil Randolph, Jack Ratcliff, Mary Beth Raven, Julian Robichaux, Charles Robinson, Greyhawk, Rich Schwarz, Declan and Terri Sciolla-Lynch, Chris Toohey, jonvon, Martin Vereecken, Rich Waters, Stephan Wissel
You know, just to name a few. - Getting to spend some time catching up with some clients and former coworkers, one of whom I hadn't met before (long story).
- Attending some very innovative and enlightening sessions
- Being occasionally treated like a miniature rockstar at Kimono's,
in the hallways, at our product showcase booth, and even a couple
sessions
- Waking up on Tuesday morning unable to swallow... still haven't
figured out why (allergic reaction, spraining my tongue during karaoke,
who knows?). That might not seem like a highlight, but once I got over
how weird it was, it was ridiculously funny.
- The response to all of the many announcements made by my employer
before and during the conference (I'll be doing a series of posts this
week outlining my personal take on the significance of each of these)
- Acting as courier for Bob Balaban (he gave me a rubber chicken to deliver to Nathan... no, I still don't know why)
- An 8 hour (no exaggeration) conversation with Chris Toohey (he now
knows me better than most people I've known for years... sorry, Chris)
- Learning how to make my own Easy Cheese with nitrous oxide
And a couple of classic quotes:
- Bill - "These guys may be bleeding yellow, but I am sweating whiskey."
- Declan - "They're all after me lucky charms." (I was wearing a Lucky Charms hat at ESPN the night we arrived... he kept trying to steal it)
- Julian - "Ernie is the orange one, BIRT does the charts."
- My favorite: Mary Beth
- "I was talking to your boss last night, and he told me, 'I have some
really bright people... I'm just not so sure that they're sane'."
(cross-posted from TimTripcony.com)
Tim TripconyTim.Tripcony@lotus911.com
I have seen the future... and it is
awesome.
I've never been more thrilled to be
proven
wrong. Based on everything that
I witnessed over the past week (enumerated in exquisite detail elsewhere),
I feel confident in asserting that, if Domino developers were ever an afterthought,
we're not any more.
Several folks I discussed this with
over the last couple days have complained that it's still not enough; "too
little, too late", and so on. I can respect that. They certainly made
some valid points during those dicussions. But my primary concerns have
been definitively addressed:
- I saw several ways in which IBM will
be shielding the average developer from some behind-the-scenes complexity.
For example, the fancy new "xPage" elements coming in 8.5 include
the ability to make various controls Ajaxy with a simple checkbox... and
specify what data will be retrieved via Formula. Not the relative path
of an agent or servlet, not a JSON object... friggin' Formula, man. Doesn't
get much easier than that. Widgets and Live Text are going to give us some
additional capabilities that will likely be a bit trickier to implement,
but not to the point that they won't be worth digging into. I think my
only criticism is that typeahead for custom LotusScript classes is still
"on the radar"... but, hey, I'll live. We're headed in the right
direction, and I trust the momentum will continue to take us in that direction
in the long term.
- Domino is finally going to be a first
class web server again. But they're not locking us into Dojo. They'd already
promised they wouldn't, but hadn't gone into much (yeah, okay, any) detail
about how exactly we could leverage the same model they're taking with
Dojo in alternate frameworks. As it turns out, they did exactly what I'd
suggested, just at a deeper layer, which - for performance reasons alone
(among others) - will probably be far better than the specific model I'd
espoused. Granted, it's going to require a larger investment of time, energy
and research (hint, start reading up now on JavaServer
Faces) to cater to an alternate
framework. Oh, and you'll have to choose one per server rather than per
application (Bob, smack me if that assumption is incorrect). So while this
type of customization will probably be best suited for OpenNTF / BP's,
theoretically any customer will be able to modify the HTML rendering engine...
or even swap it out with an entire replacement engine.
So the end result is that IBM has simply
broadened the spectrum of what can be done within the platform. As always,
the old stuff remains intact. Those who choose to develop the way that
they always have are perfectly free to do so, and will be getting assistance
by the end of the year in applying what they already know to deliver functionality
and interfaces that will wow their users and/or customers. Those of us
that are ready and willing to evolve are simply being given an even more
ginormous space within which to grow. Lotus
911 has some ideas on how to assist
that evolution... those of you who were at the conference may have gotten
to see a bit of that up close, but I'll provide additional detail for broader
consumption post haste.
(cross-posted from TimTripcony.com)
Tim TripconyTim.Tripcony@lotus911.com
Okay, I'm back up, this time on the Eee.
Sametime Unified Telephony supports caller ID. Rules can be defined to auto-route calls based on location and status.
So far, the crowd seems underwhelmed by the Portal announcements. The Fisheye looks kind of cool, though. Portlets are now draggable. Cool integration with Lotus Forms.
They're including subliminal advertising for the "go green" in a lot of the demos today.
The new Connections will also have draggy-droppy widgets. The BlackBerry Connections client looks pretty good. The Atlas expert search is badass.
New product: Lotus Mashups... "on the glass" assembly of mashups by business users. Could be a game-changer, if it takes off.
The symphony is playing "Fanfare for the Common Man"... ah, that's why: new product family - Lotus Foundations. For SMB's, a suite of easy out-of-the-box collaboration tools.
"Bluehouse": software as a service for <500 employee businesses.
Okay, I'm off to the Product Showcase. Swing by and get a free "I Bleed Yellow" shirt, and check out our demos....... particularly Envoy. 
Tim TripconyTim.Tripcony@lotus911.com
Not sure exactly where we are now... somewhere south of Atlanta. I'm composing this entry from the back of the BleedYellow Party Bus, using a widescreen TV bigger than me as a monitor. We've got some newfangled satellite Internet connection, and we're all hooked up to it via wireless, coding and blogging away. Geek heaven. See ya soon...
Tim TripconyTim.Tripcony@lotus911.com
If necessity is the mother of invention, boredom must be the weird aunt that has 87 cats and always smells like cheese.TM
I was going stir crazy here in my hotel room, so I started playing with the XML/SWF Charts library I stumbled upon the other night. Here's a sample of what I came up with. That's live data, generated by 11 lines of code (not counting variable declarations). The sample database
contains the chart library (comprised of various SWF files stored as
file resources), an example page to demonstrate the markup syntax for
embedding the main SWF, and an agent to demonstrate generating the
source XML. In this case it's navigating the referrers by date view in
my blog. Nothing too fancy in this example, but this library allows all
sorts of wacky output formats. Check out the gallery to see some of what it's capable of.
(cross-posted from TimTripcony.com)
Tim TripconyTim.Tripcony@lotus911.com
I'm really becoming a broken record, eh? Or, for you kids in the audience, a degraded MP3 file. By request,
I put together a full demonstration of how documents can be created,
edited, and deleted using AJAX, all without the use of any agents. You
can try it out here. And you can download the demo database here.
Previously, I described how documents can be created and edited
in a Domino database without calling agents. This demo combines the two
- as well as deletion of documents - using a simple contact manager as
an example. The UI is very primitive, but hopefully it illustrates the
premise.
In this example, contact information can be entered and then posted to
the server without a page refresh. The function that posts the document
(thereby creating a new record in the database) in turn calls the
function that loads the view data (thereby displaying the newly created
record). The new data could of course be inserted into the table
immediately instead of reloading the view, but this approach was
intended to illustrate how much faster document creation is when agents
aren't involved. Reloading the view also ensures that the new record
will already be sorted correctly when it's added to the table. In
addition to document creation, each view row includes a link to allow
editing and deletion of existing documents.
Please feel free to post any questions or suggestions you may have
about this... I was planning to write up a far more detailed
explanation of how all of this is tied together, but I'm suddenly very
sleepy.
Oh, one thing I should mention: the reference to Event.onDOMReady at
the end of ajaxeditor.js isn't part of the core prototype.js. It's an
extension I found on Vivabit.
This allows functions to be defined in external js files that would
otherwise need to be called inline or via window.onload... for example,
functions that you want to run immediately, but not until some DOM
element that the function is going to muck with is actually ready to
receive said mucking. The primary advantage of this extension is that
it triggers the functions as soon as it is safe to do so, instead of
waiting for the entire page to load (images, for example).
(cross-posted from TimTripcony.com)
Tim TripconyTim.Tripcony@lotus911.com
If you've ever set a form to launch the first attachment upon document
open, but wished (or received requests from users) that it wouldn't
open a separate application window, there's another option. Nathan and I were experimenting with this, and here's what we came up with:
In the standard perweb.nsf there is a form called "WebBrowserForm",
which contains an embedded control of class "Shell.Explorer.1" with its
name set simply to "Browser". When you open a URL within Notes, you're
essentially creating a new document using this form that, during the
PostOpen, gets a handle on the browser control ( Set browserobject=uidoc.GetObject( "Browser" ) ), and tells it to navigate to the web page ( browserobject.navigate doc.url(0)
). Although I've been unable to find a way to create this control using
the Create > Object dialog, you can copy it from the original form
into your own applications and take advantage of its ease of use.
The sample database
is just a basic e-book reader. Its interface is a horizontal preview -
a two frame collapsible frameset, with a table of contents view in the
left frame and an empty preview frame on the right side. So, just like
the standard mail Inbox, when a document is selected, if the preview
frame is expanded, the document is loaded in preview mode. But here's
where it gets a wee bit fancy.
The form's QueryOpen extracts whatever file is attached to the user's
temp directory. The PostOpen gets a handle on the WebBrowser control,
but instead of telling it to navigate to a URL, it navigates to the
extracted file's path, which - if the filetype is one that I.E. can
load inline - launches the file... inside Notes. So if the file is a
PDF, for example, Adobe launches inside the preview pane
instead of opening a separate application window just for itself. And,
since the browser control is set to fill the window, the external
application automatically scales to the preview pane. Imagine Nathan's Sesame Street demo, but a full-fledged Adobe Reader window off to the right instead of Big Bird.
This works not only for PDF's, but for text files, Office (if
installed), and of course, good old HTML files. Even Quicktime movies
and MP3's... AVI's and MPG's launch Media Player in a separate window.
Basically, any file that, if clicked in a web page, would be loaded
within the browser instead of triggering a download prompt or launching
a separate app can be "previewed" in this manner. It's basically the
standard attachment viewer on steroids. NOTE: viewer,
not editor. If you open a Word doc, it'll be fully editable (assuming
no constraints on the original file), but any changes you save are
written back to the extracted copy in the temp folder, not
to the copy attached to the Notes document. You'll probably want to
make this abundantly clear to your users if you implement this approach
in your own applications, particularly if they're now addicted to the
standard in-place attachment editing capability.
(cross-posted from TimTripcony.com)
|
|