Will,
I think that on your list #1 I agree with, #2 shouldn't matter if #1 is true. Also, #2 could be a pretty large market share if #1 is not true. #2 would have to be true right now as the TS software officially only runs in Vista. #4 I think will be true for the first few months but I think peoples interest will drop off. The iPhone has a good model to keep people using it, they advertise the applications that are available and not the shell itself.
It's too early on to say what changes would have to be mde to port an application from Vista to Win7. However, you would be losing the multi-touch capabilities of Windows 7 by developing on Vista. For a touch application I don't see why you would stray from Windows 7. I think by the time you actually have something functional that Windows 7 would be close to release. Remember that Vista does not support multi-touch and was never design for touch. It is also unlikely that the Windows 7 touch features will be backported to Vista.
-Joe
JoeS said: I would suggest that if you are going to develop some kind of host application to install Windows 7 beta on a partition or virtual pc and develop on that. I don't think you want to hop on code project until you have a good codebase going. You probably want to stay away from what HP developed because I honestly think it is a bad design model that has very limited functionality. And as I have said in other threads, I'm not here to bash anyones hard work, I just don't agree with the design. But anyway, keep us posted, what you are after is a lot of work, but definitely doable. I might dabble a bit when I can get a build of .NET 4.0 and VS 2010 outside of a vpc package. Hey JoeS,
Mulling over what you've said, I don't think that I'm ready to give up on the TS shell even if I do attempt to support multiple hosts. And from what I've heard so far from the Win7 thread, the TS shell does not work on Win 7. No surprises there.
My thinking is that:
1. If this is more than a hobbist's execise.
2. You're writing for these machines and their owners are the audiance/market.
3. The installed user base, such as it is, is on Vista and using .Net 3.5.
4. The installed user base really bought the shell and the machine is incidental.
Then it makes little sense to me to develop anything that doesn't function within the TS shell.
As far as Win 7 and .Net 4.0. You can be fairly sure that if it works on Vista, it'll work on Win 7 but not the other way around.
Now, once you have a full suite of applets/applications then you might consider going outside the TS shell and possibly even taking over the whole machine like TouchSmart or Media Center but that would be a long ways off, if ever.
That said, I do agree with a lot of what you say about the clunkiness of the TS shell. It's so much easier to critcize than to create but I honestly dislike it quite a bit. Personally, I would prefer something more like a Side Bar if I'm going to have to use a mix of standard and TS apps. But then if you saw my desktop there are no icons on it besides the recycle bin.
Will
Will
JoeS,
Hmmm. Quoting doesn't seem to be working. Regarding your statement:
It's too early on to say what changes would have to be mde to port an application from Vista to Win7.
Everything that I've read about Win 7 is that it's really an incremental upgrade of Vista combined with a rebadging to avoid the (IMO undeserved) stigma of the name. Much like when Chevy "dropped" the Vega and rebadged it as the Monza. (yeah, I'm dating myself) Only time will tell. But since most anything that runs on XP will run on Vista, I'm 95% confident that anything that works on Vista will run fine on Win 7.
On the flip side, anything that exploits/depends on what's different about Win 7 is quaranteed NOT to run on Vista. Of course, you can make your code smart enough to figure out what platform it's on and compensate.
I agree with you that by the time it matters, Win 7 will be released. But you're talking about cutting out anyone who's already bought one. Will there be anything that going to drive existing users to upgrade to Win 7? And who's to say how quickly HP will start shipping the TouchSmarts with Win 7?
I still think that the shell is the key selling point. And I'm thinking that what we have now is TouchSmart 2.0 (1.0 was the Media Center version) and may just be a get-it-to-market-now release because the hardware was ready and waiting on it. The TS shell that eventually ships with Win 7 could be a 2.5 or something quite different again. That's why I'm feeling like the best bet is to start with Vista and build as much as possible for multiple hosting environments. Cover the existing installed base and leave yourself in a position to react quickly to whatever comes next.
Will
Will,
I think you are missing the point about Windows 7. Windows 7 is being designed for touch. Windows Vista is not designed for touch and does not support multi-touch. In Windows 7 the OS layer will support multi-touch. The reason behind the TS and HP software, as I see it, is to bridge the missing touch features in Vista. If you move to development, and since you are targeting touch users, I would think you would want to target an operating system that is designed for touch. Let's face it, it's not like you have legacy code that you need to update to run on multiple versions of Windows, you are talking about building a new host that is for multi-input devices. In that intent, you should be developing for Windows 7 and not Vista.
I'm not sure I understand your last sentence, what do you mean multiple hosting environments? If you are comparing Windows 7 and Vista, you are going to have 2 completely different sets of code. One that bandaids touch and multi-touch which runs on Vista and one that is using the touch features of the OS which would be Windows 7.
-Joe
Hey Joe,
I really do get what you're saying. To fully exploit the platform, you need an OS that knows how. That's Win 7 not Vista.
That's important if your goal is to create the slickest, most killer touch-interface app possible.
I'm not and I'm willing to make some compromises to include those boxes, today's boxes, that won't have those capabilities.
First, I don't care about multi-touch. And by multi we really mean just 2, right? Personally, I think that's an unnatural act. I think that there are a lot of people that will have trouble with it. And, the only good application that I can think of is rotating a photo to the correct orientation. Give me a screen that can detect every point of contact and then we can start finger painting.
Second, I don't see touch enabled PCs as being different from a tablet PC except that the stylus is your finger and there's no button. There is plenty of support in the current version of WPF to do everything that I've imagined so far.
As far as "multiple hosting environments", I'm a believer in Composite Applications. I don't accept that it's "out of band". If you use the Model View ViewModel pattern (aka Presentation Model as described by Martin Fowler), at least in theory, you should be able to disconnect your UI implementation from your domain specific logic and support multiple front ends with the same set of assemblies. In theory . . .
I'm just coming from a different place as far as what I want to do with it.
Will
Will,
Multi-touch is not necessarily just 2, it can be many more than that. Gestures are a big part of multi-touch as well and they are very intuitive. Multi-touch is also important to discern user actions. For example, if you are touching inside a panel, how do you know if a user wants to scroll a panel, zoom a panel, or pan a panel with a single touch? This is where gestures and multi-touch shine.
I think you need to explain a bit more about what you are trying to achieve. I assumed you were talking about a hosting application for touch friendly add-ins. It seems you are talking about some specific applications or add-in you have in mind. If so, clarify.
The reason you should be leary about out of band releases is that if you pin an architecture to them and MS drops that application block, you are now stuck with legacy libraries that you need to pass around with your application. That again, is up to what you want to do but it also means maintaining new code to legacy libraries.
MVVM is nothing more than a pattern for disconnecting the presentation layer from your business logic. It's not meant to be a dependency injector. I think MVVM is a great pattern but I still don't understand what you mean by multiple hosting environments and how MVVM solves that?
-Joe
Joe,
The one thing that you haven't addressed is: What about the base of installed Vista users? I don't think that ignoring them makes good business sense.
"Multi-touch is not necessarily just 2"
I don't know about Win 7 but according to the video interview that's out there on the current TouchSmart's multi-touch capabilities, it's two. And my understanding was that it was because of the hardware. Also they warned about the potential for one shadowing the other with only two detectors on the screen. Maybe if they add additional detectors that can be resolved.
" . . . how do you know if a user wants to scroll a panel, zoom a panel, or pan a panel with a single touch?"
If you'll notice, the current TS shell does just fine with that.
As for the rest, I think that you want to argue architecture and design decisions. I'm sorry but I'm not interested in going there.
Will
Will,
What about the base of installed Vista users? I thought I addressed that with saying that you would need two seperate code branches. One as a bandaid and one as a true touch friendly application running on a touch friendly OS. There are always trade offs on the bleeding edge. I don't think MS is too worried about the Vista base if they aren't even willing to backport touch into Vista.
If you are developing a touch friendly host application, you have to consider other hardware not just the TS. I don't know the specific specs for the nextwindow hardware so I can't comment on that. I do know that Vista does not have any notion of touch or multi-touch which is why you only get that behavior in the TS software. For the amount of touch points the nextwindow hardware supports I'd have to punt that question to maybe GeekTieGuy if he knows.
The TS software uses multi-touch for zooming :).
-Joe
Im not sure what you mean by "let it go", I thought we were discussing the topic? Are you searching for an answer? You'll have to take everyone's opinion and come up with one for yourself since only you know what type of application you are ultimately developing. All I have to offer in this thread is an opinion, not an answer.
Joe,
I don't want to be rude (too late I guess) but it has to be obvious by now that we disagree on some things.
Actually, if you go back to the other thread, you'll see that when I jumped in, it was to agree with you.
You don't think the TS shell is worth dealing with and you said "install Windows 7 beta on a partition or virtual pc and develop on that".
I understand your reasoning and I believe that, depending on what your goals are, what you suggest it is among the correct approaches that one might take.
However, I think that I adequately explained why I don't feel that those are the correct choices for me.
You've expressed your opinions and that's welcome. But, if you read you more recent posts I think you may see, at this point, you're mostly dismissing my opinions. The discussion is taking on the feel of an argument.
I'm sure that you realize that there may be many different ways to achieve the same goal.
So, as the cliche goes, let's agree to disagree. No disrespect intended.
Will
Will,
I'm not dismissing your opinions. Im also not arguing. It is really hard to capture a persons tone and disposition over the internet. Like I said before I have done a lot of work with frameworks and public facing API's. I still do to this day. I am prone to taking the path of least resistance. In this case it is easier to develop for touch on Windows 7 because there is less for the developer to implement in the way of touch. Maybe I can make this more clear by being more specific.
Windows Vista does not support touch, is not designed for touch, has no notion of any kind of touch hardware. The nextwindow driver relays the touch information from the device to the software. The TS application is a shell to provide a touch interface on a non touch aware OS. This is why you only get multi touch inside the TS shell. You can also use the nextwindow api outside of it if you wanted. However, any application that wants to use touch on the TS in Vista will have to use one of those two methods.
Windows 7 is being designed for touch. I don't see a reason for HP to bring the TS software to Windows 7. Maybe they will, but I'm sure there is a cost with that so who knows. This differs from Vista in that the OS has specific touch messages WM_TOUCH that you can look for which enables touch in any application and is OS wide, meaning you do not need the TS software or the nextwindow API. This is the path of least resistance.
With that said let me iterate again that these are my opinions and I have no intimate knowledge of what you are trying to build. I'm just trying to point you in the right direction based on the things I have learned the hard way. You are the only one who will have to live with your design.
-Joe
I'll have to take this at a higher level since I have no in-depth knowledge, but...
1: This technology, IMO, is still in it's proviing-ground stage. I say develop on whatever platform/OS/etc you want and try to make some cool stuff. Then the user base, support (hard and soft), and all that good stuff will come naturally (if you can pull it off!).
2: I don't think anybody is (or is claiming to be) an expert, so I wouldn't treat this as a 'who's right?' situation - I think the end goal is to bounce around some ideas and hopefully all walk away a little more informed/inspired.
3: I think some good ideas are being bounced around by all parties, and that the best thing to do at this point is to develop a little, work with the stuff, and field test this business. Go to it.
Marshall
JoeS said: For the amount of touch points the nextwindow hardware supports I'd have to punt that question to maybe GeekTieGuy if he knows. The TS software uses multi-touch for zooming :). -JoeIt's two touch points on the IQ500/800 series that are in the market as of the date of this comment.
RSS

