Monday, May 5, 2008

Reading a docx file online

I friend just IMed me a docx file that he wrote about his latest biking adventure. But I can’t read it. Why? I’m on my new dev machine and it doesn’t have Office. All I want to do is read this simple little file, but to do so I need to install Office. Call me lazy, but I don’t want to install Office for the umpteen time to just read a little file. (Yeah, I know eventually I’ll need to break down and install Office, but for now while I’m getting used to this new setup I like the simplicity of just the installed apps that I really.) What I would like is an online service that I can upload the docx file to and read it there.

I see I can convert it using Zamzar.com and I guess I could try emailing it to myself using Google GMail. I think it has a converter. However, both solutions involve emailing the document to myself. I just want to read it. I don’t need another copy of anything in my email.

I just checked out Writer at Zoho.com too. It’s an online Word processor that can import documents. Unfortunately, it doesn’t support docx files yet–at least that’s the error I’m getting–despite the fact that I read that Zoho supports this file type.

Hmmm.

And Microsoft has a free Word Viewer that I guess I could download. But if I go this route I might as well install Office.

All I want is a web service that lets me read a docx file. Does Microsoft’s Live group have something like this? I can’t find a reference to anything online. Seems like a natural.

Should smart photos and smart text editors lead the semantic web?

There has been on and off again chatter about the semantic web. I can appreciate the goal of making the information on the Internet more searchable, processable and valuable.

Exactly how we get there is anyone’s guess.

The classic approach is to focus on text content. That makes sense, because that’s where the most value is on the web up to this point. However, with the explosive growth of digital cameras and live video feeds pounding at the door and ever smarter cameras as I outlined in an earlier post this all may be changing.

Here’s the deal: Automatic semantic interpretation of text is a tough problem. And human-based tagging of text is a pain. It’ll only get us so far. What we need are algorithmic friendly tools that will ease the growth of the semantic web.

As I pointed out in the last post, one of the tricks we need to employee is leveraging sensed data. The thing is that for the most part, text is written by a human and only consists of text. Photos and video streams come from devices and as such potentially also have augmenting sensory information. There might be local and global positioning information, there might be depth maps that go beyond the images themselves, and so on. Combining this information with a priori knowledge as I described in the post linked to above, you could make some rather good inferences about what’s in the images or at least what their context might be.

I think that leveraging the collective world of a priori knowledge plus sensory information that can “index” into it, would give the semantic web the most scalable and powerful results for the near term.

In fact, it could change the whole search game. Assume for instance that you’re searching for information on some new gadget. Text searches work well. But all text being equal it can be a bit tricky to find the best match based on the text. Search engines use authority and other measures to guess at what to return as search results. But assume that a writer of an article took and posted a photo auto-tagged with the product name, taken by him or herself, taken from the conference where the product was announced, and from within a private press area in the conference? Now it might be a bad judgement, but this may be the closest thing to a primary reporting source based on the image in the article, not just the text. As such, it probably ought to rank higher than other articles–no matter how authoritative they might be in other respects.

Now text does give us useful information. Analyzing the words, sentences, quotes (essentially social links), text format (short declarative, essay, Q&A, bulleted, etc), temporal context, and the like can give us clues about the meaning or context. But I also see potential information beyond what can be analytically extracted from the static text itself. For instance, editors could pay more attention to what we’re writing. For instance, when you’re typing all text is equal. But if you’re going back time and again editing a particular paragraph or sentence, that’s pointing out something to the program. It may be useful. It may not. Or what about collaborative edits? From your coworker? From your boss? From an anonymous online editor within a Wiki? Looking at these deltas the editor may be able to infer what’s important. After all, you’re probably putting more time into the key points, than minor ones. This may be a bad guess, but it points out that how we type may contain quite useful information. Think about it: A movie about the US’s Declaration of Independence doesn’t focus primarily on the words of the document itself, but rather the struggles over key words and phrases in the document as it was written. The edits.

There’s one other area where semantic processing may be relatively easy and that’s with processing computer generated content–for the most part. (Think databases at this point.) Column names and table names in databases often mean something. An app searching the web, scanning computer generated data ought to be able to leverage these and the databases themselves. With developers coallescing around a common language, or subsets of languages, it’ll ease interpretation of the results later. In some cases, the database-hosted information will be most important to interpretation. In some cases, the human-focused web pages will. In some cases, it’ll be the intersection, union, or non-overlapping nature of the information.

No matter what techniques actually make up the semantic web, my guess is that they will be incremental and will probably gain popularity and value because of some additional changes in how we do things. Might this be with smarter, sensory-based cameras? Dunno, but that’s where my guess is now.

Image recognition problem solved? The solution is easy to see.

There’s another round of bloggers talking this morning about image recognition–this time because tagging startup tagcow.com has entered the mix. Tagcow wants to help you tag images using some as of yet undisclosed processes. However it is done, photographer Thomas Hawk is impressed with the service. Michael Arrington suspects that humans are behind the magical process. Could be. Image recognition is tough–no matter how much startup passion you apply to it.

My stomach churns every time I hear about another image reco startup. Why? Because I think they’re essentially starting at the wrong end of the problem. For most image recognition, you don’t want to start with the image, you want to start before you’ve taken the image. Using whatever hardware or software combination you can, you want to be able to sense directly or infer directly at the time that the image is captured and tag the photo based on this data. If you’re taking a photo of people, let the camera tag the general area where the people are in the image. The camera at least has the potential of detecting the people (via motion or IR sensing) This is actually quite doable. Not perfect, but doable for many standup shots.

How might this work? The cameras need more sensing built in and open access to this information.

Yes, cameras already include fairly sophisticated sensing. They can adjust image capture based on distance measurements or light measurements or guesses about horizons and objects moving in the image and so on. This is a good start. But it puts the pressure on the camera companies to do all the work. As people want to do more and more electronically with their images, however, as you can see with tagging, the camera companies can’t keep up. One result is that people start dreaming up businesses to try to address the problems that the cameras aren’t solving. Unfortunately they are trying to solve a problem late in the pipeline, which only makes their work quite challenging, and quite often is a waste of money.

The better solution? Build cameras that are open platforms–both in terms of software and hardware. You need to be able to add sensors focused on your tasks at hand. You need to be able to tweak the camera’s software not only to improve the photo quality, but to target the tagging you need for the way you take photos. Many of the best techniques–whatever they are–eventually will make their way into the cameras themselves–but for the early adopters and trend setters, there’s not usually going to be enough there.

So what kind of hardware and software am I suggesting? I’d like to see hardware and software solutions that directly sense or infer the tags about the photos I’m taking at the time–or at least based on the sensed information of the image at the time.

If there is any image processing to do, processing image sequences yields better data than that which you can get from analyzing a single frame. You can see motion. You can average out noise. You can build confidence measures over time. You can try to build context from frame to frame. Working with one frame is tough–at times even for a human.

OK, so you’re shaking your head insisting that there’s no way all this hardware and software can be supported in a camera. Even if it were available today, you’d weigh down the cameras or eat up all the power. Quite possibly. But there’s nothing forcing everything to be within the camera itself. The key is to build cameras with open communication and enable a market of companion devices and services.

What kind of communication am I suggesting? You want all the data being collected by the camera sent to the companion device–in real time. You want access to the all the control within the camera from the companion unit. In essense, you want to be able to process the images using whatever it takes and then turn around and tell the camera to adjust the image this way or that way before and after the image is taken and then tag this or that part of the image based on sensed information. So at its most basic level you want a real-time video stream out from the camera and a control path back (possibly including processed image(s) and possibly additional sensed EXIF data). Alernatively, you want to have open extensibility within the cameras themselves. If you want to add a gyro sensor, you should be able to do so.

So what kind of sensors and data am I envisioning that cameras collect? Some simple ones: GPS (for global positioning); some new ones: camera orientation for location orientation (including inclination, compass heading, elevation, etc), light conditions, distance measurements using time of flight or whatever technique, etc. The trick here is that if there’s anything you want to know about the image, try to sense it directly rather than try to guess about it later in software. Likewise, whatever you can sense directly, try to build up processes that leverage this information the most, because it’s probably the most reliable and consistent.

But sensors will get you only so far. And here comes the next big step. Cameras (or the processing of images) need to leverage as much a priori knowledge about its surroundings as possible. If you’re taking a picture that intersects the GPS point latitude 37.74611 and longitude -119.53194, then you’re probably taking a picture of Yosemite’s Half Dome. If you’re at this location and your elevation is 8,836 feet then you’re at the top of Half Dome. Now let’s place the elevation at 30,000 feet. Now you might assume the Half Dome photo is taken from a plane. Three different interpretive tags. All useful. Essentially you’re leveraging “pre-tagging” or “a priori tags” of information.

This pre-tagging notion can go even further. Think about it. There can be a priori-tag services for sporting events, for graduations, for conferences and even showroom floors, for the national parks, and on and on. Imagine a service that the camera or post-processing of the camera location/orientation data can leverage to automatically tag the photo. Some of the tags could be entered by a Mahalo-like service, some by community efforts, some by the organizers of events. The point is: Why are all 10,000 people attending a basketball game expected to tag their own photos of the game, when we all already know they were there and the main context of the location?

Why are we not leveraging a priori knowledge that such and such location is of Robert Scoble’s house (notice the implication of time)? Or the beach? Or going further–my kitchen–or my backyard–or a booth at a conference–or a particular display area of a booth at a conference–or with the right local positioning information a particuilar gadget within the display area of a booth at a conference? It all depends on the collected sensed data from the camera. Some of these tags are easier to come by than others, but there’s lots of low-hanging a priori fruit.

Maybe such a service is provided by flickr, maybe by Live Search, maybe by the camera companies themselves, maybe by a Photoshop plugin, maybe all of the above. No doubt this would be a massive service on par witih Google Earth or Virtual Earth, but can you imagine??? Now this is where the VCs should be putting their tagging money.

Can a tagging service help me find all pictures of my dog? Probably not. It may not even be able to recognize a dog from a cat or a person (although maybe someone will figure that out too), but with the right information you may be able to leverage a priori tags to help in the search. You might have to think different about searches–kind of like how we all have adjusted to searching the “Google” way, if you will. For instance, to find all pictures of my dog I might think in terms of where he was and when. Was he in the backyard when I took a picture of him? Was he inside my house? This would yield a much smaller set of images that someone could quickly scan through.

This doesn’t help with tagging the names of people in the photos either. True. Maybe the human is best for this. But there are some possibilities. Maybe tags could be shared and cross-referenced so if two people took the same photo with intersecting rays at nearly the same time and both include people and one is tagged, then maybe the photo from the other person could be auto-tagged–maybe not at the level of faces, but of the image itself. Again, this would depend on additional sensory informaion collected at the time a photo is taken.

Anyway, lots of possibilities here. Lots of market potential. My guess is that Google has the right mindset to do it, but I wouldn’t count out Microsoft or Yahoo. Who knows.

Twitter observations

I’ve been using Twitter a lot over the last couple months and I’ve come to a few conclusions.

First, although Twitter has many similarities to an instant messaging app–in that people can use it to send and receive short messages with their friends and family–it’s not really one. Why? Not exactly because of how it’s implemented, but rather how it is used. IM is more of a terse conversational tool. Twitter is more like a 10-second limited megaphone. People most often use it to broadcast short bits of info. There really are few conversations going on within it.

So in practice Twitter may have more to do with micro-blogging than anything else. In fact, quite a few people broadcast announcements about what they’re blogging or broadcasting. Yep, there’s that megaphone phenomena again.

Maybe it’s just me, but I don’t mind the megaphone approach to Twittering. I often click on links people post. That could be just me, but it would be interesting to know how the numbers pan out. My guess is that people click on only a few of the many links posted and those that are popular are probably from well-followed Twitterers. So if you’re thinking that you would do well to use Twitter to gain attention about what you’re doing, think again. It probably won’t.

Twitter’s popularity and API has also lead to a bit of an impending mess. There are more and more sites that are aggregating Twitter content that if you Google for something that you know is unique on Twitter (try Googling for thredr, for instance which I’ve mentioned a few times on Twitter) you’ll find lots of duplicate content. This is rapidly devaluing the content.

Also on the spamming side, there are more and more “fake” Twitterers using the service. These people or bots are interested in promoting some product or other. I wouldn’t be surprised if the number of Spitters (SPam twITTER) keeps going up to the point that we’ll track who’s following us with about as much gusto as watching trackbacks on our blogs.

Along these lines, if a person wants to follow me, I often check them out to see if I want to follow them too. The Spitters know this. But I’m getting more cautious with whom I check. I don’t want to give the Spitters the pleasure of even checking their info–whatever it is.

This brings me to another issue: What affect does the followers/following ratio have with what I think about someone on Twitter. If I’m interested in specific content that a person Twitters about, then the ratio means nothing. However, if it’s someone I don’t know, but a person I’m interested in broadly following, I’m more apt to pay attention to them (at least for awhile) if their followers list is large. The following number doesn’t mean too much too me at this point. However, if their following number is very high and the followers number is small, then I’m very unlikely to follow them. A small ratio like this makes me wonder if they’re setting up to spam people.

Finally, I’ve blogged in the past about how I’d like to see Twitter add other content types besides 140 character messages. It would be great to see images, audio, video, ink and the like. But how might this affect the quality of Twitter and how people use it? Overall I think it would help make Twitter more valuable–at least to me. I live in more than a text world and I’m not a heavy text messaging user. I realize that many others see it differently and admire the lowest-common-denominator nature of Twitter. These other content types could lead to some problems though if the Spitters take over, but in some ways I’d rather see the content than tiny links that I don’t know where they go to. The key here is that for the most part the people I follow I trust in terms of the content they publish.