Web To Mobile Search
I think from what I've seen so far, most people have looked at mobile search as a way of finding the stuff "out there" from my phone, a.k.a. "anywhere". But I think as the iPod shows us, more and more people are carrying around with them gigs of data, much of which could be publicly available. Why? I'm not sure just yet, since obviously your iPod isn't like your Web Server, but it could be.
Here let me be more concrete, if I've got a 1GB memory card in my mobile phone and most of that filled with messages and media, well there's no reason why that stuff can't be found by a web search, no? Either via a traditional public web search using Yahoo or even a more futuristic "social search", where I only look at the stuff that my friends make available for me. The point is that right now there's a cumbersome uploading and permissions process that most people don't get around to doing.
A use case is pretty easy to come up with: "Hey - that was a great ski trip this past weekend, I'd love to get any pictures of me that Joe took. Let me search his camera phone to see what he took that's labelled with my name." Or maybe not just of me, but of pictures of the mountains or the ski lodge or that cute waitress, or maybe a text search of any group messages that were sent, or a search of the video that was taken. Maybe I was listening to Joe's music or watched a video on his phone and I want to find out more info about it.
That's just a social search, which mimics P2P in a lot of ways (since I'm searching through someone's specific data cache). But what about public photos? Why do I have to bother to upload my camera phone pictures to Flickr, for example, in order for them to be found? If my phone has 24/7 connectivity and hundreds of megabytes of storage (and getting bigger every day) then why can't I serve up content from there? Maybe it would be impractical now, but soon I can imagine that it would be particularly efficient.
Here's how I imagine something like this working. Imagine if we applied a message queue system to search. Your phone regularly uploads a small index file of the contents on your mobile, then searches are applied against that, not the original data. Then if a match is found, a request is sent back to the phone asking for the file to be uploaded as soon as possible. Actually, while I'm thinking about this... Why do the search engines have to crawl websites? Why can't I just tell them what's there in a more efficient way? (Spoofing, yes. But some sort of signing might be able to handle that). I mean, that's how they originally thought of websites, no? What's a web site's default home page called by tradition? "index.html". Aren't indexes normally found in the back of books? Yeah, but on the web, that was supposed to be a list of what you could find on the website. Imagine if there was a *real* index page, like index.xml where you could give the search engines binary summaries of your content. Now imagine that instead of all this happening on your server, your phone just pinged the search engines with its list of content every once in a while instead?
Now I go to the Yahoo Search, and click on the "social" tab (it'd be right after the image search) and I'd type in something I'm looking for. Maybe it'd be tag names or maybe it'd be something more detailed. The search engine goes through its list of mobile items and presents the results. When the user clicks on a link he likes, well it's not to get the item right away - it's to request it. A message goes off to the mobile repository that says something like, "Hey, remember that item you said you had available? I'd like a copy of it. Now would be preferable, but if you want you can wait until the next time you have a chance. Thanks."
I guess this could work for laptops and other types of computers that are intermittently connected to the internet, but I'm just thinking about mobile phones and their data-gathering abilities. I've always been a downer on speech recognition on phones as a way of typing, but imagine if your smart phone had a background process running copying the speech down from your mobile videos? Or even your phone calls? And then uploading the index of that transcript to a central search server. Wow, all this user generated content being made is suddenly searchable.
Imagine this: If I can tell your phone that I want a piece of info dynamically, there's no reason I couldn't add a bit of security on top and then "check it out", right? So, I want to listen to the latest Brittany Spears song. I don't have a copy of it, but my friend does. Now, it'd be illegal for me to copy it off his phone since we could conceivably listen to it at the same time then. But what if I wanted to just "check it out" (like from a library) for just that amount of time. Would that be illegal? Now imagine if this was world wide? I can check out my songs to anyone, one person at a time, on a global scale... all accessed via a simple web search.
All this goes back to my epiphany about search a few weeks ago. It's really about asking for anything and then getting it. To me search isn't just about finding stuff that's been indexed on the web, it's the Quicksilver type interfaces as well: Ask and you shall receive. Now the rest of the problem is just figuring out 1) How to find the data (where ever it may live) and 2) How to get it back to the person who's asking for it. With mobile phones, this means jumping through some hoops because of bandwidth and use cases, but it can be done, right?
This would be so easy to mock up with Series 60 phones: Create central index site "neatomobilesearch.com" and then whip up a Python script that goes through the normal data repositories (image, video, messaging, documents), indexes what it finds and periodically connects to the server to upload its results, and also see if there's any pending requests that it needs to fill. If the script connects, and it sees a few requests for files (from a search), it then uploads those files as well. And like I said above, the search interface could be based on some sort of social network or it could just be based on what I decided to make public or not.
As mobile data repository size, connectivity speeds and sheer numbers of mobile phones increase, there's going to be more places to look for data than just on public servers, no? Again, this true on any client computer as well... they outnumber servers already. But something about mobility makes me think people will want to share their mobile data more. Their photos, their thoughts and their media. It'd be so great to be able to tap into that huge wealth of data.
I guess the leap of logic I'm trying to make is beyond that first epiphany that you have when you get your first smart phone and you realize you have a little connected computer in your pocket, and get to that next step where you think of having a little server in your pocket - or at least a full-fledged P2P client. (I wonder if anyone has run the original BitTorrent on PyS60 yet?). Then think about how to make all that server content searchable without having to have massive public bandwidth...