SlideShare a Scribd company logo
A SHAREPOINT AND APPS STORY
CONTENTS
Section 1 - News Scavenger
The concepts
Section 2 - Advanced Powershell Scripting
Invoke-WebRequest
Section 3 – Windows Phone
8.0 – Authenticator
Store Fail
8.1 was it 9.0?
Windows Phone 8.1 and Desktop
Store Success
Section 4 – The cross platform story
Decision time
Language Usage
C# & XML vs HTML 5 & JS
SP Integration Mechanism
CSOM VS REST
Creation Platform
Native?
XAMARin?
Cordova?
VS Cordova?
Section 5 – Development Operations
Reporting Dashboard
Trivia Module
PRESENTATION SCOPE
• To show the journey from It Pro to IT Dev
• To outline the idea and concept of News Scavenger and where SharePoint fits in
• To show the roadmap and decision points that were taken during the process and
explain them in detail
• To show the process and turmoil of publishing live applications that work with
SharePoint on all the different platforms
• To discuss the outline for our cross platform story
• To introduce a meaningful usage scenario for VS Cordova with regards to
SharePoint integration with Android and IOS apps
• To SHOW HOW TO USE POWERSHELL FOR REAL TIME DEV OPS
• To show a new take on accessability
WHOAMI
• Heath Groves Mbcs. MCM (r12)/MCSM/12 year MCT etc.
• Father of 2 (Jericho and Eden)
• Focused primarily on SharePoint since 2006
• Worked all of that time as a Vendor/Contractor
• Worked as a Contractor for Microsoft From June 2011 Supporting D and
MT up until April 2015 (4 YEARS)
• MS Gold Partner since 2008
• Ex- Military (REME – Instrument Tech 8 Years)
• Full contact kickboXER
• Strong desire to move towards dev from being a total IT Pro
EVERYTHING WE ARE ABOUT TO
DEMONSTRATE AND DISCUSS DID NOT EXIST IN
SEPT 2014
THIS PRESENTATION, ALL DEMO CONTENT AND DEMO
SCRIPTS CAN BE ACCESSED HERE:
HTTP://WWW.NEWSSCAVENGER.COM/SITES/RESTTEST
NEWS SCAVENGER
• The apps we are discussing ARE in all THE app STORES RIGHT NOW
• To download and follow along go Your store and search News Scavenger
(Boxing, Rally and Microsoft)
• Alternatively visit https://www.newsscavenger.com
• click on the icon for your device
FROM ACORNS DO GROW…
A bit of general Discussion
Our future will consist of looking at
a pane of glass …
…certainly for this generation at least…
Understanding, and merging these experiences Will
be key to the future of the tech industry
This is why everyone is hitting the space
Hard, trying to conquer the cross platform story –
SharePoint is no different
And can have a unique place in this world
FROM ACORNS DO GROW…
Large Social Housing survey (40k people)
68% said they went online
82% of them said they used Apps
91% of tenants said they used Facebook
Who’s elderly family members are on facebook?
What factors made it get so big?
Accessibility for the masses is everything…
Creating the best app in world is only relevant
For those smart enough to use it
NEWS SCAVENGER: THE CONCEPT
• Huge boxing fan
• Sick and tired of going to multiple sites for all my information
• Don’t want to spend time setting up RSS readers across all my devices
• Don’t want to log on to twitter every 5 minutes
• Don’t want to log on to Facebook every 5 minutes
• Don’t‘ want to log on to Instagram every 5 minutes
• Don’t want to wait for search engines to crawl content
• Don’t want my content ordered by any form of algorithm or promotion
• Don’t want to see promoted content
• want to look at the world of boxing across every medium in real time
… When I want to look at Boxing News I want ALL my content in 1 place… at a glance… to help
me keep one step ahead
News scavenger  a SharePoint and Apps Story
News scavenger  a SharePoint and Apps Story
IF ONLY…
If only a powerful, web based tool existed that could be used to store
centralised information
…if only it had its own secure, authentication mechanism
…That could be used to service multiple light weight calls…
…that could potentially scale at a collection levels into the millions
…A bit like a central POINT for SHAREING…
HOW IT WORKS
ADVANCED POWERSHELL
SCRIPTING
• Powershell V3 introduced invoke-webrequest
• Possibly the single biggest advancement towards automation this decade
• Can retrieve all elements of all webpages and manipulate as you see fit
• Combine this with the object model and you can create extremely
powerful outputs
• Cookies? -usebasicparsing
ADVANCED POWERSHELL
SCRIPTING
• We use the concept of a ‘BOT’ for the scavenging process
 Used to perform automated tasks in the farm
 We call the scripts to scavenge Patterns
 It is not a fire and forget process
 We check consistently to make sure the content is being parsed correctly
 Profanity filterer – Never Realised Shiitake was a mushroom!!!
 Bots run the timer service only – no other Sharepoint services
 Reboot every 24 hours
 Clears out an nasty memory leaks
 Confirms cache is refreshed
 Ensured all services are up
 unclean way of doing things – but does get rid of potential heartache
WINDOWS PHONE 8.0
The current IT Pro Conundrum :
the market is steadily being pushed towards apps
• Sharepoint, phone, tablet… towards the universal APP message
• Sooner or later your going to have to start developing
• As an IT PRO – where do you start?
Windows phone with integration to SharePoint is the perfect starting point
for any SharePoint IT Pro
• c# and xaml
RECOMMENDED READING
• Recommended reading
AUTHENTICATOR
The single hardest
portion of
phone > SharePoint
integration is
Authentication
clientauthenticationmode
FBA = .FormsAuthetication
claims = .default
O365 = .Microsoftonline
THOUGHTS AND IMPRESSIONS
Some thoughts impressions and observations when developing on
windows phone with SharePoint
• Mvvm,vvm,mm,mmmsmmmmfmm,d,mms <<<<<< errrrr…
• Choose what is right for your application – not because this weeks
sweetheart thinks it’s the way forward
• Best practice is just that – its not perfect practice, mistakes will
always be made – as long as you take the safest possible route you
should be fine
STORE FAIL!!!
• After 8 weeks of hard slog we were ready for submission
• All the guides alluded to project > store > build…
• This was greyed out…. ???
STORE FAIL!!!
• The reality of development right now in the Microsoft space is that you
are in a state of flux between multiple platforms, policies and procedures:
• VS 2012, lots of image work, wrong package - 8.0 only
• Store only accepts windows 8.1 packages for both desktop and phone
• To create the required package for upload the best and easiest way is to
create a universal app project…
• Universal APPs also work on Windows 10
• Once windows 10 is main stream all these issues will go away
UNIVERSAL APP PROJECT –
THE BAD
• When converting from 8.0 to 8.1 we noticed that approximately 40% of the
code base had changed
• Massive amounts of rework
• The DLLs for key things (windows phone toolkit by telerik) where not
compatible with 8.1
• The only dlls that would work were SharePoint mobile OOTB dlls
• This destroyed our authentication mechanism!
• Had to Change from FBA to network
• Created our own encryption mechanism to retrieve creds for use in the app
UNIVERSAL APP PROJECT –
THE GOOD
• The code we wrote for phone, now worked on desktops as well ! 
• Although this was a major upheaval – in the end it ensured that we
re-wrote the whole application with out reliance on DLLS from third
parties
• This also helped us embrace the universal app mantra
STORE SUCCESS!!!
• Once the packages were built we could upload really quickly
• Image work and descriptions completed at this point
• Phone and desktop are done separately (2 different apps)
• Validation took less than 1 hour for each
• Appeared in search results in 24 hours
• Totally searchable across the globe within 48 hours
STORE SUBMISSION
At present both phone and
desktop have different
stores
This has been promised to
be unified in Windows 10 –
but until then…
CROSS PLATFORM STORY
App was live in windows store for phone and desktop
SharePoint Backend infrastructure stable
Scavenging process refined
Next….
How do we get this working on other, non-ms devices?
Dogs and cats!!!
CROSS PLATFORM DECISION
FRAMEWORK
There are three main areas that need to be addressed up front before your
cross platform development can begin:
Programming language
SharePoint integration Mechanism
Programming platform
Making the right decision for all three of these questions is vital for your
project and can have catastrophic consequences if the wrong decisions are
made
PROGRAMMING LANGUAGE
SHAREPOINT INTEGRATION
SHAREPOINT INTEGRATION
The biggest decision sway of the whole project:
When you are providing
rapid real time updates
1/3rd reduction in traffic
size matters…
…it really matters!
PROGRAMMING PLATFORM
Developing cross platform you have MANY options – we looked at
these most common options:
• Native
• Xamarin
• Cordova
• Visual Studio Cordova
NATIVE
Android studio
Reduce the layer of complexity
Use native xaml
No third party involvement
Large ramp up per platform
investment for android
investment for apple
investment for Samsung
Need an apple mac!
XAMARIN
3rd party tool
Runs dlls in its own runtime
Maps to the native device api’s
Licensed per platform
Integrates with visual studio
Adds a layer of complexity
Can run c# on other platforms
Good discount using MSDN
Subscription
If I had large amounts of custom c# this is the route I would choose
CORDOVA
Cordova is a command line tool made by apache
Creates projects for all the device platforms
Found that we were spending time learning cordova…
…not actually creating the app…
I would use this option if I was a native android or ios programmer,
then wanted to reduce re-work
VISUAL STUDIO CORDOVA
Visual Studios implementation of cordova
VERy, VERY similar to universal APPS 
Some online training resources - but they are poor
Can use html 5, javascript and REST in a visual studio shell and run it
on android
Many android emulators
Compiles for IOS – but need an apple mac to deploy and test (mac in
cloud works fine $4 subscription)
AND THE WINNERS ARE…
Programming Language
Sharepoint integration
Platform
THE REST 1 PAGER…
Most interwebz articles start with “REST is simply…” or “REST is easily
the..”
Well… if you don’t know the principles rest is NOT easy!
…in fact it can be downright obtuse at times…
I’ve put together a 1 page guide to creating a rest page using our sample
environment. This way you can create your own SharePoint asp.net page
that pulls rest. Once you have it working you can tweak for your own needs
as you see fit 
REST 1 PAGER
Full working demo can viewed here:
http://www.newsscavenger.com/sites/RestTest
THE VS CORDOVA 1 PAGER…
Setting up and implementing VS corodva from scratch can be time
consuming
The training materials on the interwebz are very basic, fragmented
and quite frankly not very good…
This 1 pager shows you how to
install and configure visual studio for cordova
Create a multiple platform Project
Populate that project with the rest 1 pager
Deploy that application to an android/ios/windows emulator or device
WELL DONE
If you follow the two 1 pagers you will have just:
• Installed your cross platform programming solution
• Integrated it with SharePoint
• Created an application that uses SharePoint across:
• Windows phone 8.1
• Windows desktop 8.1
• Windows 10
• Android (phone and tablet)
• IOS
REPORTING DASHBOARD
We all love reporting right? Imagine the cross platform data we can get from this!!!
Enter the fray Development Operations:
REPORTING DASHBOARD
Each scavenger has its own site
All articles are parsed into one list
In the APP when ever a link is pressed we also do an inert “get” to a reporting page
on the Scavenger site
This allows us to not only track all the usual data, but also allows us to track the
data by usage
We store each report on total number of downloads individually
REPORTING DASHBOARD
On a nightly basis we set a daily task (23:59) – this does the following
Copies the log files from the web front ends to the BOT
Uses Log parser to gain all relevant information
Hits per day Total
Hits per day by source
Uploads that data to the reporting list on the scavenger site
Use the SP2010 (yes it still works) chart part to connect to that list
Display web parts however you wish on the page of your choice
Benefits
All heavy lifting done by the bot
As its based on the logs can report on anything really
As its in powershell can combine with other PS modules
Hyper-v
Local machine (think disk monitoring)
Not reliant on timer jobs
Very easy to get to grips with
REPORTING DASHBOARD
PATTERN
Ensure that you replace the site,
statistics list and the local location to
store the files
You must have logparser.exe present in
your local folder being used to compete
the reporting
Text version can be found here:
http://www.newsscavenger.com/sites/RestTest/Shared%20Documen
ts/ReportingDashboardDemo.txt
LAST BUT NOT LEAST A WORD
ON ACCESSIBILITY…
We are continually told that the future of the internet is visual this, visual that, visual the other….
(Delve, office graph, Datazen etc..)
Maybe it is…
But what if they are mistaken…
What is the future of the web was audio…
When you drive down the road on your normal commute – how many web sites can you read?
… how many websites could you listen to?
… the use of audio accessibility should be for everyone
… if only a scavenger app existed on all devices, that made all content totally audio compliant… if
only…. 
FINALLY…
If I had to sum up the last 9 months the one word I would use is…
CHAOS!
THANK YOU
I’d like to take this opportunity to thank you all for listening to my
dullest tones
If you have any questions please don’t hesitate to contact me +44
7506 578092
Heath.groves@sundownsolutions.co.uk

More Related Content

PDF
Making money with apps
PPTX
Getting started with Xamarin Forms
PPTX
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...
PPT
Appcelerator mobile. the doppelgänger to XPages
PPTX
All About Phonegap
PPTX
Build 2017 - B8012 - Tips, tricks, and secrets: Building a great UWP app for PC
PDF
Introduction to PhoneGap
PPT
Mobile Blast - Mobile strategy for developers
Making money with apps
Getting started with Xamarin Forms
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...
Appcelerator mobile. the doppelgänger to XPages
All About Phonegap
Build 2017 - B8012 - Tips, tricks, and secrets: Building a great UWP app for PC
Introduction to PhoneGap
Mobile Blast - Mobile strategy for developers

What's hot (20)

PPT
Building Hybrid Applications using PhoneGap
PPTX
How to pass a coding interview as an automation developer talk - Oct 17 2016
PPTX
Phone gap
PPTX
Developing Enterprise-Grade Mobile Applications
PDF
Developing for Windows Phone: A Guide for iOS Developers
PDF
Developing with Phonegap - Adobe Refresh 2012
PDF
API Design and Enterprise Mobile Apps
KEY
From mobile browser to mobile app
PPTX
PhoneGap: a brief history and apologia
ODP
Introduction to PhoneGap
PDF
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
KEY
How to Convert Your eLearning to Mobile
PDF
An Introduction to Appium Desktop
PDF
Let Non-Developers Develop your Site. Manu Raivio
PDF
Automating PhoneGap Build
PPTX
Windows Phone Developer Story
PDF
Mobile app development - course intro
PDF
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
PPTX
Mobile Application
PDF
PhoneGap: Building Mobile Applications with HTML/JS
Building Hybrid Applications using PhoneGap
How to pass a coding interview as an automation developer talk - Oct 17 2016
Phone gap
Developing Enterprise-Grade Mobile Applications
Developing for Windows Phone: A Guide for iOS Developers
Developing with Phonegap - Adobe Refresh 2012
API Design and Enterprise Mobile Apps
From mobile browser to mobile app
PhoneGap: a brief history and apologia
Introduction to PhoneGap
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
How to Convert Your eLearning to Mobile
An Introduction to Appium Desktop
Let Non-Developers Develop your Site. Manu Raivio
Automating PhoneGap Build
Windows Phone Developer Story
Mobile app development - course intro
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
Mobile Application
PhoneGap: Building Mobile Applications with HTML/JS
Ad

Similar to News scavenger a SharePoint and Apps Story (20)

PDF
Developing for SP2013
PPT
SP2013 What's New for Developers : SPSSTL
PDF
PPTX
SharePoint 2013 - What's New
PDF
SharePoint in the clouds, on earth, in the subway, and in a fruit salad (mang...
PDF
SharePoint 2013 Sneak Peek
PDF
Share point 2013 cop v4
PPTX
Web-and-App-Development-Transforming-Ideas-into-Digital-Reality
PPTX
01 introducing the windows phone 8.1
PDF
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
PPTX
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
PPTX
Building search-driven Windows 8 and Windows Phone 8 apps for SharePoint Serv...
PPTX
SharePoint Fest Chicago - From SharePoint to Office 365 Development
PDF
Lifecycle Management with SharePoint Apps and Solutions
PPTX
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
PDF
Whitepaper - Native App or HTML5
PPTX
Managing sharepoint in a mobile world
PPTX
ESPC Webinar - From SharePoint to Office 365 Development
PPTX
Practice Area - Application Development - Selling To Enterprise
PPTX
Introduction to mobile application development
Developing for SP2013
SP2013 What's New for Developers : SPSSTL
SharePoint 2013 - What's New
SharePoint in the clouds, on earth, in the subway, and in a fruit salad (mang...
SharePoint 2013 Sneak Peek
Share point 2013 cop v4
Web-and-App-Development-Transforming-Ideas-into-Digital-Reality
01 introducing the windows phone 8.1
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
Building search-driven Windows 8 and Windows Phone 8 apps for SharePoint Serv...
SharePoint Fest Chicago - From SharePoint to Office 365 Development
Lifecycle Management with SharePoint Apps and Solutions
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
Whitepaper - Native App or HTML5
Managing sharepoint in a mobile world
ESPC Webinar - From SharePoint to Office 365 Development
Practice Area - Application Development - Selling To Enterprise
Introduction to mobile application development
Ad

More from InnoTech (20)

PDF
"So you want to raise funding and build a team?"
PDF
Artificial Intelligence is Maturing
PDF
What is AI without Data?
PDF
Courageous Leadership - When it Matters Most
PPTX
The Gathering Storm
PPTX
Sql Server tips from the field
PPTX
Quantum Computing and its security implications
PPSX
Converged Infrastructure
PPTX
Making the most out of collaboration with Office 365
PPTX
Blockchain use cases and case studies
PPTX
Blockchain: Exploring the Fundamentals and Promising Potential
PDF
Business leaders are engaging labor differently - Is your IT ready?
PDF
AI 3.0: Is it Finally Time for Artificial Intelligence and Sensor Networks to...
PPTX
Using Business Intelligence to Bring Your Data to Life
PDF
User requirements is a fallacy
PDF
What I Wish I Knew Before I Signed that Contract - San Antonio
PPTX
Disaster Recovery Plan - Quorum
PPTX
Share point saturday access services 2015 final 2
PDF
Sp tech festdallas - office 365 groups - planner session
PPTX
Power apps presentation
"So you want to raise funding and build a team?"
Artificial Intelligence is Maturing
What is AI without Data?
Courageous Leadership - When it Matters Most
The Gathering Storm
Sql Server tips from the field
Quantum Computing and its security implications
Converged Infrastructure
Making the most out of collaboration with Office 365
Blockchain use cases and case studies
Blockchain: Exploring the Fundamentals and Promising Potential
Business leaders are engaging labor differently - Is your IT ready?
AI 3.0: Is it Finally Time for Artificial Intelligence and Sensor Networks to...
Using Business Intelligence to Bring Your Data to Life
User requirements is a fallacy
What I Wish I Knew Before I Signed that Contract - San Antonio
Disaster Recovery Plan - Quorum
Share point saturday access services 2015 final 2
Sp tech festdallas - office 365 groups - planner session
Power apps presentation

Recently uploaded (20)

PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Getting Started with Data Integration: FME Form 101
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
A Presentation on Artificial Intelligence
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Tartificialntelligence_presentation.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Machine Learning_overview_presentation.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPT
Teaching material agriculture food technology
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
1. Introduction to Computer Programming.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Getting Started with Data Integration: FME Form 101
SOPHOS-XG Firewall Administrator PPT.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
MIND Revenue Release Quarter 2 2025 Press Release
A Presentation on Artificial Intelligence
Per capita expenditure prediction using model stacking based on satellite ima...
Tartificialntelligence_presentation.pptx
Encapsulation_ Review paper, used for researhc scholars
Machine Learning_overview_presentation.pptx
Empathic Computing: Creating Shared Understanding
Teaching material agriculture food technology
Programs and apps: productivity, graphics, security and other tools
1. Introduction to Computer Programming.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Network Security Unit 5.pdf for BCA BBA.
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Group 1 Presentation -Planning and Decision Making .pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

News scavenger a SharePoint and Apps Story

  • 1. A SHAREPOINT AND APPS STORY
  • 2. CONTENTS Section 1 - News Scavenger The concepts Section 2 - Advanced Powershell Scripting Invoke-WebRequest Section 3 – Windows Phone 8.0 – Authenticator Store Fail 8.1 was it 9.0? Windows Phone 8.1 and Desktop Store Success Section 4 – The cross platform story Decision time Language Usage C# & XML vs HTML 5 & JS SP Integration Mechanism CSOM VS REST Creation Platform Native? XAMARin? Cordova? VS Cordova? Section 5 – Development Operations Reporting Dashboard Trivia Module
  • 3. PRESENTATION SCOPE • To show the journey from It Pro to IT Dev • To outline the idea and concept of News Scavenger and where SharePoint fits in • To show the roadmap and decision points that were taken during the process and explain them in detail • To show the process and turmoil of publishing live applications that work with SharePoint on all the different platforms • To discuss the outline for our cross platform story • To introduce a meaningful usage scenario for VS Cordova with regards to SharePoint integration with Android and IOS apps • To SHOW HOW TO USE POWERSHELL FOR REAL TIME DEV OPS • To show a new take on accessability
  • 4. WHOAMI • Heath Groves Mbcs. MCM (r12)/MCSM/12 year MCT etc. • Father of 2 (Jericho and Eden) • Focused primarily on SharePoint since 2006 • Worked all of that time as a Vendor/Contractor • Worked as a Contractor for Microsoft From June 2011 Supporting D and MT up until April 2015 (4 YEARS) • MS Gold Partner since 2008 • Ex- Military (REME – Instrument Tech 8 Years) • Full contact kickboXER • Strong desire to move towards dev from being a total IT Pro
  • 5. EVERYTHING WE ARE ABOUT TO DEMONSTRATE AND DISCUSS DID NOT EXIST IN SEPT 2014 THIS PRESENTATION, ALL DEMO CONTENT AND DEMO SCRIPTS CAN BE ACCESSED HERE: HTTP://WWW.NEWSSCAVENGER.COM/SITES/RESTTEST
  • 6. NEWS SCAVENGER • The apps we are discussing ARE in all THE app STORES RIGHT NOW • To download and follow along go Your store and search News Scavenger (Boxing, Rally and Microsoft) • Alternatively visit https://www.newsscavenger.com • click on the icon for your device
  • 7. FROM ACORNS DO GROW… A bit of general Discussion Our future will consist of looking at a pane of glass … …certainly for this generation at least… Understanding, and merging these experiences Will be key to the future of the tech industry This is why everyone is hitting the space Hard, trying to conquer the cross platform story – SharePoint is no different And can have a unique place in this world
  • 8. FROM ACORNS DO GROW… Large Social Housing survey (40k people) 68% said they went online 82% of them said they used Apps 91% of tenants said they used Facebook Who’s elderly family members are on facebook? What factors made it get so big? Accessibility for the masses is everything… Creating the best app in world is only relevant For those smart enough to use it
  • 9. NEWS SCAVENGER: THE CONCEPT • Huge boxing fan • Sick and tired of going to multiple sites for all my information • Don’t want to spend time setting up RSS readers across all my devices • Don’t want to log on to twitter every 5 minutes • Don’t want to log on to Facebook every 5 minutes • Don’t‘ want to log on to Instagram every 5 minutes • Don’t want to wait for search engines to crawl content • Don’t want my content ordered by any form of algorithm or promotion • Don’t want to see promoted content • want to look at the world of boxing across every medium in real time … When I want to look at Boxing News I want ALL my content in 1 place… at a glance… to help me keep one step ahead
  • 12. IF ONLY… If only a powerful, web based tool existed that could be used to store centralised information …if only it had its own secure, authentication mechanism …That could be used to service multiple light weight calls… …that could potentially scale at a collection levels into the millions …A bit like a central POINT for SHAREING…
  • 14. ADVANCED POWERSHELL SCRIPTING • Powershell V3 introduced invoke-webrequest • Possibly the single biggest advancement towards automation this decade • Can retrieve all elements of all webpages and manipulate as you see fit • Combine this with the object model and you can create extremely powerful outputs • Cookies? -usebasicparsing
  • 15. ADVANCED POWERSHELL SCRIPTING • We use the concept of a ‘BOT’ for the scavenging process  Used to perform automated tasks in the farm  We call the scripts to scavenge Patterns  It is not a fire and forget process  We check consistently to make sure the content is being parsed correctly  Profanity filterer – Never Realised Shiitake was a mushroom!!!  Bots run the timer service only – no other Sharepoint services  Reboot every 24 hours  Clears out an nasty memory leaks  Confirms cache is refreshed  Ensured all services are up  unclean way of doing things – but does get rid of potential heartache
  • 16. WINDOWS PHONE 8.0 The current IT Pro Conundrum : the market is steadily being pushed towards apps • Sharepoint, phone, tablet… towards the universal APP message • Sooner or later your going to have to start developing • As an IT PRO – where do you start? Windows phone with integration to SharePoint is the perfect starting point for any SharePoint IT Pro • c# and xaml
  • 18. AUTHENTICATOR The single hardest portion of phone > SharePoint integration is Authentication clientauthenticationmode FBA = .FormsAuthetication claims = .default O365 = .Microsoftonline
  • 19. THOUGHTS AND IMPRESSIONS Some thoughts impressions and observations when developing on windows phone with SharePoint • Mvvm,vvm,mm,mmmsmmmmfmm,d,mms <<<<<< errrrr… • Choose what is right for your application – not because this weeks sweetheart thinks it’s the way forward • Best practice is just that – its not perfect practice, mistakes will always be made – as long as you take the safest possible route you should be fine
  • 20. STORE FAIL!!! • After 8 weeks of hard slog we were ready for submission • All the guides alluded to project > store > build… • This was greyed out…. ???
  • 21. STORE FAIL!!! • The reality of development right now in the Microsoft space is that you are in a state of flux between multiple platforms, policies and procedures: • VS 2012, lots of image work, wrong package - 8.0 only • Store only accepts windows 8.1 packages for both desktop and phone • To create the required package for upload the best and easiest way is to create a universal app project… • Universal APPs also work on Windows 10 • Once windows 10 is main stream all these issues will go away
  • 22. UNIVERSAL APP PROJECT – THE BAD • When converting from 8.0 to 8.1 we noticed that approximately 40% of the code base had changed • Massive amounts of rework • The DLLs for key things (windows phone toolkit by telerik) where not compatible with 8.1 • The only dlls that would work were SharePoint mobile OOTB dlls • This destroyed our authentication mechanism! • Had to Change from FBA to network • Created our own encryption mechanism to retrieve creds for use in the app
  • 23. UNIVERSAL APP PROJECT – THE GOOD • The code we wrote for phone, now worked on desktops as well !  • Although this was a major upheaval – in the end it ensured that we re-wrote the whole application with out reliance on DLLS from third parties • This also helped us embrace the universal app mantra
  • 24. STORE SUCCESS!!! • Once the packages were built we could upload really quickly • Image work and descriptions completed at this point • Phone and desktop are done separately (2 different apps) • Validation took less than 1 hour for each • Appeared in search results in 24 hours • Totally searchable across the globe within 48 hours
  • 25. STORE SUBMISSION At present both phone and desktop have different stores This has been promised to be unified in Windows 10 – but until then…
  • 26. CROSS PLATFORM STORY App was live in windows store for phone and desktop SharePoint Backend infrastructure stable Scavenging process refined Next…. How do we get this working on other, non-ms devices? Dogs and cats!!!
  • 27. CROSS PLATFORM DECISION FRAMEWORK There are three main areas that need to be addressed up front before your cross platform development can begin: Programming language SharePoint integration Mechanism Programming platform Making the right decision for all three of these questions is vital for your project and can have catastrophic consequences if the wrong decisions are made
  • 30. SHAREPOINT INTEGRATION The biggest decision sway of the whole project: When you are providing rapid real time updates 1/3rd reduction in traffic size matters… …it really matters!
  • 31. PROGRAMMING PLATFORM Developing cross platform you have MANY options – we looked at these most common options: • Native • Xamarin • Cordova • Visual Studio Cordova
  • 32. NATIVE Android studio Reduce the layer of complexity Use native xaml No third party involvement Large ramp up per platform investment for android investment for apple investment for Samsung Need an apple mac!
  • 33. XAMARIN 3rd party tool Runs dlls in its own runtime Maps to the native device api’s Licensed per platform Integrates with visual studio Adds a layer of complexity Can run c# on other platforms Good discount using MSDN Subscription If I had large amounts of custom c# this is the route I would choose
  • 34. CORDOVA Cordova is a command line tool made by apache Creates projects for all the device platforms Found that we were spending time learning cordova… …not actually creating the app… I would use this option if I was a native android or ios programmer, then wanted to reduce re-work
  • 35. VISUAL STUDIO CORDOVA Visual Studios implementation of cordova VERy, VERY similar to universal APPS  Some online training resources - but they are poor Can use html 5, javascript and REST in a visual studio shell and run it on android Many android emulators Compiles for IOS – but need an apple mac to deploy and test (mac in cloud works fine $4 subscription)
  • 36. AND THE WINNERS ARE… Programming Language Sharepoint integration Platform
  • 37. THE REST 1 PAGER… Most interwebz articles start with “REST is simply…” or “REST is easily the..” Well… if you don’t know the principles rest is NOT easy! …in fact it can be downright obtuse at times… I’ve put together a 1 page guide to creating a rest page using our sample environment. This way you can create your own SharePoint asp.net page that pulls rest. Once you have it working you can tweak for your own needs as you see fit 
  • 38. REST 1 PAGER Full working demo can viewed here: http://www.newsscavenger.com/sites/RestTest
  • 39. THE VS CORDOVA 1 PAGER… Setting up and implementing VS corodva from scratch can be time consuming The training materials on the interwebz are very basic, fragmented and quite frankly not very good… This 1 pager shows you how to install and configure visual studio for cordova Create a multiple platform Project Populate that project with the rest 1 pager Deploy that application to an android/ios/windows emulator or device
  • 40. WELL DONE If you follow the two 1 pagers you will have just: • Installed your cross platform programming solution • Integrated it with SharePoint • Created an application that uses SharePoint across: • Windows phone 8.1 • Windows desktop 8.1 • Windows 10 • Android (phone and tablet) • IOS
  • 41. REPORTING DASHBOARD We all love reporting right? Imagine the cross platform data we can get from this!!! Enter the fray Development Operations:
  • 42. REPORTING DASHBOARD Each scavenger has its own site All articles are parsed into one list In the APP when ever a link is pressed we also do an inert “get” to a reporting page on the Scavenger site This allows us to not only track all the usual data, but also allows us to track the data by usage We store each report on total number of downloads individually
  • 43. REPORTING DASHBOARD On a nightly basis we set a daily task (23:59) – this does the following Copies the log files from the web front ends to the BOT Uses Log parser to gain all relevant information Hits per day Total Hits per day by source Uploads that data to the reporting list on the scavenger site Use the SP2010 (yes it still works) chart part to connect to that list Display web parts however you wish on the page of your choice Benefits All heavy lifting done by the bot As its based on the logs can report on anything really As its in powershell can combine with other PS modules Hyper-v Local machine (think disk monitoring) Not reliant on timer jobs Very easy to get to grips with
  • 44. REPORTING DASHBOARD PATTERN Ensure that you replace the site, statistics list and the local location to store the files You must have logparser.exe present in your local folder being used to compete the reporting Text version can be found here: http://www.newsscavenger.com/sites/RestTest/Shared%20Documen ts/ReportingDashboardDemo.txt
  • 45. LAST BUT NOT LEAST A WORD ON ACCESSIBILITY… We are continually told that the future of the internet is visual this, visual that, visual the other…. (Delve, office graph, Datazen etc..) Maybe it is… But what if they are mistaken… What is the future of the web was audio… When you drive down the road on your normal commute – how many web sites can you read? … how many websites could you listen to? … the use of audio accessibility should be for everyone … if only a scavenger app existed on all devices, that made all content totally audio compliant… if only…. 
  • 46. FINALLY… If I had to sum up the last 9 months the one word I would use is… CHAOS!
  • 47. THANK YOU I’d like to take this opportunity to thank you all for listening to my dullest tones If you have any questions please don’t hesitate to contact me +44 7506 578092 Heath.groves@sundownsolutions.co.uk