We are all flooded with information: blogs, videos, millions of open source projects. In this presentation I share my insights: what are the must-know and must-have tools, frameworks and techniques you can use today (or at least know about) in order to be up-to-date.
Copy of the slides from the Advanced Web Development Workshop presented by Ed Bachta, Charlie Moad and Robert Stein of the Indianapolis Museum of Art during the Museums and the Web 2008 conference in Montreal
An overview of web development essentials that will help you as a user experience designer to not only understand how to integrate designs with development components, but also to learn some tips on interacting effectively with developers.
Web Components at Scale, HTML5DevConf 2014-10-21Chris Danford
At Pinterest, we've begun experimenting in production with Web Components. This talk will discuss some challenges of implementing Web Components in a large scale production environment such as SEO concerns, reasonable fallbacks for browsers not supported by Platform.js, migrating a large code base component-by-component to mitigate risk, and optimizing page load and scroll performance.
Doing PHP, Perl, and Python development made easy with a great tool called MAMP. This session will demonstrate how to install and configure MAMP to speed up web development using the LAMP stack on a Mac and Windows. Additionally, the session will demonstrate how to use several different IDEs with MAMP to perform debugging and testing.
Copy of the slides from the Advanced Web Development Workshop presented by Ed Bachta, Charlie Moad and Robert Stein of the Indianapolis Museum of Art during the Museums and the Web 2008 conference in Montreal
An overview of web development essentials that will help you as a user experience designer to not only understand how to integrate designs with development components, but also to learn some tips on interacting effectively with developers.
Web Components at Scale, HTML5DevConf 2014-10-21Chris Danford
At Pinterest, we've begun experimenting in production with Web Components. This talk will discuss some challenges of implementing Web Components in a large scale production environment such as SEO concerns, reasonable fallbacks for browsers not supported by Platform.js, migrating a large code base component-by-component to mitigate risk, and optimizing page load and scroll performance.
Doing PHP, Perl, and Python development made easy with a great tool called MAMP. This session will demonstrate how to install and configure MAMP to speed up web development using the LAMP stack on a Mac and Windows. Additionally, the session will demonstrate how to use several different IDEs with MAMP to perform debugging and testing.
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014Viktor Vogel
This presentation was held at the international Joomla! conference JandBeyond 2014 in Königstein im Taunus, Germany.
Note: This is a shortened version of the entire presentation since I have added only my part.
Slides of my session at DanNotes on the use of Bootstrap with XPages, including using the Bootstrap4XPages plugin.
View the demos at http://bootstrap4xpages.com
Building faster websites: web performance with WordPressJohannes Siipola
Nobody likes a slow website. Faster sites lead to happier users, and happier users lead to more conversions and revenue. That’s why you should take performance into account in your WordPress project. Learn what practical techniques and WordPress plugins to use in order to optimize your site for speed.
27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...Tieturi Oy
Perinteisistä web-sivustoista kohti moderneja web-sovelluksia: mitä ovat niin sanotut ’single page applications’ ja mihin niitä käytetään? Entä miten taikasanat HTML5, AJAX ja HTTPRest liittyvät asiaan?
5 Reasons Why Your Website Is[n’t] a Native App (PrDC 2015)David Wesst
“We need a mobile app. Make our website into a mobile app.” The request seems reasonable, doesn’t it? Your website is JavaScript, native apps are JavaScript, why wouldn’t you make your website into an application? In this presentation we’ll give you 5 reasons why your website shouldn’t end up as a native application to give you the tools you need to not only turn down the request, but on how to make a better solution.
HTML5 and the dawn of rich mobile web applicationsJames Pearce
HTML5 and its related technologies are enabling new ways to build beautiful sites and applications for contemporary mobile devices. Native mobile developers can now use web technologies to surmount cross-platform headaches, and desktop web developers can reach mobile users in familiar, app-like ways. This session explores the state of the art in HTML5-based mobile web frameworks, and demonstrates the practical possibilities that this powerful and standards-based approach can bring.
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
A session talk for #NAGW2012 on:
Mobile app, choices
Dreamweaver’s place
Creating Mobile Design (actual design, not code)
Other helpful Adobe tools to create HTML/CSS
jQuery Mobile in DW
PhoneGap Build in DW
IBM Connect 2016 - AD1548 - Building Responsive XPages Applicationsbeglee
Session AD1548 from IBM Connect 2016 in Orlando. Brian Gleeson and Padraic Edwards from the IBM XPages team presented a session on building responsive XPages applications. Utilise Bootstrap 3 or experiment with Bootstrap 4 Alpha to build impressive XPages applications that work well and look great across all devices.
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017Marc D Anderson
Are you dazzled by all the noises you hear about client-side development? Do the grunts and gulps leave you a little confused? In this session, we’ll talk about the types of things you can do with client-side development, how SharePoint can be used as a service (SPaaS?) and what the popular tool sets are. This are moving fast, so it's guaranteed that between writing this abstract and doing the session, things will have changed.
Whether you’re a server-side developer who wants to catch up with the new trends, a power user wanting to flex your muscles in new ways, or an end user who would like to speak more intelligently with IT, this session will provide useful foundation information as well as a guide to where your learning should progress to work with "modern" SharePoint.
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014Viktor Vogel
This presentation was held at the international Joomla! conference JandBeyond 2014 in Königstein im Taunus, Germany.
Note: This is a shortened version of the entire presentation since I have added only my part.
Slides of my session at DanNotes on the use of Bootstrap with XPages, including using the Bootstrap4XPages plugin.
View the demos at http://bootstrap4xpages.com
Building faster websites: web performance with WordPressJohannes Siipola
Nobody likes a slow website. Faster sites lead to happier users, and happier users lead to more conversions and revenue. That’s why you should take performance into account in your WordPress project. Learn what practical techniques and WordPress plugins to use in order to optimize your site for speed.
27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...Tieturi Oy
Perinteisistä web-sivustoista kohti moderneja web-sovelluksia: mitä ovat niin sanotut ’single page applications’ ja mihin niitä käytetään? Entä miten taikasanat HTML5, AJAX ja HTTPRest liittyvät asiaan?
5 Reasons Why Your Website Is[n’t] a Native App (PrDC 2015)David Wesst
“We need a mobile app. Make our website into a mobile app.” The request seems reasonable, doesn’t it? Your website is JavaScript, native apps are JavaScript, why wouldn’t you make your website into an application? In this presentation we’ll give you 5 reasons why your website shouldn’t end up as a native application to give you the tools you need to not only turn down the request, but on how to make a better solution.
HTML5 and the dawn of rich mobile web applicationsJames Pearce
HTML5 and its related technologies are enabling new ways to build beautiful sites and applications for contemporary mobile devices. Native mobile developers can now use web technologies to surmount cross-platform headaches, and desktop web developers can reach mobile users in familiar, app-like ways. This session explores the state of the art in HTML5-based mobile web frameworks, and demonstrates the practical possibilities that this powerful and standards-based approach can bring.
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
A session talk for #NAGW2012 on:
Mobile app, choices
Dreamweaver’s place
Creating Mobile Design (actual design, not code)
Other helpful Adobe tools to create HTML/CSS
jQuery Mobile in DW
PhoneGap Build in DW
IBM Connect 2016 - AD1548 - Building Responsive XPages Applicationsbeglee
Session AD1548 from IBM Connect 2016 in Orlando. Brian Gleeson and Padraic Edwards from the IBM XPages team presented a session on building responsive XPages applications. Utilise Bootstrap 3 or experiment with Bootstrap 4 Alpha to build impressive XPages applications that work well and look great across all devices.
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017Marc D Anderson
Are you dazzled by all the noises you hear about client-side development? Do the grunts and gulps leave you a little confused? In this session, we’ll talk about the types of things you can do with client-side development, how SharePoint can be used as a service (SPaaS?) and what the popular tool sets are. This are moving fast, so it's guaranteed that between writing this abstract and doing the session, things will have changed.
Whether you’re a server-side developer who wants to catch up with the new trends, a power user wanting to flex your muscles in new ways, or an end user who would like to speak more intelligently with IT, this session will provide useful foundation information as well as a guide to where your learning should progress to work with "modern" SharePoint.
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularMark Leusink
Slides from my ICON UK 2014 session held on September 13, 2014 at IBM Southbank, London.
The session was an introduction to the MEAN stack (Mongo, Express, Angular and Node).
Best Practices for WordPress in EnterpriseTaylor Lovett
10up open sourced their WordPress Best Practices (PHP, JavaScript, tools, and workflows) in late 2014. As the Director of Web Engineering at 10up, I drove this project and am the lead contributor to the docs. These Best Practices allow developers to build sites that scale, perform, and are secure one sites receiving millions of page views per day. They also standardize development practices in such a way that facilitates team collaboration. This talk will highlight some important parts of the Best Practices and reveal some valuable tips about how we (10up) engineer some of the most complex and most viewed WordPress sites in the world.
OVERVIEW
Twitter Bootstrap is a wildly popular HTML and CSS framework for building websites and web applications. It is the number 1 project on GitHub. Bootstrap supports responsive web design, allowing the layout of your page to adapt to the device (desktop, tablet, mobile). This talk will introduce you to the basics of using Bootstrap and show you how to build responsive web layouts to build your own app.
TARGET AUDIENCE
Beginner web developers
ASSUMED AUDIENCE KNOWLEDGE
Working knowledge of HTML5 and CSS3.
OBJECTIVE
Learn how to use Twitter Bootstrap to quickly build a beautiful, responsive web app.
FIVE THINGS AUDIENCE MEMBERS WILL LEARN
Twitter Bootstrap basics
Bootstrap CSS basics
Bootstrap responsive layouts
Bootstrap components
JavaScript Bootstrap plugins
Node.js 101
with Rami Sayar
Presented by FITC at Web Unleashed 2014 in Toronto
on September 18 2014, 10:30 - 11:15am
Node.js is a runtime environment and library for running JavaScript applications outside the browser. Node.js is mostly used to run real-time server applications and shines through its performance using non-blocking I/O and asynchronous events. This talk will introduce you to Node.js by showcasing the environment and its two most popular libraries: express and socket.io.
TARGET AUDIENCE
Beginner web developers
ASSUMED AUDIENCE KNOWLEDGE
Working knowledge of JavaScript and HTML5.
OBJECTIVE
Learn how to build a chat engine using Node.js and WebSockets.
FIVE THINGS AUDIENCE MEMBERS WILL LEARN
Node.js environment and basics
Node Package Manager overview
Web Framework, express, basics
WebSockets and Socket.io basics
Building a chat engine using Node.js
SEF 2014 - Responsive Design in SharePoint 2013Marc D Anderson
Presented with Christian Ståhl
Everyone is talking about responsive design. But are you really ready to bring SharePoint to mobile and tablets? While you may have an idea of what your site will look like when finished, there are many basic concepts and pitfalls that aren’t always outlined in the “How To’s”.
In this session, we will go through foundational steps to planning a responsive SharePoint site including how to handle a hybrid content scenario that uses publishing and team sites. You will learn what tools and templates can make your life easier during design, build and testing. If you are excited about the capability of bringing SharePoint to any device but not sure where to start, check out this session to get the foundational understanding of the concept, best practices and examples to get you started.
Custom Development in SharePoint – What are my options now?Talbott Crowell
Since Microsoft has released SharePoint 2013 with a whole new application development methodology, there has been some confusion and frustration in the community on what the best approach for customizing SharePoint for developers. In this session, we will look at the options, new and old, and discuss the pros and cons. We may even see some novel approaches you haven’t thought about yet.
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flowVincent Biret
Slides of the session given at the SharePoint Saturday Brussels 2017 around Microsoft flow and Azure Functions. This session is an introduction to both services and how you can combine them
This presentation will be useful to those
who would like to get acquainted with lifetime history
of successful monolithic Java application.
It shows architectural and technical evolution of one Java web startup that is beyond daily coding routine and contains a lot of simplifications, Captain Obvious and internet memes.
But this presentation is not intended for monolithic vs. micro services architectures comparison.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
2. Quick Housekeeping
• It’s just a sample - don’t expect to see everything
• It’s just MY opinion
• Aimed for .NET developers, but many things are
cross platform
• Quick, condensed, presentation will be uploaded
• Those of you who read it in 2015+, please consider
the fact it’s written in 6/2014
4. • Two approaches:
• Start wide and change flow as you get narrow
• Start narrow and change flow as you get wide
• Bootstrap 3+ : Mobile friendly (start narrow)
• More about Bootstrap later
Responsive Design
5. • Don’t know how to start? It’s very easy
@media (min-width: 768px) { /* your CSS rules */ }
• There’s a good boilerplate code for all common
resolutions
• A very few gotchas:
• Handling images (proportions etc.)
• Collapsible menus require a bit of JS
• As always, you need to test multiple browsers/platforms
Responsive Design
6. • Is it a new project?
Don’t hesitate – use Bootstrap
• Don’t know what Bootstrap is?
Responsive Design
7.
8. • Now seriously. Bootstrap is:
• Premade CSS rules for full responsive design, starting
from mobile and growing to large desktops
• Styles for forms, controls & states, warning/info
messages, images & thumbnails, menus, progress bars
and a lot more
• Scripts for common functionality: modal dialogs,
button behavior, drop downs & menu effects, tooltips,
carousels…
• Bullet-proof CSS functionality (centering, clearfix,
container pulling, accessibility substitutions…
• Cross browser (IE8+) and cross platform
Responsive Design
9. A shiny new site - where do I begin?
• You don’t reinvent the wheel
• Bootstrap or one of hundreds Bootstrap-based
templates
• Just make sure it’s 3.2+ or you’ll regret later
• Templates today are not what they used to be
• Good links in the slideshow notes
Templates
11. Templates
• Admin interfaces
• Dozens of admin templates to choose from
• Based on Bootstrap and contain lots of features that
either:
• Will consume lots of your time, instead of focusing on
code to deliver to the admin interface
• You’ll skip them because of lack of time or just won’t
think about them
• Just to name a few: login, action items, menu,
dashboard with KPIs, robust tables, many inner sample
pages, graphs…
• DEMO
12. Templates
• You’ll also likely to learn a lot from these templates
• I learned:
• Client-side graph libraries
• Nice overlay techniques
• Handy CSS techniques
• Useful plugins (‘loading’ behaviours, responsive images,
parallax effects and much more)
• Font substitution for common images (fontawesome.io)
13. More on responsive design
• The quickest, easiest & most charming way to see
how your site looks like in different resolutions:
Viewport Resizer
• More tools in the slideshow notes
14. More on responsive design
• Device emulators
• http://www.browserstack.com/ - see your site in
dozens of real devices, run automated tests (Selenium)
against them
• Less devices (9), but the most common ones and free -
https://modern.ie/en-us/screenshots
16. Client Side MVC
Why?
• It makes your client (web pages) really smart & rich
• Server just serves main page template and control
templates (i.e. pure HTML+CSS)
• You just serve your data as Json, and the client does the
rest: binds it to the right HTML, detects changes in both
the HTML and the model, handling calls to the server…
• Great for SPA, but not exclusively
17. Client Side MVC
And what do all these things good for?
• Your site (app) runs much faster because logic is on the
client and it only goes to the server to fetch data, not to
get HTML artifacts (once initially loaded)
• You truly separate your structure (HTML+CSS) from your
data
• Your server focuses on what it’s good at: serving &
updating data
18. Client Side MVC
OK, you convinced me.
Now: which one?
• Ember
• AngularJS
• Backbone
• Knockout
20. Client Side MVC
AngularJS
Why? Because.
• Its 2-way binding is the best
• It’s maintained by Google
• It’s designed for testing right from the beginning
• It has loads of modules, plugins & directives
• Read more about its awesomeness here
21. Client Side MVC
AngularJS
Where do I start?
• Dan Whalin’s famous
AngularJS Fundamentals In 60-ish Minutes video
(BTW it’s specifically based on Visual Studio)
• or its complementary PDF
• The AngularJS site has a great step-by-step tutorial on
how to build a full app
22. Client Side MVC
AngularJS
• Recommended books: Mastering Web Application
Development with AngularJS, ng-book
• 17 PluralSight courses, the two I’ve seen and liked are:
• AngularJS Fundamentals
• AngularJS for .NET Developers
• Last one: 10 Angular Tips by John Papa
24. Performance
• Dozens of things you can do
• 99% are really easy to implement – just Google them
• No business justification not to do them
25. Performance
Just a few samples:
• Static content compression (GZIP)
• Remove redundant host headers (also good for
security)
• Server, X-Powered-By, X-AspNetMvc-Version, X-AspNet-
Version
• Minify CSS+JS
• Compress images (lossless)
26. Performance
Just a few samples:
• Make image sprites
• Use a CDN, at least for common libraries
• Put your scripts at the bottom of the page
• Embed small images as Base-64 inside your CSS
• Enable proper caching, both for dynamic and static
content
31. Performance
Visual Studio:
Web Essentials Extension
• Minifying JS+CSS, lossless image shrinking, right click
image-to-base64, image sprites, bundling…
• Lots more beyond performance but we’ll get to that
33. Legacy Browser Support
IE8 ?
• If you don’t genuinely have to, DON’T BOTHER.
• Don’t use polyfills, don’t try to tweak HTML+CSS,
don’t detect features with Modernizr – nothing
• Just put a generic “You’ve got an old browser” page
• Bonus: if you want to see why I hate IE8 so much go
read my blog post.
34. Legacy Browser Support
IE 9 + IE 10?
These are June 2014 browser stats (gs.statcounter.com):
Browser Percentage
Chrome (all) 45.36%
Firefox 5+ 17.66%
IE 11 8.67%
Safari iPad 5.77%
IE 8 5.43%
IE 10 3.22%
IE 9 3.22%
35. Legacy Browser Support
How to test IE versions side by side?
https://modern.ie/en-us/virtualization-tools
Free Virtual Machines for Windows, Mac & Linux, with preinstalled Windows OSs:
XP + IE6 Win7 + IE10
XP + IE8 Win7 + IE11
Vista + IE7 Win8 + IE10
Win7 + IE8 Win8.1 + IE11
Win7 + IE9
37. Feature Support
• Not sure if a feature you want to use is supported
across browsers?
• Modernizr
• http://caniuse.com/
• Feature support per browser per version
• http://html5please.com/
• Also includes filtering/instructions whether you need
polyfills, can fallback, support on mobile devices & more
• http://status.modern.ie/
38. All Things Client Side
• https://github.com/dypsilon/frontend-dev-bookmarks
• Everything you want for the client side, continuously
updated
• JS architecture guides, build tools, bootstraps &
boilerplates, image shrinkers, unused code cleanup
tools, weekly newsletters, JS frameworks, jQuery
learning / plugin authoring material, grid design
helpers, cross-platform, email design & boilerplates,
mobile platforms, typography, widgets, memory
analysis tools, video players…
40. VS Tooling for Web Dev
• The one ultimate extension you’ll need:
Web Essentials
• It has soooo much….
• Just a few examples:
41. VS Tooling for Web Dev
• Web Essentials - CSS:
• Intellisense: fixes errors, allows you to add vendor-specific
prefixes, font-faces, style names etc., Image URL picker
• Finds unused/redundant rules, browser support cues, font
previews, in-place color editor
• Minification & Bundling
• Conversions: RGB to HEX to color name, embed image as
Base64 string, LESS compilation
42. VS Tooling for Web Dev
• Web Essentials - JavaScript:
• JSHint
• Minification & Bundling
• Intellisense
• Go to definition
• and much more
43. VS Tooling for Web Dev
• Web Essentials - HTML:
• Image preview
• Minification
• Lorem Pixel & image placeholder generator
• Regions
• Go to definition (of CSS)
• Intellisense for most HTML tags
• Extract embedded JS/CSS to file
44. VS Tooling for Web Dev
• Web Essentials - More:
• TypeScript side-by-side preview
• MarkDown editor & compiler to HTML
• robots.txt intellisense
46. Web App Tips
Time Zones
• Users perform actions on my web app.
What time should I save in the database? server time?
US time? client’s time?
NONE
• All dates & times as UTC on the code / database side
• You view these dates on each client according to that
client’s time zone
• When saving – vice versa
47. Web App Tips
Time Zones
• But it’s awkward to look at UTC times translate to my
local time all the time
Just think global. Your app doesn’t live in your home
country. It’s out there for global reach. Your local time is
meaningless.
That is, unless you’re in your home country, all of your
potential users are from the same country, your country
has only 1 time zone and you don’t have any thoughts of
expanding globally.
48. Web App Tips
HTML (template) vs Data
• Unless SEO is relevant, strive to send pure templates to
the client, and fetch all data in subsequent Ajax calls
• You can send initial data to the client together with the
page, as a JS variable
• AngularJS is perfect for that, but you don’t have to.
49. Web App Tips
HTML vs Data – SEO oriented sites
• Google has a spec to crawling sites that change state
in Ajax (like what AngularJS does…)
• Basically you detect that it’s a crawler and you serve a
statically rendered page
• Completely legit!
• https://prerender.io/ allows you to do that without
much of the manual plumbing (costs $ but you can
host it yourself for free)
• As of May 2014 Google’s crawler runs your JavaScript!
50. Web App Tips
Deployment
• Do yourself a big favor and automate your deployment:
• Build (including minifying, bundling, config transformations,
post cleanups…)
• Test
• Deploy
• You should ultimately be able to do all these with one click.
• There are good tools for that (like Octopus Deploy)
• You can’t because it’s time consuming?
• Your app failures due to a manual error in your deploy
process will consume more time, and will hurt more.
53. Web App Tips
Platform Dependency
• Try not to hook yourself to one platform (e.g. Azure)
54. Web App Tips
ASP.NET Performance
• Dynamic/static caching of course
• Redis of course
• Async methods everywhere
• (at least in every place that goes to the database or I/O)
59. Web App Tips
Browser<->Server Communication
• SingalR
• Takes care of everything, makes it transparent, falls
back to Ajax when WebSockets are not available (IE8,
IE9, old iOS, Android < 4.4)
64. SAAS
• First of all – go see Sam Kroonenburg and Peter
Sbarski’s legendary “Appfail – Story of a Melbourne
.NET Startup” (here it is).
• It will open your mind to the services you can achieve
for very cheap
65. SAAS
• A/B Testing (or “Split Testing”)
• Optimizely
• Want to do it yourself anyway? FairlyCertain
67. Network
• Share multiple sites from your dev machine to your
peers
• hosts file? That’s old…
• http://xip.io/
• 10.0.0.1.xip.io resolves to 10.0.0.1
• mysite.10.0.0.1.xip.io resolves to 10.0.0.1
• etc
72. What/Who to Follow
• Scott Hanselman – blog & podcast
• Scott Guthrie – used to be very relevant, today it’s all
about Azure
• The Morning Brew
• Dot Net Rocks podcast
• All .NET / ASP.NET / Entity Framework team blogs
• The list can of course be much longer, I think these are
the most important for .NET devs.
Editor's Notes
http://getbootstrap.com/
http://getbootstrap.com/
- http://themeforest.net/ - costs money but really worth gold, my favourite
- https://wrapbootstrap.com/ - costs money and great as well
- http://startbootstrap.com/ - some free (and nice!) and some cost money
- Just google “free bootstrap themes” and get tones
Just an example: http://themeforest.net/search?utf8=%E2%9C%93&term=admin
http://screensiz.es/ - shows all physical dimensions and pixel dimensions of all devices
http://quirktools.com/screenfly/