Please click this logo to help me get on their beta program:

Xobni outlook add-in for your inbox








31/1/2006

Scrolling an InkCollector

Filed under: General, Programming, .NET, Tablet PC — Oliver Sturm @ 7:24 pm - 2 years, 6 months ago

As I mentioned elsewhere, I’m working on a DXCore plugin to enable (Tablet PC) ink drawing on the Visual Studio editor surface. A problem I stumbled upon in this regard was the scrolling functionality. Generally this is really easy to implement, using a transformation with the ink renderer. So I had this method:

void UpdateScrollPosition(TextView textView) {
  Point p = new Point(textView.ColumnWidth * textView.HorizontalScrollPosition,
    textView.LineHeight * textView.VerticalScrollPosition);
	
  collector.Renderer.PixelToInkSpace(textView.Graphics, ref p);
  Matrix matrix = new Matrix();
  matrix.Translate(-p.X, -p.Y);
	
  collector.Renderer.SetViewTransform(matrix);
}

After wondering for a while why this didn’t work, I put in some logging and found that the value passed in as -p.Y was actually growing for every call into that method, regardless how I was dragging the vertical scrollbar. The explanation was simple in the end, as these explanations tend to be: the PixelToInkSpace method takes any current transformations into account, so that any calculation is relative to an origin set earlier - in the last update, in fact. So the solution was to use an offset for the calculation and everything started working:

void UpdateScrollPosition(TextView textView) {
  Point p = new Point(textView.ColumnWidth * textView.HorizontalScrollPosition,
    textView.LineHeight * textView.VerticalScrollPosition);
  Point origin = new Point(0, 0);
	
  collector.Renderer.PixelToInkSpace(textView.Graphics, ref p);
  collector.Renderer.PixelToInkSpace(textView.Graphics, ref origin);
  p.Offset(-origin.X, -origin.Y);
  Matrix matrix = new Matrix();
  matrix.Translate(-p.X, -p.Y);
	
  collector.Renderer.SetViewTransform(matrix);
}

21/4/2005

VS.NET 2005 beta 2 kills networking on my Tablet PC - the fix

Filed under: General, Programming, .NET, Software, Tablet PC — Oliver Sturm @ 3:42 pm - 3 years, 3 months ago

As astonishing as this problem was, I found a very easy fix for it, suggested in the Microsoft Product Feedback Center, if you can believe it. Apparently, a similar issue was already in the beta 1 refresh that came out many months ago, but was never actually solved. I tried to make my voice heard here, maybe it’ll be fixed in the future.

Meanwhile, here’s what needs to be done to get networking back: Uninstall (or don’t install from the start) the “Microsoft Device Emulator version 1.0 Beta 2 - ENU” entry (BTW, anybody in this world know what ENU means? What’s the use of acronyms such as this in my installed applications list? Wikipedia gives a 404 when I search for it…) from the Add or Remove Programs control panel. Networking will be back to normal instantly.

Interestingly, in my normal workstation I’ve used the device emulator in the past and it used to work just fine. No idea what’s causing it to fail on the Tablet PC, and some of the other reports in the feedback center don’t seem to be using Tablet PCs at all. Oh well :-)

18/4/2005

VS.NET 2005 beta 2 kills networking on my Tablet PC

Filed under: General, Programming, .NET, Software, Tablet PC — Oliver Sturm @ 2:38 pm - 3 years, 3 months ago

I have just finished installing VS.NET 2005 beta 2 on my Tablet PC for the second time, with the exact same result: I can’t get any networking whatsoever to work on the system.

What I did is really quite simple: I cleaned up the system very carefully because there had been an installation of beta 1 on it before. I found a lot of information about that on the web, like here, I also had collected some experience doing that a few times with the CTPs (on a different system). I’m reasonably sure I didn’t miss anything important, because my main workstation, which has been through a lot more cycles than the Tablet PC, works just fine with beta 2 after the same procedure.

I ran through the setup without noticing anything suspicious. No errors, nothing. Rebooted at the end… and after that’s done, I noticed that my wireless connection didn’t come up any longer. I checked and double-checked everything to do with the connection, but found no problems at all, apart from it not working. The behaviour was rather interesting: the wireless connection was just showing that it wasn’t connected, but searching for available networks didn’t really seem to do anything. You know how this normally takes a few seconds once you click the “Refresh” link in the dialog? This didn’t happen, in fact nothing seemed to happen at all.

Finally, I found there was a newer driver available from the Motion support site. I had tried one of these drivers in the past and had had some problems with it, so I had reverted back to the standard MS driver for my mini PCI Intel card. I thought I’d download that newer driver and see if there was any tool in the package that might help me find out if maybe the antenna was broken. After downloading the driver I found that it was a little difficult to get the thing over to the Tablet PC without having any network connectivity…

I decided to plug a network cable in and go that way instead. That was when I found out that networking was just completely broken on the machine, nothing to do with the wireless card at all. The built-in fast ethernet card had the same problem: it seemed to be connected on the hardware level (for example, Windows noticed when I unplugged the cable), but it wasn’t possible to get TCP/IP running over the interface. In the Connection Status window, there was no TCP/IP information at all and a click on the Repair button gave an error message saying “Windows could not finish repairing the problem because the following action cannot be completed: Failed to query TCP/IP settings of the connection. Cannot proceed.”

I tried using DHCP and assigning a fixed address. I tried all the same things with the wireless adapter, no difference. I rebooted all the time to be sure there wasn’t any problem with that. Nothing. Finally, I restored the system to a restore point before the VS 2005 beta 2 installation and everything went back to normal immediately. Then I cleaned the system up once again, I installed the whole beta 2 once again. The result was exactly the same.

Obviously it’s possible that this has more to do with the beta 2 of the .NET framework than with VS itself. As parts of the Tablet PC tools are written with .NET, it’s probably possible that there’s some incompatibility there. But apart from the networking problems, the system seems to work just fine, even VS itself works just fine. But I need my network… I’ll keep looking for this, and I’ll keep everybody posted if I find the reason. Please tell me if you have any idea where I should look!

4/4/2005

Microsoft releases the Experience Pack for Tablet PC

Filed under: General, Software, Tablet PC — Oliver Sturm @ 10:34 am - 3 years, 4 months ago

It’s free and it contains six add-ons to your Tablet PC. From the web page:

Ink Desktop
Take notes directly on your desktop for quick and easy access later. Jot down a phone number, directions, or top priorities for the day.

Snipping Tool
Use your tablet pen to select a portion of a website, document, or other content on your screen. You can add handwritten comments and then paste it into an e-mail message or other program.

Ink Art
Paint with your tablet pen using Ink Art, which simulates an artist’s toolset. Choose from different textured canvases, paint brushes, chalks, crayons, and more.

Media Transfer
Copy or stream media files from your home computer to your Tablet PC, so that you can enjoy your favorite music, home videos, or digital photo albums wherever you go.

Ink Crossword
Solve crosswords on your Tablet PC with your tablet pen. Twelve puzzles come with the game. You can also download a free daily puzzle and purchase more puzzle packs online.

Energy Blue Theme Pack
Brighten the look of your Tablet PC desktop, Start menu, windows, and toolbars. Also get a new Windows Media Player skin that’s customized for the Tablet PC.

Looks like some of these aren’t really completely new, I haven’t checked yet to see if there are really new features, for example in the Snipping Tool. Anyhow, get it here and have fun!

2/4/2005

Copernic Desktop Search v1.5 with TabletPC fixes

Filed under: General, Software, Tablet PC — Oliver Sturm @ 8:23 pm - 3 years, 4 months ago

Newest information about those TabletPC issues in CDS versions up to this point: James Kendrick reports that Copernic has made a new interim version available for TabletPC users. James says he’s been testing it for a day without any issues. Note that this release doesn’t have any changes apart from the fix for the flickering TIP on TabletPCs.

Here’s the direct download link which you can also find in James’s post: Copernic Desktop Search 1.5 build for Tablet PC owners

31/3/2005

Copernic Desktop Search 1.5 has been released

Filed under: General, Software, Tablet PC — Oliver Sturm @ 5:30 pm - 3 years, 4 months ago

Copernic Desktop Search has had its version 1.5 released. I’ve had a look at it to see if maybe some of my suggestions from my article What I’d like to see in Copernic Desktop Search have made it into the final version. Unfortunately, there’s doesn’t seem to be any information on changes that have been made since the beta version, so it’s easy to miss something. Dear Copernic guys, maybe you could publish some more information on changes you make during development cycles?

Good news

CDS can now index offline mail and news folders for Thunderbird. Not so good news is, it’s incredibly slow… like one article a second, or even less than that (and these are newsgroup postings, very short in average and 99% without attachments). As the Index status window shows, the status jumps back to “email indexing complete” between every two articles, I guess that’s probably not correct anyway. I thought I was going to index some of my mail folders with this feature, but those are usually around 10000 messages each, so maybe that’ll have to wait for now.

An issue I found is that for each of my IMAP accounts, two separate INBOX hierarchies are shown. Obviously there’s only one such hierarchy in reality, no idea where the other comes from. There doesn’t seem to be any difference in the folders underneath the two. Here’s what this looks like:

Bad news

A much worse problem is that the offline folder email indexing doesn’t seem to work at all. I tested this twice, once with an offline newsgroup folder, then with an offline IMAP folder. (BTW, if larger configuration changes are made, it’s always a good idea to restart CDS. More than once it happened to me that after I had removed a folder from the current email indexing configuration, CDS still continued indexing it, until I restarted it.) In both cases, CDS wasn’t able to show me the correct content of indexed entries! I just tried selecting individual entries in the “All Emails” view to see their content in the preview. This didn’t really work at all… I’m sounding cautious because the behaviour was so funny: CDS would always show me content of one email in the list, but it would show that same content regardless of my current selection. I didn’t even get the impression that this content really belonged to one of the emails I actually clicked on. Every once in a while, when I repeatedly changed selection, the content would change, too, only to stay the same again for the next 30 (or so) clicks.

More bad news

None of my other suggestions have been taken up be the developers. Not so nice… especially since I can’t imagine some of them to be that far out, or that difficult to implement, like the suggestion to enable indexing of browser-related information for more than one browser at the same time.

Even more bad news

As Marc Orchant and James Kendrick have been reporting in recent blog articles (this is Marc’s and this is James’s), there are serious issues running CDS on TabletPCs. I have one of those myself, so I’m really interested in this, and Copernic doesn’t seem to show any interest in solving these issues. Maybe it would be useful if more TabletPC users contacted Copernic and told them that this is important to us.

Conclusion

Well, I don’t like it too much. Copernic have managed to introduce a few serious bugs in CDS since the beta and they haven’t taken up much that was suggested at that time. My C# custom extractor for CDS still runs, but they haven’t done anything to extend the shortcomings of the extension API, for example with previewers or the ability to influence the scanning process itself. Obviously, CDS is free software, but it wouldn’t have to be if you ask me. Actually, I have three licensed programs by Copernic and none of them is being as actively developed as CDS is. Maybe Copernic would do good to listen to their users, to better coordinate their development and test cycles and for a product that may still be leading in a very competitive market… but they don’t have too much time to make the right decision here.

9/3/2005

Storing OneNote files on a network drive

Filed under: General, Software, Tablet PC — Oliver Sturm @ 3:04 pm - 3 years, 5 months ago

A OneNote notebook is comprised of separate files, which may be stored in different locations. Sure, if you first create a new “Section” in OneNote itself, the application will create the new file in the default path (which can be customised via Tools/Options/Open and Save). But you can easily move that file elsewhere once it’s been created. Just create a normal Windows link to the file in your notebook folder and OneNote will show the tab with a small symbol on it, so you know that file is not physically part of your default notebook.

This feature has many uses: I use it to link project-oriented OneNote files, that are stored in a directory managed by source code version control, into my main notebook, for example. I also have some files that are stored on a network drive, and that’s where I recently found a problem: While searching my notebook for a string I knew had to be there somewhere, I found that OneNote doesn’t include network-stored files in its search by default. They call that feature “performance enhancement” :-) Well, I found the place where I could switch an option and now things work fine. Can’t help but wonder though, with shared sessions working as well as they do, even over WAN connections, does searching a file on a network drive (which will be on a fast connection, more often than not) really create the kind of load that needs to be optimised?

IE2OneNote alternative?

Filed under: General, Software, Tablet PC — Oliver Sturm @ 10:43 am - 3 years, 5 months ago

In Chris Pratley’s article The best ways to show OneNote to others, I found the idea of storing blog articles in OneNote. Somehow that never occurred to me :-) So I thought I’d employ the IE2OneNote power toy to copy all my current articles to OneNote to start with.

Several problems with this: first, the format of a web page is completely lost when doing that. The power toy simply dumps the textual context of a page, plus the images, into a OneNote page sequentially. Sometimes, I do use tables in my blog articles and I also use formatting for my code samples, so that’s really ugly. The second thing is, IE2OneNote hangs up Internet Explorer reliably when trying to send my article Simulating object properties with ITypedList and custom PropertyDescriptors to OneNote. Most other articles I tried don’t show that problem, I have no idea why this happens…

Now, the question is, are there alternatives? Maybe even for Firefox instead of IE?

Update: I just found that part of the reason I’m losing formatting is that OneNote doesn’t support tables at all. Chris Kunicki has that on his list of 8 things he doesn’t like about OneNote.

23/2/2005

Shared sessions in OneNote

Filed under: General, Tablet PC — Oliver Sturm @ 7:35 pm - 3 years, 5 months ago

I just read a very interesting article in Chris Pratley’s OneNote blog, titled OneNote Shared Sessions. Although I’ve been using OneNote for a long time (and lately even more on my Motion Computing M1400 Tablet PC), I had never had a close look at that feature.

Now I tried it, I find it fantastic! Not only does it simply work very well, it’s really easy to use (there’s a nice introduction at OneNoteAnswers) and it tries to be easily compatible with your network setup by using only one UDP port that can be fixed or changed through the options dialog. A fantastic accomplishment for a piece of Microsoft software! Performance seems to be absolutely acceptable, I tried it with three systems on a local network, two of which use WLAN, and also through a VPN tunnel over the internet.

I found two usage issues while playing around with it that one should be aware of:

  1. When systems (or users) join a shared session, they get a copy of the shared pages created in their own notebooks. Under specific circumstances it’s obviously possible that the page is already on that system, like from an earlier session. In this case OneNote creates an additional copy of the page, which even has the exact same name and creation timestamp as the first copy. I find it hard to think of a much better solution, but still the user has to work out which page is which and where the various copies came from. Maybe using an additional copy timestamp would have been a solution?
  2. When using Ink (also from non-tablet system) to draw into or over text fields, like when using a markup pen, the ink strokes don’t always have the exact same location, relative to the text, as they have on the other systems. So marking up some text to say “look here, that’s what I mean” is virtually impossible.
 

Update: Chris Pratley commented on my comment regarding the second issue and he’s right, of course: Using the separate text highlighting function, there’s no problem. I was missing that because I work with the pen most often :-)

Powered by WordPress
© Copyright 2005-2008 Oliver Sturm