I would definitely like to see an API (or as part of the Notification API, or WorkerPool in general) that allows you to attach some work to a process that can always be running, or be scheduled to run (a la cron).
This can be particularly important with Offline and syncing that comes along with it. Imagine a world where Gmail worked offline. The need for a service that downloads email in the background may not be that important, as people tend to leave a tab with Gmail running in it.
But, if you take Zoho Writer as another example. You may not have Writer open all the time. You open it when you get a new document that you want to work with. Let’s take a look at a scenario:
- Bob edits a shared document that discusses the travel for the next quarter
- Bob closes the document and keeps working for the rest of the day
- Meanwhile, Harry, Linda, and Chou all edit the document
- Bob goes offline and heads to the airport
- Bob opens up the document on the plane
Does Bob just have the document with content from his step? If there was a service that was running in the background, it could detect the changes and bring them down. Then Bob would have the latest and greatest up to when he turned off his computer.
The obvious issues
Of course, a key issue here will be making sure that this isn’t abused, and what UI do we give users. I personally never like it when I find services running on my machine when I closed an app. You know the culprits…. Quicktime and the like. I want to be able to know about every service and prune the list, but also not be burdensome for the average Joe. Does this mean that the system tray notification system has a way to see all of the services?
Also, I don’t want some rogue daemon taking up my resources, and of course, it can’t have special access to things such as key logging ;)
You can write Gears too!
A few people have emailed me about potential Gears saying that they wish they could build a new Gear. Remember, Gears is a true open source project, so you CAN write your own Gears. If you want to implement a new API, start out by emailing the group with your proposal and then get to it!
Other Future APIs
- Notification API
- Crypto API
- Developer Tools
- Factory API updates
- Blob API
- Logging API
- Messaging API
- Location API
- Desktop Shortcut API
- Image Manipulation API
- Introduction to the series
Disclaimer: This is me rambling about APIs and tools that I would love to see in Gears, or the Open Web as a whole. Do you have ideas for cool Gears that make the Web better? Let us know!.