Beyond The Web: Drupal Meets The Desktop (And Mobile)
by Justin Miller
- 4,744 views
For more on this talk, see these links:
For more on this talk, see these links:
http://dc2009.drupalcon.org/session/beyond-web-drupal-meets-desktop-and-mobile
http://codesorcery.net/dcdc
Accessibility
Categories
Upload Details
Uploaded via SlideShare as Apple Keynote
Usage Rights
© All Rights Reserved
Statistics
- Likes
- 25
- Downloads
- 4
- Comments
- 0
- Embed Views
- Views on SlideShare
- 4,699
- Total Views
- 4,744
- how many people -- new to drupal?
- how many people -- new to integrating with drupal?
- Started using Drupal here in DC about five years ago
- Drupal & web developer, sysadmin, and Mac/iPhone developer
- Interested in how these areas converge -- whole stack -- datacenter to client app
- Started using Drupal here in DC about five years ago
- Drupal & web developer, sysadmin, and Mac/iPhone developer
- Interested in how these areas converge -- whole stack -- datacenter to client app
- Started using Drupal here in DC about five years ago
- Drupal & web developer, sysadmin, and Mac/iPhone developer
- Interested in how these areas converge -- whole stack -- datacenter to client app
- Started using Drupal here in DC about five years ago
- Drupal & web developer, sysadmin, and Mac/iPhone developer
- Interested in how these areas converge -- whole stack -- datacenter to client app
- Started using Drupal here in DC about five years ago
- Drupal & web developer, sysadmin, and Mac/iPhone developer
- Interested in how these areas converge -- whole stack -- datacenter to client app
- Started using Drupal here in DC about five years ago
- Drupal & web developer, sysadmin, and Mac/iPhone developer
- Interested in how these areas converge -- whole stack -- datacenter to client app
- Started using Drupal here in DC about five years ago
- Drupal & web developer, sysadmin, and Mac/iPhone developer
- Interested in how these areas converge -- whole stack -- datacenter to client app
- Started using Drupal here in DC about five years ago
- Drupal & web developer, sysadmin, and Mac/iPhone developer
- Interested in how these areas converge -- whole stack -- datacenter to client app
- Started using Drupal here in DC about five years ago
- Drupal & web developer, sysadmin, and Mac/iPhone developer
- Interested in how these areas converge -- whole stack -- datacenter to client app
- What kinds of things am I already using that could be used for integration?
- What kinds of things am I already using that could be used for integration?
- What kinds of things am I already using that could be used for integration?
- Keeping things secure and leveraging Drupal’s built-in security model
- Finding jumping off points for future building
- Keeping things secure and leveraging Drupal’s built-in security model
- Finding jumping off points for future building
- Keeping things secure and leveraging Drupal’s built-in security model
- Finding jumping off points for future building
- Keeping things secure and leveraging Drupal’s built-in security model
- Finding jumping off points for future building
- Keeping things secure and leveraging Drupal’s built-in security model
- Finding jumping off points for future building
- Getting data out -- getting raw data for use on other platforms, having flexibility in the formats.
- Authentication -- keeping it all secure, finding creative & flexible ways to let users in.
- Advanced interop -- how to go about building up a full-blown (often) two-way API.
- Getting data out -- getting raw data for use on other platforms, having flexibility in the formats.
- Authentication -- keeping it all secure, finding creative & flexible ways to let users in.
- Advanced interop -- how to go about building up a full-blown (often) two-way API.
- Getting data out -- getting raw data for use on other platforms, having flexibility in the formats.
- Authentication -- keeping it all secure, finding creative & flexible ways to let users in.
- Advanced interop -- how to go about building up a full-blown (often) two-way API.
- Getting data out -- getting raw data for use on other platforms, having flexibility in the formats.
- Authentication -- keeping it all secure, finding creative & flexible ways to let users in.
- Advanced interop -- how to go about building up a full-blown (often) two-way API.
- Getting data out -- getting raw data for use on other platforms, having flexibility in the formats.
- Authentication -- keeping it all secure, finding creative & flexible ways to let users in.
- Advanced interop -- how to go about building up a full-blown (often) two-way API.
- File uploads -- focusing on the mechanics, not the UX (sorry).
- File Framework -- an advanced framework that greatly augments what’s in core.
- WebDAV -- I’ve done a lot of work here -- using clients built into every OS to act in a file metaphor. Builds upon File Framework.
- File uploads -- focusing on the mechanics, not the UX (sorry).
- File Framework -- an advanced framework that greatly augments what’s in core.
- WebDAV -- I’ve done a lot of work here -- using clients built into every OS to act in a file metaphor. Builds upon File Framework.
- File uploads -- focusing on the mechanics, not the UX (sorry).
- File Framework -- an advanced framework that greatly augments what’s in core.
- WebDAV -- I’ve done a lot of work here -- using clients built into every OS to act in a file metaphor. Builds upon File Framework.
- File uploads -- focusing on the mechanics, not the UX (sorry).
- File Framework -- an advanced framework that greatly augments what’s in core.
- WebDAV -- I’ve done a lot of work here -- using clients built into every OS to act in a file metaphor. Builds upon File Framework.
- File uploads -- focusing on the mechanics, not the UX (sorry).
- File Framework -- an advanced framework that greatly augments what’s in core.
- WebDAV -- I’ve done a lot of work here -- using clients built into every OS to act in a file metaphor. Builds upon File Framework.
- This has been in Drupal from the beginning.
- Mac: MarsEdit, Ecto, Blogo
Windows: Qumana, Windows Live Writer
Linux/BSD: Flock, Kblogger, ScribeFire for Firefox, Sun Weblog Publisher for OpenOffice
- This has been in Drupal from the beginning.
- Mac: MarsEdit, Ecto, Blogo
Windows: Qumana, Windows Live Writer
Linux/BSD: Flock, Kblogger, ScribeFire for Firefox, Sun Weblog Publisher for OpenOffice
- This has been in Drupal from the beginning.
- Mac: MarsEdit, Ecto, Blogo
Windows: Qumana, Windows Live Writer
Linux/BSD: Flock, Kblogger, ScribeFire for Firefox, Sun Weblog Publisher for OpenOffice
- This has been in Drupal from the beginning.
- Mac: MarsEdit, Ecto, Blogo
Windows: Qumana, Windows Live Writer
Linux/BSD: Flock, Kblogger, ScribeFire for Firefox, Sun Weblog Publisher for OpenOffice
- This has been in Drupal from the beginning.
- Mac: MarsEdit, Ecto, Blogo
Windows: Qumana, Windows Live Writer
Linux/BSD: Flock, Kblogger, ScribeFire for Firefox, Sun Weblog Publisher for OpenOffice
- This has been in Drupal from the beginning.
- Mac: MarsEdit, Ecto, Blogo
Windows: Qumana, Windows Live Writer
Linux/BSD: Flock, Kblogger, ScribeFire for Firefox, Sun Weblog Publisher for OpenOffice
- going to go over the basics of what is in core
- this could be useful if you are taking user data and need a place to put it -- will this work for me?
- going to go over the basics of what is in core
- this could be useful if you are taking user data and need a place to put it -- will this work for me?
- going to go over the basics of what is in core
- this could be useful if you are taking user data and need a place to put it -- will this work for me?
- going to go over the basics of what is in core
- this could be useful if you are taking user data and need a place to put it -- will this work for me?
- going to go over the basics of what is in core
- this could be useful if you are taking user data and need a place to put it -- will this work for me?
- size and type info
- blocks are available for attachment/relationship status
- as well as all properties (more on next slide)
- size and type info
- blocks are available for attachment/relationship status
- as well as all properties (more on next slide)
- size and type info
- blocks are available for attachment/relationship status
- as well as all properties (more on next slide)
- size and type info
- blocks are available for attachment/relationship status
- as well as all properties (more on next slide)
- size and type info
- blocks are available for attachment/relationship status
- as well as all properties (more on next slide)
- multiple sizes for images
- other formats available -- large pdf also available as zip archive
- also make note of extended metadata extracted from this file -- location, camera (all exif data)
- multiple sizes for images
- other formats available -- large pdf also available as zip archive
- also make note of extended metadata extracted from this file -- location, camera (all exif data)
- multiple sizes for images
- other formats available -- large pdf also available as zip archive
- also make note of extended metadata extracted from this file -- location, camera (all exif data)
- really gives remote clients a base to work with & makes your social site more friendly & robust
- really gives remote clients a base to work with & makes your social site more friendly & robust
- really gives remote clients a base to work with & makes your social site more friendly & robust
- really gives remote clients a base to work with & makes your social site more friendly & robust
- really gives remote clients a base to work with & makes your social site more friendly & robust
- really gives remote clients a base to work with & makes your social site more friendly & robust
- really gives remote clients a base to work with & makes your social site more friendly & robust
- if you know the node id, enter it
- or else autocomplete by node title (i.e., file name)
- if you know the node id, enter it
- or else autocomplete by node title (i.e., file name)
- lends itself nicely to more complex layering with things like webdav
- distributed authoring & versioning
- like ftp but on the web server
- this is great if you already are talking webdav or have libraries for your apps
- also available on many platforms -- explorer on windows, finder on mac, kde/gnome file managers
- for people familiar with apple, mobile me / .mac idisk is based on webdav
- MENTION DAV API
- lends itself nicely to more complex layering with things like webdav
- distributed authoring & versioning
- like ftp but on the web server
- this is great if you already are talking webdav or have libraries for your apps
- also available on many platforms -- explorer on windows, finder on mac, kde/gnome file managers
- for people familiar with apple, mobile me / .mac idisk is based on webdav
- MENTION DAV API
- lends itself nicely to more complex layering with things like webdav
- distributed authoring & versioning
- like ftp but on the web server
- this is great if you already are talking webdav or have libraries for your apps
- also available on many platforms -- explorer on windows, finder on mac, kde/gnome file managers
- for people familiar with apple, mobile me / .mac idisk is based on webdav
- MENTION DAV API
- lends itself nicely to more complex layering with things like webdav
- distributed authoring & versioning
- like ftp but on the web server
- this is great if you already are talking webdav or have libraries for your apps
- also available on many platforms -- explorer on windows, finder on mac, kde/gnome file managers
- for people familiar with apple, mobile me / .mac idisk is based on webdav
- MENTION DAV API
- lends itself nicely to more complex layering with things like webdav
- distributed authoring & versioning
- like ftp but on the web server
- this is great if you already are talking webdav or have libraries for your apps
- also available on many platforms -- explorer on windows, finder on mac, kde/gnome file managers
- for people familiar with apple, mobile me / .mac idisk is based on webdav
- MENTION DAV API
- lends itself nicely to more complex layering with things like webdav
- distributed authoring & versioning
- like ftp but on the web server
- this is great if you already are talking webdav or have libraries for your apps
- also available on many platforms -- explorer on windows, finder on mac, kde/gnome file managers
- for people familiar with apple, mobile me / .mac idisk is based on webdav
- MENTION DAV API
- lends itself nicely to more complex layering with things like webdav
- distributed authoring & versioning
- like ftp but on the web server
- this is great if you already are talking webdav or have libraries for your apps
- also available on many platforms -- explorer on windows, finder on mac, kde/gnome file managers
- for people familiar with apple, mobile me / .mac idisk is based on webdav
- MENTION DAV API
- lends itself nicely to more complex layering with things like webdav
- distributed authoring & versioning
- like ftp but on the web server
- this is great if you already are talking webdav or have libraries for your apps
- also available on many platforms -- explorer on windows, finder on mac, kde/gnome file managers
- for people familiar with apple, mobile me / .mac idisk is based on webdav
- MENTION DAV API
- lends itself nicely to more complex layering with things like webdav
- distributed authoring & versioning
- like ftp but on the web server
- this is great if you already are talking webdav or have libraries for your apps
- also available on many platforms -- explorer on windows, finder on mac, kde/gnome file managers
- for people familiar with apple, mobile me / .mac idisk is based on webdav
- MENTION DAV API
- lends itself nicely to more complex layering with things like webdav
- distributed authoring & versioning
- like ftp but on the web server
- this is great if you already are talking webdav or have libraries for your apps
- also available on many platforms -- explorer on windows, finder on mac, kde/gnome file managers
- for people familiar with apple, mobile me / .mac idisk is based on webdav
- MENTION DAV API
- lends itself nicely to more complex layering with things like webdav
- distributed authoring & versioning
- like ftp but on the web server
- this is great if you already are talking webdav or have libraries for your apps
- also available on many platforms -- explorer on windows, finder on mac, kde/gnome file managers
- for people familiar with apple, mobile me / .mac idisk is based on webdav
- MENTION DAV API
- lends itself nicely to more complex layering with things like webdav
- distributed authoring & versioning
- like ftp but on the web server
- this is great if you already are talking webdav or have libraries for your apps
- also available on many platforms -- explorer on windows, finder on mac, kde/gnome file managers
- for people familiar with apple, mobile me / .mac idisk is based on webdav
- MENTION DAV API
- this is two-way communication
- everything is revisioned in the nodes -- attachment status, filename, organic group
- rather than build a custom api, you could use existing webdav client libraries to work with this sort of platform -- client doesn’t even have to know that it’s drupal
- this is two-way communication
- everything is revisioned in the nodes -- attachment status, filename, organic group
- rather than build a custom api, you could use existing webdav client libraries to work with this sort of platform -- client doesn’t even have to know that it’s drupal
- this is two-way communication
- everything is revisioned in the nodes -- attachment status, filename, organic group
- rather than build a custom api, you could use existing webdav client libraries to work with this sort of platform -- client doesn’t even have to know that it’s drupal
- this is two-way communication
- everything is revisioned in the nodes -- attachment status, filename, organic group
- rather than build a custom api, you could use existing webdav client libraries to work with this sort of platform -- client doesn’t even have to know that it’s drupal
- this is two-way communication
- everything is revisioned in the nodes -- attachment status, filename, organic group
- rather than build a custom api, you could use existing webdav client libraries to work with this sort of platform -- client doesn’t even have to know that it’s drupal
- this is two-way communication
- everything is revisioned in the nodes -- attachment status, filename, organic group
- rather than build a custom api, you could use existing webdav client libraries to work with this sort of platform -- client doesn’t even have to know that it’s drupal
- this is two-way communication
- everything is revisioned in the nodes -- attachment status, filename, organic group
- rather than build a custom api, you could use existing webdav client libraries to work with this sort of platform -- client doesn’t even have to know that it’s drupal
not mentioning it in detail here since it’s typically web-to-web
not mentioning it in detail here since it’s typically web-to-web
not mentioning it in detail here since it’s typically web-to-web
not mentioning it in detail here since it’s typically web-to-web
not mentioning it in detail here since it’s typically web-to-web
not mentioning it in detail here since it’s typically web-to-web
- automatically published at /node
- automatically sent out to rss feed
- views is your swiss army knife -- worth the time invested to learn the api and/or the ui
- automatically published at /node
- automatically sent out to rss feed
- views is your swiss army knife -- worth the time invested to learn the api and/or the ui
- automatically published at /node
- automatically sent out to rss feed
- views is your swiss army knife -- worth the time invested to learn the api and/or the ui
- automatically published at /node
- automatically sent out to rss feed
- views is your swiss army knife -- worth the time invested to learn the api and/or the ui
- automatically published at /node
- automatically sent out to rss feed
- views is your swiss army knife -- worth the time invested to learn the api and/or the ui
- automatically published at /node
- automatically sent out to rss feed
- views is your swiss army knife -- worth the time invested to learn the api and/or the ui
- automatically published at /node
- automatically sent out to rss feed
- views is your swiss army knife -- worth the time invested to learn the api and/or the ui
some modules you’ll find interesting are...
some modules you’ll find interesting are...
some modules you’ll find interesting are...
some modules you’ll find interesting are...
some modules you’ll find interesting are...
some modules you’ll find interesting are...
some modules you’ll find interesting are...
- could possibly generate a token client-side using a known algorithm, update the server, then use that to pull data
- could possibly generate a token client-side using a known algorithm, update the server, then use that to pull data
- could possibly generate a token client-side using a known algorithm, update the server, then use that to pull data
- could possibly generate a token client-side using a known algorithm, update the server, then use that to pull data
- could possibly generate a token client-side using a known algorithm, update the server, then use that to pull data
- could possibly generate a token client-side using a known algorithm, update the server, then use that to pull data
- could possibly generate a token client-side using a known algorithm, update the server, then use that to pull data
- could possibly generate a token client-side using a known algorithm, update the server, then use that to pull data
- blog -- all blog nodes
- user blog -- all blog posts for a user
- taxonomy feeds -- all content published under a certain tag
- blog -- all blog nodes
- user blog -- all blog posts for a user
- taxonomy feeds -- all content published under a certain tag
- blog -- all blog nodes
- user blog -- all blog posts for a user
- taxonomy feeds -- all content published under a certain tag
- blog -- all blog nodes
- user blog -- all blog posts for a user
- taxonomy feeds -- all content published under a certain tag
- blog -- all blog nodes
- user blog -- all blog posts for a user
- taxonomy feeds -- all content published under a certain tag
- blog -- all blog nodes
- user blog -- all blog posts for a user
- taxonomy feeds -- all content published under a certain tag
- smtp -- more useful from remote clients
- able to centralize your mail, even using another isp
- smtp -- more useful from remote clients
- able to centralize your mail, even using another isp
- smtp -- more useful from remote clients
- able to centralize your mail, even using another isp
- smtp -- more useful from remote clients
- able to centralize your mail, even using another isp
- smtp -- more useful from remote clients
- able to centralize your mail, even using another isp
- smtp -- more useful from remote clients
- able to centralize your mail, even using another isp
- smtp -- more useful from remote clients
- able to centralize your mail, even using another isp
- smtp -- more useful from remote clients
- able to centralize your mail, even using another isp
- smtp -- more useful from remote clients
- able to centralize your mail, even using another isp
- smtp -- more useful from remote clients
- able to centralize your mail, even using another isp
- json useful for read-only data -- latest content, popular content, new users
- json useful for read-only data -- latest content, popular content, new users
- json useful for read-only data -- latest content, popular content, new users
- force file downloads -- example, make people download media to disk, make it easy for users to save files locally
- mention backup/migrate just out of ease of use
- not ideal for data transfer, but might fit your project
- force file downloads -- example, make people download media to disk, make it easy for users to save files locally
- mention backup/migrate just out of ease of use
- not ideal for data transfer, but might fit your project
- force file downloads -- example, make people download media to disk, make it easy for users to save files locally
- mention backup/migrate just out of ease of use
- not ideal for data transfer, but might fit your project
- hardware tracking: track battery life in the field, gps reporting of client location
- high scores for mobile games, with a social element on the website
- hardware tracking: track battery life in the field, gps reporting of client location
- high scores for mobile games, with a social element on the website
- hardware tracking: track battery life in the field, gps reporting of client location
- high scores for mobile games, with a social element on the website
- that’s not to say it’s not powerful, but it’s low barrier to entry
- problem is, a lot of people don’t know about it or have misconceptions...
- that’s not to say it’s not powerful, but it’s low barrier to entry
- problem is, a lot of people don’t know about it or have misconceptions...
- that’s not to say it’s not powerful, but it’s low barrier to entry
- problem is, a lot of people don’t know about it or have misconceptions...
- Mollom uses XML-RPC today to talk to its servers
- KDE using this for app scripting
- Mollom uses XML-RPC today to talk to its servers
- KDE using this for app scripting
- Mollom uses XML-RPC today to talk to its servers
- KDE using this for app scripting
- Mollom uses XML-RPC today to talk to its servers
- KDE using this for app scripting
- Mollom uses XML-RPC today to talk to its servers
- KDE using this for app scripting
- Mollom uses XML-RPC today to talk to its servers
- KDE using this for app scripting
- just as you could write a module that dumps private content whenever you go to /private
- you could also write an xml-rpc service that gives free access
- i’ve done api key before by storing a key in the user profile data
- just as you could write a module that dumps private content whenever you go to /private
- you could also write an xml-rpc service that gives free access
- i’ve done api key before by storing a key in the user profile data
- just as you could write a module that dumps private content whenever you go to /private
- you could also write an xml-rpc service that gives free access
- i’ve done api key before by storing a key in the user profile data
- just as you could write a module that dumps private content whenever you go to /private
- you could also write an xml-rpc service that gives free access
- i’ve done api key before by storing a key in the user profile data
- just as you could write a module that dumps private content whenever you go to /private
- you could also write an xml-rpc service that gives free access
- i’ve done api key before by storing a key in the user profile data
- just as you could write a module that dumps private content whenever you go to /private
- you could also write an xml-rpc service that gives free access
- i’ve done api key before by storing a key in the user profile data
- just as you could write a module that dumps private content whenever you go to /private
- you could also write an xml-rpc service that gives free access
- i’ve done api key before by storing a key in the user profile data
- more upfront work to understand it
- if included libraries meet your needs, faster startup
- otherwise, need to learn the api
- more upfront work to understand it
- if included libraries meet your needs, faster startup
- otherwise, need to learn the api
- more upfront work to understand it
- if included libraries meet your needs, faster startup
- otherwise, need to learn the api
- more upfront work to understand it
- if included libraries meet your needs, faster startup
- otherwise, need to learn the api
- more upfront work to understand it
- if included libraries meet your needs, faster startup
- otherwise, need to learn the api
- more upfront work to understand it
- if included libraries meet your needs, faster startup
- otherwise, need to learn the api
- more upfront work to understand it
- if included libraries meet your needs, faster startup
- otherwise, need to learn the api
- more upfront work to understand it
- if included libraries meet your needs, faster startup
- otherwise, need to learn the api
- as i mentioned, services supports json, xml-rpc, rest, soap
- as i mentioned, services supports json, xml-rpc, rest, soap
- as i mentioned, services supports json, xml-rpc, rest, soap
- as i mentioned, services supports json, xml-rpc, rest, soap
- as i mentioned, services supports json, xml-rpc, rest, soap
- there is a lot going on this week -- check it out