MWLUG 2014: ATLUG Comes To You

600 views
488 views

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
600
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
12
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

    ×