Your Development & Design Resource
Gear up Lotus Notes Domino and XPage Developers!
03/15/2011 12:25:00 PM by Chris Toohey
Having recently built-out my new laptop - a Dell Mobile Precision M6500 - I thought I'd quickly share the list of apps that I use as a Lotus Notes Domino XPages Developer. I'll break this up into a few categories, and offer/ask that you add (via comment) anything that helps you as an IBM Lotus Notes Domino and XPages application developer.
Desktop Applications or SaaS Clients
Great for setting up silo'ed development environments.
UIs are important, and Gimp is... (for lack of an easier way to put it) an open source version of Adobe Photoshop.
Pixel-ninjas will be able to tweak Image Resources as needed... and the price of free ain't all that bad when you're just making UI changes and not trying to apply digital cover-up to a given Hollywood star.
Should be pretty self-explanatory, but DDE is a no-purchase download... so if you're not running 8.5.2 in your enterprise [yet], I'd spin up a Windows Virtual PC and get started with the latest version of the Lotus Notes Domino platform.
In Windows 7, make sure you run Notes/DDE with Administration Privileges, or you won't be able to locally preview XPages...
Simple to setup, easy to maintain, and constantly being improved, the OpenNTF.org XPages Extension Library is designed to address any functionality gap between the out-of-the-box Controls and the ever-evolving demands of today's cross-Client apps. If you're not using this, you need to stop reading this list and get to installing. Don't worry... I'll be here when you get back.
Junction Lite v1.1 [completely shameless plug...]
I wouldn't include it in here if I didn't use it at least once a week. I can't tell you how many times I'm tasked with creating a Lotus Notes Client application version of an "app" that's nothing more than an Excel spreadsheet. It's either that or I'm told that Joe Salesdude has been maintaining his contacts in Excel instead of in the corporate CRM solution... and the updated customer info now needs to be merged with the Lotus Notes Database.
Sure, you can write your own custom import scripts for each case you run into... but to be honest, I'm too damned lazy for that. I just Paypal'ed myself the $5 and I'm good.
A slick little app, Sizer allows me to resize and re-position an application window to pre-defined dimensions/positions.
Not only VOIP, Skype also allows you to have persistent chatrooms (not unlike IBM Lotus Sametime...), and the Lotus Online Community is actively using that very feature for things like Mastering XPages bookclubs, OpenNTF.org discussions, and more.
Just make sure you don't use the HTTP ports on your localhost, or you won't be able to locally preview Design Elements.
Dropbox [referral link]
I use this service (and thus the Windows plug-in) to manage project and other shared contents across laptops and teams. Simple, free, and secure - Dropbox gets you started with 2GB of file hosting [and you'll score an extra 250MB using the above referral link].
Web Browsers, Extensions, and Plug-Ins
My main browser, Chrome is fast and it's becoming more and more fleshed out with the advent of Extensions which can be downloaded from the Chrome Web Apps store.
Adds a toolbar button with various web developer tools. The official port of the Web Developer extension for Firefox.
I've been doing more and more with RESTful Web Services as of late [expect an article on that soon], and having an in-browser client that will allow me to test GET, POST, PUT, and DELETE, show me all of the response headers and message body... it just saves me a lot of time and allows me to test things out. Highly recommended.
My workhorse web browser, Firefox sits right next to Chrome on my Windows 7 Quicklaunch toolbar and is used for websites and services [such as LotusLive] that haven't started supporting Webkit-based browsers.
Of course, Firefox allows you to add Extensions and Add-ons via their own store...
Excellent troubleshooting add-on for the... well, Web Developer. Allows you to view all Media, Markup, and Code downloaded or generated at runtime, which helps you identify AJAX/DHTML-based problems where View Source fails to get the job done.
One of the most powerful web development tools out there is also free. Firebug not only allows you to modify generated/downloaded markup on-the-fly (disable CSS rules for individual HTML Elements or Classes, add/remove contents from the rendered markup, and more. The Console section of the app - which acts as a local server console, reporting exactly what's happening with the web page - has saved me countless hours of troubleshooting and has often allowed me to improve application performance by shaving seconds off of high-cost asset downloads. Must. Have.
A complete Wireframe editor via a free add-on to a free web browser... absolutely brilliant. Pencil is my absolute favorite add-on for Firefox, and is something I use on almost every project. Pencil, instead of being in-browser, actually launches it's own window and acts as a local fat app. It's rich, powerful, and extensible featureset makes this an absolute must for any application or web developer.
Already having Chrome as a representation of a Webkit browser aside, I use Safari as the closest thing I have to an iOS emulator. While not perfect, Safari gives you the ability to change the User Agent to -- aside from other browsers like IE and Firefox -- iOS devices like the iPhone and iPad. Makes debugging User Agent-specific UI rendering that much easier.
Mobile Device Application Development
From their website:
PhoneGap is an HTML5 app platform that allows you to author native applications with web technologies and get access to APIs and app stores.
The requirements for PhoneGap on Windows are -- depending on target mobile platform(s) -- Eclipse, Sun JDK, then your Google Android SDK, RIM BlackBerry WebWorks SDK, and so on. Complete directions, requirements, et al on the Getting Started section of the PhoneGap site.
Unlike the Android SDK which comes with it's Emulator built-in [I call mine R2...], the RIM BlackBerry Simulators need to be installed separately from the SDK.
Kinda silly if you ask me, but unlike iOS [for Windows], at least it's available!
Form the OpenNTF.org page:
Showtime, my Blackberry Enterprise Server Push Utility for the Lotus Notes Client, allows you to create Jobs for individual Channel, Message, and Browser Content Pushes, as well as allows you to delete Pushed Channel Icons from defined recipient devices.
Sure, you've written this slick Mobile Web Browser app... but now you've got to get it onto your customer devices. Again, another shameless plug as I'm the Project Chef, Showtime uses the BES MDS Push API via Java methods [so this is a completely Lotus Notes-based Client application, no Domino Server required] to send URLs to the recipient's Home\Downloads folder or their device Inbox, or can be used to pre-cache those same URLs for faster device loading.
Am I missing anything? Are there any must-have applications or services for the IBM Lotus Notes Domino and XPages application developer? Let us know in the comments of this post.