SlideShare a Scribd company logo
1 of 47
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
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

What's hot

Building Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGapBuilding Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGapPrajyot Mainkar
 
How to pass a coding interview as an automation developer talk - Oct 17 2016
How to pass a coding interview as an automation developer talk - Oct 17 2016How to pass a coding interview as an automation developer talk - Oct 17 2016
How to pass a coding interview as an automation developer talk - Oct 17 2016Thomas F. "T.J." Maher Jr.
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsSimon Guest
 
Developing for Windows Phone: A Guide for iOS Developers
Developing for Windows Phone: A Guide for iOS DevelopersDeveloping for Windows Phone: A Guide for iOS Developers
Developing for Windows Phone: A Guide for iOS DevelopersQubop Inc.
 
Developing with Phonegap - Adobe Refresh 2012
Developing with Phonegap - Adobe Refresh 2012Developing with Phonegap - Adobe Refresh 2012
Developing with Phonegap - Adobe Refresh 2012Ryan Stewart
 
API Design and Enterprise Mobile Apps
API Design and Enterprise Mobile AppsAPI Design and Enterprise Mobile Apps
API Design and Enterprise Mobile AppsQubop Inc.
 
From mobile browser to mobile app
From mobile browser to mobile appFrom mobile browser to mobile app
From mobile browser to mobile appRyan Stewart
 
PhoneGap: a brief history and apologia
PhoneGap: a brief history and apologiaPhoneGap: a brief history and apologia
PhoneGap: a brief history and apologialorinbeer
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapQuang Minh Dao
 
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...Alan Mendelevich
 
How to Convert Your eLearning to Mobile
How to Convert Your eLearning to MobileHow to Convert Your eLearning to Mobile
How to Convert Your eLearning to MobileChad Udell
 
An Introduction to Appium Desktop
An Introduction to Appium DesktopAn Introduction to Appium Desktop
An Introduction to Appium DesktopSauce Labs
 
Let Non-Developers Develop your Site. Manu Raivio
Let Non-Developers Develop your Site. Manu RaivioLet Non-Developers Develop your Site. Manu Raivio
Let Non-Developers Develop your Site. Manu RaivioFuture Insights
 
Automating PhoneGap Build
Automating PhoneGap BuildAutomating PhoneGap Build
Automating PhoneGap BuildMatt Gifford
 
Windows Phone Developer Story
Windows Phone Developer StoryWindows Phone Developer Story
Windows Phone Developer StoryAlan Mendelevich
 
Mobile app development - course intro
Mobile app development - course introMobile app development - course intro
Mobile app development - course introIvano Malavolta
 
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnectIntro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnectLauren Hayward Schaefer
 
Mobile Application
Mobile ApplicationMobile Application
Mobile ApplicationShyam Sir
 
PhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JSPhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JSRyan Stewart
 

What's hot (20)

Building Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGapBuilding Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGap
 
How to pass a coding interview as an automation developer talk - Oct 17 2016
How to pass a coding interview as an automation developer talk - Oct 17 2016How to pass a coding interview as an automation developer talk - Oct 17 2016
How to pass a coding interview as an automation developer talk - Oct 17 2016
 
Phone gap
Phone gapPhone gap
Phone gap
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile Applications
 
Developing for Windows Phone: A Guide for iOS Developers
Developing for Windows Phone: A Guide for iOS DevelopersDeveloping for Windows Phone: A Guide for iOS Developers
Developing for Windows Phone: A Guide for iOS Developers
 
Developing with Phonegap - Adobe Refresh 2012
Developing with Phonegap - Adobe Refresh 2012Developing with Phonegap - Adobe Refresh 2012
Developing with Phonegap - Adobe Refresh 2012
 
API Design and Enterprise Mobile Apps
API Design and Enterprise Mobile AppsAPI Design and Enterprise Mobile Apps
API Design and Enterprise Mobile Apps
 
From mobile browser to mobile app
From mobile browser to mobile appFrom mobile browser to mobile app
From mobile browser to mobile app
 
PhoneGap: a brief history and apologia
PhoneGap: a brief history and apologiaPhoneGap: a brief history and apologia
PhoneGap: a brief history and apologia
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
 
How to Convert Your eLearning to Mobile
How to Convert Your eLearning to MobileHow to Convert Your eLearning to Mobile
How to Convert Your eLearning to Mobile
 
An Introduction to Appium Desktop
An Introduction to Appium DesktopAn Introduction to Appium Desktop
An Introduction to Appium Desktop
 
Let Non-Developers Develop your Site. Manu Raivio
Let Non-Developers Develop your Site. Manu RaivioLet Non-Developers Develop your Site. Manu Raivio
Let Non-Developers Develop your Site. Manu Raivio
 
Automating PhoneGap Build
Automating PhoneGap BuildAutomating PhoneGap Build
Automating PhoneGap Build
 
Windows Phone Developer Story
Windows Phone Developer StoryWindows Phone Developer Story
Windows Phone Developer Story
 
Mobile app development - course intro
Mobile app development - course introMobile app development - course intro
Mobile app development - course intro
 
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnectIntro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
 
Mobile Application
Mobile ApplicationMobile Application
Mobile Application
 
PhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JSPhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JS
 

Similar to News scavenger a SharePoint and Apps Story

Mobile (App) Development with Sitecore
Mobile (App) Development with SitecoreMobile (App) Development with Sitecore
Mobile (App) Development with SitecorePieter Brinkman
 
Mobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile SolutionMobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile SolutionMukteswar Patnaik
 
Cross platform development with c# and xamarin
Cross platform development with c# and xamarinCross platform development with c# and xamarin
Cross platform development with c# and xamarinLuca Zulian
 
Mobile Development: HTML5 Vs. Native
Mobile Development: HTML5 Vs. NativeMobile Development: HTML5 Vs. Native
Mobile Development: HTML5 Vs. NativeSynerzip
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoChristian Heilmann
 
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...Adis Jugo
 
Cross platform mobile development - you tube videos
Cross platform mobile development - you tube videosCross platform mobile development - you tube videos
Cross platform mobile development - you tube videosColin Eberhardt
 
The Importance of Cross Platform Technology
The Importance of Cross Platform TechnologyThe Importance of Cross Platform Technology
The Importance of Cross Platform TechnologyOlivia2590
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building ProductsHayden Bleasel
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonnyLama K Banna
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerCatalin Gheorghiu
 
Why is xamarin the preferred app development platform among app developers
Why is xamarin the preferred app development platform among app developersWhy is xamarin the preferred app development platform among app developers
Why is xamarin the preferred app development platform among app developersFullestop
 
Mobile Testing Trends
Mobile Testing TrendsMobile Testing Trends
Mobile Testing TrendsSoftware Guru
 
001-Mobile Application.pptx
001-Mobile Application.pptx001-Mobile Application.pptx
001-Mobile Application.pptxAhmedDarre
 
Faster and more efficient processes by combining BPM and Mobile – yes we can!
Faster and more efficient processes by combining BPM and Mobile – yes we can!Faster and more efficient processes by combining BPM and Mobile – yes we can!
Faster and more efficient processes by combining BPM and Mobile – yes we can!Sebastian Faulhaber
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?Reto Meier
 
Why windows phone
Why windows phoneWhy windows phone
Why windows phonePawan Kurmi
 

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

Mobile (App) Development with Sitecore
Mobile (App) Development with SitecoreMobile (App) Development with Sitecore
Mobile (App) Development with Sitecore
 
Mobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile SolutionMobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile Solution
 
Cross platform development with c# and xamarin
Cross platform development with c# and xamarinCross platform development with c# and xamarin
Cross platform development with c# and xamarin
 
Mobile Development: HTML5 Vs. Native
Mobile Development: HTML5 Vs. NativeMobile Development: HTML5 Vs. Native
Mobile Development: HTML5 Vs. Native
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
 
Cross platform mobile development - you tube videos
Cross platform mobile development - you tube videosCross platform mobile development - you tube videos
Cross platform mobile development - you tube videos
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
The Importance of Cross Platform Technology
The Importance of Cross Platform TechnologyThe Importance of Cross Platform Technology
The Importance of Cross Platform Technology
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonny
 
Cross platform app development a complete guide
Cross platform app development a complete guideCross platform app development a complete guide
Cross platform app development a complete guide
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the corner
 
Why is xamarin the preferred app development platform among app developers
Why is xamarin the preferred app development platform among app developersWhy is xamarin the preferred app development platform among app developers
Why is xamarin the preferred app development platform among app developers
 
[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh
 
Mobile Testing Trends
Mobile Testing TrendsMobile Testing Trends
Mobile Testing Trends
 
001-Mobile Application.pptx
001-Mobile Application.pptx001-Mobile Application.pptx
001-Mobile Application.pptx
 
Faster and more efficient processes by combining BPM and Mobile – yes we can!
Faster and more efficient processes by combining BPM and Mobile – yes we can!Faster and more efficient processes by combining BPM and Mobile – yes we can!
Faster and more efficient processes by combining BPM and Mobile – yes we can!
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
Why windows phone
Why windows phoneWhy windows phone
Why windows phone
 

More from InnoTech

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

More from InnoTech (20)

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

Recently uploaded

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.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
  • 10.
  • 11.
  • 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