SlideShare una empresa de Scribd logo
1 de 74
David Pallmann
GM Custom App Dev, Neudesic
http://davidpallmann.blogspot.com
@davidpallmann
2 Revolutions
The HTML5 revolution
The Cloud revolution
Interactions & Synergies
Walkthrough: Creating a Mobile & Global App
Front-End   Back-End
HTML5
Lingua franca                Mobility
for desktop &    Front-End   Tablets and
  mobile web                 phones
  applications




       Power
                             Experiences
More capable
                             Compelling,
   devices &
                             touch-oriented
browser h/w
                             experiences
 acceleration
Web just keeps growing in importance
Rising experiences & expectations
On our devices
Social
Everywhere
Part of our lifestyle
Web just keeps growing in importance
Rising experiences & expectations
On our devices
Social
Everywhere
Part of our your customers’ & employees’
lifestyle
HTML5
CSS3
JavaScript
SVG
100+!
Video & Audio without plugins
Canvas & Scalable Vector Graphics w/o plugins
New semantic tags
Geolocation
CSS3, including custom fonts, rounded corners
Drag and drop
Canvas – 2D drawing, WebGL – 3D graphics
New form elements
HTML manifest (app caching) & offline storage
Hardware acceleration in modern browsers
Advanced Shading
                                              Video




WebGL Water
                          CSS

                  public online HTML5 sites
Joy Defines the Future (BMW)


                                                                 Angry Birds




Canvas Mol
                                      Tron Legacy




                                     public online HTML5 sites
Source: Shutterstock.com #86494345




                                     Source: Shutterstock.com #72009739
Unified mobile development accounts for much
of the HTML5 momentum
327M wireless devices in US CTIA Wireless Association
1 billion wireless devices worldwide iSuppli
IDC: wireless web will outpace desktop web by
2015 Computerworld
Responsive web design: adaptive, fluid layout
Mobile-first design, progressive enhancement
A Compelling Experience
compelling • immersive • multimedia
animated • interactive • responsive
Relevant to Your Life
integrates with social networks • uses location
Ubiquitous
runs on PC browser, tablet, phone
adaptive layout • touch, mouse or keyboard
Maintains Continuity
use multiple devices • identity • state • data
Constant Availability
disconnected operation • sync
works on phones




                                                   works on tablets




http://www.astronautdesigns.com/demo/responsive/
Social
Cloud Computing
                                 Social network
     Elastic scale,   Back-End
                                 content,
   consumption-
                                 interactions &
    based pricing
                                 web identity




           CDNs
                                 Marketplaces
         Content
                                 App stores,
         Delivery
                                 data
        Networks
                                 marketplaces
vs.
Elastic Scale
Consumption-based Pricing
Commitment-free / Easy-in, Easy-out
Self-serve / On-demand
Managed / Platform-as-a-Service
Application & Data Protected through Redundancy
3 9’s SLA (99.9%)
App Clouds
                       Media Clouds



         Data Clouds

                          Social Clouds
Elastic Scale
scale larger/smaller as needed
Universal
worldwide presence • universal access
can run in multiple data centers • CDN
Highly Available
redundancy • resilient • failover
Decentralized
distributed • combine multiple services
lessened emphasis on locking / transactions
Service                         Role in a Modern Web Solution
Windows Azure Compute           Hosting of web servers
Windows Azure Blob Storage      Media (images, video) & other file storage
Windows Azure Table Storage     Server-side storage of data / session state
SQL Azure Database              Server-side storage of relational data
Windows Azure Traffic Manager   Traffic routing across multiple deployments
Content Delivery Network        Use of edge cache network to serve content
Cache Service                   Server-side performance improvements
SQL Azure Data Sync             Data sync across multiple deployments
Access Control Service          Identity federation
Service Bus                     Back end processing / integration
Windows Azure Connect           Cloud-Enterprise connectivity
Front-End   Back-End
I can use a   I can use a
traditional   traditional
 or HTML5       or cloud
 front-end     back-end
    here          here
HOMOGENOUS FRONT END                  DEDICATED BACK END

                       WEB SERVER      DATABASE SERVER


                          Web
                       Application


                                             SQL
  DESKTOP              Web Services
                                            Server
  BROWSER

                           IIS


                        Windows
                         Server
HETEROGENEOUS FRONT END                 DECENTRALIZED BACK END


                                             Platform
  DESKTOP                 Application
                                             Services
  BROWSER




                                                          CLOUD
                           Business
                                            Data Stores
                           Services

   TABLET

                           Identity




                                                          IP
                                            Directories
                           Services


   PHONE




                                                          PARTNER
                           Partner
                                            Data Stores
                           Services
Client-Server Coordination
Data Storage
Identity
State Management
Synchronization
Caching
Location
Social
Elasticity
Location
Social
VM   VM   VM   VM   VM
http://outsidetheboxpizza.com
Mobility gives us location independence:
take the web with you
Mobile web apps can use your current location
Map integration
Content Delivery Network serves content
efficiently based on locale
Traffic Manager routes users to a deployment
based on locate
http://responsive-tours.com
Notifications
View Content
Post Content
Sign-in with web provider
Identity federation (Access Control Service)
Back-end social network integration
Outside-the-box-Pizza: client-side social
Responsive Tours: server-side social identity
2    Web Platform
                                  Neudesic Web Template

1    Design Comps
     Adobe Creative Suite
     HTML5, CSS, Media
                                  Client: Open Standards
                                  Server: MS Web Platform      3     Integrate
                                                                     Dynamic Content
                                                                     DB / Storage
     Responsive Web Design                                           Data Binding
                                                                     Map Integration




7   Global
    Worldwide Deployment
    Multiple Data Centers
                                                               4     Cloud-Ready
                                                                     Windows Azure
                                                                     Web Role / Instances
    Traffic Management                                               Local Dev/Test

                     6    Deployed
                          Elastic Scale
                          Azure Data Center
                                               5   Secured
                                                   Single Sign-on
                                                   Web / Domain ID
                          AZURE     WEB ROLE
1 Design
                         Design Web Site Front-end & Create Assets

1A. Used an Adobe Dreamweaver HTML5 sample already set up for Responsive Web Design
1 Design
                         Design Web Site Front-end & Create Assets

1A. Used an Adobe Dreamweaver HTML5 sample already set up for Responsive Web Design
1 Design
                           Design Web Site Front-end & Create Assets

1B. Customize Content in Dreamweaver – Page Title, Logo, Marquee Text,
1 Design
                           Design Web Site Front-end & Create Assets

1B. Customize Content in Dreamweaver – Page Title, Logo, Marquee Text,
1 Design
                            Design Web Site Front-end & Create Assets

1C. Hand-off to developer – assets are HTML5, CSS, JavaScript, image files
2 Adapt
                                Template-based Web Project

2A. Create Project from Neudesic Web Template
2 Adapt
                                 Template-based Web Project

2B. Insert front-end markup/styling/code/images from designer


     • Move where some files are to match the
       templates organization
     • Change paths in the HTML and CSS to match
       file relocation and use ASP.NET ~ path convention
     • Segment HTML and insert into appropriate
       areas of the home view (Index.cshtml)
2 Adapt
                                    Template-based Web Project

2B. Insert front-end markup/styling/code/images from designer

    @* Optional : Include additional stylesheets *@
    @section StylesTop
    {
    <link rel="stylesheet" type="text/css" href="~/../css/stylesheet.css" />
    <link rel="stylesheet" type="text/css" media="only screen and (min-width:50px) and (max-
    width:550px)" href="~/../css/screen_small.css">
    <link rel="stylesheet" type="text/css" media="only screen and (min-width:551px) and (max-
    width:800px)" href="~/../css/screen_medium.css">
    <!--[if lt IE 9]>
               <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
               <link rel="stylesheet" type="text/css" href="~/../css/stylesheet_ie.css" />
    <![endif]-->
    }
2 Adapt
                                   Template-based Web Project

2C. Final result is a web project we can run out of VS2010 with F5 – looks no diff from Step 1
3 Integrate
                                    Add Dynamic Content

3A. Create a Database for Promotional Data
3 Integrate
                                              Add Dynamic Content

3B. Retrieve Content in the MVC Project

 public class HomeController : Controller                                       public class Promo
 {                                                                              {
     //                                                                             public string Title;
     // GET: /Home/                                                                 public string Text;
                                                                                    public string ImageURL;
     public ActionResult Index()                                                }
     {
         LoadPromos();
         return View();
     }

     private void LoadPromos()
     {
         Dictionary<string, Promo> Promos = new Dictionary<string, Promo>();

         try
         {
               using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager
                   .ConnectionStrings["Tours"].ConnectionString))
               {
                   ...get the data, add to Promos collection...
               }
         }
         catch (SqlException ex)
         {
             // TODO: log exception
         }

         ViewBag.Promos = Promos;
     }
 }
3 Integrate
                                            Add Dynamic Content

3C. Embed Content with Razor

 <!-- begin - homepage promos -->
 <div class="home_promo_container">
     <div class="home_promo">
         <div class="home_promo_content" style="background-image:url(images/@(ViewBag.Promos["1"].ImageURL));">
             <h2 data-bind="text: PromoTitle1"></h2>
             <p data-bind="text: PromoText1"/>
             <a class="button" href="#">Learn more &raquo;</a>
         </div>
     </div>
     <div class="home_promo">
         <div class="home_promo_content" style="background-image:url(images/@(ViewBag.Promos["2"].ImageURL));">
             <h2 data-bind="text: PromoTitle2"></h2>
             <p data-bind="text: PromoText2"/>
             <a class="button" href="#">Learn more &raquo;</a>
         </div>
     </div>
     <div class="home_promo">
         <div class="home_promo_content" style="background-image:url(images/@(ViewBag.Promos["3"].ImageURL));">
             <h2 data-bind="text: PromoTitle3"></h2>
             <p data-bind="text: PromoText3"/>
             <a class="button" href="#">Learn more &raquo;</a>
         </div>
     </div>
 </div>
3 Integrate
                                            Add Dynamic Content

3C. Data Bind with Knockout

 <!-- begin - homepage promos -->
 <div class="home_promo_container">
     <div class="home_promo">
         <div class="home_promo_content" style="background-
 image:url(images/@(ViewBag.Promos["1"].ImageURL));">
             <h2 data-bind="text: PromoTitle1"></h2>
             <p data-bind="text: PromoText1"/>
             <a class="button" href="#">Learn more &raquo;</a>
         </div>
     </div>
     <div class="home_promo">
         <div class="home_promo_content" style="background-
 image:url(images/@(ViewBag.Promos["2"].ImageURL));">
             <h2 data-bind="text: PromoTitle2"></h2>
             <p data-bind="text: PromoText2"/>
             <a class="button" href="#">Learn more &raquo;</a>
         </div>
     </div>
     <div class="home_promo">
         <div class="home_promo_content" style="background-
 image:url(images/@(ViewBag.Promos["3"].ImageURL));">
             <h2 data-bind="text: PromoTitle3"></h2>
             <p data-bind="text: PromoText3"/>
             <a class="button" href="#">Learn more &raquo;</a>
         </div>
     </div>
 </div>
3 Integrate
                                            Add Dynamic Content

3C. Data Bind with Knockout
 <!-- begin - homepage promos -->
 <div class="home_promo_container">
     <div class="home_promo">
         <div class="home_promo_content" style="background-image:url(images/@(ViewBag.Promos["1"].ImageURL));">
             <h2 data-bind="text: PromoTitle1"></h2>
             <p data-bind="text: PromoText1"/>
             <a class="button" href="#">Learn more &raquo;</a>
         </div>
     </div>
     <div class="home_promo">
         <div class="home_promo_content" style="background-image:url(images/@(ViewBag.Promos["2"].ImageURL));">
             <h2 data-bind="text: PromoTitle2"></h2>
             <p data-bind="text: PromoText2"/>
             <a class="button" href="#">Learn more &raquo;</a>
         </div>
     </div>
     <div class="home_promo">
         <div class="home_promo_content" style="background-image:url(images/@(ViewBag.Promos["3"].ImageURL));">
             <h2 data-bind="text: PromoTitle3"></h2>
             <p data-bind="text: PromoText3"/>
             <a class="button" href="#">Learn more &raquo;</a>
         </div>
     </div>
 </div>
3 Integrate
                             Add Dynamic Content

3D. Site with Data Binding
4 Cloud-Ready
                     Set up for Windows Azure – Local Test/Dev in Simulator

4A. Add Windows Azure Project
4 Cloud-Ready
                      Set up for Windows Azure – Local Test/Dev in Simulator

4B. Set Instance Counts


  <?xml version="1.0" encoding="utf-8"?>
  <ServiceConfiguration serviceName="ResponsiveSiteAzure"
  xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/Servic
  eConfiguration" osFamily="1" osVersion="*">
    <Role name="ResponsiveSite">
      <Instances count="4" />
      <ConfigurationSettings>
        <Setting
  name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString
  " value="UseDevelopmentStorage=true" />
      </ConfigurationSettings>
    </Role>
  </ServiceConfiguration>
4 Cloud-Ready
                     Set up for Windows Azure – Local Test/Dev in Simulator

4C. Run locally in Windows Azure Simulation Environment
5 Secured
                                  Sign-in with web Identities

5A. Configure Access Control Service in Windows Azure
5 Secured
                                   Sign-in with web Identities

5B. Instrument for identity with Windows Identity Foundation
5 Secured
                                   Sign-in with web Identities

5B. Instrument for identity with Windows Identity Foundation
5 Secured
                                     Sign-in with web Identities

5C. Retrieve Claims
    private void LoadClaims()
    {
        ViewBag.Welcome = "Welcome Back!";
        var principal = Thread.CurrentPrincipal;
        var identity = principal.Identity as IClaimsIdentity;
        var claims = identity.Claims;
        ViewBag.Claims = claims;

        string displayName = null;

        if (claims != null)
        {
            string claimType;
            foreach (Claim claim in claims)
            {
                claimType = claim.ClaimType;
                if (claimType.EndsWith("/nameidentifier"))
                {
                    displayName = claim.Subject.Name;
                    break;
                }
            }
            if (!String.IsNullOrEmpty(displayName))
            {
                ViewBag.Welcome = "Welcome back, " + displayName;
            }
        }
    }
6 Deployed
                           Deployed to Windows Azure Data Center

6A. Move Promotional Item Images to Blob Storage




     http://responsive.blob.core.windows.net/images/homepage_promo_1.jpg
     http://responsive.blob.core.windows.net/images/homepage_promo_2.jpg
     http://responsive.blob.core.windows.net/images/homepage_promo_3.jpg
6 Deployed
                           Deployed to Windows Azure Data Center

6B. Change Promotional Image URLs to use Blob Storage

  <div class="home_promo_content" style="background-image:url(
  http://responsive.blob.core.windows.net/images/@(ViewBag.Promos["1"].ImageURL)
  );">
6 Deployed
                          Deployed to Windows Azure Data Center

6C. Package and Publish
6 Deployed
                             Deployed to Windows Azure Data Center

6D. Access in the Cloud at http://responsive.cloudapp.net
7 Global
                  Deployed Globally to US and Hong Kong with Traffic Management

7A. Turn on CDN
7 Global
                Deployed Globally to US and Hong Kong with Traffic Management

7B. Change Promotion Item Image URLs to use CDN URL Prefix

  <div class="home_promo_content" style="background-image:url(
  http://az99258.vo.msecnd.net/images/@(ViewBag.Promos["1"].ImageURL)
  );">
7 Global
                 Deployed Globally to US and Hong Kong with Traffic Management

7C. Deploy to Multiple Data Centers
7 Global
                 Deployed Globally to US and Hong Kong with Traffic Management

7D. Manage Traffic
7 Global
                  Deployed Globally to US and Hong Kong with Traffic Management

7E. Access at http://responsive-tours.com (http://responsive.ctp.trafficmgr.com)


                                        Friendly Domain
                                  http://responsive-tours.com



                                Windows Azure Traffic Manager
                              http://responsive.ctp.trafficmgr.com



        South Central US               Western Europe                       East Asia
      http://responsive-us         http://responsive-europe          http:// responsive-asia
         .cloudapp.net                   .cloudapp.net                   .cloudapp.net



                             Windows Azure Access Control Service
                                    Web Identity Sign-in
7 Global
Deployed Globally to US and Hong Kong with Traffic Management




                                                   http://responsive-tours.com
8-Part Tutorial
http://davidpallmann.blogspot.com/2011/12/m
obile-global-in-7-steps-with-html5-mvc.html
Source Code on CodePlex
http://responsivetours.codeplex.com
Online Demo
http://responsive-tours.com
David Pallmann
GM Custom App Dev, Neudesic
http://davidpallmann.blogspot.com
@davidpallmann

Más contenido relacionado

La actualidad más candente

Azure overview
Azure overviewAzure overview
Azure overviewJim O'Neil
 
Building and packaging highly scalable services for maximum market penetratio...
Building and packaging highly scalable services for maximum market penetratio...Building and packaging highly scalable services for maximum market penetratio...
Building and packaging highly scalable services for maximum market penetratio...Ontico
 
Top10 Strategics Technology for 2010 using Sun Products
Top10 Strategics Technology for 2010 using Sun ProductsTop10 Strategics Technology for 2010 using Sun Products
Top10 Strategics Technology for 2010 using Sun ProductsThanachart Numnonda
 
Device+Cloud: come sviluppare App moderne ed interconnesse
Device+Cloud: come sviluppare App moderne ed interconnesseDevice+Cloud: come sviluppare App moderne ed interconnesse
Device+Cloud: come sviluppare App moderne ed interconnesseNinja Marketing
 
FOREST - VMware Zimbra Collaboration Server Overview
FOREST -  VMware Zimbra Collaboration Server OverviewFOREST -  VMware Zimbra Collaboration Server Overview
FOREST - VMware Zimbra Collaboration Server OverviewMuhammad Alif Abdul Malek
 
DrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equalDrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equalandrewmriley
 
eCommerce Solutions on Windows Azure
eCommerce Solutions on Windows AzureeCommerce Solutions on Windows Azure
eCommerce Solutions on Windows AzureJoão Pedro Martins
 
Cloudonomics IP Monetization Conf - Malaysia
Cloudonomics IP Monetization Conf - MalaysiaCloudonomics IP Monetization Conf - Malaysia
Cloudonomics IP Monetization Conf - MalaysiaBash Badawi
 
Sharepoint2010applicationplatform 110203035048-phpapp01
Sharepoint2010applicationplatform 110203035048-phpapp01Sharepoint2010applicationplatform 110203035048-phpapp01
Sharepoint2010applicationplatform 110203035048-phpapp01microsoftasap
 
Share point 2010 application platform
Share point 2010 application platformShare point 2010 application platform
Share point 2010 application platformmicrosoftasap
 
Intrgrating sps-2010-and-windows-azure
Intrgrating sps-2010-and-windows-azureIntrgrating sps-2010-and-windows-azure
Intrgrating sps-2010-and-windows-azuremicrosoftasap
 
Netbiscuits V2 16 English
Netbiscuits V2 16 EnglishNetbiscuits V2 16 English
Netbiscuits V2 16 EnglishOtt1967
 
Virtual Directory
Virtual DirectoryVirtual Directory
Virtual Directorypankaj009
 
ALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 WorldALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 Worldoslc
 

La actualidad más candente (20)

Azure overview
Azure overviewAzure overview
Azure overview
 
Building and packaging highly scalable services for maximum market penetratio...
Building and packaging highly scalable services for maximum market penetratio...Building and packaging highly scalable services for maximum market penetratio...
Building and packaging highly scalable services for maximum market penetratio...
 
Top10 Strategics Technology for 2010 using Sun Products
Top10 Strategics Technology for 2010 using Sun ProductsTop10 Strategics Technology for 2010 using Sun Products
Top10 Strategics Technology for 2010 using Sun Products
 
Device+Cloud: come sviluppare App moderne ed interconnesse
Device+Cloud: come sviluppare App moderne ed interconnesseDevice+Cloud: come sviluppare App moderne ed interconnesse
Device+Cloud: come sviluppare App moderne ed interconnesse
 
FOREST - VMware Zimbra Collaboration Server Overview
FOREST -  VMware Zimbra Collaboration Server OverviewFOREST -  VMware Zimbra Collaboration Server Overview
FOREST - VMware Zimbra Collaboration Server Overview
 
DrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equalDrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equal
 
eCommerce Solutions on Windows Azure
eCommerce Solutions on Windows AzureeCommerce Solutions on Windows Azure
eCommerce Solutions on Windows Azure
 
Web Sphere Portal
Web Sphere PortalWeb Sphere Portal
Web Sphere Portal
 
The Blackberry Opportunity (RIM) 160612
The Blackberry Opportunity (RIM) 160612The Blackberry Opportunity (RIM) 160612
The Blackberry Opportunity (RIM) 160612
 
Hawaii Pacific GIS Conference 2012: Esri ArcGIS 10.1 - What's Coming in ArcGI...
Hawaii Pacific GIS Conference 2012: Esri ArcGIS 10.1 - What's Coming in ArcGI...Hawaii Pacific GIS Conference 2012: Esri ArcGIS 10.1 - What's Coming in ArcGI...
Hawaii Pacific GIS Conference 2012: Esri ArcGIS 10.1 - What's Coming in ArcGI...
 
Cloudonomics IP Monetization Conf - Malaysia
Cloudonomics IP Monetization Conf - MalaysiaCloudonomics IP Monetization Conf - Malaysia
Cloudonomics IP Monetization Conf - Malaysia
 
Ideas for addictive series 40 web apps
Ideas for addictive series 40 web appsIdeas for addictive series 40 web apps
Ideas for addictive series 40 web apps
 
Sharepoint2010applicationplatform 110203035048-phpapp01
Sharepoint2010applicationplatform 110203035048-phpapp01Sharepoint2010applicationplatform 110203035048-phpapp01
Sharepoint2010applicationplatform 110203035048-phpapp01
 
Share point 2010 application platform
Share point 2010 application platformShare point 2010 application platform
Share point 2010 application platform
 
Intrgrating sps-2010-and-windows-azure
Intrgrating sps-2010-and-windows-azureIntrgrating sps-2010-and-windows-azure
Intrgrating sps-2010-and-windows-azure
 
Netbiscuits V2 16 English
Netbiscuits V2 16 EnglishNetbiscuits V2 16 English
Netbiscuits V2 16 English
 
Cloud Review V2
Cloud Review V2Cloud Review V2
Cloud Review V2
 
Virtual Directory
Virtual DirectoryVirtual Directory
Virtual Directory
 
Web Application Solutions
Web Application SolutionsWeb Application Solutions
Web Application Solutions
 
ALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 WorldALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 World
 

Destacado

Internet Search
Internet SearchInternet Search
Internet SearchD Houseman
 
I know how to search the internet,
I know how to search the internet,I know how to search the internet,
I know how to search the internet,Hindie Dershowitz
 
The Modern Web Part 3: Social Networking
The Modern Web Part 3: Social NetworkingThe Modern Web Part 3: Social Networking
The Modern Web Part 3: Social NetworkingDavid Pallmann
 
Internet Search Tips featuring Google
Internet Search Tips featuring GoogleInternet Search Tips featuring Google
Internet Search Tips featuring GoogleLisa Hartman
 
Windows 8 and the Cloud
Windows 8 and the CloudWindows 8 and the Cloud
Windows 8 and the CloudDavid Pallmann
 
Using the internet for search
Using the internet for searchUsing the internet for search
Using the internet for searchDr-Heba Mustafa
 
The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5David Pallmann
 
Web of knowledge advanced features
Web of knowledge advanced featuresWeb of knowledge advanced features
Web of knowledge advanced featuresLisa Hartman
 
WATER FOOTPRINT ACCOUNTING FOR CATCHMENTS AND RIVER BASINS
WATER FOOTPRINT ACCOUNTING FOR CATCHMENTS AND RIVER BASINSWATER FOOTPRINT ACCOUNTING FOR CATCHMENTS AND RIVER BASINS
WATER FOOTPRINT ACCOUNTING FOR CATCHMENTS AND RIVER BASINSGlorynel Ojeda-Matos
 
Google webmaster guide for starters
Google webmaster guide for startersGoogle webmaster guide for starters
Google webmaster guide for startersjatindsim
 
Internet Search Tips (Google)
Internet Search Tips (Google)Internet Search Tips (Google)
Internet Search Tips (Google)Lisa Hartman
 
Calculate your Water Footprint at H2O Conserve
Calculate your Water Footprint at H2O ConserveCalculate your Water Footprint at H2O Conserve
Calculate your Water Footprint at H2O Conserveguest5961519
 
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersDebugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersTroy Miles
 
How to develop modern web application framework
How to develop modern web application frameworkHow to develop modern web application framework
How to develop modern web application frameworktechmemo
 
The Modern Web, Part 1: Mobility
The Modern Web, Part 1: MobilityThe Modern Web, Part 1: Mobility
The Modern Web, Part 1: MobilityDavid Pallmann
 
How to search the Internet, a guide to save time and effort
How to search the Internet, a guide to save time and effortHow to search the Internet, a guide to save time and effort
How to search the Internet, a guide to save time and effortPete S
 
Manuele Margni, CIRAIG - Behind the Water Footprint Stream: Metrics and Initi...
Manuele Margni, CIRAIG - Behind the Water Footprint Stream: Metrics and Initi...Manuele Margni, CIRAIG - Behind the Water Footprint Stream: Metrics and Initi...
Manuele Margni, CIRAIG - Behind the Water Footprint Stream: Metrics and Initi...CWS_2010
 
The water footprint of humanity – the global dimension of water management
The water footprint of humanity – the global dimension of water managementThe water footprint of humanity – the global dimension of water management
The water footprint of humanity – the global dimension of water managementWorld Agroforestry (ICRAF)
 

Destacado (20)

Internet Search
Internet SearchInternet Search
Internet Search
 
I know how to search the internet,
I know how to search the internet,I know how to search the internet,
I know how to search the internet,
 
The Modern Web Part 3: Social Networking
The Modern Web Part 3: Social NetworkingThe Modern Web Part 3: Social Networking
The Modern Web Part 3: Social Networking
 
Affordable web design
Affordable web designAffordable web design
Affordable web design
 
Internet Search Tips featuring Google
Internet Search Tips featuring GoogleInternet Search Tips featuring Google
Internet Search Tips featuring Google
 
Windows 8 and the Cloud
Windows 8 and the CloudWindows 8 and the Cloud
Windows 8 and the Cloud
 
Using the internet for search
Using the internet for searchUsing the internet for search
Using the internet for search
 
The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5
 
Bad websites
Bad websitesBad websites
Bad websites
 
Web of knowledge advanced features
Web of knowledge advanced featuresWeb of knowledge advanced features
Web of knowledge advanced features
 
WATER FOOTPRINT ACCOUNTING FOR CATCHMENTS AND RIVER BASINS
WATER FOOTPRINT ACCOUNTING FOR CATCHMENTS AND RIVER BASINSWATER FOOTPRINT ACCOUNTING FOR CATCHMENTS AND RIVER BASINS
WATER FOOTPRINT ACCOUNTING FOR CATCHMENTS AND RIVER BASINS
 
Google webmaster guide for starters
Google webmaster guide for startersGoogle webmaster guide for starters
Google webmaster guide for starters
 
Internet Search Tips (Google)
Internet Search Tips (Google)Internet Search Tips (Google)
Internet Search Tips (Google)
 
Calculate your Water Footprint at H2O Conserve
Calculate your Water Footprint at H2O ConserveCalculate your Water Footprint at H2O Conserve
Calculate your Water Footprint at H2O Conserve
 
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersDebugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
 
How to develop modern web application framework
How to develop modern web application frameworkHow to develop modern web application framework
How to develop modern web application framework
 
The Modern Web, Part 1: Mobility
The Modern Web, Part 1: MobilityThe Modern Web, Part 1: Mobility
The Modern Web, Part 1: Mobility
 
How to search the Internet, a guide to save time and effort
How to search the Internet, a guide to save time and effortHow to search the Internet, a guide to save time and effort
How to search the Internet, a guide to save time and effort
 
Manuele Margni, CIRAIG - Behind the Water Footprint Stream: Metrics and Initi...
Manuele Margni, CIRAIG - Behind the Water Footprint Stream: Metrics and Initi...Manuele Margni, CIRAIG - Behind the Water Footprint Stream: Metrics and Initi...
Manuele Margni, CIRAIG - Behind the Water Footprint Stream: Metrics and Initi...
 
The water footprint of humanity – the global dimension of water management
The water footprint of humanity – the global dimension of water managementThe water footprint of humanity – the global dimension of water management
The water footprint of humanity – the global dimension of water management
 

Similar a When worlds Collide: HTML5 Meets the Cloud

The Modern Web Part 4: Cloud Computing
The Modern Web Part 4: Cloud ComputingThe Modern Web Part 4: Cloud Computing
The Modern Web Part 4: Cloud ComputingDavid Pallmann
 
9 dani künzli citrix cloud solution 2
9 dani künzli citrix cloud solution 29 dani künzli citrix cloud solution 2
9 dani künzli citrix cloud solution 2Digicomp Academy AG
 
The Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationThe Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationMichael Collier
 
SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...
SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...
SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...Eric Shupps
 
Migrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows AzureMigrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows AzureEric Shupps
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services PlatformDavid Chou
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsJames Pearce
 
Building Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web AppsBuilding Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web AppsJames Pearce
 
Cross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterpriseCross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterpriseVenkat Alagarsamy
 
DDHS 2009 Microsoft Heads In The Cloud Feet On The Ground Peter de Haas...
DDHS 2009   Microsoft   Heads In The Cloud Feet On The Ground   Peter de Haas...DDHS 2009   Microsoft   Heads In The Cloud Feet On The Ground   Peter de Haas...
DDHS 2009 Microsoft Heads In The Cloud Feet On The Ground Peter de Haas...Peter de Haas
 
D-DAY 2015 Hybrid Cloud IBM
D-DAY 2015 Hybrid Cloud IBMD-DAY 2015 Hybrid Cloud IBM
D-DAY 2015 Hybrid Cloud IBMDEVOPS D-DAY
 
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...EuroCloud
 
Silverlight Document Search Engine
Silverlight Document Search EngineSilverlight Document Search Engine
Silverlight Document Search EngineMustata Bogdan
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesSalesforce Developers
 
Benefits of the Azure cloud
Benefits of the Azure cloudBenefits of the Azure cloud
Benefits of the Azure cloudJames Serra
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1James Pearce
 
Connect your datacenter to Microsoft Azure
Connect your datacenter to Microsoft AzureConnect your datacenter to Microsoft Azure
Connect your datacenter to Microsoft AzureK.Mohamed Faizal
 

Similar a When worlds Collide: HTML5 Meets the Cloud (20)

The Modern Web Part 4: Cloud Computing
The Modern Web Part 4: Cloud ComputingThe Modern Web Part 4: Cloud Computing
The Modern Web Part 4: Cloud Computing
 
9 dani künzli citrix cloud solution 2
9 dani künzli citrix cloud solution 29 dani künzli citrix cloud solution 2
9 dani künzli citrix cloud solution 2
 
The Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationThe Hybrid Windows Azure Application
The Hybrid Windows Azure Application
 
SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...
SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...
SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Migrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows AzureMigrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services Platform
 
M meijer paas - tech-days 2015
M meijer   paas - tech-days 2015M meijer   paas - tech-days 2015
M meijer paas - tech-days 2015
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applications
 
Building Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web AppsBuilding Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web Apps
 
Cross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterpriseCross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterprise
 
DDHS 2009 Microsoft Heads In The Cloud Feet On The Ground Peter de Haas...
DDHS 2009   Microsoft   Heads In The Cloud Feet On The Ground   Peter de Haas...DDHS 2009   Microsoft   Heads In The Cloud Feet On The Ground   Peter de Haas...
DDHS 2009 Microsoft Heads In The Cloud Feet On The Ground Peter de Haas...
 
D-DAY 2015 Hybrid Cloud IBM
D-DAY 2015 Hybrid Cloud IBMD-DAY 2015 Hybrid Cloud IBM
D-DAY 2015 Hybrid Cloud IBM
 
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
 
Silverlight Document Search Engine
Silverlight Document Search EngineSilverlight Document Search Engine
Silverlight Document Search Engine
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile Architectures
 
Benefits of the Azure cloud
Benefits of the Azure cloudBenefits of the Azure cloud
Benefits of the Azure cloud
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1
 
Cloud & The Mobile Stack
Cloud & The Mobile StackCloud & The Mobile Stack
Cloud & The Mobile Stack
 
Connect your datacenter to Microsoft Azure
Connect your datacenter to Microsoft AzureConnect your datacenter to Microsoft Azure
Connect your datacenter to Microsoft Azure
 

Último

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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Último (20)

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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

When worlds Collide: HTML5 Meets the Cloud

  • 1. David Pallmann GM Custom App Dev, Neudesic http://davidpallmann.blogspot.com @davidpallmann
  • 2. 2 Revolutions The HTML5 revolution The Cloud revolution Interactions & Synergies Walkthrough: Creating a Mobile & Global App
  • 3. Front-End Back-End
  • 4. HTML5 Lingua franca Mobility for desktop & Front-End Tablets and mobile web phones applications Power Experiences More capable Compelling, devices & touch-oriented browser h/w experiences acceleration
  • 5. Web just keeps growing in importance Rising experiences & expectations On our devices Social Everywhere Part of our lifestyle
  • 6. Web just keeps growing in importance Rising experiences & expectations On our devices Social Everywhere Part of our your customers’ & employees’ lifestyle
  • 7.
  • 9. Video & Audio without plugins Canvas & Scalable Vector Graphics w/o plugins New semantic tags Geolocation CSS3, including custom fonts, rounded corners Drag and drop Canvas – 2D drawing, WebGL – 3D graphics New form elements HTML manifest (app caching) & offline storage Hardware acceleration in modern browsers
  • 10. Advanced Shading Video WebGL Water CSS public online HTML5 sites
  • 11. Joy Defines the Future (BMW) Angry Birds Canvas Mol Tron Legacy public online HTML5 sites
  • 12. Source: Shutterstock.com #86494345 Source: Shutterstock.com #72009739
  • 13.
  • 14. Unified mobile development accounts for much of the HTML5 momentum 327M wireless devices in US CTIA Wireless Association 1 billion wireless devices worldwide iSuppli IDC: wireless web will outpace desktop web by 2015 Computerworld Responsive web design: adaptive, fluid layout Mobile-first design, progressive enhancement
  • 15. A Compelling Experience compelling • immersive • multimedia animated • interactive • responsive Relevant to Your Life integrates with social networks • uses location Ubiquitous runs on PC browser, tablet, phone adaptive layout • touch, mouse or keyboard Maintains Continuity use multiple devices • identity • state • data Constant Availability disconnected operation • sync
  • 16. works on phones works on tablets http://www.astronautdesigns.com/demo/responsive/
  • 17. Social Cloud Computing Social network Elastic scale, Back-End content, consumption- interactions & based pricing web identity CDNs Marketplaces Content App stores, Delivery data Networks marketplaces
  • 18. vs.
  • 19. Elastic Scale Consumption-based Pricing Commitment-free / Easy-in, Easy-out Self-serve / On-demand Managed / Platform-as-a-Service Application & Data Protected through Redundancy 3 9’s SLA (99.9%)
  • 20. App Clouds Media Clouds Data Clouds Social Clouds
  • 21. Elastic Scale scale larger/smaller as needed Universal worldwide presence • universal access can run in multiple data centers • CDN Highly Available redundancy • resilient • failover Decentralized distributed • combine multiple services lessened emphasis on locking / transactions
  • 22.
  • 23. Service Role in a Modern Web Solution Windows Azure Compute Hosting of web servers Windows Azure Blob Storage Media (images, video) & other file storage Windows Azure Table Storage Server-side storage of data / session state SQL Azure Database Server-side storage of relational data Windows Azure Traffic Manager Traffic routing across multiple deployments Content Delivery Network Use of edge cache network to serve content Cache Service Server-side performance improvements SQL Azure Data Sync Data sync across multiple deployments Access Control Service Identity federation Service Bus Back end processing / integration Windows Azure Connect Cloud-Enterprise connectivity
  • 24. Front-End Back-End
  • 25. I can use a I can use a traditional traditional or HTML5 or cloud front-end back-end here here
  • 26. HOMOGENOUS FRONT END DEDICATED BACK END WEB SERVER DATABASE SERVER Web Application SQL DESKTOP Web Services Server BROWSER IIS Windows Server
  • 27. HETEROGENEOUS FRONT END DECENTRALIZED BACK END Platform DESKTOP Application Services BROWSER CLOUD Business Data Stores Services TABLET Identity IP Directories Services PHONE PARTNER Partner Data Stores Services
  • 28. Client-Server Coordination Data Storage Identity State Management Synchronization Caching Location Social
  • 30. VM VM VM VM VM
  • 31.
  • 33. Mobility gives us location independence: take the web with you Mobile web apps can use your current location Map integration
  • 34. Content Delivery Network serves content efficiently based on locale Traffic Manager routes users to a deployment based on locate
  • 37. Sign-in with web provider Identity federation (Access Control Service) Back-end social network integration
  • 38. Outside-the-box-Pizza: client-side social Responsive Tours: server-side social identity
  • 39.
  • 40. 2 Web Platform Neudesic Web Template 1 Design Comps Adobe Creative Suite HTML5, CSS, Media Client: Open Standards Server: MS Web Platform 3 Integrate Dynamic Content DB / Storage Responsive Web Design Data Binding Map Integration 7 Global Worldwide Deployment Multiple Data Centers 4 Cloud-Ready Windows Azure Web Role / Instances Traffic Management Local Dev/Test 6 Deployed Elastic Scale Azure Data Center 5 Secured Single Sign-on Web / Domain ID AZURE WEB ROLE
  • 41. 1 Design Design Web Site Front-end & Create Assets 1A. Used an Adobe Dreamweaver HTML5 sample already set up for Responsive Web Design
  • 42. 1 Design Design Web Site Front-end & Create Assets 1A. Used an Adobe Dreamweaver HTML5 sample already set up for Responsive Web Design
  • 43. 1 Design Design Web Site Front-end & Create Assets 1B. Customize Content in Dreamweaver – Page Title, Logo, Marquee Text,
  • 44. 1 Design Design Web Site Front-end & Create Assets 1B. Customize Content in Dreamweaver – Page Title, Logo, Marquee Text,
  • 45. 1 Design Design Web Site Front-end & Create Assets 1C. Hand-off to developer – assets are HTML5, CSS, JavaScript, image files
  • 46. 2 Adapt Template-based Web Project 2A. Create Project from Neudesic Web Template
  • 47. 2 Adapt Template-based Web Project 2B. Insert front-end markup/styling/code/images from designer • Move where some files are to match the templates organization • Change paths in the HTML and CSS to match file relocation and use ASP.NET ~ path convention • Segment HTML and insert into appropriate areas of the home view (Index.cshtml)
  • 48. 2 Adapt Template-based Web Project 2B. Insert front-end markup/styling/code/images from designer @* Optional : Include additional stylesheets *@ @section StylesTop { <link rel="stylesheet" type="text/css" href="~/../css/stylesheet.css" /> <link rel="stylesheet" type="text/css" media="only screen and (min-width:50px) and (max- width:550px)" href="~/../css/screen_small.css"> <link rel="stylesheet" type="text/css" media="only screen and (min-width:551px) and (max- width:800px)" href="~/../css/screen_medium.css"> <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <link rel="stylesheet" type="text/css" href="~/../css/stylesheet_ie.css" /> <![endif]--> }
  • 49. 2 Adapt Template-based Web Project 2C. Final result is a web project we can run out of VS2010 with F5 – looks no diff from Step 1
  • 50. 3 Integrate Add Dynamic Content 3A. Create a Database for Promotional Data
  • 51. 3 Integrate Add Dynamic Content 3B. Retrieve Content in the MVC Project public class HomeController : Controller public class Promo { { // public string Title; // GET: /Home/ public string Text; public string ImageURL; public ActionResult Index() } { LoadPromos(); return View(); } private void LoadPromos() { Dictionary<string, Promo> Promos = new Dictionary<string, Promo>(); try { using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager .ConnectionStrings["Tours"].ConnectionString)) { ...get the data, add to Promos collection... } } catch (SqlException ex) { // TODO: log exception } ViewBag.Promos = Promos; } }
  • 52. 3 Integrate Add Dynamic Content 3C. Embed Content with Razor <!-- begin - homepage promos --> <div class="home_promo_container"> <div class="home_promo"> <div class="home_promo_content" style="background-image:url(images/@(ViewBag.Promos["1"].ImageURL));"> <h2 data-bind="text: PromoTitle1"></h2> <p data-bind="text: PromoText1"/> <a class="button" href="#">Learn more &raquo;</a> </div> </div> <div class="home_promo"> <div class="home_promo_content" style="background-image:url(images/@(ViewBag.Promos["2"].ImageURL));"> <h2 data-bind="text: PromoTitle2"></h2> <p data-bind="text: PromoText2"/> <a class="button" href="#">Learn more &raquo;</a> </div> </div> <div class="home_promo"> <div class="home_promo_content" style="background-image:url(images/@(ViewBag.Promos["3"].ImageURL));"> <h2 data-bind="text: PromoTitle3"></h2> <p data-bind="text: PromoText3"/> <a class="button" href="#">Learn more &raquo;</a> </div> </div> </div>
  • 53. 3 Integrate Add Dynamic Content 3C. Data Bind with Knockout <!-- begin - homepage promos --> <div class="home_promo_container"> <div class="home_promo"> <div class="home_promo_content" style="background- image:url(images/@(ViewBag.Promos["1"].ImageURL));"> <h2 data-bind="text: PromoTitle1"></h2> <p data-bind="text: PromoText1"/> <a class="button" href="#">Learn more &raquo;</a> </div> </div> <div class="home_promo"> <div class="home_promo_content" style="background- image:url(images/@(ViewBag.Promos["2"].ImageURL));"> <h2 data-bind="text: PromoTitle2"></h2> <p data-bind="text: PromoText2"/> <a class="button" href="#">Learn more &raquo;</a> </div> </div> <div class="home_promo"> <div class="home_promo_content" style="background- image:url(images/@(ViewBag.Promos["3"].ImageURL));"> <h2 data-bind="text: PromoTitle3"></h2> <p data-bind="text: PromoText3"/> <a class="button" href="#">Learn more &raquo;</a> </div> </div> </div>
  • 54. 3 Integrate Add Dynamic Content 3C. Data Bind with Knockout <!-- begin - homepage promos --> <div class="home_promo_container"> <div class="home_promo"> <div class="home_promo_content" style="background-image:url(images/@(ViewBag.Promos["1"].ImageURL));"> <h2 data-bind="text: PromoTitle1"></h2> <p data-bind="text: PromoText1"/> <a class="button" href="#">Learn more &raquo;</a> </div> </div> <div class="home_promo"> <div class="home_promo_content" style="background-image:url(images/@(ViewBag.Promos["2"].ImageURL));"> <h2 data-bind="text: PromoTitle2"></h2> <p data-bind="text: PromoText2"/> <a class="button" href="#">Learn more &raquo;</a> </div> </div> <div class="home_promo"> <div class="home_promo_content" style="background-image:url(images/@(ViewBag.Promos["3"].ImageURL));"> <h2 data-bind="text: PromoTitle3"></h2> <p data-bind="text: PromoText3"/> <a class="button" href="#">Learn more &raquo;</a> </div> </div> </div>
  • 55. 3 Integrate Add Dynamic Content 3D. Site with Data Binding
  • 56. 4 Cloud-Ready Set up for Windows Azure – Local Test/Dev in Simulator 4A. Add Windows Azure Project
  • 57. 4 Cloud-Ready Set up for Windows Azure – Local Test/Dev in Simulator 4B. Set Instance Counts <?xml version="1.0" encoding="utf-8"?> <ServiceConfiguration serviceName="ResponsiveSiteAzure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/Servic eConfiguration" osFamily="1" osVersion="*"> <Role name="ResponsiveSite"> <Instances count="4" /> <ConfigurationSettings> <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString " value="UseDevelopmentStorage=true" /> </ConfigurationSettings> </Role> </ServiceConfiguration>
  • 58. 4 Cloud-Ready Set up for Windows Azure – Local Test/Dev in Simulator 4C. Run locally in Windows Azure Simulation Environment
  • 59. 5 Secured Sign-in with web Identities 5A. Configure Access Control Service in Windows Azure
  • 60. 5 Secured Sign-in with web Identities 5B. Instrument for identity with Windows Identity Foundation
  • 61. 5 Secured Sign-in with web Identities 5B. Instrument for identity with Windows Identity Foundation
  • 62. 5 Secured Sign-in with web Identities 5C. Retrieve Claims private void LoadClaims() { ViewBag.Welcome = "Welcome Back!"; var principal = Thread.CurrentPrincipal; var identity = principal.Identity as IClaimsIdentity; var claims = identity.Claims; ViewBag.Claims = claims; string displayName = null; if (claims != null) { string claimType; foreach (Claim claim in claims) { claimType = claim.ClaimType; if (claimType.EndsWith("/nameidentifier")) { displayName = claim.Subject.Name; break; } } if (!String.IsNullOrEmpty(displayName)) { ViewBag.Welcome = "Welcome back, " + displayName; } } }
  • 63. 6 Deployed Deployed to Windows Azure Data Center 6A. Move Promotional Item Images to Blob Storage http://responsive.blob.core.windows.net/images/homepage_promo_1.jpg http://responsive.blob.core.windows.net/images/homepage_promo_2.jpg http://responsive.blob.core.windows.net/images/homepage_promo_3.jpg
  • 64. 6 Deployed Deployed to Windows Azure Data Center 6B. Change Promotional Image URLs to use Blob Storage <div class="home_promo_content" style="background-image:url( http://responsive.blob.core.windows.net/images/@(ViewBag.Promos["1"].ImageURL) );">
  • 65. 6 Deployed Deployed to Windows Azure Data Center 6C. Package and Publish
  • 66. 6 Deployed Deployed to Windows Azure Data Center 6D. Access in the Cloud at http://responsive.cloudapp.net
  • 67. 7 Global Deployed Globally to US and Hong Kong with Traffic Management 7A. Turn on CDN
  • 68. 7 Global Deployed Globally to US and Hong Kong with Traffic Management 7B. Change Promotion Item Image URLs to use CDN URL Prefix <div class="home_promo_content" style="background-image:url( http://az99258.vo.msecnd.net/images/@(ViewBag.Promos["1"].ImageURL) );">
  • 69. 7 Global Deployed Globally to US and Hong Kong with Traffic Management 7C. Deploy to Multiple Data Centers
  • 70. 7 Global Deployed Globally to US and Hong Kong with Traffic Management 7D. Manage Traffic
  • 71. 7 Global Deployed Globally to US and Hong Kong with Traffic Management 7E. Access at http://responsive-tours.com (http://responsive.ctp.trafficmgr.com) Friendly Domain http://responsive-tours.com Windows Azure Traffic Manager http://responsive.ctp.trafficmgr.com South Central US Western Europe East Asia http://responsive-us http://responsive-europe http:// responsive-asia .cloudapp.net .cloudapp.net .cloudapp.net Windows Azure Access Control Service Web Identity Sign-in
  • 72. 7 Global Deployed Globally to US and Hong Kong with Traffic Management http://responsive-tours.com
  • 73. 8-Part Tutorial http://davidpallmann.blogspot.com/2011/12/m obile-global-in-7-steps-with-html5-mvc.html Source Code on CodePlex http://responsivetours.codeplex.com Online Demo http://responsive-tours.com
  • 74. David Pallmann GM Custom App Dev, Neudesic http://davidpallmann.blogspot.com @davidpallmann