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