Blogs

Blog Tags Help

Enter a tag to filter the current view

Previous |  Main  | Next

Carousel

Tim Tripcony  

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)

Even Red Hat bleeds yellow

Tim Tripcony  

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)

DXL fidelity

Tim Tripcony  

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)

Reflections on a sphere

Tim Tripcony  

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.

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)

We are so not an afterthought

Tim Tripcony  

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)

OGS Continued

Tim Tripcony  

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. :)

On the Party Bus

Tim Tripcony  

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...

Purty charts in Domino

Tim Tripcony  

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)

Create, edit and delete without agents

Tim Tripcony  

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)

SnTT: using the WebBrowser control to view attachments inline

Tim Tripcony  

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)

Previous |  Main  | Next