prompted by the post about PackageKit requesting better names, i’m wondering if we need to stop worrying about whether it’s called “software” or “packages” or “applications” or “programs” and instead get on with the idea of task or function-based usage.
rather than picking software from a list of what “office” applications are available, or even a list of “popular spreadsheet applications” we should get back to the “what do you want to do” model and provide an interface that starts (or installs and then starts) all the software you’ll need to do that thing.
doesn’t cover the scenario, “i just want to see what kind of things i can do” – but i guess you could always have a “random” button and a “popular tasks” (“do what everyone else does”) button. maybe a “recent tasks” list and a “do what everyone else is doing” button which is really “popular recent tasks”.
it might be nice to add into those task lists some items that reflect the hardware available in this particular PC. especially anything added recently or which is unusual.
i don’t mean a pop-up message, “you seem to have installed a new graphics card. do you want to play a game?” but something more subtle. fancy 3D games, flight sims, planetaria and 3D design tasks might appear nearer the top of the list than usual, that’s all.
ha! the control panel for the task list could be a set of sliders (“on a scale of one to ten, where one is….”!):
- i just bought a PC, it came with a bunch of stuff |—————-| if it’s there i want to use it
- i like to do what everyone else does |—————-| i like to do my own thing
- i do the same stuff every day |—————-| i never know what i might do next
i guess this needs to be a list of inputs, outputs and processes (internally – the user doesn’t see this) – file formats, sources and destinations, devices and functions.
for example, a simple web browser has:
- inputs “html from web”
- outputs “screen”
- no processes
whereas a simple word processor has:
- inputs “document from file” and “user on keyboard”
- outputs “screen” and “document to file”
- processes such as “capitalise”
hmm. the lists could get quite big but that’s okay as long as they can be searched. then help files can be built on top of that metadata as well. then the “what task” system can start by searching the ‘processes’ list, then check the ‘in/out’ list and finally scan the help text.
application usage stats can be extended to cover which ‘processes’ were used and which types of inputs and outputs. when software updates are available the system can report to the user any update highlights, emphasising things which affect processes the user uses as part of their tasks.
this is all getting close to COM+ isn’t it? urk. i hate it when they get things right.
another extension to the apps usage metadata could come from the user as well as the apps themselves – are they being used for fun or for ‘serious’ stuff. then a ‘what mood am i in?‘ slider(s) could be part of the desktop control panel.
keep an eye on keyboard/mouse activity, watch the current music/video playlist, look at the time of day and time of year, connect the mic and webcam to some biometrics software and we might be able to make some frighteningly good suggestions in the tasks lists! eek.
here’s a hypothetical conversation between the system and the user when what they want isn’t in the lists:
system: what do you want to do (today 😉 )? (search/find, view/open/see/look, create/record, update/modify/edit/change/process/filter, is there anything else? copy/duplicate?)
user: i want to look at something.
system: what do you want to look at?
system opens the ‘stuff finder’ – which searches files, emails, etc and the web.
user (to self): ah. right, i want to find something and then i want to look at it.
user finds object or page (link in results) and clicks on it to view.
system: okay! what do you want to do next?