Why I Am Still a Domino Developer
It's funny with blogging how you can never predict what reaction you're going to get to any one particular post. Monday's post wasn't meant to go like that — off on a tangent. It was merely me saying it's nice to see I'm not the only one who whines about Domino and I expected the usual handful of responses. It wasn't me having a go, but it's obvious that is what I'm best known for doing.
While I'm the first to admit I use this blog to vent my frustration (you guys start a blog and see how long it is before you do the same!) I also still believe that the site itself has made a massive difference to the world of Domino web development. If this site never existed I'm confident that Domino web development would be in a much sorrier state than it is now. Sometimes I think my detractors should remember this and allow me to express my feelings via the blog. Sure, I might rubbish Domino every now and then, but remember all the good I've done too, before you decide to hate me. Remember, this site is not just a blog.
Never having wanted to come across as a whinging pom I've made a concerted effort recently to tone it down a little, which I think has been working. How many times have I had a stab at Domino over the past few months? This change is not only to alter your perception of me, but also because I've realised it's a complete waste of time picking out the myriad faults in Domino's web engine.
Naively I used to believe my voice would be heard and, just maybe, acted on. Now it's becoming ever so clear nothing is going to change with Domino and it's a case of like it or leave it. So, which to do? The obvious thing to do is leave. I'd like to do this but it's never that easy. If I were 21 and single again I would do. But I'm not. I'm 31, with a baby due any day now and a considerable mortgage to pay. As it goes I make a decent living through this website and Domino. To change now would be completely foolish and even unimaginable. It's the need to earn a decent amount of money that makes me stick around and a desire for perfection that makes me pick fault on occasion.
Jake - we all continue working with Domino because we love the product, warts and all. What's driving me out of the Domino business is the general lack of interest expressed by the corporate world. Here in the Northeast US the Notes Developer job market has been in a steady decline for the past five years. During this period IBM has been promoting Websphere/Workplace at the expense of Domino. Remember the rant over the antiquated templates? IBM provided no hope other than the usual "Hannover is coming..." Will Hannover reverse the trend? I don't know how many of the current Domino crowd will be around to find out.
This site has been my tutor for at least five years and has inspired me to, ”Think outside the box” when it comes to Domino development. I can really say I wouldn't be in the position I am in now without it. So a big thanks.
Having put in so much work, constructive criticism of Domino should be welcomed. If nobody tells anyone that there's something wrong, its a certainty that nothing will be done to remedy the problem. So keep going.
Jake
As you know, I've been an avid reader of your blog for years and have learned a great deal from your articles and comments. So I agree with the last comment, keep up the good work!
However, I do think that yesterady people jumped on Ed Brill a little too hard after his (perhaps unwisely used) quarterback phrase. Ed does a fantastic job too with his blog and I think people misunderstood what he was trying to say.
I'd like to think there's room for both types of voice and opinion - you and Ed are both on my daily blog read and I have equal respect for both points of view and get a great deal of useful information from both.
Anyway, yesterday's blog (and the comments) was a highly entertaining half hour for me yesterday afternoon so more of that please !!!!
@Richard, I agree that Ed got a rough ride in yesterday's blog. I'm sure he is really nice guy, and he is trying hard to make Notes a better product. I think it is probably me that pushed him too far, and I regret it. I know that he has personally intervened for me several times in the complex maze of IBM, which is way beyond his remit.
Come on Jake, it's never too late to learn a new skillset. I was 38 before I stepped into my new environment. Let the new baby stuff settle down, because right now things are hectic for you.
As for Ed, yesterday was pretty mild compared to what he has had on his own blog.
Jake - Actually, your situation in many way mirrors the general corporate reality with respect to Notes/Domino. If we were all young and single and without responsibilities, we could bounce on over to the "next big thing" or the "latest cool technology", and we all wish that IBM could keep up and incorporate all those fresh new ideas, but we have dependents (employees andstockholders) with demands and needs, and we need to do the sensible thing. Notes/Domino in general is not always that much fun, and it certainly isn't that cool, but it does all the sensible, pragmatic stuff which we need to do, even if it is a bit stodgy or convoluted at times. To use an anaology that might be more obvious to the ladies, it is like wearing sensible shoes insyead of fashionable shoes. They may not be as much fun, and few people will envy us, but there is a reason they are sensible.
This is not to say that, as you have shown many times, you can't make the sensible shoes look fancy when the occasion calls for it (e.g., AJAX or tag clouds or whatever in Domino web development). You just have to try harder, and it sucks that you can't just get flash out of the box, but such is the way of sensible stuff. The opposing point of view is that ehen everybody has moved on to the next cool technology, Notes/Domino will be just as unable to support it out of the box, but still robust enough to make it happen. Just sensible, even if not always exciting.
@Ben - good points! I made the same point to someone offline - many corporations don't necessarily NEED the Web 2.0 stuff in their apps. They need to have access to their data.
@Ben - I couldn't agree more. Our employees don't seem to miss the flashy/sleek stylings that are so popular these days, and they aren't really concerned with the latest buzzword, so long as the application works and makes sense.
I still like to try and give them some of that flash though, which is a big part of why I read this blog and several others.
Peter - It is certainly why I read this blog and others as well. I like to add the flash when possible (and so far it has been quite possible, and even fairly easy, but I am not a web developer by trade, so I don't know that I am pushing the limits at all).
As a Notes developer and IBM employee I find this discussion fascinating; mostly because I too have a love/hate relationship with Notes. You can do amazing things with it but it can also drive you round the bend. Ironically, that's the beauty of it.
Ben's comments about Notes/Domino being 'sensible' shoes vs 'fashionable' shoes hit the nail on the head. I also think part of the problem is the way we think about what we do. If we think of ourselves only as 'Notes developers' or 'Web developers' then we are bound to become frustrated/annoyed with the product. I actually jumped to Java development for a few years thinking it would be a better tool; turned out I just opted for a different set of annoyances :{
This caused me to take a step back and ask myself what my job was really about. Answer: helping my co-workers aka customers get their job done. And Notes allows me to do that, in spades.
It's not always pretty and I can't always give users the flashy stuff they've spotted on the latest websites but it does streamline their work and make their jobs easier. And it does it efficiently and quickly and in the end, that's what is important.
Today's flash is tomorrow's fizzle but Note's just keeps on doing it's stuff, quietly, efficiently and sensibly, year after year.
IBM's seeming neglect of the product is, in one respect, proof of the platform's stability and usefulness. Like sensible shoes, Notes can handle the smooth and rocky paths with equanimity. Yeah, I'd like it to soar and I wish IBM would put more focus on it; the attention Hannover is getting gives me hope, we'll see. In the meantime, I'll just keep plugging along churning out Notes db's to streamline the mundane processes my users have to cope with day in and day out.
I love this post and comments. I have been working with Notes since release 3... I witnessed all the progress that Notes had since then.
IBM's marketing is weak and Notes is a limited product, that's the first thing we have to understand;
However I do believe that its limitations push us to think out of the box and use & mix other technologies with it, and that's why I'm still working with the product.
I work with Java, and it has its own problems,
I work with .net too (VB/C#), and it's the same.
The key for a successful developer is to be 'open' to new technologies and when you mix them up with Notes (in my case) you do amazing things.
It's never too late to learn things, just finding the righ moment, in some cases it takes months, in some other it takes years...
Funny, I recently received an excellence award from one of my customers (nice touch and very refreshing) because one intranet site I developed for his department. They didn't believe that it was fully done in Domino and now I have pile of request for new applications like that.
There are thousands of cases like that, I wish many customers/developers realize the potential of Notes besides complaining about it.
Good post!
Thanks,
M
Just wanted to point out the obvious. IBM makes the $ on the big customers. The big customers have the Notes clienting running on every desktop. The customers' users have the client open all day long b/c they use it for e-mail ... so why develop a web gui for Notes apps unless there's something a web gui can do that a client gui can't? Of course there will be a few apps that need to have an internet face on them and others that need an integration face, but most of them are strictly departmental apps. This is why I believe the web side isn't a priority for IBM.
Even those sensible shoes could use some orthotics to make things a little less painful. While there's been a fair amount of activity and discussion on shortcomings and strengths of Domino, what precisely do we want fixed and in what order?
We have the medium to communicate it now, more than ever. We see the list of software in the tool kits that various developers can't do without. Why can't someone we come up with a 'Top Ten' list of things to be fixed with Domino and end that discussion?
If every Domino blogger had this list with links stuck in a corner of their blog, those items might be addressed more quickly than what has taken place up to this point. Sure I have my own gripes, but why don't we as a developer community, collectively put together a list for IBM to action.
There should be some type of a forum where there's an IBM Domino Roadmap vs. a 'fix list' (not bugs) rundown from the development community. I just don't think that this topic should end without some type of solution being proposed. If not a 'Top Ten' list, then someone come up with something else that will unify us and our attempts to convince IBM to make some changes to their product.
I posted my feelings back on my blog
{Link}
It was getting too hard to write so much in a comment box...
I've been developing web sites using Notes/Domino for about twelve years now; first inside Motorola and now as an independent. My web sites aren't very pretty but they get the job done.
For example if you want to publish your paper about your research into radio frequency integrated circuits at the annual International Microwave Symposium you've got to use my web site at {Link}
Yes, it could look better but I focus on functionality and Notes lets me do that. It let me create a complex workflow to distribute the papers to the review committees and collect their scores, etc.
I've though many times about switching to another platform but then I realize how much of what Notes does I would have to build myself in the new system. That would mean I'd have to charge my customers much more or eat the time/cost myself. I can't switch because there is nothing out there that I have found that has 10% of the functionality I use in Notes/Domino. Not to mention the twelve year investment I have in Notes.
So, like Jake, I'm sticking with it. I think they'll have to pry Notes out of my cold, dead hands.
Rob:-]
As a developer who works on developing interfaces for the Notes client, I think that Domino Web developers have a much easier time. There are so many things broken in the Notes client UI that it will kill most programmers especially if you are coming from another platform.
I came to the realization last year that you will never get help from IBM whom I have had many heated discussions. Unless, you are a Fortune 100 company do not waste your time asking them for help. The most you could hope for is that they did not break something in the next release.
We decided instead to take what Domino and Notes offered and figure out what we could do with it. Most of the solutions were painful and laborious but I got about 90% what I wanted. Now that we have my UI framework and understood the shortcoming of Notes and Domino, I can rapidly develop my commercial applications that has a good looking interface and functionality.
Thought I severely dislike how IBM is treating Lotus Notes and Domino, Domino is still the most versatile application platform out there. We have an entire CRM and ERP system on one single Domino box, try that with Microsoft products. It runs well even on Windows NT 4 with a Pentium III box. Trying do that with Microsoft or Workplace solutions. I know that with the new Java-based client and Domino server that the performance versus processor will take a dive.
I was hoping that would change with Hannover, but from what I have seen I am not holding my breath. The concept of Activities is old stuff, that stuff has been around for years in CRMs .
Jake, as I was learning Notes/Domino programming during the past few years, your site has been invaluable so thanks for the good work and do not get despair.
I never saw the things I really invested time in over the last years (Spring, JBoss, Eclipse, Java/OO and NET) as the "next big thing" or the "latest cool technology", but as pragmatic stuff I can use in my job.
And it wasn't necesary to become a hippie drop-out without any income to steadily invest some time to become proficient enough in some of those.
Others here appear to think similarly.
Yo Jake, chin up. We know you have a love for domino and that's why you gripe. It's a healthy relationship. Just don't feel trapped or loose hope. Your blog is greatly appreciated and an inspiration to many. You're well respected in the Notes community. Take a break and have a beer!
Wow... that was a lot of attention yesterday.
I think that if you can draw that much attention from the IBM crowd with a few simple statements, how easy would it be to start reaching a consensus on what needed to be done (from a domino/web developer point of view) to fix domino.
I'm staying with Domino because I'm very happy with the product and because I'm happy with the IBM roadmap for it.
It doesn't mean that it's the best product, but it does mean that I feel that it's treading a better/safer path than many alternatives.
I've been very impressed with what Mary has been doing re: user feedback on the interface.
What IBM needs to do is put up a discussion database for DOMINO IMPROVEMENTS with a feed for each individual area (formula language, RSS, Web 2.0, HTML, Error Handling etc...) asking what functionality we want. If we all contribute, I'm sure it would make for a better product.
They should also actively REMOVE (or move to a "spam" category) any crap about who at IRIS isn't working at IBM etc... So that we're left with real answers.
Good luck with the baby - If you think you're stressed now... ...well, lets just say that stress will take on a whole new meaning for you.
Jake, I hear you. My comment is way too long to post here, so I posted it on my own blog:
{Link}
@Gavin - All seriousness aside, Maybe Jake should build a flashy web2.0 type idea submission/rating system on Domino, and submit the results to IBM =)
I'm a Notes web developer about 2 years ago, now i sale hardwares of computer, the two years being a developer is my important period, at that time, i learned lots of skills of PC(software&hardware).
Turn to another type of job is difficult at beginning, but you will in suit with it.
Jake - and others disenchanted with Domino - you really must have a peek at Adobe Flex. The more I learn the more I like. You can use Domino (7) as a web service or http service provider and put a "flashy" new face (including charts and printing) on your applications. The SDK is free and so is a 1-cpu Flex Data Server (Express). The Flex Builder (Eclipse) isn't all that expensive either.
I am fortunate enough to have joined a forward-thinking manufacturing firm that has standardized on Flex, so I finally will get paid to reach beyond the Domino world (which paid my bills also for many years, as Jake alludes to).
In Domino, however, I simply started applying different web technologies and using Domino as just a database, using much DHTML. For this, though, the dev environment is not very supportive since I worked in passthru HTML for the most part.
In Flex, we are now enjoying a robust object-oriented architecture, component development, rich interface, RAD prototyping with XML models, no browser wars, and a seemingly bright future that will satisfy users tremendously. Also, bring on the Enterprise Services Bus !
Earlier this year while I was 'resting' (that's being unemployed!) I took a look at Adobe Coldfusion. After the initial hump of cussing, swearing and throwing things around, I managed to get the hang of it and produced some simple apps. Could I get a job with a few months self-taught coldfusion experience?
Nope! So I got a job doing Domino and am having a ball. Exposure to new technologies is great but coming back to Domino after 6 months with renewed vigour was even better.
Will we ever see fixes for:
32k/64k limits
Cannot undelete a deleted design element
Searching
etc etc
I think not. I live with these annoying limitation and exploit other technologies ,thanks to Jake and others like him who share their expertise.
I remember way way back when IBM were called 'Big Blue', they were massive and then took a tumble big time, cutting staff in their 1000's. now they've built themselves back up again. Well done IBM, glad to see you've learnt from past mishaps and not ignore your crown jewels. Pardon me for being sarcastic/ironic!
Steps off soapbox...
@Sam : and welcome to the era of completely proprietary format (flash) while everyone tries to embrace standards ;)
Did you know that it's maybe the 3rd or 4th tentative from Macromedia/Adobe to push flash beyond the "web animations" stuff...and that all the previous ones have "commercialy" failed ?
What 's going to happen if Flex is not what Adobe expect it to be in commercial terms (cause, as you know, companies embracing Flex are not that many yet)...Let's bet : I bet that in 2 years, the current Flex implementation will have completely be withdrawn from market and be replaced by the next big Flash server that will do everything easier, faster etc...
I'm far from thinking that Domino is perfect, but I'm also far from thinking that cutting edge technologies are always the technologies that suits bizness best (and bizness requires that you can rely on a technology for at least a certain period of time).
I'm also very curious to understand why there is always the feeling that recreating "rich client like" applications in browser is the ultimate goal...why not simply build a rich client using technologies that were made for this ? (Eclipse RCP, .Net etc...) and let browser do "browser based apps" ?
I didn't think anybody still let domino generate the HTML for you... ;-)
For web, I use it a container to hold the html subforms and as the back end datastore. Generate JS is turned off. Domino puts the subforms in the right place by looking at values in the doc being accessed (<pagename>.html) and lookups. The content is managed through the client interface (which is styled to make it look just as good).
Notes handles the security side of things excellently. No chance of SQL injection hacks here. It can be replicated across severs.. try doing that with a non-notes solution.
So I think as Andrew mentioned in the previous blog, its the focus on the key things like handling the web search results thats required... when I do a search I expect to have a handle on a resultsset. Not have to have to let domino force me to use a Notes content/type $$searchTemplate. The ability to script properly within the page and not just onload/submit.
As a client application, it is by far the quickest tool to build interactive full fat applications. As a pure web tool (i.e. when you don't use the client interface at all) it is fairly weak. Strong fully functional applications which support the majority of your internal business processes can be built within the notes client, you just need to invest in the UI with nice graphics.
Forget making the out-of-the box package try and do everything (Web 2.0) etc... as IBM will never keep up, just enable it to be integrated.
e.g prototype.js is included on all webpages (when required) as the basis to manage multi drop down lists. Domino could have done this but
then you don't have full control over what happens.
@Alistair: SQL injection hacks aren't a problem if you know what you are doing; and we currently have a free MySQL replication ring that replicates thousands of entries a minute with latency of around 1-2 seconds. Can Domino do that?
It's not 1997 anymore, there are DB solutions that are just as secure as Domino with just as good replication abilities.
Cheers!
Luke
@Luke : RDBMS have been able to replicate for a long time...but building an app that takes advantage/takes into account of RDBMS replication is much more complex than in Domino, due to the relational aspect (domino versus records).
Anyway, the pb is not to tell if Domino is better than MySQL, the pb for us, profesionals, is to be able to give good advice to our customers to get the best tool for the job without taking things religiously.
And for many projects, what I can say after many adventures around J2EE, Portal and so on is that Domino is more than often a good and pragmatic choice. Certainly it could be improved, but don't tell me that you consider command line & text editor development like RnR a progress ...
What John said ! :)
John Fazio (Wed 22 Nov 2006 01:45 PM)
Yo Jake, chin up. We know you have a love for domino and that's why you gripe. It's a healthy relationship. Just don't feel trapped or loose hope. Your blog is greatly appreciated and an inspiration to many. You're well respected in the Notes community. Take a break and have a beer!
@Michael: I don't think the two are all that different - I write applications running on replicated mySQL all the time and there's no significant difference required to develop stuff. It's not much different than Domino; there are certain quirks (replication conflicts) that a distributed app developer needs to take into account and that snare the unwary.
The RnR comparison is a red herring. After you work in Eclipse or VS2005 (or any real IDE) for a while, when you come back to the Designer client it feels quite painful.
Jake made an excellent point in his earlier post; the entire system has a feel of 1998 to it, and it's not 1998 any more. I don't dispute that Domino can still be used to create productive applications, but it feels like a system that's stangated and rested on its laurels while other platforms and frameworks have moved beyond it. Never mind the sizzle, secure replicable systems (the steak) are no longer the unique province of Domino and can actually be had for less money. There seems to be a lot of rationalization and justification in the echo chamber.
Jake, the only thing more limiting than your current situation is being 41, having a child and a mortgage and NOT being employed because your platform has died. You ALWAYS need to be looking at alternatives and never let a comfy present sacrifice your future. Six years ago I was a Domino-only guy. Today I do C#, Java and next to no Domino execpt at home. You need to keep your quiver full.
Cheers!
Luke
Jake - thanks for your website and speaking your mind in between the incredibly useful technical posts.
"nothing is going to change with Domino"
I don't think IBM will just decide to just not do anything to improve Domino. A few years ago we got a Db2 backend and improved performance - remember how we whined about that in the nineties? Hannover is a big step towards improvement and change. I just think we have to be patient for, maybe, the next major release after Hannover to address the server/web technology lag of the product.
I don't think it does any harm to play around in other technologies - in fact, it is great and I hope if you do, you'll let us know & take us with. If another platform is better for a certain app/site, hey, it should be used. I think what is filtering through in your posts and all these comments is just emotion and passion for the product, as always. Sometimes it is a good idea to just explore a few other options without feeling that nagging loyalty to "stick with Domino". Use it for what it works best for right now, and for the rest, shop around. Until IBM gets it right, then reconsider... :)
Codestore rules!
@Luke : I agree with you on Eclipse compared to Domino designer (for some parts, not all), but I'm sure you've seen what's IBM is doing by Eclipsifying Domino designer...
Have you looked at Lotus Component Designer too ? To me, it's much closer to what modern J2EE RAD dev should be than anything I've seen before...It can keep things very simple or let you go deep if you need to.
@Micheal
re:component designer. The one click - deploy to Portal is sweet. Even faster than File, Replace Design....
although the out of the box blog template ui design could be better.
@Tony
What I like better in Component Designer is that you manipulate "functional" elements instead of "technical elements" in most or other RAD tools. You can create custom controls, and use them easily. Every stuff is hidable, everything is computable...
I also like their WYSIWYG stuff, which for ex works with includes and so on. This is related to their use of JSF I suppose, but that's nice (compared to Rational app dev wysiwyg which, to me, is unusable...and you have to go to code view everytime)
And once again, if you wanna deep dive into the jsf code, you can, but I suspect that 90% of time you won't have to. It's completely the opposite of all other env. I've seen which require you to code ugly jsp tags for the simplest thing.
I mean, progress is not to have to type <jsf: textfield edit=\"true\" balablaba>, progress is to drag a text field on a form, have it automatically bound the correct back end data...(and be able to tweak underlying code if and only if you have to)
Then you can concentrate on deliverying bizness value to your users while in many environments, being experienced means masterizing all the quirks of the web.xml or or knowing the hidden parameter in lastest property file...that's pure "technical" value and noone besides geeks needs this.
>>
progress is to drag a text field on a form, have it automatically bound the correct back end data...(and be able to tweak underlying code if and only if you have to)
<<
That's what WebObjects has been doing for the last 10 years or so...
Michael,
Sounds like you want Lotus ViP from 1992/3 :-)
For those of you worrying Ed got it too rough, he gets as he gives. He's an arrogant boob... learn to love him for it and you'll spend more time smiling. :-)
Aside from that, I think the general mème of Notes being the right tool that just needs to be wiggled properly to get it to do what it does best is spot on. It has a couple of huge things going for it and a swarm of small things working against it (from the perspective of technical merits alone). You can make a decent living with it, but you can also make a decent living with other things.
I do want to advocate a mindset though. The notion that you can't learn something new or begin integrating new technologies into the skillset (because we all have family obligations and less youth now) is a dire oversight. If you believe yourself to be a professional, and I don't doubt you all are, don't neglect ongoing skill development - even that which has no use today but may become your bread and butter tomorrow. I've been advocating diversification for some time and chipping away at it myself - it's not so easy, but it is vital.
Familiarity and comfort with Domino aside, other technologies can be used as effectively with varying levels of effort. Don't be afraid to let the family know their future well-being is highly dependent upon you taking 30 minutes every evening (or every other evening) to study. There's a whole world of options out there. :-D
Good addtion Jerry. Some people see skills migration as something akin to religious conversion, where you have to be one or the other.
At 38 I walked into a .NET shop with nothing more than light VB4 experience under my belt. I still go back to do Domino bug fixes, so the skills have not left me yet.
Of course we should all be learning new skills on a regular basis. The question is not whether we should learn new skills, but rather whether we should abandon skills learned earlier. Learning how to use "Web 2.0" techniques is valuable, whether or not the backend is Domino or something else. Learning how to work with ODF or Open XML is valuable, whether or not the editor generating the ODF is IBM's Productivity editor or OpenOffice.org. Learning how to work with .NET is valuable, whether or not it is to be integrated with Notes/Domino or not, etc. etc. etc. Jake hardly seems to be giving up on learning new skills, but he is saying that making a major shift to a different technology doesn't seem wise at the moment.
Hi Jake,
Let's be honest, you have a _GREAT_ site, ( but don't get a big head now ). I can't count how many times I have searched on your site for a solution to a problem. Not only am I pleased to find the answer, but it's always written in such a clear and easy to follow way that I have no trouble implementing it myself.
You have such talents Jake in developing in domino and are very generous in sharing that knowledge in a concise and readable way.
I have no idea how many notes developers there are in the world, but in my mind you are at the TOP of that list. You know what's going on, how to do things, and I wouldn't hesitate to recommend you as the guy to get things done!
Your site Codestore is in my MUST READ list. You write at least 20 very positive helpful articles for 1 negative one. You're a champ.
Kind Regards, Anthony
FYI Other must reads for me include:
Joel on software
47 signals.
As you can see, it's a pretty short list.
@ Ben -
The longest journey begins with the first step. But, of course, I wouldn't advocate something like Flash development being a transitional technology for someone rooted in Domino - that would be major. .Net or Java would be good vectors to start out on though.
I don't think you would have to abandon much there, except proprietary quirks of Domino, in the way of skills. I agree, focussing on what appears valuable as well as attainable is wise. A tactical approach to the overall strategy of longevity is what you are driving at, I believe, and that sounds right to me.
Learning new skills does not mean abandon old. But I find that in the discussions people often exagerate the the learning curve.
Take Eclipse. Programming Eclipse is hard, but there is allready a usefull open source project:
{Link}
I know from own experience, that the whole eclipse platform is huge and time intensive.
You can wait until Lotus has made their Expeditor, Workplace, Hannover ready for production or you can start now with whats there.
And only after working with that stuff, you know what its about. And of course a lot of general experiences in programming gained in no matter what platform are usefull when starting with Eclipse-programming or whatever.
Learning a new skill isn't that hard. I've learned something like 11 or 12 programming languages in my career, and a host of different technologies, and I am not even a particularly good developer (although I have had 25 years to do it in). But learning a technology is not the same thing as being able to make money at it. Even if I became a .NET guru, I'd then have to get someone to give me a job at it, or develop a customer base. The question is, just the way a corporation should sit down and look at the business objectives and do the cost analysis before switching from Notes/Domino to Outlook/Exchange, or vice versa, a person with responsibilities should look at the objectives and make a clear decision. Even if you think .NET is cool and Notes/Domino development is old fashioned and boring (neither of which I think), you have to question whether you can replace x income with y income in z time in order for the switch to be worth it, taking into account the overhead costs, delay in start up, etc.
Of course, my personal situation is a bit different because I have a company that has grown every year for eleven years doing Notes/Domino products. I have no reason to switch, but I don't want to stay stagnant either, so our upcoming version of Midas supports Ajax for the web and Ajax-like functionality for the Notes client, our CoexEdit product supports the latest WYSIWYG editors for the web, our CoexLinks product works with the Office 2007 beta (and likely the released version, but we haven't had a chance to test). We integrate with people doing portal work which didn't exist a few years ago. Coexistence with other technologies is a better bet than switching between them, and so that has been the focus of our products.
My advice to Jake or any other consultant is to do something similar. If you get bored with "pure" Notes/Domino development, if there is such a thing anymore, find the technologies you think are hot, and work on coexistence with Notes/Domino and those technologies. Besides having a more valuable niche and not giving up the Notes/Domino side, you will be gaining experience and credibility on the new technology side. If Notes/Domino finally sinks into the sea, you will have made a smooth transition. If the new technology sinks into the sea, you will not have jumped ship too soon. Obviously, this is what Jake has already been doing, which explains some of the Domino/Ajax coexistence stuff. He has worked with WYSIWYG editors integrating with Domino (I'm speaking at Lotusphere on that, by the way). That is exactly the direction I encourage both consultants and developers to take.
My boss recently reminded me that for people who speak multiple languages, learning the 4th or 5th is much easier than the second was. The same seems to be true for programming languages. Maybe some doing Domino Dev. may have started out with Domino and feel it hard to learn anything new, but they ought to invest the time.
Whether you dabble in .NET, which is vastly superior to what last attempted to use for Windows programming (C/C++ and Win32s on Windows 3.11), or PHP or whatever, once you get over that first hurdle, the rest start to come more easily if you keep at it.
Heck, I have talked half of the RPG people at our shop into learning VB.Net (it was an easy sell since the iSeries has a native .NET connector), and I can now read some RPG (useful for porting their apps to Domino)
I think there are ways to keep the product fresh and not be bored. I think it can be boring to use the product for just one environment -- the web. It is one of the things Jake writes a lot about, but in today's professional world I don't think the web can do everything for us. I don't think the web is going to be the "all in one solution" as there is a lot of risk with having servers beefy enough to handle all the traffic. I don't think I would find it attractive either to have my desktop application not run on my desktop -- online applications like Windows Live.
Product integration seems to be taking off once again in the professional world. The industry I work within legal -- lawfirm/corporate legal -- always wants hooks into the software. This seems to energize my passion with the Lotus/Domino software to build solutions integrated into these environments. With the advent of Notes 8.0 and Eclipse RCP, I think the product is going to benefit third party vendors because software now can be written to fit seamlessly.
You can be down on Domino, but they'll never let you sit at the "big kids" table at the LS parties if you do!
I think it's all healthy discussion. The fact that we respect and are impressed by the Notes/Domino products is often unsaid, but should be understood by the fact we are spending time offering feedback.
Whenever I get stuck by a quirk of Domino, I remind myslef how lucky I am that I don't have to create the same apps using VB, or some other product.
I think it's interesting to think about why we are having discussions like this, and what it means. For me it signals that something is wrong, and that some sort of action needs to be taken from IBM to satisfy the developer community (a clear roadmap related to web-development perhaps?)
It can't be a good thing for IBM if parts of the (usually so devoted) developer base starts talking about abandoning Domino. As mentioned the thread before, I do believe that we are the “quarterbacks” we are the ones that gets the question during the initial customer meeting “is Domino the right tool for this project or should we use something else?”
Developers are in general hungry for new and modern technology and tend to seek for the ultimate and perfect solution to solve a specific problem or deliver a successful project.
For me, Domino is still very alive as web-application platform (until someone tells me officially it’s being discontinued). I'm hooked on it. But Domino as a web-platform needs to evolve in some technical direction if it's going to continue to be the chosen platform for web based applications in the future.
The preferred way or standards we (as web-developers) want to follow when we develop applications changes (the whole web changes), and imho Domino should reflect and incorporate those.
(continue to) Work the web!
Be thankful for small mercies.
As someone who has already dived into the world of Eclipse/RCP/Domino let me assure you that it's *difficult*... and I'm someone who doesn't have to look at sites like this to figure out how to stop Domino smelling bad (no offense Jake).
Just try writing an Eclipse plugin and if you don't end up saying to yourself, 'what is this incomprehensible shit?' after a week, give yourself a big pat on the back.
If you do end up pulling all your hair out you'll be begging formula language for forgiveness.
You wouldn't believe how difficult just populating a table with data can be in Eclipse.
(total value 2p, not redeemable in stores)
The time spent by all people complaining could better be spent on a new website called: noteswishlist.org. Ideally people should be able to vote/rate on posted wishes.
Personally I am glad IBM is working on the mail interface (Hannover). If that's were the money is coming from, that's were the improvement efforts should go. Otherwise there won't be a Notes 9 and onwards. It will take away the negative stigma that users of Notes mail have of Notes.
@ Keith
The thing I think needs understood about Java in general is that it is wide open... as though a Lotus developer had been given only the C API and never any framework of @formulas or LotusScript.
With a good and robust framework, Eclipse based java devoplment can become easier, though still it takes far more time than it does in domino simply because your application layer and data layer are often on separate machines (virtual or otherwise)!
A prudent developer can figure out why he/she should be paid more for doing all that extra work, too. :-) If financial incentive isn't enough for us to take on some pain and suffering in a bid to not be made obsolete by the rapid advance of other platforms, well, I don't know what any of us are doing here then.
Had a go at using Spring.org, Kieth? Saved me lots of agony, though difficult to get it 'wound' and running.
hi im new to thius blogging thing and am wondering what this other type of domino thing is, you all seem so inspired by it and i would really like to know what it is my name is domino homer so please answer thanks x
Domino Release 9 time frame might offer hope... a little birdie suggests there could be a major re-working of the http implementation... domino web engine??? or just the stack... (or whether you care to differentiate) who knows... anyways.. hearing said birdie, certainly pricked my ears up!
We can but hope.
Cheer-up, we've all been through this at least once in our careers. Since this Web 2.0 thing is like a new gold rush, I'm staking my claim on an Adobe Flex and Domino combination. I get to work with Javascript 2.0 (AS3 and all that freshness) as well as push my Domino/Java development skills into new directions. I still think that Domino is the wickedest web platform going. Benchmark it against a J2EE server on the same hardware and you will see the light. Everything has shortcomings, you just have to blend and leverage their strengths to produce something far greater than the sum of their parts. Visit OpenNTF.org, that's where I will be posting my OSS (for Domino) projects.
As a Domino programmer like you,I've also met a great amount of bugs of it and complained now and then.In fact,many of my colleagues have the same feeling.So it's disturbant to see from this blog entry that someone has accused you for your complains.I read the blog entries on this site with a late first order,and have been surprised at all your passion for Domino without discontentment of its fault.Now here it is.I'm happy to know as a skilled developer in the field of Domino,you have the same emotion to it with me!
I'm working for the last 15 years in the Lotus Notes/Domino world and still do. However, some of the voiced frustration I know all too well.
I read Ben's posting with the shoe comparison and though he has somewhat a point, I do feel that exactly this kind of thinking is what will turn into a technological stand still of Lotus Notes Domino and in the long run to a death sentence.
I personally somewhat disagree that the Domino platform has proven to be able to absorb new technologies as required. One of the reasons is (and Ben should know that) is that the design and document storage is still Notes rich text based. This technology is outdated for at least a decade. The attempt to overcome its limits by providing new design elements based on MXML technology (Lotus Notes/Domino 8.5) is from all I have seen half backed.
Another major factor from a developers point of view is the ability to test your application. I'm talking about debugging your code. Now I'm not far from the truth if I say Lotus Notes actually has no debugger (not what I would call a debugger). after 15 years of coding in Lotus Notes I still need to use message boxes and log entries to see what is going on in the applications I designed.
Another point is that over the years, the Notes Client and Web Client features added to the Lotus Notes/Domino environment have split the 2 worlds basically apart. It is an enourmes effort to develope an application to run on the Notes client and at the time on the Web client. Have a look at the design of Notes Mail template, which is a perfect example for that.
These are just three major stumbling blocks which had let me look for alternatives with regards to the application development. And I found an alternative in the combination of Adobe Flex (front end) and Domino (back end).
Other postings indicate that I'm not the only one loooking into this combination and feeling that this is going to be a great move.
I still love lotus Notes/Domino and I cincerely hope the IBM is soon doing a bold step and not just cashing in on this platform.
The truth is the domino development environment flat out sucks by todays standards. It used to be fashionable to program around notes "quirks" when other platforms were not as competitive. Times have changed and products around them got better. IBM simply ignored the development platform for years hoping users would simply go out and buy Websphere. They finally realized its not happening, and are trying to play "catch-up" with 8.x although most domino developers have already moved on. I'm trying to learn new skills to prepare for the future; SAP BI at work, .NET classes, and Adobe Flex on my own time(flex is the best front end gui platform bar none). I hate to give such negative feedback here on this forum, but is it too much to ask IBM actually makes a product that has a drag/drop gui design tool, separate tabs for design and code views, has a SOA based architecture based on web services, a debugger that works for web apps(not msgbox), customizable portal, web 2.0 features based on ajax/xml, and finally a css tag creator? I'm a 12 year notes domino developer that has seen opportunities in notes disappear over the last 3-5 years. My company has waited long enough and is moving away from notes to sharepoint portal for intranet, and SAP portal for customer facing site. Notes may have comparable email seat license #'s to exchange, but their share of application/web development is all but gone from the mainstream. I hope future releases hold promised change, but I can't help thinking how R6 was supposed to have a jsp engine that still doesn't exist, and so called "web services" was an agent that you wrote yourself from scratch.
Hi Jack.
I completelly understand your situation but you are still very young, so you can master new things. I know with family etc. it`s not easy but it`s possible. I`m 42 now and have 10 years Domino experience I started learning .NET 16 months ago. Now I can program in it. Now studying Entity Framework, LINQ, Silverlight etc. It`s not easy but it`s big joy when I was able finally use some new technology. I`m not Microsoft maniac but I can admit that you can hardly compare incredible sophistication of Visual Sudio with Domino Designer. Maybye sad but true. Whatever you choose I with you good choice and happy programming. You have baby and family and that`s what I don`t have yet. Also I have to try harder :-)