logo

OAQ #1

Some time ago now I got rid of my FAQs page. Most of the questions had never been asked, never mind frequently. There are a few questions I get asked occasionally though (maybe I should have an OAQs page?).

One of them would be the answer to "What books and websites would I suggest for somebody trying to get started as a Domino/web developer?". This I get asked more than any other and this post is a kind of answer. In the future I can simply reply with a link to this entry.

There probably are lots of really good books out there but I don't know which they are and so can't really recommend any. All of the books I own are reference material, as opposed to how-to or teaching manuals. Plus, my shelf doesn't have a single Notes/Domino book on it!

Maybe I am different to other people, but I wouldn't look for a book if I wanted to learn a new technology. First thing I would do is get my hands on the actual software. Then I would create a "Hello world" type of application, before looking for other, more complicated, examples that I could play with and take apart. With my hands dirty I would start looking for sites like my own but aimed at that specific technology. From here I'd start to gather together all the tools and tricks I needed to get the software to do what I am used to doing in other applications.

If you're new to the web as well as new to Domino then you've got even more to learn. You need to learn HTML. Get to know each tag and what it does. Learn the structure of a web page. Look at CSS and what it can be used for and how. Get to know JavaScript, what it can and what it can't do. Then play, play, play.

So, in short, here's how to get started with Domino:

File -> Database -> New

Create a form, add some fields, add a button, save it, preview it in a browser. Revise design, ad infinitum...

If you need inspiration, here's my first web app developed in Domino (Notes 4.6). Embarrassing no? It's a long story. Spot the mistakes though! I'm cringing as I write this, thinking to myself "Do I really want to post that link?!". If you're new to it all and your attempts to create a site end up looking like this one, fear not, they can only get better.

Comments

    • avatar
    • Blop
    • Thu 3 Feb 2005 05:12

    I very much agree with your preferred style of learning, Jake -- that's the way I tend to learn too.

    People are different though and have different learning preferences. An ex-colleague of mine hated the 'Hello world' type of approach. She wanted a more structured type of learning, which you typically get from a training course.

    It'd be interesting to know what other readers feel about this and what their background is. I have a sneaking suspicion that most developers prefer the 'Hello world' method.

    • avatar
    • Mike
    • Thu 3 Feb 2005 07:06

    Personally, the only way I can learn is to jump in with both feet, then worry about digging myself out later. I guess it's the sink or swim mentality. You learn from your mistakes, not from your successes.

    -- Mike

  1. The problem with self teaching is that it can lead to you missing elements available to you in any language or technology. The advantage of any structured learning course is that it will cover all bases and give you a basic understanding across the board. However, and this is something that some people do not understand, in this day and age any job in IT is a constant learning process and you can't expect to be hand held through your job. It is a question of balancing self learning and also making sure that you have covered all the aspects of a technology. Personally get hold of the course notes or even just the course schedule can give you a roadmap for the areas you need to investigate. Training is all well and good, however in most cases you are thrown in at the deep end long before your employer decides that you can go on that training course and when you get there you find the course is designed for people who are just about at the "Hello World" level.

    • avatar
    • Manning Clark
    • Thu 3 Feb 2005 07:51

    It's very courageous of you to post that link to your first web app. I think mine is buried somewhere in the back yard.

    • avatar
    • Jerry Carter
    • Thu 3 Feb 2005 08:54

    Sooo... work must be slowing down a bit? ;-)

    • avatar
    • Jake
    • Thu 3 Feb 2005 08:55

    I agree Graham. But then there's nothing much structured about Domino development is there. I'd be happier learning Notes the hands-on way than I would something like J2EE.

    Manning. Come on dig it up. I'll host it for you if you like. Why don't we all get the skeletons out of the closet!

    Jerry. Work will probably slow to a halt once my clients see RepTrax ;-)

    • avatar
    • Jerry Carter
    • Thu 3 Feb 2005 08:56

    Oh, I found the hard coded links to localhost... Actually not a bad start. My first website was all just HTML and had loads of hi-color buttons with image role overs becaue image role-overs were really really cool. I spent way more time on them than the entire site.

    • avatar
    • Jono
    • Thu 3 Feb 2005 09:49

    Agree completely with the hands on approach, the only way in my mind. Even when I do go on a training course I always try to swat up on the subject first, just so I can pick the instructors brains - get yer money's worth...

    However, usually either someone tells me to go on a course before it will be needed (by which time I've forgotten what the course taught as I never used the stuff since) or as you said Graham, you only get to go on a course after you've been chucked in at the deep end. The world of IT has been and always will be constantantly changing, to keep up you need to be constantly learning. We all did a 'RepTrax' at some point!

  2. Like Jono, I have had the experience of taking a class too soon, before I need it...and then I forget much of it.

    I also really like getting a feel for it before a training course, love finding free webcasts/tutorials and using the demos provided with the software.

    Graham had a good point about making sure you get exposed to all elements.

    The thing I like about classes is knowing that all important topics have been covered. I get a sense that I can get my arms around it...and in just a few days!

    • avatar
    • Ferdy
    • Thu 3 Feb 2005 13:38

    Here's my skeleton...blush:

    {Link}

  3. For me it depends. A bad book is worse than a good course, either is better than trying to jump into a badly documented package. But mainly I prefer books (of which there are very few good ones) and experimentation.

    My approach to Notes/Domino was to start by doing it with the help of the Developer Help and to make sure I had no glaring gaps by doing the Certification exams - (I failed the one that covered the formula language the first time round). The fact that I had worked in a management role in an organisation that was heavily committed to Notes and had a very good idea of how to use it was a help.

    In some other cases I found books helpful to learn from. For instance I found it easy to learn static SVG by reading "SVG Essentials" but I found that the best way to undestand how to script is was to deconstruct a few demo pages on the Web.

    I don't agree that courses (or for that matter certification exams) ensure that you know all the important things. It is for instance a source of wonder to me that one can become a PCLP specialising in Lotus Script without knowing how to create a class or how to use lists in LS.

  4. Aha! Now you've made it available I have cunningly reverse engineered Reptrax and plan to sell it as my own product.... I've renamed it RepTraxx (see two x's)

    Muuhahahahha! Now for the money to start rolling in :-)

  5. I think most natural developers (I define those who do it for fun - and profit, of course - and seem to understand the principles e.g. normalisation, variables etc - instinctively. I am a natural developer. Notice I don't define natural as being a *good* developer!) do it the feet first way - you're too fired up with enthusiasm to get your first program out, if nothing else!

    However, my biggest problem is (and it got a lot worse when Windows started) is that there are always so many ways to do the same thing. Which is best? Which is most applicable to the problem in hand? Which is most efficient?

    And that's when you need a trainer to ask stupid questions of.

    Oh for the good old days of single-thread DOS and top-down structured programming!

    • avatar
    • Brian
    • Fri 4 Feb 2005 09:02

    My eyes! I'm blind.

    • avatar
    • Jake
    • Fri 4 Feb 2005 09:32

    Thanks Brian. That really did make me LOL.

  6. Books can be a great addition or a great hindrance. But for the most part, I'm on the popular side of this thread. Many of my customers are moving to Notes 6 and my first gut feeling was I need a class, some books, panic set in. Then I looked at my wall of certifications and books on the shelf and thought to myself - "What are you crazy, I got to where I'm on my own. This is just to make me look like I know what I'm doing". Yes, some classes, reading, surfing have helped fine tune the skill set, but for the most part I got here going feet first.

    The old right way wrong way paradox. After nearly 25 years in this business, I've come to the conclusion that right or wrong is relative - one assignment's right is another assignment's wrong. But there is blasphemy, and for the most part, common sense and experience help define that. (Heck, the last class I took was so bias toward struts and web services that any solution that did not encompass these was not worth review. Now this stuff is of value, but really... use it EVERYWHERE???) Heck, I know Notes "purest" that like to see a "clean" database - they write agents to do everything. Me, I use lots of design elements in combination with the agents that make these guys skin crawl. It is right or wrong? I don't know, but the systems perform to the customers satisfaction and they keep calling me back to do more work and refer me to new customers. So ahs Sheryl Crow sang, If it is wrong why does it feel so right?

    • avatar
    • Jennifer
    • Fri 4 Feb 2005 10:05

    I thank a merciful deity that the first notes database I designed is secured safely behind a firewall where no one can see it :-)

    When I started developing in Notes, I had never used it before, much less developed for it. I muddled through the formula language through trial and error because the person who installed Notes on my workstation didn't add the designer help database. (Obviously, this was before the somewhat-helpful formula type-ahead functionality.)

    Only later did I figure out that wasn't the best way to tackle learning Notes development.

    That first database, though. Wow, is it bad. It did what it had to do, I guess (some document approvals/workflow, repository, etc) but I think there are at least a half-dozen "untitled" fields on each form. In one particular form, I saw a field named "untitled_26". I didn't see 1 through 25, though.

    When we went through a database consolidation project a couple of years ago, that was the first database I took out of production. I still cringe when I see its design.

Your Comments

Name:
E-mail:
(optional)
Website:
(optional)
Comment:


About This Page

Written by Jake Howlett on Thu 3 Feb 2005

Share This Page

# ( ) '

Comments

The most recent comments added:

Skip to the comments or add your own.

You can subscribe to an individual RSS feed of comments on this entry.

Let's Get Social


About This Website

CodeStore is all about web development. Concentrating on Lotus Domino, ASP.NET, Flex, SharePoint and all things internet.

Your host is Jake Howlett who runs his own web development company called Rockall Design and is always on the lookout for new and interesting work to do.

You can find me on Twitter and on Linked In.

Read more about this site »

More Content