MWLUG 2014: ATLUG Comes To You

  • 179 views
Uploaded 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 …

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
179
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
10
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    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.

Transcript

  • 1. ATLUG Comes To You
  • 2. Quarterly Meetings 3rd Thursday 2nd Month
  • 3. ATLUG Day of Champions April 7-8, 2104 - Atlanta, Georgia
  • 4. Tim Tripcony Best Methods Presented By Nathan Freeman, Red Pill Development
  • 5. 8 Affordable
  • 6. "For 5 dollars, this better get fixed soon” 9
  • 7. "Please fix, a 5 dollar app should work flawlessly" 10
  • 8. "For 5 dollars I opulent expect this." 11
  • 9. “It was quite expensive for a short game. very disappointed." 12
  • 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. 14
  • 12. does your enterprise have an app store? 15
  • 13. if so, are you paying attention to reviews? 16
  • 14. the pace of modern 17
  • 15. modern release cycle monthly = standard quarterly = acceptable semi-annually = apathetic > 12 months = abandoned 18
  • 16. What % of your applications 19
  • 17. > 1 month? 20
  • 18. 21 > 1 Year?
  • 19. > 1 Decade? 22
  • 20. 23 Then
  • 21. 24 Now
  • 22. 25 Then
  • 23. 26 Now
  • 24. 27 Then
  • 25. 28 Now
  • 26. Are you still delivering this 29
  • 27. When your customers want 30
  • 28. 31
  • 29. 32
  • 30. 33
  • 31. 34
  • 32. 35
  • 33. 36
  • 34. 37
  • 35. 38
  • 36. 39
  • 37. 40
  • 38. 41
  • 39. 42
  • 40. 43
  • 41. 44
  • 42. 45
  • 43. 46
  • 44. 47
  • 45. 48
  • 46. 49
  • 47. 50
  • 48. 51
  • 49. 52
  • 50. 54
  • 51. 55
  • 52. 56
  • 53. 57
  • 54. 58
  • 55. “One Card To Smarten Up Dumb Gadgets And Connect Them All” 59 –Alex Salkever, readwrite.com
  • 56. 60
  • 57. 61
  • 58. 62
  • 59. 63 simplicity
  • 60. Next, Next, Yes, Next, No, I Agree, Yes, Next, 64 Finish
  • 61. 65
  • 62. 66
  • 63. Lotus Notes Live Long and Prosper Peter Presnell CEO
  • 64. Technology Trends
  • 65. What is the market?
  • 66. Is there a reason to change?
  • 67. Are the barriers to exit high?
  • 68. Mainframe A mainframe has one of the worst price/performance ratios of any product or technology in any industry.
  • 69. Slam dunk to replace mainframes with faster, smaller, cheaper servers?
  • 70. COBOL (circa 1959) 55 Years
  • 71. COBOL is not modern
  • 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. One in four universities teach COBOL * Bridging the COBOL skills gap – Micro Focus, 2013
  • 74. 1980: It was the ONLY choice
  • 75. 170 billion lines of code * IT Modernization: The Changing COBOL Market Could Affect Your Decision – Gartner Group, 8 August 2008
  • 76. That’s a lot of bitcoins….
  • 77. And they just keep going
  • 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. Businesses will rely on COBOL for another ten to twenty years* * Bridging the COBOL skills gap – Micro Focus, 2013
  • 80. Enterprise Applications High barriers to exit
  • 81. Blackberry
  • 82. A once thriving company
  • 83. Suddenly looked like this…..
  • 84. No longer just a business device
  • 85. Ubiquitous device
  • 86. Everybody has one
  • 87. I don’t need multiple phones!
  • 88. We replace our phones every two years
  • 89. Soon everyone was using something else
  • 90. Mobile Devices Low barriers to exit
  • 91. Notes will soon turn 25 1989 - 2014
  • 92. What does the future hold?
  • 93. Notes Mail
  • 94. Current messaging
  • 95. File store
  • 96. 30-day transition period
  • 97. Messaging Low barriers to exit
  • 98. Notes Applications
  • 99. Domino Designer on every desk
  • 100. Easy to learn and deploy
  • 101. Handle any problem
  • 102. The most successful SMA platform ever! • 50,000 companies • 200 applications (avg) • 10 million applications
  • 103. Apple’s app store reached 1 million applications in October 2013
  • 104. And the code…. 5,000 lines per application x 10 million applications = 50 billion lines of code
  • 105. Cost 10 200 million applications applications x x $20,000 per application = $200 4 million billion investment investment
  • 106. Time IBM XPages: 200 applications x 5 weeks per application = 20 years i.e. Team of 4 developers 5 years
  • 107. Time Platform migration: 200 applications x 3 months per application = 50 years i.e. Large team of consultants forever
  • 108. SMAs High barriers to exit
  • 109. Implications
  • 110. Notes applications are NOT going away!
  • 111. Think 10+ years
  • 112. Business needs are not frozen
  • 113. The expectation gap Is growing
  • 114. Adding modern features delivers additional business value
  • 115. Notes is web 2.0
  • 116. Notes is mobile
  • 117. Notes Client
  • 118. Keeping your employees happy
  • 119. Keeping your business profitable
  • 120. A sustained investment in the platform Maintenance Latest Version of Domino Always Training Web Enablement: XPages Mobile Access: XPages Social Capabilities: SBT
  • 121. A sustained investment in the platform Maintenance Latest Version of Domino Always Training Web Enablement: XPages Mobile Access: XPages Social Capabilities: SBT
  • 122. Nathan Freeman Red Pill Development
  • 123. China got its first Internet connection
  • 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. Dim db as NotesDatabase Set db = session.Getdatabase(“server”, “file”) Database db = session.getDatabase(“server”, “file”);
  • 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. • Cheaper • Fewer faster • Easier • Better • Portable
  • 128. Tim Tripcony Best Methods Presented ByDevin Olson, Czarnowski
  • 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. The future is XPages Java Javascript
  • 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. 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. 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. 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. Document fields are method parameters Stop using: doc.Subject Start using: doc.getItemValue(“subject”) doc.replaceItemValue(“subject”,“Hello world!”)
  • 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. 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. 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. What language is this? if (workflow.isComplete()) { doc.replaceItemValue(“status”, “Approved”); }
  • 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. 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. Future-proofing Notes client applications
  • 143. Nothing lasts forever
  • 144. Make hay while the sun shines
  • 145. Before they end up here!!
  • 146. Domain Catalog
  • 147. Retirement
  • 148. Hidden design
  • 149. Assign a template
  • 150. Segment Users Users Power Users (Admins) Developers
  • 151. Gestures
  • 152. What are gestures? Actions Buttons Hotspots Events
  • 153. Client server JavaScript @Formula LotusScript SSJS Java LotusScript (Agents)
  • 154. Back end versus front end
  • 155. Move the code
  • 156. Agents
  • 157. Views
  • 158. Outlines made us lazy
  • 159. Organize views
  • 160. Hidden views Division Lookup (Division Lookup)
  • 161. Web views $Flags +“n”
  • 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. Eliminate unused views log.nsf (Database Usage) $Collection
  • 164. Eliminate conflicts @IsUnavailable ($Conflict)
  • 165. Minimize response documents
  • 166. Forms
  • 167. Mobile First
  • 168. Clearly define labels
  • 169. Group fields carefully
  • 170. Adding Style Sheets
  • 171. Address Fields StreetAddress1 + “ “ + StreetAddress2 + “ “ + City + “ “ + State + “ “ + Zipcode
  • 172. Rich Text
  • 173. OLE
  • 174. Rich Text Lite