Details my top 6 techniques for reducing page load speed on SP2010 internet sites, with a focus on page-level optimisation. Also covers techniques/tools for measuring page load speed, load testing etc.
"AJAX = Asynchronous JavaScript and XML.
AJAX is a technique for creating fast and dynamic web pages.
AJAX allows web pages to be updated asynchronously by exchanging small amounts of data with the server behind the scenes. This means that it is possible to update parts of a web page, without reloading the whole page.
Classic web pages, (which do not use AJAX) must reload the entire page if the content should change.
JS Fest 2019/Autumn. Александр Товмач. JAMstackJSFestUA
Вы уже слышали о JAMstack, который пришел на смену SSR и SPA? Подход, который оптимизирует веб приложения так, что они ограничены только скоростью вашего интернет соединения. Никаких просадок при рендере на клиенте, никаких падений серверов от нагрузки, только SEO-friendly приложения без проблем с масштабируемостью.
Semalt, semalt SEO, Semalt SEO Tips, Semalt Agency, Semalt SEO Agency, Semalt SEO services, web design, web development, site promotion, analyticsSemalt, semalt SEO, Semalt SEO Tips, Semalt Agency, Semalt SEO Agency, Semalt SEO services, web design, web development, site promotion, analytics
From DevConnections Las Vegas, Apr 19, 2011
Whether it’s dashboards, content publishing, or day-to-day collaboration, SharePoint’s web pages usually contain lots of web parts. Using traditional post-back techniques to refresh a single web part’s content is both slow and visually annoying. This session will cover what’s possible using AJAX, custom web services, the client object model and jQuery to spice up the SharePoint web parts that you’re cooking. Boom!
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupJonathan Klein
I gave this talk on 4/27/11 at the Boston PHP Meetup Group. It covers both server side and client side optimizations, as well as monitoring tools and techniques.
"AJAX = Asynchronous JavaScript and XML.
AJAX is a technique for creating fast and dynamic web pages.
AJAX allows web pages to be updated asynchronously by exchanging small amounts of data with the server behind the scenes. This means that it is possible to update parts of a web page, without reloading the whole page.
Classic web pages, (which do not use AJAX) must reload the entire page if the content should change.
JS Fest 2019/Autumn. Александр Товмач. JAMstackJSFestUA
Вы уже слышали о JAMstack, который пришел на смену SSR и SPA? Подход, который оптимизирует веб приложения так, что они ограничены только скоростью вашего интернет соединения. Никаких просадок при рендере на клиенте, никаких падений серверов от нагрузки, только SEO-friendly приложения без проблем с масштабируемостью.
Semalt, semalt SEO, Semalt SEO Tips, Semalt Agency, Semalt SEO Agency, Semalt SEO services, web design, web development, site promotion, analyticsSemalt, semalt SEO, Semalt SEO Tips, Semalt Agency, Semalt SEO Agency, Semalt SEO services, web design, web development, site promotion, analytics
From DevConnections Las Vegas, Apr 19, 2011
Whether it’s dashboards, content publishing, or day-to-day collaboration, SharePoint’s web pages usually contain lots of web parts. Using traditional post-back techniques to refresh a single web part’s content is both slow and visually annoying. This session will cover what’s possible using AJAX, custom web services, the client object model and jQuery to spice up the SharePoint web parts that you’re cooking. Boom!
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupJonathan Klein
I gave this talk on 4/27/11 at the Boston PHP Meetup Group. It covers both server side and client side optimizations, as well as monitoring tools and techniques.
Highly available and scalable architecturesPhil Wicklund
SharePoint 2010 has many new service applications. This presentation takes a look at how those services impact performance and sizing, as well as some availability strategies for SharePoint 2010.
SharePoint 2010 Boost your farm performance!Brian Culver
Is your farm struggling to server your organization? How long is it taking between page requests? Where is your bottleneck in your farm? Is your SQL Server tuned properly? Worried about upgrading due to poor performance? We will look at various tools for analyzing and measuring performance of your farm. We will look at simple SharePoint and IIS configuration options to instantly improve performance.
Damien Pobel, expert technique PHP chez Smile, a animé une conférence sur le thème des front-end performances avec eZ Publish.
Les slides de sa présentation exposant quelques spécificités liées à eZ Publish sont disponibles ici.
Ideal web page performance
How to maximize your content view with minimal attention span of your viewers?
Impact of page performance on Business metrics
Profiling a Http request
Browser Architecture, Critical Rendering Path
Applying FFSUx to get optimal webpage performance.
Chris O'Brien - Building AI into Power Platform solutionsChris O'Brien
A presentation I gave at ESPC 2020 (the European SharePoint, Microsoft 365 and Azure Conference) covering simple options for adding AI to Power Apps and Power Automate solutions.
Topics covered include AI costs and different implementation approaches - including Power Apps AI Builder, use of Azure Cognitive Services from code, and use of Azure Cognitive Services in a Flow (Power Automate).
Chris OBrien - Azure DevOps for managing workChris O'Brien
A presentation I gave at ESPC 2019 (the European SharePoint, Office 365 and Azure Conference) about Azure DevOps for managing both development and support work. The focus is on Azure DevOps boards and task management, but covers some CI/CD aspects too.
Chris O'Brien - Ignite 2019 announcements and selected roadmapsChris O'Brien
My announcement summary slides from Ignite 2019 (covering Teams, SharePoint, Power Platform and Azure) and also selected roadmap slides from Microsoft.
COB ESPC18 - Rich PowerApps with offline supportChris O'Brien
A presentation I gave at ESPC 2018 (the European SharePoint, Office 365 and Azure Conference) about enterprise PowerApps. Focus areas include how to implement offline support, how to connect to on-premises data, and various tips for performance and management. I also talk about what I find to be the most important PowerApps functions from the list of 150+ that can be used in PowerApps formulas.
COB - Azure Functions for Office 365 developersChris O'Brien
A presentation I gave at ESPC 2018 (the European SharePoint, Office 365 and Azure Conference) about use of Azure Functions to extend Office 365 solutions. Covers Azure Functions fundamentals, adding code to PowerApps/Flow, Site Designs and Site Scripts (and PnP site templating), SPFx and Durable Functions. Also has tips on v1/v2, performance, pricing and how to avoid cold starts.
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris O'Brien
A presentation given at ESPC 2017, discussing common pitfalls in SPFx development. Includes discussion of versioning and dependency issues, code re-use, SPFx component bundles, Office UI Fabric and more.
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien
Discussion of Azure web apps, App Insights, "Azure Functions in the real world", ARM templates, queues, BLOB storage and more. Includes a video demo of AAD-secured Azure Function called from a SharePoint Framework (SPFx) web part with SPO cookie auth.
Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)Chris O'Brien
A high-level view of Power BI as it relates to Office 365, SharePoint and developers. Potentially useful to help consider Power BI against custom development options.
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien
Covers the changes Microsoft are making to team sites in Office 365/on-premises SharePoint - in terms of end-user changes, and also the impact on developers. The second half of the deck covers the SharePoint Framework (the new coding framework for developers).
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien
Describes the new SharePoint development framework, which uses Gulp, node.js, TypeScript, SASS and other modern web technologies. Covers client web parts, modern pages and the canvas, and how to surface your files on a CDN for optimum performance. This intro presentation helps you get started.
Application Lifecycle Management for Office 365 developmentChris O'Brien
For teams doing cloud-friendly SharePoint or Office 365 development, apps will be a key area of focus - be they SharePoint add-ins or the newer Office 365/Azure AD apps. ASP.NET (typically MVC) is a common platform here, and fortunately ALM and Continuous Integration become MUCH easier - finally, an end to "it’s harder because it's SharePoint!" We'll demonstrate how Visual Studio Online and Azure Web Apps are a winning combination for “continuous deployment”, and also how features such as "Deployment Slots" in Azure can help with dev and test environments, and also the upgrade/push-to-live process. Several demos will ensure you’re covered for developing both SharePoint add-ins and Office 365 apps.
Do's and don'ts for Office 365 developmentChris O'Brien
A session I gave at the European SharePoint Conference 2015. Abstract: The "rules" of SharePoint development have changed - although MSDN documentation often lags behind, the Office 365 Product Group tell us we're no longer supposed to use custom master pages, WebTemplates or deploy our fields and content types in XML. This means core concepts and guidelines that have been around for 7 or 8 years no longer hold true! Clearly this is a massive change - but do we always need to adhere to these new rules? Or are there times when it's OK to use less-preferred (but still supported) approaches?
In this session we look at the reasons behind Microsoft's change of position, and the associated thinking you need to do in the real world.
In this session you will learn:
1. A discussion of the key changes in developer guidance
2. A technical deep-dive (with demos) into the new approaches Microsoft recommend
3. Consideration of the circumstances where you might choose NOT to adhere to the guidance, and why
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien
A presentation I gave at SharePoint Evolutions 2015. Here, I compare SharePoint apps (now renamed "SharePoint Add-Ins" as of April 2015!) and the newer flavour of app development, Office 365 apps.
It focuses primarily on the perspective of a development team implementing the app - and factors to consider when deciding between the two approaches. However, to do this we must consider end-user and administration aspects, as well as code/development.
Key agenda points:
- Changes in SharePoint development
- Apps, 2 years on..
- SharePoint Add-Ins – a recap
- Office 365 apps - Why did Microsoft introduce these? What do they promise?
- Comparing SharePoint Add-Ins with Office 365 apps - For the end-user, administrator and developer
- Summary
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris O'Brien
A presentation I gave at TechEd 2014 (Barcelona) in October 2014. Covers some fundamentals of developing Apps for Office, and shows a sample Word task pane app, which analyzes the current document and searches your SharePoint/Office 365 environment for similar documents. The app also integrates with OneDrive for Business, to allow the user to save links for future reference.
Also, my co-presenter Andrew Salamatov presents some great information and demos around mail apps.
The presentation also covers some common mistakes, and tips and tricks when developing Apps for Office.
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien
Covers some key techniques and references for "cloud-friendly" SharePoint development (i.e. suitable for Office 365, or perhaps on-premises SharePoint projects which want to stay cloud compatible or benefit from greater isolation from SharePoint).
Includes detailed coverage on - Remote Event Receivers in Azure, "PowerShell + CSOM" scripts, and Microsoft's AMS samples.
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien
Covers several approaches for user interface customization in SP2013 - using JSLink to customize a list and/or view, creating custom Display Templates for the Content Search web part, and different approaches for customizing the search hover panel.
Additional information added for the European SharePoint Conference 2014
Deep dive into SharePoint 2013 hosted apps - Chris OBrienChris O'Brien
Covers key aspects of SharePoint 2013 apps, with a focus on SharePoint-hosted apps. Includes detail on app parts, using web parts within an app, configuring SSL, troubleshooting apps and possible reasons to move away from a SharePoint-hosted app to a cloud app. Also covers "high-privilege" apps which provision to the host web.
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrienChris O'Brien
Covers several approaches for user interface customization in SP2013 - using JSLink to customize a list and/or view, creating custom Display Templates for the Content Search web part, and different approaches for customizing the search hover panel.
Presentation at SharePoint User Group UK, December 2012. Discusses SP2013 developer investments by order of potential impact (my view!), tooling enhancements (e.g. list/content type designer), apps, Display Templates (aka JSLink, aka Client Side Rendering), managed navigation, cross-site publishing etc.
Getting to grips with SharePoint 2013 apps - Chris O'BrienChris O'Brien
Presentation at SharePoint Saturday UK, December 2012. Discusses official Microsoft guidance on apps, 3 key decisions to make on apps (for any company implementing SharePoint 2013), apps and SSL, developing apps, possible reasons to need a cloud app, 5 lessons learnt developing apps etc.
3. Amazon: 100ms improvement = 1% revenue increase! [Source: Amazon] Google: 500ms delay = 20% loss of traffic & revenue 40% of consumers will wait no more than 3 seconds for a Web page to load before abandoning a retail site [Source: Forrester] After 3 seconds, each additional second causes 16% drop in satisfaction [Source: Forrester] Stats
4. Key optimisation forms If code/infrastructure are OK, performance issues often caused by ‘page-level’ factors, e.g. too many HTTP requests, page weight Page-level optimisation Code Infrastructure
5. Can cache heavily when users get same content E.g. anonymous users Lesser gains for personalised/collab/ security-trimmed content, but: Post-cache substitution (“donut caching”) can help: <asp:Substitution> control SP2010 internet specifics
6. Reduced page weight Refactored JavaScript/CSS & “Script On Demand” framework THEORY: only get what you need PRACTICE: further optimisation beneficial JavaScript minified by default Compilation/debug=“true” setting in web.config SP2010 improvements
8. Output caching (if appropriate, e.g. anon) Little/no processing for server! BLOB caching Static files (images/CSS/JS/media) served from WFE filesystem + browser cached Ensure max-age attribute set to avoid HTTP 304s CSS sprites http://CssSprites.com Updating is painful Optimisation top 6
9. Combine/minify custom JavaScript/CSS Watch for JS errors! Combining vs. splitting is a trade-off COB trick: suppressing unnecessary JS files http://www.sharepointnutsandbolts.com/2011/01/eliminating-large-js-files-to-optimize.html ~ 20% decrease in 1st time page load for our site IIS dynamic compression (for .aspx/.axd) Reduced data over wire Optimisation top 6 (ctd.)
12. Automates many optimisations Image sprites Combining/minifying JavaScript & CSS Etc. ISAPI filter installed on WFEs Good option where no optimisation expertise? Project decision – spend £ on product or implementation effort? Aptimize
14. Different bottlenecks to collaboration: CAVEAT: load test/monitor to know for sure Infrastructure bottlenecks
15. Measuring performance PAL (Perfomance Analysis of Logs) is useful – http://pal.codeplex.com Summary report for CPU, memory, disk etc. Collect perf counters whilst servers under load
16. VS2010 load testing good, but expensive: VS2010 Ultimate ~ £6-8k VS2010 Virtual User Pack (1000 users) ~ £3k For 30k users, need 3000 virtual users Without this, limited to 1 machine/1 core STOP PRESS 8th March 2011: new “VS2010 Load Test Feature Pack” = unlimited users now free with VS Ultimate Also test with client browser tools Hammerhead (Firefox) HttpWatch (IE) Measuring performance
18. Several forms of optimisation Page-level optimisation still required in SP2010 DIY approach or Aptimize Measuring is key Load test to establish page load speed during spike Combine with PAL to analyse hardware bottlenecks Summary