Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
How to remember things you need to,  and forget the things you don’t
One program <ul><li>&quot;There is only one program and it is still being written.“ </li></ul><ul><li>Don Box, Doug Purdy,...
Problem <ul><li>You need a butler </li></ul><ul><ul><li>BUT </li></ul></ul><ul><li>Butler’s are hard to come by </li></ul>...
Why you need a butler <ul><li>Information overload </li></ul><ul><ul><li>Too much to remember </li></ul></ul><ul><li>Too m...
Examples <ul><li>Check your car lights work properly </li></ul><ul><ul><li>At least once a month </li></ul></ul><ul><ul><l...
Examples <ul><li>Internet bills </li></ul><ul><ul><li>Forget to check for them, you get a fine </li></ul></ul><ul><li>Goin...
Examples <ul><li>Remembering to back up your computer </li></ul><ul><ul><li>One day you’ll remember! </li></ul></ul><ul><u...
Why you don’t use tools <ul><li>Which tools have you got? </li></ul><ul><ul><li>Outlook? </li></ul></ul><ul><ul><ul><li>Ta...
Life-Management Requirements <ul><li>Life-management programs, like butlers, need to be </li></ul><ul><ul><li>Reliable </l...
Reliability <ul><li>My computer isn’t reliable enough </li></ul><ul><ul><li>It crashes, losing everything </li></ul></ul><...
Event-driven <ul><li>Reactive programs </li></ul><ul><ul><li>The program waits for external event to continue </li></ul></ul>
Flexibility <ul><li>It’s too hard to write programs, </li></ul><ul><li>And even harder to change them </li></ul>
Deployment <ul><li>Even if someone else writes programs for you, you have to install the buggers </li></ul><ul><ul><li>Tha...
Constancy <ul><li>Some programs need to be running constantly </li></ul><ul><ul><li>But maybe only become active when some...
Personalization <ul><li>No software is defined to do exactly what YOU want it to </li></ul><ul><li>But what if small progr...
Attention-grabbing <ul><li>When you really need to do something, you need to know about it </li></ul><ul><ul><li>Like e-ma...
GTDers <ul><li>GTD very popular </li></ul><ul><li>But biggest weakness is weekly review </li></ul><ul><ul><li>Why do you n...
Techy question:  <ul><li>What’s the point of creating a webservice to automate your business? </li></ul><ul><ul><li>Everyo...
But Webservices could… <ul><li>Be used if small client programs used them </li></ul><ul><li>But the programs have to be co...
Introducing Lifeflows <ul><li>Small workflows </li></ul><ul><ul><li>Designed using MS .Net 3.0 </li></ul></ul><ul><ul><li>...
Example – Recurring task <ul><li>This Lifeflow defines a simple event-based process </li></ul><ul><li>A task is created us...
Recurring task benefits <ul><li>The user only sees the current state of tasks </li></ul><ul><ul><li>Based on the services ...
Community Lifeflows <ul><li>Users reuse Lifeflows from others </li></ul><ul><ul><li>Like windows/Google/Yahoo gadgets, but...
Lifeflows create business <ul><li>Case study: </li></ul><ul><ul><li>Your garage wants to remind you to service your car </...
Lifeflows enable business <ul><li>Lifeflow solution: </li></ul><ul><ul><li>Business creates a simple Lifeflow </li></ul></...
Lifeflows make life easier <ul><li>The Lifeflow: </li></ul><ul><ul><li>Asks you your mileage every month (after waiting fo...
Lifeflows integrate services <ul><li>Lots of services available on Web </li></ul><ul><ul><li>Not easy to integrate them wi...
Lifeflows are easy to create <ul><li>Defined using simple text files (XML) </li></ul><ul><li>Or Visio </li></ul><ul><li>Or...
Lifeflows also have internal business use <ul><li>Example: Event Management </li></ul><ul><ul><li>Lots of things need to b...
Example: Housekeeping <ul><li>Repetitive tasks </li></ul><ul><li>Gaps between tasks defined </li></ul><ul><li>Task complet...
Further example <ul><li>Trip planner </li></ul><ul><ul><li>Reads your calendar, looking for new items </li></ul></ul><ul><...
Yet another example <ul><li>Marathon training </li></ul><ul><ul><li>Lifeflow sends you a form asking for best times for yo...
More ideas <ul><li>Measure your kids’ growth </li></ul><ul><li>Body-building training schedule </li></ul><ul><li>Arrange t...
Upcoming SlideShare
Loading in …5
×

Life Management With Automated Lifeflows

1,142 views

Published on

Published in: Technology
  • Be the first to comment

Life Management With Automated Lifeflows

  1. 1. How to remember things you need to, and forget the things you don’t
  2. 2. One program <ul><li>&quot;There is only one program and it is still being written.“ </li></ul><ul><li>Don Box, Doug Purdy, Tech-Ed 2004 </li></ul>
  3. 3. Problem <ul><li>You need a butler </li></ul><ul><ul><li>BUT </li></ul></ul><ul><li>Butler’s are hard to come by </li></ul><ul><ul><li>AND </li></ul></ul><ul><li>You don’t have enough money for a butler </li></ul>
  4. 4. Why you need a butler <ul><li>Information overload </li></ul><ul><ul><li>Too much to remember </li></ul></ul><ul><li>Too many repetitive jobs requiring process management </li></ul><ul><ul><li>Bet you love filling in your timesheet at the end of the month </li></ul></ul><ul><ul><li>Or filing your tax after you forgot all about it </li></ul></ul><ul><li>Getting organized is difficult </li></ul><ul><ul><li>Even the gurus find it hard </li></ul></ul>
  5. 5. Examples <ul><li>Check your car lights work properly </li></ul><ul><ul><li>At least once a month </li></ul></ul><ul><ul><li>Forget, and you might get fined </li></ul></ul><ul><li>You just bought IKEA furniture </li></ul><ul><ul><li>Don’t forget to tighten the furniture screws once every 6 months </li></ul></ul><ul><ul><li>Forget, and you’ll remember when the leg of your chair starts wobbling </li></ul></ul>
  6. 6. Examples <ul><li>Internet bills </li></ul><ul><ul><li>Forget to check for them, you get a fine </li></ul></ul><ul><li>Going abroad? </li></ul><ul><ul><li>What do you need to do before you go? </li></ul></ul><ul><li>Information overload </li></ul><ul><ul><li>A blog post had some great ideas </li></ul></ul><ul><ul><li>But you’ll forget them all </li></ul></ul><ul><ul><li>Because you can’t remember everything </li></ul></ul><ul><ul><li>And so important things are forgotten </li></ul></ul>
  7. 7. Examples <ul><li>Remembering to back up your computer </li></ul><ul><ul><li>One day you’ll remember! </li></ul></ul><ul><ul><li>If you schedule tasks with outlook, you’ll have multiple tasks of the same thing </li></ul></ul><ul><li>Uploading your photos to Flickr </li></ul><ul><li>Going to dentist regularly </li></ul><ul><li>Self-training </li></ul><ul><ul><li>E.g. marathon, body-building </li></ul></ul>
  8. 8. Why you don’t use tools <ul><li>Which tools have you got? </li></ul><ul><ul><li>Outlook? </li></ul></ul><ul><ul><ul><li>Task management is almost useless </li></ul></ul></ul><ul><ul><ul><li>But at least it gets your attention when a mail arrives </li></ul></ul></ul><ul><ul><li>Some kind of calendar? </li></ul></ul><ul><ul><ul><li>Planning in advance is pointless </li></ul></ul></ul><ul><ul><ul><li>Keeping the plan up to date is hard </li></ul></ul></ul><ul><ul><ul><li>You need to be more “agile” </li></ul></ul></ul>
  9. 9. Life-Management Requirements <ul><li>Life-management programs, like butlers, need to be </li></ul><ul><ul><li>Reliable </li></ul></ul><ul><ul><li>Event-driven </li></ul></ul><ul><ul><ul><li>They need to react to real life events </li></ul></ul></ul><ul><ul><li>Flexible </li></ul></ul><ul><ul><li>Independent </li></ul></ul><ul><ul><ul><li>Or easy to deploy </li></ul></ul></ul><ul><ul><li>Available all the time </li></ul></ul><ul><ul><ul><li>Continuously running </li></ul></ul></ul><ul><ul><li>Personalizable </li></ul></ul><ul><ul><li>Attention-grabbing </li></ul></ul>
  10. 10. Reliability <ul><li>My computer isn’t reliable enough </li></ul><ul><ul><li>It crashes, losing everything </li></ul></ul><ul><ul><li>If it isn’t reliable, I can’t trust it </li></ul></ul><ul><ul><li>If I can’t trust it, I can’t forget about things </li></ul></ul>
  11. 11. Event-driven <ul><li>Reactive programs </li></ul><ul><ul><li>The program waits for external event to continue </li></ul></ul>
  12. 12. Flexibility <ul><li>It’s too hard to write programs, </li></ul><ul><li>And even harder to change them </li></ul>
  13. 13. Deployment <ul><li>Even if someone else writes programs for you, you have to install the buggers </li></ul><ul><ul><li>That means you have to keep creating space on your machine </li></ul></ul>
  14. 14. Constancy <ul><li>Some programs need to be running constantly </li></ul><ul><ul><li>But maybe only become active when something happens </li></ul></ul><ul><ul><li>Like a timer going off </li></ul></ul>
  15. 15. Personalization <ul><li>No software is defined to do exactly what YOU want it to </li></ul><ul><li>But what if small programs were already available and searchable? </li></ul><ul><ul><li>You would just need to find them and activate them </li></ul></ul><ul><ul><li>They could be tailored for people like you </li></ul></ul><ul><ul><ul><li>E,g. Tax requirements just for your area </li></ul></ul></ul><ul><ul><ul><li>E.g. Housekeeping management schedule </li></ul></ul></ul>
  16. 16. Attention-grabbing <ul><li>When you really need to do something, you need to know about it </li></ul><ul><ul><li>Like e-mail gets your attention </li></ul></ul><ul><ul><li>But spam? </li></ul></ul><ul><ul><ul><li>You need control, not someone else </li></ul></ul></ul>
  17. 17. GTDers <ul><li>GTD very popular </li></ul><ul><li>But biggest weakness is weekly review </li></ul><ul><ul><li>Why do you need it? </li></ul></ul><ul><ul><ul><li>To keep track of projects </li></ul></ul></ul><ul><ul><li>Surely this could be more automated! </li></ul></ul>
  18. 18. Techy question: <ul><li>What’s the point of creating a webservice to automate your business? </li></ul><ul><ul><li>Everyone will forget to use it anyway </li></ul></ul><ul><ul><ul><li>You’ll have to invest too much in advertising your feature </li></ul></ul></ul><ul><ul><ul><li>Your customers only care about it if it helps them </li></ul></ul></ul><ul><ul><ul><li>They’ll forget how to use it </li></ul></ul></ul>
  19. 19. But Webservices could… <ul><li>Be used if small client programs used them </li></ul><ul><li>But the programs have to be constantly running? </li></ul><ul><ul><li>Clients don’t run continuously </li></ul></ul>
  20. 20. Introducing Lifeflows <ul><li>Small workflows </li></ul><ul><ul><li>Designed using MS .Net 3.0 </li></ul></ul><ul><ul><li>Event-driven </li></ul></ul><ul><li>Extensible user API provides modules for building workflows for life-management </li></ul><ul><ul><li>Every module can be reused </li></ul></ul><ul><li>Easy to create and change </li></ul><ul><ul><li>Can be shared, localized, copied </li></ul></ul><ul><li>Use common services </li></ul><ul><ul><li>Tasks, calendar, resources, internet </li></ul></ul><ul><li>Infrastructure taken care of </li></ul><ul><li>Constantly running </li></ul><ul><ul><li>Program instances are persisted when idle </li></ul></ul><ul><ul><li>Easy to scale </li></ul></ul><ul><li>Reliable </li></ul><ul><ul><li>Transactional </li></ul></ul><ul><ul><li>Server-based </li></ul></ul>
  21. 21. Example – Recurring task <ul><li>This Lifeflow defines a simple event-based process </li></ul><ul><li>A task is created using a service </li></ul><ul><li>The process is persisted to a database </li></ul><ul><li>When the user sets the task to complete, the runtime retrieves the process and resumes it </li></ul><ul><li>The process calculates a new task date </li></ul><ul><li>A timer is set to wait for the new task date </li></ul><ul><li>The process is persisted again until the timer fires an event </li></ul><ul><li>When the timer expires, the runtime retrieves the process and resumes it </li></ul><ul><li>The process is repeated </li></ul>
  22. 22. Recurring task benefits <ul><li>The user only sees the current state of tasks </li></ul><ul><ul><li>Based on the services used </li></ul></ul><ul><li>The process runs on a server </li></ul><ul><ul><li>So more reliable </li></ul></ul><ul><ul><li>Can use services like SMS and e-mail to get attention </li></ul></ul><ul><li>The process runs continually </li></ul><ul><li>The Lifeflow is easy to reuse </li></ul><ul><ul><li>The actual program is stored in a database </li></ul></ul>
  23. 23. Community Lifeflows <ul><li>Users reuse Lifeflows from others </li></ul><ul><ul><li>Like windows/Google/Yahoo gadgets, but for processes </li></ul></ul><ul><li>Searchable </li></ul><ul><ul><li>Defined as XML, so can be easily indexed </li></ul></ul><ul><ul><li>Can be location specific </li></ul></ul><ul><ul><ul><li>Mash-up with Google maps </li></ul></ul></ul>
  24. 24. Lifeflows create business <ul><li>Case study: </li></ul><ul><ul><li>Your garage wants to remind you to service your car </li></ul></ul><ul><ul><ul><li>You’ll probably go to them if they make it easy for you </li></ul></ul></ul><ul><ul><li>How do they do it? </li></ul></ul><ul><ul><ul><li>Sign up for e-mail? </li></ul></ul></ul><ul><ul><ul><ul><li>Probably ends up in your junk-mail </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Expensive to create a web-site to manage it </li></ul></ul></ul></ul><ul><ul><ul><li>Customer still has to respond to message </li></ul></ul></ul><ul><ul><ul><ul><li>Usually makes an appointment on the phone </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Puts the ball back in the customer’s court </li></ul></ul></ul></ul>
  25. 25. Lifeflows enable business <ul><li>Lifeflow solution: </li></ul><ul><ul><li>Business creates a simple Lifeflow </li></ul></ul><ul><ul><ul><li>Cheap, easy to deploy, just a file </li></ul></ul></ul><ul><ul><ul><li>Infrastructure already there </li></ul></ul></ul><ul><ul><ul><li>Integrates itself into user’s life-management system </li></ul></ul></ul><ul><ul><li>User-adaptable </li></ul></ul><ul><ul><ul><li>Can be changed, disabled, suspended </li></ul></ul></ul><ul><ul><ul><li>Feels better for customer </li></ul></ul></ul>
  26. 26. Lifeflows make life easier <ul><li>The Lifeflow: </li></ul><ul><ul><li>Asks you your mileage every month (after waiting for initial 6 months since last service) </li></ul></ul><ul><ul><ul><li>Waits for your answer </li></ul></ul></ul><ul><ul><ul><li>If less than 15000km, waits another month </li></ul></ul></ul><ul><ul><ul><li>After 11 months or 15000km it sends you a form with list of possible appointments </li></ul></ul></ul><ul><ul><ul><ul><li>You tick the one you want, and send it back </li></ul></ul></ul></ul><ul><ul><ul><li>The appointment is confirmed </li></ul></ul></ul><ul><ul><ul><li>The Lifeflow adds the appointment to your calendar </li></ul></ul></ul><ul><ul><ul><li>You have to do nothing! </li></ul></ul></ul><ul><ul><ul><ul><li>No phone calls </li></ul></ul></ul></ul><ul><ul><ul><ul><li>No messing with tasks </li></ul></ul></ul></ul>
  27. 27. Lifeflows integrate services <ul><li>Lots of services available on Web </li></ul><ul><ul><li>Not easy to integrate them with your life </li></ul></ul><ul><li>Lifeflows can integrate them </li></ul><ul><li>Services can be swapped in and out </li></ul><ul><ul><li>E.g. receive notification by e-mail or SMS </li></ul></ul><ul><ul><li>Can use Yahoo calendar, iCal, Outlook, etc. </li></ul></ul>
  28. 28. Lifeflows are easy to create <ul><li>Defined using simple text files (XML) </li></ul><ul><li>Or Visio </li></ul><ul><li>Or custom designer </li></ul><ul><li>Easily copied and reused </li></ul><ul><li>Uncomplicated </li></ul><ul><ul><li>Don’t need images or UI design </li></ul></ul>
  29. 29. Lifeflows also have internal business use <ul><li>Example: Event Management </li></ul><ul><ul><li>Lots of things need to be arranged </li></ul></ul><ul><ul><li>Lifeflows could be used </li></ul></ul><ul><ul><li>Lifeflows could be used like a “BizTalk Lite” product </li></ul></ul>
  30. 30. Example: Housekeeping <ul><li>Repetitive tasks </li></ul><ul><li>Gaps between tasks defined </li></ul><ul><li>Task completion defines when next task </li></ul><ul><li>Impossible to plan and keep on top of </li></ul><ul><li>Needs to be agile </li></ul>
  31. 31. Further example <ul><li>Trip planner </li></ul><ul><ul><li>Reads your calendar, looking for new items </li></ul></ul><ul><ul><li>3 days before an appointment, Lifeflow creates an e-mail with information about </li></ul></ul><ul><ul><ul><li>the weather in the destination location, for the period of the appointment </li></ul></ul></ul><ul><ul><ul><li>Optional routes to take, including local traffic information </li></ul></ul></ul><ul><ul><ul><li>Currency rates </li></ul></ul></ul><ul><ul><li>If the location of an appointment is not given, the Lifeflow sends you an e-mail asking you for it </li></ul></ul><ul><ul><li>Continually running </li></ul></ul><ul><ul><ul><li>You can just forget about it </li></ul></ul></ul><ul><ul><ul><li>Just keep checking your mail, like you usually do </li></ul></ul></ul>
  32. 32. Yet another example <ul><li>Marathon training </li></ul><ul><ul><li>Lifeflow sends you a form asking for best times for you to train </li></ul></ul><ul><ul><li>Then it creates a task for you to run 1 mile, and enters a provisional calendar appointment for it </li></ul></ul><ul><ul><ul><li>If you delete the appointment, the Lifeflow sends you a message to reschedule </li></ul></ul></ul><ul><ul><li>When you complete the task, it waits 2 days (3 days at weekends), then creates a new task to run 2 miles. </li></ul></ul><ul><ul><ul><li>Repeated, with tasks for 1, 3, 1, 5, 3, 6 miles, etc., until you make it to a marathon </li></ul></ul></ul><ul><ul><ul><li>If you forget to set the task to completed, the Lifeflow sends you an e-mail, asking you about it </li></ul></ul></ul><ul><ul><li>Flexible planning </li></ul></ul><ul><ul><li>You always know where you are up to, even if you miss a run </li></ul></ul>
  33. 33. More ideas <ul><li>Measure your kids’ growth </li></ul><ul><li>Body-building training schedule </li></ul><ul><li>Arrange trips to the dentist </li></ul><ul><li>Car maintenance </li></ul><ul><li>Keeping your resume current </li></ul><ul><li>E-bay tracker </li></ul><ul><li>Amazon price-watcher </li></ul><ul><li>RSS to E-mail feed reader </li></ul><ul><li>Flickr loader </li></ul><ul><li>Project management </li></ul><ul><li>Agile financial budgeting solutions </li></ul>

×