Daily Archives: September 8, 2004

Tablet App design

Please, don’ t make me use menus in my tablet applications.

One of the big revamps I did while dogfooding my blogging application was in the place where you can draw and change things like colors, pen width, ink or erase, etc I made everything available to just click on right on the screen. I got sick of the extra clicks. It’s really beautiful. Similar to what Paint does. (yes I’m still working out my stupid 24×24 icon problem…)

I did something similar in the doodling app on the web. Even if you can’t ink, you can see what I’m talking about here: www.thedatafarm.com/doodle.aspx.

Shawn Van Ness wins the day

Shawn rocks. He just explained something to me in the newsgroups that I think is really cool which is an internal windows thing.

A little background. The TabletSDK has clipboard functionality. You can use it to copy ink data from one ink object to another. You can also use it for a few other formats. However, I saw in the samples that you can select multiple formats to persist to the clipboard when you copy (one of them being BMP so you can paste into PAINT, for example). I didn’t understand how, if you said okay I want these three formats, how PAINT gets the one it needs.

Pretty simple – this is what Windows is designed to do. You program an application to grok different formats and look for a default format (PASTE) or choose another format (PASTE SPECIAL).  Therefore if I know I want my end user to be able to paste into some generic windows graphic application, I need to ensure that I choose at least the BMP format when I send my ink to the clipboard. But heck, they might have another ink enabled application on their computer, so I should also make sure the special ISF (ink serialized format) is in there too. So after they copy, they would be able to paste in a variety of applications whether ink-enabled or not.

Shawn is a real expert with Tablet PC development and just wrote an article on ink enabling your web apps on the Tablet PC Dev Center.

call me crazy

Lately, each time I achieve an understanding of yet another previously daunting topic in .NET, I have thought it would be great to collect all of this in one place to share with all of the other poor souls who are equally fearful of the bigger .NET concepts that are so new to so many of us. Things like reflection, CAS, security, WSE, streaming, threading (although I am not there with threading yet…), etc. Then I start thinking chapters…book.. and then I just slap myself a few times and make that stupid life sucking you couldn’t pay me enough idea go away.

Learning new tricks with CAS

I’m working on my deck for doing ink on the web for ASP.NET Connections. I wanted to be able to explain why the SDK 1.7 controls now enable this to work – which is all about the fact that the Tablet Team has modified the API to make the the InkPicture and InkEdit controls as well as the InkOverlay object work under partial trust. Having to explain it, once again, means having to understand it well enough to explain it, not just take that leap of faith.

So I FINALLY grok what is going on here! A big light just turned on. You know the difference between “uh huh” and “oooooooooooooooh!” (that’s a long “o” like DOUGH, not like “foo”) when you are trying to explain something to someone.

Although I grokked CAS on the machine – I hadn’t done any code download via using windows controls in web apps. And if you follow my blog you may know that I have been a big failure when it has come to my many attempts over the last few years to leverage no touch deployment and auto-updating (turns out my application architecture was way too complex for this).

If I had acquired this understanding earlier, I wouldn’t have hit so many walls when I was trying to deploy my doodling app a few weeks ago. I didn’t have the knowledge to give me the red flags that I was doing something incorrectly and I didn’t have the knowledge to understand why it didn’t work when I deployed it. Hmm, I may have gotten a few more points on my security test, too. I understood “does & doesn’t work” but I never really understood why! I can’t imagine how many people are out there in the same boat.

I might have to do a Julie version of this topic soon.

CA’s ETrust EZ Antivirus and wireless

So I took advantage of the Free for One Year offer of Computers Assoc. ETrust EZ Antivirus that you can get when you install XP SP2 (seems to be if there isn’t already an anti-virus app on your system).

I noticed a week ago that I hadn’t in fact gotten any updates. The reason was timing. The EZAV software was starting up and running at the same time that my wireless was starting itself up. EZAV is faster and therefore trying to download the updates before I had internet access. But there were no messages that I noticed. I finally saw it in the log files “Could not contact webserver…” and nothing ever downloaded. Over and over again.

So I have to remember to do this manually now.

congrats to Casey on getting MCSD

Casey Chesnut just got his MCSD

so now i’m an MCSD .NET. i’ve never been certified before … and i used to make fun of people with certifications (so you can make fun of me now).

by studying for the tests, i learned a few esoteric things, but nothing that i will probably ever use in my day to day work. it did make me learn some things that i would never look at on my own, so it is good to have a better understanding of those concepts, although i will promptly clear most of that info from my short term memory.

This is exactly one of the issues I have always had when I have considered prepping for certs. I actually took and passed 3 tests this spring, but my prep time was  – 0 hours for windows forms, 1 hour for web forms and 1 day for security. If I wanted to take the webservices test, I’m pretty okay with the web services stuff, but I’ve heard that there is a LOT of remoting on there. I have never done remoting and have no need to in the future. Why on earth would I want to study and learn remoting *just* to take the test. So I basically stopped one test short getting an official cert (more than MCP).