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,028 views
1,011 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,028
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
28
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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>

×