SlideShare uma empresa Scribd logo
1 de 41
NetMash
    The Best of
Native Apps and the
    Mobile Web


   Duncan Cragg
Pure Native Apps
      e.g.: iOS / Android; Objective-C / Java

               App      App
    App
                       AppStore            Server
            download                 app protocols

mobile-
oriented     App         App      full
runnable                          device
code and                          access
layouts              Mobile Device
Pure Web Documents
       e.g.: HTML5 / CSS3 alone, no JS APIs

               Doc       Doc            Doc
    Doc                        links
                           Server             Server
             download                  HTTP
             or submit
large
text- &                            very
              Doc        Doc       limited
page-
oriented                   Browser device
docs                               access
                     Mobile Device
Pure Native Apps
e.g.: iOS / Android; Objective-C / Java

   Fast, Slick, Tactile Interfaces
   Close to your Mobile Stuff
   Close to the Device
   Work Well Offline

    Mashable, Linkable, Sharable
    Distributable: Just a Link
    Easy to Program
    Cross-Platform
Pure Web Documents
e.g.: HTML5 / CSS3 alone, no JS APIs

    Fast, Slick, Tactile Interfaces
    Close to your Mobile Stuff
    Close to the Device
    Work Well Offline

   Mashable, Linkable, Sharable
   Distributable: Just a Link
   Easy to Program
   Cross-Platform
JS Web Apps
       e.g.: HTML5 JS APIs; JQuery Mobile

               Doc           Doc            Doc
    Doc                            links            JS
                   JS          Server             Server
             download                      HTTP
             or submit
large
text- &                                partial
             Doc             Doc JS    device
page-
                        JS     Browser access
oriented
docs +                  Mobile Device
runnable
Hybrid Web Apps
           e.g.: WAC, PhoneGap, Titanium

                App      App
    App
                         AppStore            Server
              download                HTTP

large
text- &       App                     partial
                          App         device
page-         Doc
oriented                              access
docs +         JS
                      Mobile Device
runnable
JS Web Apps
e.g.: HTML5 JS APIs; JQuery Mobile

   Fast, Slick, Tactile Interfaces
   Close to your Mobile Stuff
   Close to the Device
   Work Well Offline

   Mashable, Linkable, Sharable
   Distributable: Just a Link
   Easy to Program
   Cross-Platform
Hybrid Web Apps
    e.g.: WAC, PhoneGap, Titanium

   Fast, Slick, Tactile Interfaces
   Close to your Mobile Stuff
   Close to the Device
   Work Well Offline

   Mashable, Linkable, Sharable
   Distributable: Just a Link
   Easy to Program
   Cross-Platform
Start Native, Add Pure Web

Doc               links
               Server         Server

                  HTTP


                          full
                   App    device
          Mobile Device   access
NetMash = Native + Web

            Obj     Obj            Obj
    Doc
    Obj                    links
             NetMash Server              Server

small                      HTTP
nested
mobile-
oriented   Obj    Obj     Obj      full
two-way                            device
                   NetMash App
dynamic                            access
objects
NetMash = Native + Web
   Fast, Slick, Tactile Interfaces
   Close to your Mobile Stuff
   Close to the Device
   Works Well Offline

   Mashable, Linkable, Sharable
   Distributable: Just a Link
   Easy to Program: Declarative JSON
   Cross-Platform: Port NetMash App
JSON Calendar Event
{ is: event
  title: "DroidConf"
  content: "Big Droidfest!"
  start: .. end: .. tz: ..
  location: { .. }
  attendees: [
     http://p.com/uid-ef ..
     http://q.com/uid-93 ..
  ]}
Calendar Event: Mobile View

DroidConf: Big Droid fest!

    Start: ..

    End: ..

    Location:
Switch to Calendar View
Mon   Tues   Wed   Thurs   Fri   Sat   Sun




                   Droid
                   Conf
                   Big
                   Droid
                   fest!
Plot the Weather Report, too
Mon   Tues   Wed   Thurs   Fri   Sat   Sun




                   Droid
                   Conf
                   Big
                   Droid
                   fest!
Switch to Map View

 Droid Conf
 Big Droid fest!
Plot the Weather Report, too

      Droid Conf
      Big Droid fest!
Scroll Down to Attendees

DroidConf: Big Droid fest!
    Attending:   Ann Droid
    Me Too!
                 Rob Ott
    Maybe

    No, Sorry
Links To User Objects
{ is: event
  title: "DroidConf"
  content: "Big Droidfest!"
  start: .. end: .. tz: ..
  location: { .. }
  attendees: [
     http://p.com/uid-ef ..
     http://q.com/uid-93 ..
  ]}
View Source of User Object
location updated direct from Mobile

  { is: user
    location: {.. }
    saying: ".."
    vcard: http://...
  }
User Object

User

  vCard
User Object Pushed

Mobile     Server    Mobile
                      Mobile
                       Mobile
User A     User A    User A
So Plot The Attendees List

     Droid Conf
     Big Droid fest!
See Everyone's Messages

    Droid Conf
    Big Droid fest!


                      It's just
                      gone
                      cloudy!
View Source of User Object
message updated direct from Mobile

  { is: user
    location: {.. }
    saying: "It's just
             gone cloudy!"
    vcard: http://...
  }
See Just-Taken Photos

   Droid Conf
   Big Droid fest!
Hit the "Me Too!" Button

DroidConf: Big Droid fest!
    Attending:   Ann Droid
    Me Too!
                 Rob Ott
    Maybe

    No, Sorry
Returns This: View Source

{ is: rsvp
  user: http://p.com/uid-12
  event: http://x.net/uid-a7
  attending: "yes"
}
You're on the list

DroidConf: Big Droid fest!
    Attending:   Si Bermann
    Me Too!
                 Ann Droid
    Maybe

    No, Sorry
You Appear on Everyone's Maps

       Droid Conf
       Big Droid fest!




      I'm in the
      area - be
      there soon!
Make Your Own App!

{ title: "My DroidConf"
  list: [
    http://x.net/uid-a7
    http://p.com/uid-ef
    http://c.com/uid-35
    http://t.com/uid-f3
  ]
}
Make Your Own App!
My DroidConf
   DroidConf

   Ann Droid

   Cafe Droid

   Twitter #droidconf
GUI Object

{ is: gui
  view: {
    direction:vertical
    "Option"
    "#opt":"?[/string;1|2/]?"
  }
}
GUI Object
Form Object

{ is: form
  user: http://p.com/uid-12
  gui: http://n.net/uid-72
  form: {
        opt: "2"
  }
}
NetMash = Native + Web
   Fast, Slick, Tactile Interfaces
   Close to your Mobile Stuff
   Close to the Device
   Works Well Offline

   Mashable, Linkable, Sharable
   Distributable: Just a Link
   Easy to Program: Declarative JSON
   Cross-Platform: Port NetMash App
NetMash = Native + Web + More
 No application boundaries - NetMash
  creates a seamless 'cyberspace'
  containing you, your friends and your
  and their mobile stuff - all linkable and
  mashable
 No manual upload, download, save,
  submit, send, share, refresh, upgrade -
  NetMash objects are updating and
  interactive
NetMash Demo

     NetMash is an
   Android and Java
client- and server-side
    implementation
Help Build NetMash!
              What's next?
     If you know Java or Android,
and have an online / social app idea,
        then help build NetMash!
or just use NetMash, when it's ready!

     http://netmash.net
NetMash is based on FOREST
FOREST is described in Chapter 7 of this book
 http://www.amazon.co.uk/dp/1441983023

Mais conteúdo relacionado

Último

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Último (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

Destaque

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Destaque (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

NetMash: Native + Web + More - OTA 2011

  • 1. NetMash The Best of Native Apps and the Mobile Web Duncan Cragg
  • 2. Pure Native Apps e.g.: iOS / Android; Objective-C / Java App App App AppStore Server download app protocols mobile- oriented App App full runnable device code and access layouts Mobile Device
  • 3. Pure Web Documents e.g.: HTML5 / CSS3 alone, no JS APIs Doc Doc Doc Doc links Server Server download HTTP or submit large text- & very Doc Doc limited page- oriented Browser device docs access Mobile Device
  • 4. Pure Native Apps e.g.: iOS / Android; Objective-C / Java  Fast, Slick, Tactile Interfaces  Close to your Mobile Stuff  Close to the Device  Work Well Offline Mashable, Linkable, Sharable Distributable: Just a Link Easy to Program Cross-Platform
  • 5. Pure Web Documents e.g.: HTML5 / CSS3 alone, no JS APIs Fast, Slick, Tactile Interfaces Close to your Mobile Stuff Close to the Device Work Well Offline  Mashable, Linkable, Sharable  Distributable: Just a Link  Easy to Program  Cross-Platform
  • 6. JS Web Apps e.g.: HTML5 JS APIs; JQuery Mobile Doc Doc Doc Doc links JS JS Server Server download HTTP or submit large text- & partial Doc Doc JS device page- JS Browser access oriented docs + Mobile Device runnable
  • 7. Hybrid Web Apps e.g.: WAC, PhoneGap, Titanium App App App AppStore Server download HTTP large text- & App partial App device page- Doc oriented access docs + JS Mobile Device runnable
  • 8. JS Web Apps e.g.: HTML5 JS APIs; JQuery Mobile  Fast, Slick, Tactile Interfaces  Close to your Mobile Stuff  Close to the Device  Work Well Offline  Mashable, Linkable, Sharable  Distributable: Just a Link  Easy to Program  Cross-Platform
  • 9. Hybrid Web Apps e.g.: WAC, PhoneGap, Titanium  Fast, Slick, Tactile Interfaces  Close to your Mobile Stuff  Close to the Device  Work Well Offline  Mashable, Linkable, Sharable  Distributable: Just a Link  Easy to Program  Cross-Platform
  • 10. Start Native, Add Pure Web Doc links Server Server HTTP full App device Mobile Device access
  • 11. NetMash = Native + Web Obj Obj Obj Doc Obj links NetMash Server Server small HTTP nested mobile- oriented Obj Obj Obj full two-way device NetMash App dynamic access objects
  • 12. NetMash = Native + Web  Fast, Slick, Tactile Interfaces  Close to your Mobile Stuff  Close to the Device  Works Well Offline  Mashable, Linkable, Sharable  Distributable: Just a Link  Easy to Program: Declarative JSON  Cross-Platform: Port NetMash App
  • 13. JSON Calendar Event { is: event title: "DroidConf" content: "Big Droidfest!" start: .. end: .. tz: .. location: { .. } attendees: [ http://p.com/uid-ef .. http://q.com/uid-93 .. ]}
  • 14. Calendar Event: Mobile View DroidConf: Big Droid fest! Start: .. End: .. Location:
  • 15. Switch to Calendar View Mon Tues Wed Thurs Fri Sat Sun Droid Conf Big Droid fest!
  • 16. Plot the Weather Report, too Mon Tues Wed Thurs Fri Sat Sun Droid Conf Big Droid fest!
  • 17. Switch to Map View Droid Conf Big Droid fest!
  • 18. Plot the Weather Report, too Droid Conf Big Droid fest!
  • 19. Scroll Down to Attendees DroidConf: Big Droid fest! Attending: Ann Droid Me Too! Rob Ott Maybe No, Sorry
  • 20. Links To User Objects { is: event title: "DroidConf" content: "Big Droidfest!" start: .. end: .. tz: .. location: { .. } attendees: [ http://p.com/uid-ef .. http://q.com/uid-93 .. ]}
  • 21. View Source of User Object location updated direct from Mobile { is: user location: {.. } saying: ".." vcard: http://... }
  • 23. User Object Pushed Mobile Server Mobile Mobile Mobile User A User A User A
  • 24. So Plot The Attendees List Droid Conf Big Droid fest!
  • 25. See Everyone's Messages Droid Conf Big Droid fest! It's just gone cloudy!
  • 26. View Source of User Object message updated direct from Mobile { is: user location: {.. } saying: "It's just gone cloudy!" vcard: http://... }
  • 27. See Just-Taken Photos Droid Conf Big Droid fest!
  • 28. Hit the "Me Too!" Button DroidConf: Big Droid fest! Attending: Ann Droid Me Too! Rob Ott Maybe No, Sorry
  • 29. Returns This: View Source { is: rsvp user: http://p.com/uid-12 event: http://x.net/uid-a7 attending: "yes" }
  • 30. You're on the list DroidConf: Big Droid fest! Attending: Si Bermann Me Too! Ann Droid Maybe No, Sorry
  • 31. You Appear on Everyone's Maps Droid Conf Big Droid fest! I'm in the area - be there soon!
  • 32. Make Your Own App! { title: "My DroidConf" list: [ http://x.net/uid-a7 http://p.com/uid-ef http://c.com/uid-35 http://t.com/uid-f3 ] }
  • 33. Make Your Own App! My DroidConf DroidConf Ann Droid Cafe Droid Twitter #droidconf
  • 34. GUI Object { is: gui view: { direction:vertical "Option" "#opt":"?[/string;1|2/]?" } }
  • 36. Form Object { is: form user: http://p.com/uid-12 gui: http://n.net/uid-72 form: { opt: "2" } }
  • 37. NetMash = Native + Web  Fast, Slick, Tactile Interfaces  Close to your Mobile Stuff  Close to the Device  Works Well Offline  Mashable, Linkable, Sharable  Distributable: Just a Link  Easy to Program: Declarative JSON  Cross-Platform: Port NetMash App
  • 38. NetMash = Native + Web + More  No application boundaries - NetMash creates a seamless 'cyberspace' containing you, your friends and your and their mobile stuff - all linkable and mashable  No manual upload, download, save, submit, send, share, refresh, upgrade - NetMash objects are updating and interactive
  • 39. NetMash Demo NetMash is an Android and Java client- and server-side implementation
  • 40. Help Build NetMash! What's next? If you know Java or Android, and have an online / social app idea, then help build NetMash! or just use NetMash, when it's ready! http://netmash.net
  • 41. NetMash is based on FOREST FOREST is described in Chapter 7 of this book http://www.amazon.co.uk/dp/1441983023

Notas do Editor

  1. One approach is to try to make the Web more Native. By adding Javascript executables, Native APIs and libraries to simulate Native UX
  2. Even more extreme is the Widgetisation or Native-packaging approach
  3. Which works up to a point But it's a compromise, at the expense of true Webbiness - the Web isn't an app platform HTML5 JS APIs are just formalised hacks; JQuery Mobile is good, but not perfect The more you try to become like an app, the less you benefit from the Web's linkable, declarative architecture
  4. Hybrid apps are even less Webby, harder to program, less cross-platform, less linkable But not much more Native
  5. A much better approach is to start with Native, start with Mobile Then ask what the Web's pure architecture can give us
  6. Linked-up Mobile Objects! Dynamic, interactive JSON data Representing users, contacts, locations, dates, messages, photos, galleries, lists, GUIs - a Native app completely driven by dynamic data - and itself pushing its own updated data into the Web, and on to other users
  7. Which keeps all the benefits of pure Native and adds on the benefits of the pure Web!
  8. Based on iCalendar, but with concessions to normalising certain field names with other types - e.g. description -> content
  9. Drill down into the Calendar object to see the list of attendees When you hit the "Me Too!" button, you want to be added to the list
  10. Once again, you can plot it on the shared map Or plot it on the single, shared calendar Alongside the Weather objects
  11. Once again, you can plot it on the shared map Or plot it on the single, shared calendar Alongside the Weather objects
  12. You can plot anything mappable on a single map Individual objects or, as here, lists of objects Objects get pushed and notified when they update So you see them move about!
  13. Keep plotting more stuff, more lists of objects with locations, on the map There's no application boundaries, here, no separate Weather app Just sources of Weather objects
  14. Drill down into the Calendar object to see the list of attendees Nested Summary views of dynamic objects from multiple sources Jump to User B full view by touching it Or maybe it will expand in current view When you hit the "Me Too!" button, you want to be added to the list
  15. Based on vCalendar, but with concessions to normalising certain field names with other types - e.g. description -> content Notice that these objects have opaque UIDs - GUIDs, UUIDs, etc - which can be fetched by http Notice that objects can come from completely different sources If you can see an object, you can link to it And put that object link in a shared collection
  16. Here's an example of a mobile object - representing a user - You or one of your friends - you just need to get the link to their user object It has a GPS location and a link to a vCard object with the user's public contact info
  17. On the screen, this can be rendered in a fixed way. You can nest in information from the vCard And have a jumpable link to it, for full contact info You can then see where they are on a map
  18. User objects can be pushed to servers when they change And others can see them as they change These servers are assigned to users as their 'home' servers When the network breaks, updates stop, of course But you can still keep on seeing all of the objects you have seen before, indefinitely
  19. You can plot anything mappable on a single map Individual objects or, as here, lists of objects Objects get pushed and notified when they update So you see them move about!
  20. Nor a separate chat app!
  21. Here's an example of a mobile object - representing a user - You or one of your friends - you just need to get the link to their user object It has a GPS location and a link to a vCard object with the user's public contact info
  22. Or separate photo-sharing app! You don't manually share or upload or send objects or lists of links of objects You just set their permission to visible so anyone watching gets updated. Set in one place for all 'applications'. This applies to all objects: photos, links, messages, contacts, etc. And user's current location. You can also set private objects to be automatically backed up onto the same 'home' servers
  23. Drill down into the Calendar object to see the list of attendees When you hit the "Me Too!" button, you want to be added to the list
  24. This is what is POSTed back directly at the calendar object. It links to the calendar event object it came from, and the object of the user who is attending On receiving this, the event object will update the attendees accordingly Which updates every user's view If you change your mind, this very same object is updated and notified to the event
  25. Drill down into the Calendar object to see the list of attendees When you hit the "Me Too!" button, you want to be added to the list
  26. You can plot anything mappable on a single map Individual objects or, as here, lists of objects Objects get pushed and notified when they update So you see them move about!
  27. This is the simplest form of mashup Just a list of links to other objects - each on a different host NetMash allows the user to create new lists or copy lists And to create or copy other objects
  28. You're meeting Ann in the Cafe before going to DroidConf; So knock up your own app for it! Track Ann on her way, get the address and read reviews of the Cafe, watch the news on Twitter Content sources and services are a breeze to construct, and existing services, like Twitter, are easy targets for exposing as objects Once in the object network, new objects that depend on them are a snap to create There are no application boundaries, applications can build on one another in an exponentially valuable way
  29. There is a GUI object, for full control of the UX Complete with Native widgets
  30. See the native widgets. They're real, not faked. So they work fast at least.
  31. Changing the option chosen POSTs a message back to the GUI object itself; Or could have it wait for a submit button This is the form object that is sent back when option "2" is chosen It links to the GUI object it came from, and the object of the user who chose the option On receiving this, the GUI object could update accordingly, or redirect to another object Really easy to create remote, interactive apps this way
  32. Which keeps all the benefits of pure Native and adds on the benefits of the pure Web!
  33. NetMash has all the benefits of pure Native NetMash has all the benefits of the pure Web And it adds two major new benefits of its own