Archive for September, 2008

I’m spending more and more time on FriendFeed

Tuesday, September 30th, 2008

I’m finding that I’m spending more time on FriendFeed than blogging recently. To be fair, it’s not just the technology that’s pushing me this direction. My time has been limited recently and it’s simply more convenient in these time-squeezed times to post short comments and links on FriendFeed rather than to post more in-depth blog posts.

On the reading side, FriendFeed is also a convenient place to post quick comments on other people’s posts and to see what’s going on in general.

Craig Mundie on the future of computing

Thursday, September 25th, 2008

Dan Farber writes about a presentation Microsoft’s Craig Mundie gave today on the future of computing.

Most of the things he mentions are pretty much bundled lists of things that exist today. Who knows though.

I’m not that good predicting things 10 years out, but he’s probably correct in constructing a future view out of today’s experimental realities.

Where this approach fails though, is to take into account the pragmatic engineering and business balances that will change over time.

Take something like computational transparency, for instance. Over the next 10-20 years will be see remote computation clusters providing much of our needed computer needs or might computer costs come so far down that each of us owns a slew of computers in our houses that are all networked together providing the computaton transparency we want. It all depends on the cost.

I’d also add that some things that would benefit us all in the digital realm have little to do with software per se. Take live video recordings/broadcasts. I expect to see more and more of them, however, no one has stepped up to the plate to address the mic/sound issues. We need wireless mic and cooperative/ad hoc mic array standards so that we can capture sound in videos just as well as the video. This is a big problem with video broadcasts online right now.

I also think some things in the future will see so trivial and obvious looking back, though unlikely looking forward.

Take automated cameras, for instance. What if we had “smart” cameras so a camera operator isn’t needed for many cases–you instead need the domain, a director’s model of what is to be recorded–and the “camera” does the rest. This seems like overkill today, but maybe some day the processes to achieve it will be so well understood, that it’ll seem like an incremental, trivial advance.

Here’s to the future.

Go to PDC if you want early Windows Seven bits

Wednesday, September 24th, 2008

Microsoft is making more details about PDC public, including mention that PDC attendees will be given a pre-beta version of Windows 7. Sounds great.

It’s good to see that Microsoft is finally going to be sharing Windows 7 bits with developers. If you’re like me, and keenly interested in Windows’ latest features, such as multi-touch, there’s no subsitute for having the code to work with. I don’t think even Microsoft-proper appreciates what can be acheived with multi-touch and the having Windows 7 to work with make help to inspire. It’s going to be a lesson learned inside and outside of the company. Once I get through this round of chemo/radiation I’ll do what I can to be more explicit what I’m thinking here. In the meantime Surface and the iPhone look to be two of the best “public” platforms for developing multi-touch applications on. And it’s great to see multi-touch getting a session at PDC.

I hope the Tablet and multi-touch developers that attend PDC will share lots of what they see. I’ll probably have to view from the sidelines this time around, though if the Dr’s give me a thumbs up, I’d love to sneak in at least for bit. That would be nice. There’s nothing like going to a conference like PDC and just bumping into people and talking and learning.

GBM has Lenovo X200 Tablet PC details

Thursday, September 18th, 2008

Warner Crocker over at GBM has the first video of the forthcoming Lenovo X200 Tablet PC. Looks like a very nice Tablet. I’m drooling. Check out the details here.

The X200 is loaded. The only thing it’s missing is a multi-touch, capacitive display. Maybe that’ll be offered down the road. If so, I’d get my credit card ready. Call me silly, but I’m getting hooked on designing and thinking about apps that support multi-touch–especially since Windows 7 will support multi-touch, bringing this capability to a wide audience.

Looks like Michael Gartenberg likes what he sees too:

“I’m a huge fan of the X series in general and these are nice additions. The question is, can anyone find a mass market use for a Tablet at this point?”

Uh, Michael, education?

Will HTML5’s canvas tag save ink in the browser?

Sunday, September 14th, 2008

The Tablet PC doesn’t support ink in the browser. That’s the way it’s been since Day 1. However, there’s no doubt that many people spend a large part of their time in the browser so even if they have a Tablet PC with inking capabilities it’s not going to do them much good in terms of the browser itself.

In the meantime people can use ActiveX controls for inking in IE or possibly an ink-enabled plug-in in Firefox or even a custom program in Flash or Silverlight. This is a starter. However, none of the solutions are very sophisticated and nothing’s even close to being a standard. There are no ink standards yet.

There is one other alternative: HTML5. HTML5 is a committee driven standard that may or may not work out. The goal is to take the browser a step closer to being an agreed upon application framework. And within that framework is one little tag called “canvas” that might become the real key to ink in the browser. Why? Because the canvas is intended to support vector graphics–which ink has essentially become a part of–save for the original ink designed for the Tablet PC.

Unfortunately, the one big player here, the IE team, isn’t sold on canvas yet. And Chris Wilson of the IE team and part of the HTML5 working group doesn’t see canvas in Microsoft’s plan for its next gen browser, IE8.

That’s too bad. Ink is going to take awhile to coallesce around a standard and as a foundation to that standard, there’s going to need to be something like canvas first.

Of anyone, you’d think that Microsoft would be leading here. But it’s not. I guess Microsoft sees Flash and Silverlight as the graphics intensive leaders for the near term. That’s probably I wise guess. However, that should not preclude graphics capabilities in the broader sense.

What I’d like to see the Tablet team revisit ink on the browser. Scratch that. I’d like to see the IE team step up and start thinking about ink as a first class citizen. With Microsoft’s experience with XAML and Silverlight this should be a natural.

Anyone?

canvas looks like a useful feature, it’s not in Microsoft’s plan for IE8.

How to scale down images for blog posts using Vista

Sunday, September 14th, 2008

You’ve probably already discovered that adding images to your blog posts is a good way to make your blog more appealing to readers. It’s extra work though: finding the right image, saving it to a local file, cropping or sizing the image as needed, and then uploading it to your post.

I’ve long advocated that a great blogging editor would make picking, clipping and posting images from other sites trivial, but alas no editors do this yet. (I can’t find my blog post right now suggesting one way to implement this, but a high-level description is: you add a link to your posts, the tool goes out and scrapes the linked content for images, from which you can pick what you’d like to add to your post with minimally only one click. That’s as easy as it should be.)

Here’s a trick I use with no more than Vista’s provided tools to easily clip and post image content to my blog. (I’m going to assume here that the content you are going to post is something you can browse to in IE.) No Photoshop or other expensive tools are needed.

* First, find the image you want to add to your post by browsing to it in IE. Most likely this will be an image on some website I imagine, but don’t forget you can also display a local image in IE by simply dragging and dropping the image into IE from Windows Explorer.

* Now that you have the image displayed in IE, I imagine it’s too wide or tall for your blog. You’ll need to scale it down. There are two easy ways to do this: 1) Display the image and the image only in IE and then resize the IE window as needed. The displayed picture will resize automatically. Note: The setting Open Link in New Window must be enabled in the Tools | Options menu for this to work. 2) Resize IE content manually using Ctrl +/- or click on the percent sign at the right end of IE’s status bar until the content is sized the way you want it. (I prefer this approach because it allows me to capture more than just images as you’ll see in a bit, but if you need to resize an image off of the local drive, you’ll need to use the approach above.)

* Once the content is the desired size, fire up the Snipping Tool in Vista (All Programs | Assecories | Snipping Tool). Since I use this tool a lot I’ve added it to my Vista toolbar.


* Once the Snipping Tool is loaded you can use it to take a screenshot of the display. You have four options:

1) Capture an irregular/freee-form area
2) Capture a rectangular area (probably what you want)
3) Capture a window
4) Capture the whole screen

* One nice feature of the Snipping Tool is that with it you can add annotations to your image posts. However, don’t forget if you do, that the image size will be expanded as needed to allow for your ink. This may mean you need to capture a smaller original image.

* Once you have the image captured save it to a file somewhere and then use your blogging editor to upload that image to your server.

Here’s something I just captured and resized from FriendFeed for instance:

A couple last tips:

What about capturing and scaling screenshots? It would be nice if Vista’s Snipping Tool included a resize function directly. It would make capturing and resizing screenshots easier. But here’s a roundabout way to do the same thing. Use the snipping tool to capture a window let’s say. Then save the contents to a temporary file. Then drag the file into IE to display it in IE and use IE’s resizing capabilities as needed. Once the screenshot image is the desired size capture it again with the Snipping Tool. It’s a little bit of a pain, but if you don’t have Photoshop handy (or similar), it’s not too bad.

What about capturing video? Taking snapshots of video is one of the things I like about Vista. There is one issue: How do you capture the specific frame you want? Quite often with browser players, if you pause the image you’ll see a “Play” button appear over the paused video. That’s no good. To get around this I usually play the timing game. I start the video and then click the Snipping Tool icon I have in the Toolbar when the video is displaying the content I want to capture because the Snipping Tool will freeze the display at exactly that time–although you’ll hear the video continue to play in the background. Getting just the right frame is a lot trickier than it sounds. It may take several attempts. You’ll also find that you’ll want to launch the Snipping Tool just before the frame you’re wanting to capture is shown if the scene is changing fast. By the time the Snipping Tool is loaded the actual frame you want will hopefully appear.

The image on the left was captured with the video paused and the image on the right was captured by launching the Snipping Tool at as close to the same exact moment in the video that I could get while the video was playing. As you can see it’s a bit tricky, but close enough.

Swype: Predictive keyboard

Tuesday, September 9th, 2008

Swype demoed their predictive keyboard on a Tablet PC as well as a cell phone.

Very cool.

This would be something I’d really like to try for myself. I never quite caught on with T9, but the predictive typing on the iPhone I’m hooked on. This appears to take the concept one step further.

One point: I wonder if you’re using a resistive touch digitizer if the predictive technology works fine if you accidentally release touch pressure during a swipe motion.

Can you imagine Steve Jobs turning off multi-touch?

Monday, September 8th, 2008

After all the discussion yesterday about turning off Tablet features on a Tablet PC, I started to write a post that better lays out what I’m thinking about the whole thing. And then it struck me: What better way to illustrate my point than with a cartoon I’ve drawn on my 7″ display UMPC. Enough said.

Software request: Stabilize the actor’s eyes

Sunday, September 7th, 2008

With the trend towards HD TV and ever bigger displays, I’m beginning to garner a new pet peeve: During tight head shots–particularly in commercials–it’s distracting to see the actor’s eyes pan back and forth as they read their script.

Outside of everyone memorizing their lines, I’d like to see someone come up with some post processing software that stabilizes the actor’s eyes. It shouldn’t be all that difficult to even make a tool like this auto- or semi- automatic.

You need to locate the eyes–something relatively easy to do in tight shots like this–and then determine the eye panning and then dampen the eye movement.

This may sound trivial, but I remember some movie actor awhile ago talking about a trick of authenticity that he was taught: That if you keep your eyes fixed (such as looking at only one of their eyes versus looking from one eye to the next) when talking with another actor that you will look more earnest. Now, of course, not looking trustworthy or comfortable might be what the actor is going for, but if not–such as is the case with many ads with tight head shots–then eye stabilization software would seem to be a good idea.

Maybe there’s already something like this?

Would you remove Tablet bits from a Tablet PC?

Saturday, September 6th, 2008

In today’s blog post, Steven Sinofsky talks about the tradeoffs in creating a highly customizable Windows system. His post is in large parts a response to the many of commenters on the E7Blog asking for a more customizable experience–something that it appears to me that Linux, Admins, and gamers seem to want a lot and something I’m not too keen on. Decoupled components is good. A highly configurable install process is not. At least, that’s my take.

Anyway, what really got me in this post is when Steven talks about places that it makes sense to have Windows customization. He says:

Some examples are quite easy to see and you should expect us to do more along these lines, such as the TabletPC components. I have a PC that is a very small laptop and while it has full tablet functionality it isn’t the best size for doing good ink work for me (I prefer a 12.1” or greater and this PC is a 10” screen). The tablet code does have a footprint in memory and on the 1GB machine if I go and remove the tablet components the machine does perform better. This is something I can do today.

If you’re a Tablet PC advocate, I’m sure you’re re-reading this quote, then re-reading it again, and then once again.

Yes, he’s saying that even on a Tablet PC, the Tablet bits don’t have enough value for him.

OK, OK, everyone’s needs are different and I’m guessing what’s going on here is that he’s just unfamiliar with how to leverage the technology. (I’ll get back to this point in a minute and how I think that as Tablet enthusiasts we need to get back to thinking about how we can make Tablets more compelling for executives–even within Microsoft.)

Why do I think he doesn’t really know much about Tablet PCs? The way he spells it “TabletPC” [SIC]. It’s “Tablet PC.” Two words. Both capitalized. That’s our first clue that he probably hasn’t spent much time reading about Tablet PCs. Maybe he needs to spend a few minutes on Gottabemobile.

Another shocker for me is his view that ink isn’t compelling on a 10″ display. Everyone is entitled to their own opinion, but I think most of us Tablet enthusiasts would say that two of the best Tablets ever were both 10″ models: The NEC LitePad and the Compaq/HP TC1100.

And what about all the UMPCs? Or the Classmate PC which is going to support a digitizer? These are all small screened devices and all of them make sense to have touch as well as ink technologies. I can’t imagine a great education PC that doesn’t at least have ink, for instance, and is there any doubt that these PCs will have small screens because of cost reasons?

Now, if you’re a heavy notebook user and rarely use Tablet features, then I bet I can see why screen real-estate trumps ink. But then again, I bet what this really means is that the software isn’t there.

In fact, I think Steven’s comment is really saying that the current ink-enabled software isn’t compelling enough. What does this mean? Ink in Word, Powerpoint, Messenger or any other Microsoft product isn’t compelling enough?

I guess I can see this in some cases, but might I suggest he look outside of Microsoft. Considering his position of managing developers, he’s got to try TEO, an ink extension for Outlook. And if this isn’t enough, I’m willing to give him a free copy of InkGestures, an add-in that gives pen and paper like editing gestures in Word. And if that isn’t good enough, I’ll show him how ink and other markup media can be integrated into Visual Studio. Anchor ink notes, screenshots, right in your code. I can think of half-a-dozen other ink-enabled apps that he might find worthwhile, but of course, I’d really need to better understand what types of things he does throughout the day.

Here’s another thing that erks me about his comment: That Tablet bits degrade performance–particularly on limited resource machines. I hope he’s not also talking about a dog fooded version of Windows 7, because I hope this is something that Windows 7 would address.

In fact, with the addition of multi-touch in Windows 7 I’ve been hoping that this was a signal that the Windows 7 team was taking a long overdue renewed interest in mouse/pen eventing. Plain and simple mouse events have long lagged in the innovation arena when it comes to Windows. Now I’m beginning to cringe and think this isn’t going to happen.

The performance fix for the Tablet bits is not to remove them. It’s to address the lower level implementation details. I wish he was signaling that that’s on the Windows 7 to do list.

Anyway, I’m really disappointed that Steven doesn’t find Tablet technologies worthwhile. I wish this was different. I wish that all of the Microsoft executives and senior management saw the value. But the truth is outside of Bill Gates, we’re just not there. After all this time, how can this be? I know we’ve discussed this in the past, but what we need badly is a Tablet usage scenario for execs–something preferably public.

So I’ll end this post the way I started it: Would you remove the Tablet bits from a Tablet PC? I know I wouldn’t. Would you?

Update: Steven Sinofsky has responded to this post in the comment section and says that I read to much into what he wrote. Be sure to check it out.

Will Microsoft change if enough people ask it to?

Saturday, September 6th, 2008

It’s interesting to see Tim O’Reilly and Joe Wilcox join in the chorus signaling to Microsoft that it needs some major changes in the mobile space.

My recommendation continues to be to stop, rethink, and redo. The Windows Mobile team is on a legacy track. The future is more geared around “browsing,” content creation, and connectivity. A device that can’t keep do these well out of the box isn’t going to hack it.

These two posts also point out the value of the generic browser in small PCs and devices. Yep. If there wasn’t already enough pressure on the IE team, this surely indicates there should be more. Actually, my suggestion is that Microsoft start from scratch here and show how Google Chrome really should have been written. Sorry, I don’t think Google hit the sweet spot. I think they blew a great opportunity to make a browser that could manage most of want user would want to do with a small device today. As I blogged the other day, the iPhone proves that a slimmed down browser isn’t the solution. Again, it’s time to stop, rethink, and redo.

Google Chrome is not an OS replacement, but could it be?

Wednesday, September 3rd, 2008

Since the launch of Google Chrome yesterday, a handful of people have been touting it as a Google OS if you will. It’s not. However, I’d argue that Google missed a huge opportunity here to not redefine the browser as an OS alternative but rather to make it a potential OS shell and runtime alternative. Now that would have been remarkable and worthy of all the attention Chrome has gotten so far.

With the renewed interest and market feasibility of netbooks, small notebooks and proposed devices like the OLPC2, a browser oriented device has some appeal. Limited local resources. Focus on connectivity. I don’t see how Chrome, though, helps to realize the dream of these devices. It’s just another browser following the same old implementation model.

But what if it weren’t? What if Chrome had been designed to be the core way we’d interact with a netbook or an OLPC2? What would it need to be like?

Well, I think it would be much different than Chrome or any other browser in some structural way, yet still be able to retain all the classic page-oriented compatibility that browser’s need.

Let’s not get ahead of ourselves here. Look at the iPhone. Did it not demonstrate that if you just take the browser as is, that it only provides so much capability–not enough to trump native apps. Just look at the flourishing App Store for the iPhone. Is there no doubt that even on it, native apps trump browser apps in most cases?

Here’s the thing: Today’s browsers have a couple fundamental flaws at their core–which almost guarantee the continued survival of native apps.

* First and foremost: Browsers are missing a paging model. What do I mean by paging? Browsers/HMTL should fundamentally provide the ability to page content. You can kind of do it using AJAX, but I mean fundamentally browsers should be able to page content somewhat like PDF plugins do. In fact, done right, PDF isn’t even needed outside of providing an alternative persistence format.

* Caching–which is also about paging of resources–is also something that needs to be implemented better at the core. I’m not just talking about cookies. I’m talking about the browser bringing down a 300 page book and then releasing 200 unread pages to free up resources for something else being read right now. Google Gears, et al are patches to a problem that should be solved as a fundamental. It’ll open up so many possibilities for apps.

* Primitives. A great browser will have great primitives that make using browser apps compelling. Some of these will help to intelligently manage the resources behind the scenes for a particular app; some will be UI oriented, such as page swipe effects, and the like; some will be app oriented, such as providing editing support, spell checking, and so on.

* The desktop is the home page. Icons, gadgets, etc.

* Autosave should be standard with a potentially huge undo stack saved to the cloud, with incremental versions of the full document saved occasionally off the device. In this way, undo can work across sessions if you’re connected.

Now to be fair, the browsers are inching in the direction of adding these kinds of features, however, I’d make the argument that if they are implemented at the core, we’d have a game changer and browser-based apps and content would rival native apps–particularly on smaller, resource-constrained devices.

Google Chrome is not Tablet and touch friendly

Wednesday, September 3rd, 2008

I’ve been using Google Chrome since yesterday, not that long, but I’m finding it to be OK as a slimmed down browser. I’m even typing this post with it right now.

I will say, that so far, it appears that the browser is too keyboard/mouse centric for me. I think it could be designed better for a touch device (or Tablet PC device). I see that Michael Arrington is thinking of using Chrome with their TechCrunch Tablet which supports touch. I’m skeptical that it’s going to work well without changes.

Here are three issues I see of the bat:

1) Take scrolling for example. On a touch device you’re limited to using the scrollbar. As anyone that’s used touch a lot, this is passable, but not ideal.

2) The TIP button on a Tablet PC works in the Omnibox, but doesn’t automagically work in web page edit fields. Here again, I think there are so many elegant solutions just waiting to be implemented. Check out IE to see how the address field could work better. And somewhere out there I have posts showing how ink can be integrated better into web pages–I think the samples I have all run in Firefox. If I didn’t have chemo brain right now, I’d hunt down the links :-)

3) UMPCs and the like often have small screens where fonts can get mighty tiny. An easily accessible zoom feature is needed. Right now to zoom you have to use the keyboard or drill down into the Page menu. The iPhone shows that this is not even close to being the right implementation.

Do you see any others?

A little about spatial and visual searching

Monday, September 1st, 2008

I’m going to take a break from my regular topics and blog about something that’s been a long term interest of mine: Spatial and Visual Searching.

“Huh,” you say? What’s “Spatial and Visual Searching?” Well, there’s no real definition, it’s just a phrase I made up back in school when I was working on autonomous Robots. Basically, what I’m referring to is the problem of an autonomous Robot (or similar) spatially searching a space using a vision system as a primary sensor (though this isn’t exactly necessary, but yet given the state of sensing systems now and then, it’s a reasonable assumption that this will be a Robot’s primary searching sensor).

My particular interest was in a Robot searching indoor spaces, such as in a house or office building. I’m most keen on indoor Robotics because after all that’s where many of us spend much of our time and it seems natural that a Robot would too. Indoor environments also are more of a constrained environment than let’s say searching a mountainside or possibly even a lake bed. In fact, I imagine a whole additional set of challenges and discussions could center around searching unrestricted spaces, such as outdoor venues, multiple buildings, forests, you name it. Anyway, I was interested in how an autonomous Robot might try to find something–let’s say a bucket that it was asked to retrieve or the whereabouts of a person.

[Anyway, I'm not sure how far I'll go with this post today, but I'm thinking at least I'll get it started and then possibly add more to it at a time. Most blog posts aren't indended to be added to over time, however, this one most likely will be. I'm going to try to record some of my thoughts on the problems, in part to archive it and in part to possibly spur some insights. Well, here goes.]

Before I get too deep, I’ll lay out a couple of boundaries to my thinking:

For now, this discussion will be geared around a physical Robot searching for something as it slides across a single-level floor, with a known floorplan. There’s no doubt that there are many other possibilities. For instance, back in the day, I used a gantry Robot when I initially tried tackling this problem. It was a conventient way of navigating across a space with minimal problems, but it sure isn’t a configuration that would be likely in a home. I’m also keen on virtual Robots, but that’s something for another post.

Vision will also play a lead role in how I envision a Robot searching for something indoors. That doesn’t mean that other sensor aren’t useful–it’s just that a vision system is a good, general purpose sensor that’s fairly practical to use.

With these boundaries in place, let’s start at the beginning: What do I mean by “spactial searching” for Robots? Well, it’s really no different at a conceptual level than what you have to go through to find something in your home. If someone asks you to find their glasses, how do you go about doing it?

You might start by thinking in terms of how easy it might be to see what you’re looking for. You might also consider where the object might be–with the primary objective here I presume to minimize the time and energy it takes to locate the object. From this list of possibilities, you might prioritize it and create a series of plans on how to search this space. These search plans might be hierarchical or exhaustive or who knows. It might depend on what you are searching for and how easy it is for you to use your sensing abilities to locate it. In other words, if it’s a small, translucent object you might have to be very close to it to see it or you might need to be careful when there’s not enough light or enough contrast or too much light or, or, or. Much depends on the sensors used and their capabilities, if you will. Don’t think object oriented, think sensor oriented.

Ooops….I’m being beckoned. I didn’t get very far….but I’ve got to run. This is chemo week so I’ll do what I can to get back ASAP….So much for the best laid plans…lol.