Yet To Get Started With XPages
There was once a time when I was a single man with more spare time than I knew what to do with. Never having been one to sit idle I used to busy myself with learning new stuff and generally playing with things I thought might one day be a useful tool in my career as an IT geek.
Those times are gone now. Probably forever. Unless something terrible happens like a nasty divorce followed by a stint in a bed-sit, but let's not go there though. As a family man and home owner I have precious little spare time and find myself having to think about how best to spend what I do have.
From what I've learnt here over the last week or so I can see that learning XPages is without doubt a worthy use of my spare time; I just keep getting distracted from spending anything more than 5 minutes here and there on it. Like last night when I had my attention grabbed by Google Gears and spent some time looking in to that.
I think the trouble is that XPages just isn't floating my boat. It's just not tickling my fancy.
The user (read developer) experience just isn't that hot either. It's cumbersome in the way Notes development always has been. The code editor's syntax highlighting and auto-completion don't help matters. In the time I have spent playing with XPages I've just not found it intuitive.
Contrast this with Flex. Flex Builder is an absolute joy to use. It's exactly what - to me at least - a development IDE should be like. I get a nice feeling when I use it. Sometimes, when I don't even need to use it, I launch it anyway. Just to look round and play. Building Flex apps is intuitive, well documented and helped by the fact there's so much stuff posted about the internet.
With Flex I found I went from complete novice to being able to produce real solutions for real customer needs in no time at all. I can't tell you how much I love Flex!
The thing with Gears and Flex is that I began looking at both as possible solutions to problems presented to me by customers. As yet I've not had a problem which has made me think XPages is the solution. Although this could be because I don't know exactly what they can solve. A bit of a Catch 22 situation I guess.
Maybe I need to wait until either a) a customer of mine moves to Domino 8.5 and/or b) I'm presented with a technical requirement for which XPages presents the only solution. When this happens I'll have no choice but to get stuck in and no doubt I'll love it and wonder how I ever managed without it. Until then I just can't see how I'm going to give it the time it deserves.
The other thing that's not helping is the fact that Notes 8.5 is on my Vista Parallels "PC" on the Mac mini in the office, so I have to be in there to use it. If it were on my laptop I might be able to play with it of a night time while watching TV. Although I don't even get time to do that now either...
Anybody know a reason I shouldn't move my laptop to Notes 8.5? Do dual installs work with Notes 7 & 8?
Jake, I absolutely agree.
XPages is a huge improvement over classic Domino web dev, but that isn't saying much. It is hardly the "game changing" development framework that some would have you believe. If I am going to have to entirely rebuild my existing apps to use it, I might as well rebuild my apps using something that doesn't constantly insult me with such poor tooling as Domino Designer.
And for me personally, given that it has been almost 2 years since I have done any Notes/Domino work for a client whose Domino environment was still considered anything close to "strategic", investing my time (== money) in developing skills focused on this product is not even an option.
Hi Jake,
The way i get round the version issue is to use lots of instances of Nomad. I have my main client (8.5) installed properly and then when a customer calls, i just launch the nomad for that customer, anything from 7.0.2 upwards. They even run concurrently!
I wrote this on how to set it up.
http://www.double6.net/?p=18
I couldn't agree with you more, also being a dad and a homeowner spare time is very much a thing of the past.
That said I've been toying with the idea of looking at Flex, and have been playing with Objective C with a view to looking at Objective J.
I've installed 8.5 under Fusion on my MacBook intending to get xpaged up but perhaps like you I'm a bit bored with the clunky, quirky, sometimes it works sometimes it doesn't development experience. So it's hard to justify the time to learn it when I already have too many work and home life projects on the go.
The idea of being able to store information in objects associated with the user is quite attractive though, session and page etc.
No doubt I'll fall in line when things get a bit quieter at work or if there's a reasonable prospect of me going to LS2010.
Was nice to hear that I'm not the only one not jumping on the xPages train right now.
Tony. Now you say that I remember Jim putting Nomad on a usb stick for me in Chester that day!
I'm glad there are other feeling the same way too. If you're only connection with other developers is from reading blogs then it's easy to think you're the only one not XPage crazy.
Jake
Hi Jake
Just take 2 examples from Declyn pages and try it . let us know what you think.
I use "Nomad " for Domino / domino designer /admin plus I ThinApps all my programs - on 16gb Stick and can access it on any computer , Dreamwever, Photoshop, Tvpaint
http://www.vmware.com/products/thinapp/using.html
Hi again Jake,
Instead of running from a stick, try it from your C drive, or even over the network. A far better solution to roaming than trying to zip everything up and transfer to a shared folder.
I'd not heard of Nomad before this but it looks like an ace idea. The only thing I can't see is how to make it install the designer / administrator client although Palmi seems to hint that you can. Is there some secret to do this?
On a related note, I usually just create a virtual PC and use the free IE compatibility HDD images Microsoft supply, then install notes on top. The compatibility HDD's expire every few months, but it's usually longer than I need to test some stuff out!
Virtual PC : http://www.microsoft.com/windows/virtual-pc/
OS+IE HDD images : http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B64-B5F1-73D0A413C8EF&displaylang=en
Jake,
I enjoyed reading your "confession".LOL. Xpages is interesting, but it hasn't "floated my boat" either. I think that although the Domino IDE has finally moved into this millenium with XPages, it's still waaaay behind development technologies like Flex and more recently (dare I say it) Visual Studio 2008, (I think it can outgun Notes for web dev when compared with ASP.Net because it has more elegant separation of logic vs presentation).
Notes 8 and 7 together, don't really play nice together on a PC/Laptop. Like Declan, I run them on VMWare and have had no problems at all on Windows Vista as the host operating system. I run them on a 4gb laptop load up Windows XP as the VM operating system with 512MB ram, and i can comfortably run upto 3 sessions concurrently. Running 8.5/7 and 6.5. (You just need a "legal" XP install to run up the environments).
More recently an open source VM technology has been released ( http://www.virtualbox.org/ ) which I have been told is worth a go to.
Hi CJ,
You can't install designer or admin when you run the Nomad installation, but you can use them. All you have to do is copy designer.exe and admin.exe from an existing installation. It's not supported but it works, I've not had any real problems with it.
The way to get them to run at the same time is to change the line in the Nomad autorun.ini from ..
AUTOLAUNCH_NOTES=notes
.. to ..
AUTOLAUNCH_NOTES=nlnotes
I regularly run 3 or 4 notes clients at a time, without having to wait for a virtual machine to boot up.
Jake,
I do have another opinion :-) For some months now I'm doing nearly nothing else than XPage development.
And while I feel Web development was just a pain with classic domino development, it's a joy for me now.
And I'm not alone: I made a workshop at a customer's site for five developers recently. In only three days they learned so much about XPages that they could start developing.
While there are glitches here and there, this customer is very happy with XPages and boosts his productivity a lot.
Xpages actually did float my boat when I saw them demo'd at Lotusphere. However, like you, taking the time to learn them is near impossible. I even started on Dec's tutorial and puttered out after a few days. Like most developers, work time is spent on work and learning this stuff has to be in my "spare" time. Yeah, right!
I've got my workhorse workstation on Notes 8.0.2. My laptop on notes 8.5 and a second workstation at work on 8.5. I've tried to give myself the goal of at least getting through Dec's blog on Xpages before 8.5.1 comes out, so I can be ready.
Jake,
You have to get a project. What did it for me is I just jumped in 100% and decided to do a major new project in xPages. Just like you - I've got a wife, 3 kids, house..., and way to much work to do. There was no way I was going to learn xPages in my free time - because there is no such thing.
The first few weeks I was REALLY doubting my decision. But it's been a few months now - and I can't imagine going back.
Hi Jake,
well, you do have one customer who is using 8.5 - us. The problem with the scenario is that using xPages I have been able to create my own web app - something that I could definitely could not have done with "normal" Domino web programming (which is definitely my weak point). Just last month I updated one of our applications for the web. Here is a quick overview: We needed to update the app to allow an external person (a medical doctor) to access the data in the app. The application has prescriptions for our clients. We make a change in Notes, I then display the changes for the doctor using a xPages app. The doc then OK's the new medication. We administer the new medication. This is a quite complex app that I have been able to create with my limited web knowledge (you'll attest to that :o), some Notes client stuff and a couple of xPages.
My point is that xPages allowed me, a mainly Notes Client type of guy, to incorporate a web frontend into an application without MUCH knowledge HTTP/CSS knowledge.
I do understand that you Domino web/HTTP/CSS types might not really need xPages, for me its been a Godsend :o)
Just my 2 cents
Ursus
The ability to do server side scripting floated my boat. It was almost like writing lotus script, but it worked in a web browser! I have not found anything i could do in lotus script that i could not do in serverside javascript.
It is early, version 1! Documentation is scarce, it took me about 8 hours to figure out how to make a view picklist! I would have thought it would have been easier, once i figured it out though i can make one in about 20 minutes. Not everything works right either, but enough of it works i am almost done with a fairly complex PO system, cant wait to run it native in notes 8.5.1 or the web either.
Maybe you make the "mistake" to compare XPages to technologies outside of the Domino world. From a Domino perspective XPages can work quite well.
But the technology (accept nsf access) was available as Lotus Component Designer / Workplace Designer bundled with WAS / Workplace for years. It failed and is now reborn with less resource hunger within Domino. That does not make it less attractive but I think that outside of the IBM Lotus world XPages is just one technology out of many. The advantage of XPages is that IBM is really fixing stuff and they are adding new things. So this is really moving forward (at least for now).
As For Designer 8.5. It does not like to connect to my Linux servers over DSL, only local development works acceptable. 8.5.1 maybe is going in a public beta next month. I think this will be the Designer version you want.
Jake, I'm with you on this one. I have always thought that a facility which made you throw away all your existing code assets in order to use it would be, well, uninteresting.
Sure, I see lots of people who like XPages fine for building stuff from scratch. Show me how it helps me make my existing Domino web sites better? Rip-n-replace? meh.
I liked the stuff fine when it was Workplace Designer and Lotus Component Designer (for Portal), because those platforms had nothing. The effort should have been spent making Domino web apps better/easier (imho)
Echoing other sentiments, XPages is interesting but doesn't solve any problems I'm having here at work so its a 'personal time' learning thing which I never seem to find time for :(
As to running 7&8.5 together. Don't! While it works, it will drive you nuts due to all sorts of focus issues. I run 8.5 on my actual laptop and 7 in a VM. Perfect!
I like them a lot, but this Dojo i.e.8 thing has brought me to a grinding halt at the moment. I saw somewhere that i.e.8 had a 5% penetration.
So do we put a note on our websites saying use compatability mode if you have i.e.8? - Like the users will bother reading it.
As I can see it xpages are just for displaying views until 8.5.1 or the promised fix for the problem is out.
@Henning - you keep mentioning a public 8.5.1 beta - and I have not seen anything offical on that. What is your source? There are the code drops that Design Partners are getting now and the Managed Beta that will start at some point this year. You should really document your source of a public beta committement for 8.5.1 before people get the wrong idea. As far as I know, there is no public beta for 8.5.1 minus the Traveler release on Greenhouse which allows people to test the iPhone syncing functionality using ActiveSync.
As for XPages - you are all entitled to your opinions of course. I dont have the energy to convince anyone to like them or use them. Each person can make up their mind. That being said, all of my Notes development since December has been 100% XPages - there is notes dev at PSC that is not XPages of course, but not what I am doing. I also know of many cutomers who are jumping into XPages development big time. It might be end of the year before they have production 8.5.X servers to run the apps, but dev has started.
XPages solves all of the Domino Web issues I had and did it without requiring hacks and workarounds. With the local runtime in 8.5.1 Standard to run XPages from a local database, I see a large portion of app dev moving to XPages period.
Everyone will decide what their path around XPages is - some are already far down the road, some will pick it up with 8.5.1, and some will decide not to go there. That is of course your choice - but don't be surprised when you see the majority of new stuff coming from IBM, both in the box and in new delivery methods like OpenNTF.org, be focused on XPages and Composite Applications.
For me, what XPages has done, is let me go into a client and show them 'web 2.0' style applications built on the Domino server using Eclipse.org style editors - and that is making a difference. Sure, VS.NET and Flex have great editors, both have been out far longer than DDE. I am seeing interest from our open source consultants, who spend their days in django, joomla, and other tools - and who laughed at Domino dev - being interested in Domino development today solely because of XPages.
@Bob - you should really put out your bias before you talk negatively about XPages for everyone to read so they can judge your comments effectively. I know, based on what I saw transpire in the DP program, what happened.
John, if you read my comment again it says "maybe". My English is not so good but I hoped that this would translate to maybe yes, maybe no. Maybe the term "Managed Beta" is causing some confusion here. My IBMish is a bit rusty. But thanks for the clarification then.
I think that Notes developers are at a crossroads.
A lot of people are viewing XPages as a panacea for Notes/Domino UI development. While no doubt a big leap forward (relative to what we have) I can't help but feel that we are already lagging behind what can be done using other tools. Flex is a good example of that.
The strength of Notes has always been the backend services (security, replication, data store), no one has ever switched to Notes because of its kick-ass UI.
I wish that IBM would add some additional points of integration to those backend services. Something like Service Data Objects could be used to move data between the UI and backend. (http://en.wikipedia.org/wiki/Service_Data_Objects).
If the Notes client had a WebKit browser built-in then this combined approach would allow Notes/Domino to evolve into something more like Adobe AIR (http://www.adobe.com/products/air/) only BETTER.
@nick
BTW, you can force compatability mode with a HTML meta tag. Do a google for IE=EmulateIE7 and X-UA-Compatible.
Apologies if I've misinterpreted, but a couple of the above comments seemed slightly tinged with derision for developers who have spent time with XPages and found reason to be excited about them. Naturally, your clients' needs drive your business, and if those needs have not yet provided a mandate to take advantage of the capabilities of XPages, it makes sense that you'd be focusing instead on platforms or technologies that seem a better fit. But to simply write off the excitement others have displayed (and, by extension, them for having displayed that excitement) for what is, arguably, the biggest evolution of the Domino platform in a decade as a misguided bandwagon before thorough exploration seems to me to be a bit premature.
I can only speak for myself, of course: like John, all of my development (except a couple days of LotusScriptery last month) since late last year has involved XPages. Of course they're not a panacea - it's not a perfect fit for every web development project. In fact, everything they do can probably be done with another approach... and therein lies the biggest barrier to adoption: if you're waiting for a project where XPages are the only technology that allow you to accomplish what your client has requested, it's probably not going to arrive. But I've been developing features all year for our clients that I could have written another way, but thanks to XPages I delivered in less time (and, therefore, at a lower cost to them) a working product that is more scalable and maintainable than the alternatives we'd explored.
Another phenomenon John alluded to that I've witnessed as well is an adoption rate of 8.5 that far outpaces what I've seen for any version since 4.6 - in one case, a client chose to pursue a significant development project in XPages less than a month after 8.5 went gold. In contrast, I've long been accustomed to having to talk employers/clients into upgrading to a supported (not just current) version of the product by enticing them with features that could now be enabled by clicking a checkbox that, in the version they were mired in, had instead to be tediously constructed from scratch. Suddenly we have clients coming to us who are aware of the platform's new capabilities and want to take advantage of them. It's not just developers who are excited... our customers see the potential as well. But it's much too soon to know whether our experience is isolated or if the overall trend will be similar.
In any case, I'm not surprised that you're impressed with Flex; I played with it a while back and liked what I saw. However, with one exception, I haven't had a need for it since. Personally, I found its user interface limiting: sure, it looks sharp, but aside from changing background colors, fonts, and the like, in the end anything I developed came out looking rather similar to any other Flex app. I can make an XPage look like whatever I want it to. On the other hand, I've noticed numerous similarities between XPages and Flex... for instance:
- The interface is designed either by manipulating visual controls or by editing the source XML directly, and then compiled into the file the user will access.
- The scripting language is a descendant of ECMAScript.
- Controls are bound to each other and to back-end data sources, so changes to a single control or dataset get pipelined automatically throughout the binding hierarchy (i.e. bind a repeat control displaying view data to the value of a combobox, and a pager to the repeat; selecting a different value in the combo changes what records display in the repeat, which changes how many page links the pager displays... and that's just one of the easiest examples. Sidebar: remember how arduous it used to be to create a decent pager for Domino? Now we just drag a pager control onto the canvas and select which data container it's associated with. Done. Sure, I could go back to manual URL parsing and link rendering in a LotusScript WQO agent, but why? I get the same functionality in, like, 3 mouse clicks now. And the result renders much faster...).
It's true, Flex Builder is a much cleaner IDE than DDE. But when I reflect upon the ability I now have to mix Formula, JavaScript and Java fluidly in a single line of code if that appears to be the best and easiest way to achieve the intended functionality (and it quite often is), I'd rather stick with a slightly buggy IDE (which may well get a bit less buggy when 8.5.1 arrives later this year) than restrict my toolbox to ActionScript alone. But that's my personal preference... to each his own. Or hers, for that matter.
@Tony, Tried it mate, and researched it 'till I'm blue in the face.
Not supported in 8.5 and 404's the xpage.
There is a supposed fix coming before 8.5.1
Can't wait - Dojo is unusable in xpages at this time
I'm only using the XPages basic view display control because it saving me the time of adding pagination. The server side scripting is great but I see no reason to work with such an unfriendly and buggy IDE .
I must say it's quite a disappointment to play with the XPages designer and think that this is the best IBM could come with at year 2009, looks like IBM just can't make it right anymore.
As for working with 7 & 8.5 on the same machine – I'm doing it the old way: rename the R7 folder, install 8.5, go to the r7 and edit the notes.ini path. Make a short cut to the R7 nlnotes.exe on your desktop and whenever you want to use both – launch the 8.5 first.
I would neither go for XPages nor for Flex but doing a testdrive with JBoss SEAM.
There are many advantages of this choice:
All of it is free.
You get a very nice IDE.
You can use all your knowledge of web development.
You can get a very quick start using seamgen and many examples.
You can make use of a large developer community including some of the best java developers in universe.
Although the whole thing is very complex you can build complete JEE apps very fast.
During many years of being a Domino Developer I never liked web development with Notes very much. But using Seam and the JBoss Developer Studio it is really fun. You even can use Flex in combination with Seam if you like.