ATLUG Comes To You
Quarterly Meetings 
3rd Thursday 
2nd Month
ATLUG Day of Champions 
April 7-8, 2104 - Atlanta, Georgia
Tim Tripcony 
Best Methods 
Presented By Nathan Freeman, Red Pill Development
8 
Affordable
"For 5 dollars, this better get fixed soon” 
9
"Please fix, a 5 dollar app 
should work flawlessly" 
10
"For 5 dollars I opulent expect this." 
11
“It was quite expensive for a short 
game. very disappointed." 
12
"If it was 99 cents then I would have rated it four or 
five stars, because if you think about it Angry Birds is 
cheap an...
14
does your enterprise 
have an app store? 
15
if so, are you paying 
attention to reviews? 
16
the pace of modern 
17
modern release cycle monthly = standard 
quarterly = acceptable 
semi-annually = apathetic 
> 12 months = abandoned 
18
What % of your applications 
19
> 1 month? 
20
21 
> 1 Year?
> 1 Decade? 
22
23 
Then
24 
Now
25 
Then
26 
Now
27 
Then
28 
Now
Are you still delivering this 
29
When your customers want 
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
54
55
56
57
58
“One Card To Smarten Up Dumb 
Gadgets And Connect Them All” 
59 
–Alex Salkever, readwrite.com
60
61
62
63 
simplicity
Next, Next, Yes, Next, 
No, I Agree, Yes, Next, 
64 
Finish
65
66
Lotus Notes 
Live Long and Prosper 
Peter Presnell 
CEO
Technology Trends
What is the market?
Is there a reason to change?
Are the barriers to exit high?
Mainframe 
A mainframe has one of the worst price/performance ratios of any 
product or technology in any industry.
Slam dunk to replace mainframes with 
faster, smaller, cheaper servers?
COBOL (circa 1959) 
55 Years
COBOL is not modern
80% of daily business transactions are still processed in COBOL 
* IT Modernization: The Changing COBOL Market Could Affec...
One in four universities teach COBOL 
* Bridging the COBOL skills gap – Micro Focus, 2013
1980: It was the ONLY choice
170 billion lines of code 
* IT Modernization: The Changing COBOL Market Could Affect Your Decision – Gartner Group, 8 Aug...
That’s a lot of bitcoins….
And they just keep going
The Risk Of Failure Is High 
31% of projects are cancelled before completed 
53% of projects will cost 189% of their origi...
Businesses will rely on COBOL for another 
ten to twenty years* 
* Bridging the COBOL skills gap – Micro Focus, 2013
Enterprise Applications 
High barriers to exit
Blackberry
A once thriving company
Suddenly looked like this…..
No longer just a business device
Ubiquitous device
Everybody has one
I don’t need multiple phones!
We replace our phones every two years
Soon everyone was using something else
Mobile Devices 
Low barriers to exit
Notes will soon turn 25 
1989 - 2014
What does the future hold?
Notes Mail
Current messaging
File store
30-day transition period
Messaging 
Low barriers to exit
Notes Applications
Domino Designer on every 
desk
Easy to learn and deploy
Handle any problem
The most successful SMA platform ever! 
• 50,000 companies 
• 200 applications (avg) 
• 10 million applications
Apple’s app store reached 1 million applications in October 2013
And the code…. 
5,000 lines per application x 
10 million applications = 
50 billion lines of code
Cost 
10 200 million applications applications x 
x 
$20,000 per application = 
$200 4 million billion investment 
investm...
Time 
IBM XPages: 
200 applications x 
5 weeks per application = 20 years 
i.e. Team of 4 developers 5 years
Time 
Platform migration: 
200 applications x 
3 months per application = 50 years 
i.e. Large team of consultants forever
SMAs 
High barriers to exit
Implications
Notes applications are NOT going away!
Think 10+ years
Business needs are not frozen
The expectation gap Is growing
Adding modern features delivers 
additional business value
Notes is web 2.0
Notes is mobile
Notes Client
Keeping your employees happy
Keeping your business profitable
A sustained investment in the platform 
Maintenance 
Latest Version of Domino Always 
Training 
Web Enablement: XPages 
Mo...
A sustained investment in the platform 
Maintenance 
Latest Version of Domino Always 
Training 
Web Enablement: XPages 
Mo...
Nathan Freeman 
Red Pill Development
China got its first Internet connection
Público Función obtenerLafechaDelDocumento() Como 
Variante 
Oscurecer sess Como Nuevo NotasSesión 
Oscurecer db Como Nota...
Dim db as NotesDatabase 
Set db = session.Getdatabase(“server”, “file”) 
Database db = session.getDatabase(“server”, “file...
‘ScriptLibrary libs.atFormulas 
Public Function atRightBack(stringToSearch As String, subString As String) 
As String 
End...
• Cheaper 
• Fewer 
faster 
• Easier 
• Better 
• Portable
Tim Tripcony 
Best Methods 
Presented ByDevin Olson, Czarnowski
LotusScript is the past 
20 years old (almost to the day) 
Only 2 key changes to the language itself:- 
 Booleans 
 Conv...
The future is XPages 
Java 
Javascript
Subconscious preparation 
 Apply 4 optional changes to how you write LotusScript 
 Backwards compatible to R4 
 Trainin...
Case matters 
 Learn to love “camel case” 
 The LotusScript editor is wrong 
 Autocompletes to proper case 
 database....
Case matters 
If becomes if 
For becomes for 
While becomes while 
...you’re probably seeing a pattern here 
Because these...
Parentheses matter 
 Optional in several portions of LotusScript syntax 
 Mandatory in each equivalent in Java and JavaS...
Document fields are method parameters 
Stop using: 
doc.Subject 
Start using: 
doc.getItemValue(“subject”) 
doc.replaceIte...
Write your own classes 
 LotusScript has always had classes (yes, since R4) 
 Most LotusScript developers only write top...
Write your own classes 
 Don’t use the Property Get / Property Set pattern 
 Define private properties, expose each via ...
Write your own classes 
THIS IS THE SINGLE MOST IMPORTANT THING YOU CAN 
DO TO EASE YOUR TRANSITION TO XPAGES OR 
SHAREPOI...
What language is this? 
if (workflow.isComplete()) { 
doc.replaceItemValue(“status”, 
“Approved”); }
Okay, fine, there’s one other 
difference 
LotusScript 
Dim doc As NotesDocument 
Set doc = database.getDocumentByID(“OU81...
If you adopt these habits now… 
Learning JavaScript or Java 
is mostly about remembering 
two things: 
1. where to use cur...
Future-proofing 
Notes client applications
Nothing lasts forever
Make hay while the sun shines
Before they end up here!!
Domain Catalog
Retirement
Hidden design
Assign a template
Segment Users 
Users Power Users (Admins) Developers
Gestures
What are gestures? 
Actions Buttons Hotspots Events
Client server 
JavaScript 
@Formula 
LotusScript 
SSJS 
Java 
LotusScript 
(Agents)
Back end versus front end
Move the code
Agents
Views
Outlines made us lazy
Organize views
Hidden views 
Division Lookup 
(Division Lookup)
Web views 
$Flags +“n”
Eliminate unwanted views 
Copy Of By Category 
Another Copy Of By Category 
By Category 12091989 
Backup copy of By Catego...
Eliminate unused views 
log.nsf (Database Usage) 
$Collection
Eliminate conflicts 
@IsUnavailable ($Conflict)
Minimize response documents
Forms
Mobile First
Clearly define labels
Group fields carefully
Adding Style Sheets
Address Fields 
StreetAddress1 + “ “ + StreetAddress2 
+ “ “ + City + “ “ + State + “ “ + Zipcode
Rich Text
OLE
Rich Text Lite
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
Upcoming SlideShare
Loading in...5
×

MWLUG 2014: ATLUG Comes To You

307

Published on

A collection of FIVE presentations given at the recent ATLUG Day of Champions event. The Impact of Mobile on Human Perception explore the changes that mobile is driving on user expectations of software. Lotus Notes: Live Long and Prosper look at trends in technology to predict the future for Notes applications. Three short (4-minute) presentations then give ideas and best practices on a range of techniques that can be used to prepare Notes applications for that future.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
307
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Grace Hopper
  • Mellon Bank’s day to day operations are based on 112,500 COBOL programs and 343 million lines of code.
  • In 1997 the gartner group reported 80% of the world’s business ran on COBOL with over 200 billions lines of code with 5 billion lines of new code being written each year.
  • The cost of rewriting code from scratch can be as high as $30 to $40 per line.
  • Americans replace their phones every 21.7 months.
    In Brazil this is 80 months, Finland 75 months
  • In 1997 the gartner group reported 80% of the wrold’s business ran on COBOL with over 200 billions lines of code with 5 billion lines of new code being written each year.
  • Mondernization is not just an application issue. It also involved keeping the infrastructure modern.
  • Mondernization is not just an application issue. It also involved keeping the infrastructure modern.
  • MWLUG 2014: ATLUG Comes To You

    1. 1. ATLUG Comes To You
    2. 2. Quarterly Meetings 3rd Thursday 2nd Month
    3. 3. ATLUG Day of Champions April 7-8, 2104 - Atlanta, Georgia
    4. 4. Tim Tripcony Best Methods Presented By Nathan Freeman, Red Pill Development
    5. 5. 8 Affordable
    6. 6. "For 5 dollars, this better get fixed soon” 9
    7. 7. "Please fix, a 5 dollar app should work flawlessly" 10
    8. 8. "For 5 dollars I opulent expect this." 11
    9. 9. “It was quite expensive for a short game. very disappointed." 12
    10. 10. "If it was 99 cents then I would have rated it four or five stars, because if you think about it Angry Birds is cheap and you get days worth of play." 13
    11. 11. 14
    12. 12. does your enterprise have an app store? 15
    13. 13. if so, are you paying attention to reviews? 16
    14. 14. the pace of modern 17
    15. 15. modern release cycle monthly = standard quarterly = acceptable semi-annually = apathetic > 12 months = abandoned 18
    16. 16. What % of your applications 19
    17. 17. > 1 month? 20
    18. 18. 21 > 1 Year?
    19. 19. > 1 Decade? 22
    20. 20. 23 Then
    21. 21. 24 Now
    22. 22. 25 Then
    23. 23. 26 Now
    24. 24. 27 Then
    25. 25. 28 Now
    26. 26. Are you still delivering this 29
    27. 27. When your customers want 30
    28. 28. 31
    29. 29. 32
    30. 30. 33
    31. 31. 34
    32. 32. 35
    33. 33. 36
    34. 34. 37
    35. 35. 38
    36. 36. 39
    37. 37. 40
    38. 38. 41
    39. 39. 42
    40. 40. 43
    41. 41. 44
    42. 42. 45
    43. 43. 46
    44. 44. 47
    45. 45. 48
    46. 46. 49
    47. 47. 50
    48. 48. 51
    49. 49. 52
    50. 50. 54
    51. 51. 55
    52. 52. 56
    53. 53. 57
    54. 54. 58
    55. 55. “One Card To Smarten Up Dumb Gadgets And Connect Them All” 59 –Alex Salkever, readwrite.com
    56. 56. 60
    57. 57. 61
    58. 58. 62
    59. 59. 63 simplicity
    60. 60. Next, Next, Yes, Next, No, I Agree, Yes, Next, 64 Finish
    61. 61. 65
    62. 62. 66
    63. 63. Lotus Notes Live Long and Prosper Peter Presnell CEO
    64. 64. Technology Trends
    65. 65. What is the market?
    66. 66. Is there a reason to change?
    67. 67. Are the barriers to exit high?
    68. 68. Mainframe A mainframe has one of the worst price/performance ratios of any product or technology in any industry.
    69. 69. Slam dunk to replace mainframes with faster, smaller, cheaper servers?
    70. 70. COBOL (circa 1959) 55 Years
    71. 71. COBOL is not modern
    72. 72. 80% of daily business transactions are still processed in COBOL * IT Modernization: The Changing COBOL Market Could Affect Your Decision – Gartner Group, 8 August 2008
    73. 73. One in four universities teach COBOL * Bridging the COBOL skills gap – Micro Focus, 2013
    74. 74. 1980: It was the ONLY choice
    75. 75. 170 billion lines of code * IT Modernization: The Changing COBOL Market Could Affect Your Decision – Gartner Group, 8 August 2008
    76. 76. That’s a lot of bitcoins….
    77. 77. And they just keep going
    78. 78. The Risk Of Failure Is High 31% of projects are cancelled before completed 53% of projects will cost 189% of their original costs * Choas Report – Standish Group
    79. 79. Businesses will rely on COBOL for another ten to twenty years* * Bridging the COBOL skills gap – Micro Focus, 2013
    80. 80. Enterprise Applications High barriers to exit
    81. 81. Blackberry
    82. 82. A once thriving company
    83. 83. Suddenly looked like this…..
    84. 84. No longer just a business device
    85. 85. Ubiquitous device
    86. 86. Everybody has one
    87. 87. I don’t need multiple phones!
    88. 88. We replace our phones every two years
    89. 89. Soon everyone was using something else
    90. 90. Mobile Devices Low barriers to exit
    91. 91. Notes will soon turn 25 1989 - 2014
    92. 92. What does the future hold?
    93. 93. Notes Mail
    94. 94. Current messaging
    95. 95. File store
    96. 96. 30-day transition period
    97. 97. Messaging Low barriers to exit
    98. 98. Notes Applications
    99. 99. Domino Designer on every desk
    100. 100. Easy to learn and deploy
    101. 101. Handle any problem
    102. 102. The most successful SMA platform ever! • 50,000 companies • 200 applications (avg) • 10 million applications
    103. 103. Apple’s app store reached 1 million applications in October 2013
    104. 104. And the code…. 5,000 lines per application x 10 million applications = 50 billion lines of code
    105. 105. Cost 10 200 million applications applications x x $20,000 per application = $200 4 million billion investment investment
    106. 106. Time IBM XPages: 200 applications x 5 weeks per application = 20 years i.e. Team of 4 developers 5 years
    107. 107. Time Platform migration: 200 applications x 3 months per application = 50 years i.e. Large team of consultants forever
    108. 108. SMAs High barriers to exit
    109. 109. Implications
    110. 110. Notes applications are NOT going away!
    111. 111. Think 10+ years
    112. 112. Business needs are not frozen
    113. 113. The expectation gap Is growing
    114. 114. Adding modern features delivers additional business value
    115. 115. Notes is web 2.0
    116. 116. Notes is mobile
    117. 117. Notes Client
    118. 118. Keeping your employees happy
    119. 119. Keeping your business profitable
    120. 120. A sustained investment in the platform Maintenance Latest Version of Domino Always Training Web Enablement: XPages Mobile Access: XPages Social Capabilities: SBT
    121. 121. A sustained investment in the platform Maintenance Latest Version of Domino Always Training Web Enablement: XPages Mobile Access: XPages Social Capabilities: SBT
    122. 122. Nathan Freeman Red Pill Development
    123. 123. China got its first Internet connection
    124. 124. Público Función obtenerLafechaDelDocumento() Como Variante Oscurecer sess Como Nuevo NotasSesión Oscurecer db Como NotasBasededatos Establecer db = sess.ObtenerBasededatos("servidor", "registros.nsf", falso) Oscurecer docComo NotasDocumento Establecer doc = db.CrearElDocumento() doc.formulario = "cuarto de baño" Convocar doc.firmar() Convocar doc.guardar(verdadero, verdadero, falso) obtenerLafechaDelDocumento = doc.modificadaPorúltimaVez Terminar Función
    125. 125. Dim db as NotesDatabase Set db = session.Getdatabase(“server”, “file”) Database db = session.getDatabase(“server”, “file”);
    126. 126. ‘ScriptLibrary libs.atFormulas Public Function atRightBack(stringToSearch As String, subString As String) As String End Function Use “atFormulas” //Java class libs.atFormulas public static String rightBack(String stringToSearch, String subString ) { } import static libs.atFormulas;
    127. 127. • Cheaper • Fewer faster • Easier • Better • Portable
    128. 128. Tim Tripcony Best Methods Presented ByDevin Olson, Czarnowski
    129. 129. LotusScript is the past 20 years old (almost to the day) Only 2 key changes to the language itself:-  Booleans  Convenience functions Everything else has been API enhancements
    130. 130. The future is XPages Java Javascript
    131. 131. Subconscious preparation  Apply 4 optional changes to how you write LotusScript  Backwards compatible to R4  Training yourself for free and without even realizing it  Runtime execution and ongoing maintenance will be either Identical or Better
    132. 132. Case matters  Learn to love “camel case”  The LotusScript editor is wrong  Autocompletes to proper case  database.Gettitle() should be database.getTitle()  document.Getitemvalue() should be document.getItemValue()  Lower camel is the convention for nearly every language in common use  For method names (e.g. identifyUser() )  Class names should still be upper camel (e.g. Database, DocumentCollection)
    133. 133. Case matters If becomes if For becomes for While becomes while ...you’re probably seeing a pattern here Because these are all one word, the lower camel is indistinguishable from lowercase
    134. 134. Parentheses matter  Optional in several portions of LotusScript syntax  Mandatory in each equivalent in Java and JavaScript  Functions: o Somemethodname o someMethodName()  Conditionals: o if somethingistrue then o if (somethingIsTrue) then  If it doesn’t make the code harder to read, add parentheses  In Java, you can tell Designer to remove any parentheses you don’t need
    135. 135. Document fields are method parameters Stop using: doc.Subject Start using: doc.getItemValue(“subject”) doc.replaceItemValue(“subject”,“Hello world!”)
    136. 136. Write your own classes  LotusScript has always had classes (yes, since R4)  Most LotusScript developers only write top-level functions  If you’ve ever written code that uses NotesSession, NotesDatabase, etc., you’re already using classes, you just might not be writing your own  Classes simplify variable management  Classes maximize code reusability  Classes help our code to stop thinking in “documents” and start thinking in business processes, and the people, places, and things that interact with and are impacted by those processes
    137. 137. Write your own classes  Don’t use the Property Get / Property Set pattern  Define private properties, expose each via “getters” and “setters”  If it’s a Boolean, use isPropertyName() instead of getPropertyName() Private firstName As String Public Function getFirstName() getFirstName = firstName End Function Public Function setFirstName(firstName byVal As String) Me.firstName = firstName End Function
    138. 138. Write your own classes THIS IS THE SINGLE MOST IMPORTANT THING YOU CAN DO TO EASE YOUR TRANSITION TO XPAGES OR SHAREPOINT OR NATIVE MOBILE DEVELOPMENT OR PRETTY MUCH ANY DEVELOPMENT PLATFORM THAT CURRENTLY EXISTS OR IS LIKELY TO EMERGE IN THE FORESEEABLE FUTURE OH MY GOD I SIMPLY CANNOT STRESS THIS ENOUGH JUST DO IT!
    139. 139. What language is this? if (workflow.isComplete()) { doc.replaceItemValue(“status”, “Approved”); }
    140. 140. Okay, fine, there’s one other difference LotusScript Dim doc As NotesDocument Set doc = database.getDocumentByID(“OU812”) JavaScript var doc = database.getDocumentByID(“OU812”); Java Document doc = database.getDocumentByID(“OU812”);
    141. 141. If you adopt these habits now… Learning JavaScript or Java is mostly about remembering two things: 1. where to use curly braces 2. where to use semicolons Yes, I’m serious!
    142. 142. Future-proofing Notes client applications
    143. 143. Nothing lasts forever
    144. 144. Make hay while the sun shines
    145. 145. Before they end up here!!
    146. 146. Domain Catalog
    147. 147. Retirement
    148. 148. Hidden design
    149. 149. Assign a template
    150. 150. Segment Users Users Power Users (Admins) Developers
    151. 151. Gestures
    152. 152. What are gestures? Actions Buttons Hotspots Events
    153. 153. Client server JavaScript @Formula LotusScript SSJS Java LotusScript (Agents)
    154. 154. Back end versus front end
    155. 155. Move the code
    156. 156. Agents
    157. 157. Views
    158. 158. Outlines made us lazy
    159. 159. Organize views
    160. 160. Hidden views Division Lookup (Division Lookup)
    161. 161. Web views $Flags +“n”
    162. 162. Eliminate unwanted views Copy Of By Category Another Copy Of By Category By Category 12091989 Backup copy of By Category By Category (Old)
    163. 163. Eliminate unused views log.nsf (Database Usage) $Collection
    164. 164. Eliminate conflicts @IsUnavailable ($Conflict)
    165. 165. Minimize response documents
    166. 166. Forms
    167. 167. Mobile First
    168. 168. Clearly define labels
    169. 169. Group fields carefully
    170. 170. Adding Style Sheets
    171. 171. Address Fields StreetAddress1 + “ “ + StreetAddress2 + “ “ + City + “ “ + State + “ “ + Zipcode
    172. 172. Rich Text
    173. 173. OLE
    174. 174. Rich Text Lite
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×