Going to MWLUG 2014? Buy Dave Leedy a beer

Yeah I know I have rattled on about this before but it holds as true today as it does any other day before.

Here is a list of reasons you should buy Dave Leedy a beer in case you were wondering…

1) really? You need a list?? Shame on you….

2) NotesIn9 has helped you – One of those videos by Dave, John, John, Brian, Chris, Graham, Jeremy, Mark, Mark, Paul, Peter, Steve, Tim, Chris, Paul, Josh, Dan, Niklas, Michael, Russ, Serdar, Sean, Mark, Brad, Frederick, Steve, Richard, Kathy, Stephan, Keith, Martin and Andrew (to name but a few) made you look better to your boss

3) Dave pays for this amazing service out of his personal pocket. By my reckoning $40 a month for 3+ years is well over $1000 dollars. A $5 beer is the LEAST you can do to repay him.

4) Dave refuses to take contributions – if it would make a difference I would do a kickstarter, but he’d refuse.

5) NotesIn9 is the largest repository of videos and tutorials, created by the largest number of different contributors in the IBM ICS community.

If he refuses to let you buy one, buy it anyway and put it in front of him. He’s going to be there for four nights so just do it.

Buy the man a beer – you owe him and it would be rude not to!!!

The line starts behind me……..join it !

Advertisements

Chart Directives and Dynamic Binding – MWLUG 2014 preview

Although not directly related to the purpose of the presentation I am going to demonstrate how to use an Angular.js chart directive to bind to the application service data and create dynamic charting within the application.

m1

Changing the Zip for 1 Marky not only updates the data displayed – but also because of the data bind – auto-magically updates the chart

m2

While this in itself does not directly relate to the write once and run anywhere nature of the presentation – it does demonstrate componentized Angular.js code writing which you *might* want to write once and run anywhere……

Come and see the presentation to find out more 🙂

Remember to stick around until the end I am on at 3pm Friday in the main room 🙂

 

Working on my MWLUG2014 presentation

Just wanted to show a work in progress – screenshots of what I am working on for MWLUG2014. Part of the presentation is showing how to make your Angular applications portable.

My sample app will be the one I created as part of the Angular in XPages series.

I will walk through the code and demonstrate how I can take this stand alone application

a2

and insert it into this bootstrap demo dashboard application

a1

creating this fully functional component capability within the dashboard

angularinDashboard

 

With only 4 lines of HTML and zero XPages dependency.

Come to MWLUG2014 in Grand Rapids Michigan and find out more

PS

Make sure you plan to stick around to the end – I am not on until 3pm on Friday !!!

 

 

 

Speaking at MWLUG 2014: Write once, run anywhere – Angular.js in XPages

I am very fortunate and excited to announce that I have been accepted to speak at MWLUG 2014.

MWLUG will always have a fond place in my heart because I had my first speaking session there back in 2012 and had such a fantastic time it pushed me to do more.

I will speak speaking about Angular.js and the opportunity it avails us as Web Developers. We all know IBM Domino is arguably to world’s most secure and mature NoSQL database. So we will take a look at how we can use it like a NoSQL database. Using the power of the data, some REST services and Angular managing the front end functionality, we are able to do some amazing things.

Come and see what Angular can do and how you can write a “Domino” application once and run the front end on any server you like…..

 

Abstract

The business requirement to surface functionality from one application inside of another has long existed and is often difficult to implement. There has always been a gulf between displaying data and creating a functional application. Mark will demonstrate how the power of building a solution based on Angular.js allows an application to be “moved” from Domino to another platform easily and with the bare minimum of code re-write. Taking “Write once, use anywhere” in the literal sense, you will see how to make Domino applications running natively inside of other platforms. Client side frameworks such as Angular.js are the future of web development – come and see it in action.

Reviewing 3 JavaScript presentation libraries (for my MWLUG presentation)

As I previously mentioned my abstract for MWLUG2012 has been accepted and so I have gone about looking for an assessing different JavaScript presentation libraries to use as part of my demonstrations.

I am a firm believer in demonstrating the techniques I want to talk about rather than going through boring slide after boring slide. Any old vacuum cleaner salesman can blow smoke up your ass about how awesome their product is – but if I want to talk about how you use a JavaScript library then I want to be able to show it in action. Using a JavaScript presentation platform also negates the need for me to constantly flick back and forwards from PowerPoint to a Web Browser. I realize that sometimes that is a cruel necessity but it is not easy on the audience.

So I found these three examples – I am sure there are others but here we go – All these are firefox or chrome or safari to get the best out of the HTML5/CSS3 support

Turn.js

http://www.turnjs.com is a really nice look and feel “book-like” presentation format. It allows to the user to grab the corner of the page and turn it to the next one. I did not go with this one because I found some issues with the display and it was also quite finicky to use – not good for a presentation but might be good for an online advert or something of that ilk

turn.js screenshot: turning a page
turn.js screenshot: turning a page

 

Impress.js

http://bartaz.github.com/impress.js

This is just an amazing demonstration of CSS3 transitions – This would be my preferred presentation library because I was SO impressed (pun intended) with the demonstration and the flexibility of the usage. I started to pan out my slides using this capability (mimicking the example slide types) and I was really enjoying it.

The problem I ran into was that it did not play well with the demonstrations I wanted to do. I want to include XPage code and the dojo CSS created by the XPage really screwed up the presentation CSS 😦 It was also  really time consuming to manage the canvas and where all the slides were going to go – kinda disappointed this didn’t work out because the WOW factor would be worth every minute!

the only limit is your imagination

This would be great if I was not using demonstrations within the presentation and if I had more time to play with it….

impress.js infinite canvas
impress.js infinite canvas

 

Ascensor.js

http://kirkas.ch/ascensor/

Ascensor is a jquery plugin which aims to train and adapt content according to an elevator system

So this is the library I finally decided to go with. It is very simple one slide to the next you can use the arrow keys to move left and right up and down through the website. There are some nice examples of how this has been used in commercial sites and it struck me that it would make a very nice way of telling a story in a presentation. What I also liked was the simplicity of the stylesheet and the simplicity in which I could construct my slideshow.

Ascensor.js
Ascensor.js

In the main XPage I am able to just create a separate custom control for each presentation page and at any time I can jump from one slide to the next. This also allows me to ensure that each example can be treated individually. Unlike Impress where the content and positioning are controlled from the div attributes, Ascensor controls the slide order from the plugin attributes at creation.

<div>
	<div class="contenu">
		<!-- Narrowing the selection -->
		<xc:form2_4></xc:form2_4>
	</div>
</div>
<div>
	<div class="contenu">
	<!-- Returning the jQuery Object -->
		<xc:form2_5></xc:form2_5>
	</div>
</div>
<div>
	<div class="contenu">
	<!-- Chaining -->
		<xc:form2_6></xc:form2_6>
	</div>
</div>

Here is how the presentation is instantiated using the plugin call.

$(document).ready(function() {
    //google code prettyfier
    prettyPrint();

    var cCoord='1|1 & 1|2 & 1|3 & 1|4 & 1|5 & 1|6 & 1|7 & 1|8 & 1|9 & 1|10'
    	cCoord+=' & 2|1 & 2|2 & 2|3 & 2|4 & 2|5 & 2|6 & 2|7 & 2|8 & 2|9 & 2|10'
    	cCoord+=' & 3|1 & 3|2 & 3|3 & 3|4 & 3|5 & 3|6 & 3|7 & 3|8 & 3|9 & 3|10 & 3|11 & 3|12'
        cCoord+=' & 4|1 & 4|2 & 4|3 & 4|4 & 4|5 & 4|6 & 4|7 & 4|8 & 4|9'
        cCoord+=' & 5|1 & 5|2 & 5|3 & 5|4 & 5|5 & 5|6 & 5|7 & 5|8 & 5|9'
        cCoord+=' & 6|1 & 6|2'

	//ascensor
	$('#content').ascensor({
		AscensorName:'house',
		WindowsFocus:true,
		WindowsOn:0,

		NavigationDirection:'xy',
		Direction: 'y',
		Navig:true,
		Link:false,
		ReturnURL:true,
		PrevNext:true,
		CSSstyles:true,

		KeyArrow:true,
		keySwitch:true,
		ReturnCode:false,

		ChocolateAscensor:true,
		AscensorMap: '9|2',
		ContentCoord: cCoord
	});
});

More to come on the presentation as it comes together and I will certainly be blogging about the how as this goes along.

MWLUG Ascensor slideshow
Marky’s MWLUG Ascensor slideshow

Speaking at MWLUG 2012 – XPages, jQuery, and Dojo – a new paradigm in Client Side JavaScript

I am really excited that my abstract was accepted for MWLUG 2012

http://www.mwlug.com/mwlug/mwlug12.nsf/Sessions.xsp

AD111: XPages, jQuery, and Dojo – a new paradigm in Client Side JavaScript
Speaker: Mark Roden – PSC Group, Senior Developer

In this session we will take a deep look at how dojo and jQuery can be used to easily manipulate the Document Model of your XPage. This truly opens up a new paradigm for solving every day development problems. Take back your web browser and significantly reduce your compatibility issues. We will look at several useful Tools to use in building your CSJS code; identify resources and illustrate effective methodologies for Client Side JavaScript development in XPages. 

Since Lotusphere this January it has been my intention to speak at a conference and this is a great opportunity for me to spread the jQuery/Client Side JavaScript word.

Through this presentation I hope to encourage XPage developers to use CSJS libraries and to highlight the possibilities – we are only limited by what we know and what we think we know – there is always more out there just beyond the horizon if you know where to look for it.

I really appreciate the support and encouragement to speak at MWLUG from my new employer PSC Group.

This is going to be a lot of fun ! 🙂