Welcome to TechNet Blogs Sign in | Join | Help

The Island of MSFT Toys

JFurdell on Technology, Microsoft, and Windows Mobile
Now it can be told: Mobile Device Manager is revealed

OK!  The baby-having went great.  Alex, my baby son, is super-cute.

Yesterday, Microsoft unveiled the product I've been working on, so I can finally talk about it.  It's called... wait for it... Microsoft System Center Mobile Device Manager 2008.  (I was pulling for "Microsoft's Super-Awesome System Center Windows Mobile Server-Client Device-a-magoo 2008 A.D., Created in Redmond, Washington, United States, Earth, the Solar System, the Universe," but they went with the shorter name.)  You can read an overview of the features here.  The idea is to give businesses an easy way to manage the Windows Mobile devices they give to employees, while also giving them a secure connection to the company network.

Hopefully this will get more enterprises on the Windows Mobile bandwagon.  I've mentioned that I love my HTC TyTn, and it's definitely made me more productive; being able to check e-mail and calendar items while on the go has been huge.  It's just nice being able to get caught up on all my e-mails while riding the bus to work from Seattle; I couldn't do that before.  Plus, the number of useful apps that are out there in the "cloud" (Buzzwords Acheivement Unlocked! 50 BloggerPoints) is amazing; there's an app for almost everything.  Really cool.  (I'm a particular fan of Handmark's Monopoly, which is obviously great for productivity, and teaches... umm... business acumen?)  

By the way, if you haven't gotten Live Search for Mobile, you must do that NOW.  Browse to http://m.live.com on your device to download it.  It's amazing; there's even voice-activated search.  The movie times feature alone makes the device worth the purchase price.  (Which, for me, was, well, $0.  But you can't really put a price on knowing that the Egyptian Theater is showing Spice World at midnight on Saturday.)

Now, in order to get enterprises on board with Mobile, we had to insert some negative functionality.  That's just the reality of having to adhere to the needs of businesses; there might be productivity, compliance, or other business reasons for shutting down programs and features.  Apparently, one of our most requested features was the ability to prevent Internet Explorer from executing.  And that's essentially what I've been working on; it's called "Application Allow and Deny", or, alternatively, "blocklisting" and "allow-listing".  With MSCMDM'08, IT pros can provision XML to block in-ROM applications in future Windows Mobile releases; we expect to support blocking Internet Explorer, Windows Live Messenger, Remote Desktop Mobile, Market Place, and Internet Sharing, but you could block other in-ROM apps like Calculator or Solitaire (if you really want to be mean).  There's also a friendly customizable UI message that pops up when the user tries to run a blocked app, informing him/her that, due to company policy, the program can't be run.

Fortunately, not all the functionality I worked on was negative, because that would be downright depressing.  We also implemented the "allow-list".  IT Pros already had the ability to restrict usage of unsigned in-RAM applications; this feature lets them create exceptions to that rule, enabling specified unsigned applications to run regardless of the device's unsigned app policy.  I imagine this would be most useful for custom apps that the user might need to run for work, or really any situation where the IT Pro wants to enable the use of an app without having to sign it and distribute it.

I'll talk more about this feature as more information becomes public.  Meanwhile, enjoy the stock bump!  (I'm literally $24 richer today than yesterday... on paper!  AWESOME.)

I had a baby!
Be back in a month!  :)
I can't believe this show is 25 years old

I've been pretty busy writing code lately for the feature I'm working on.  Besides coding up some tests to make sure the Windows Mobile security loader behaves properly with the new code, I'm also contributing a desktop tool to create SHA1 hashes of applications.  I love coding; I think I've deicded that it's the most rewarding part of being a software engineer, whether it's as a developer or a tester.  As I mentioned before, I've always enjoyed the intellectual and creative aspects of it, and certain elements of popular culture influenced me to get into computers at an early age.

While waiting for my enlistment to compile, I've been watching an old TV show called Whiz Kids on YouTube.  I distinctly remembered this short-lived show from 1983; I had just moved with my mom from Great Falls, Montana to Jacksonville, Florida, and I think I had probably recently seen WarGames, whose success this show was clearly trying to mimic.  Whiz Kids was pretty much appointment viewing (Wednesdays at 8 p.m. on CBS) for recently displaced 7-year-old Jamie back in the day.  It may have also helped influence me to enroll in that computer camp and start messing with the Apple IIe.

Amusingly, the show's main character, Richie, was played by an actor named Matthew Laborteaux, who also appeared in both Little House on the Prairie and the Wes Craven movie Deadly Friend, which I think qualifies him for some kind of Furdell-family mascot status.  Furtherly amusing, CBS actually had to tone down the "hacking-into-places-you're-not-supposed-to" elements of the series, after advertisers and station managers raised concers.  Even more furtherly amusing, episode 2, the brilliantly titled "Fatal Error," is my new favorite thing ever, because it features a cavalcade of C-list TV guest stars: Joanna Kerns from Growing Pains plays the girlfriend of an escaped convict, A Martinez plays a cop who's constantly angry at the Whiz Kids, and, best of all, Mabel King, a.k.a. Mama from What's Happening plays (I'm not making this up) a bookmaker-cum-crime lord.  If you've ever wanted to see Mabel King threaten to break someone's legs, this is the show for you.

And, as with any show with computers, the computer, "Ralph", being the star of the show, is unbelievably advanced; facial and voice recognition, the ability to crack a password scheme in about 10 minutes, a robotic arm that feeds the goldfish, etc.  (As I was telling a co-worker today, I'm really disappointed computers don't have better voice recognition in general, by now.  It's 2007, for God's sake.  I was promised the ability to have a lively chat with my computer.  I really want to be able to pick my Windows Mobile deviceamagoo and say "Find me the nearest brewpub!", and have it give me a convenient map, complete with driving/stumbling directions, but... I guess we'll have to wait for Windows Mobile 27 or something like that.)

And Richie is, of course, like MacGyver with a keyboard.  In the pilot episode, he's locked in a room by the bad guys, but, wouldn't you know it, there just happens to be a terminal and keyboard in the unlocked supply closet, along with a network cable (which causes Richie to inexplicably cheer, "Local network!").  Thus, Richie is able to, on the spot, write a program to break in with a generated password, which allows him to set off the fire alarm, stop all the elevators, explode all the coffee machines in the building, and all the other things you'd expect to be able to do once you had local network access.

So anyway, Whiz Kids... highly, errr, tepidly recommended!  The star-studded second episode starts here.

No runs, no hits, and several errors

ESPN's been having some high-profile problems with its fantasy baseball service this year (which, unfortunately, have affected your hometown Seattle Sockeyes).

That gave me a good chance to talk about the importance of testing, and how it relates to Web 2.x, on my furdell.com blog.

Part 1 | Part 2

Not master of my domain

One of the reasons I consider myself a good tester is my uncanny ability to destroy everything I touch.

Or, if not destroy things, at least send them into chaos.  When I get a new toy, I tend to try to exercise all of its functionality... it's the geek in me that makes me do it.  I found a bug in my TiVo that's still there... if you open a program from a Wishlist and view upcoming episodes, when you hit the "back" button it brings you back to a different program than the one you had selected.  I found one in my iPod that they fixed last year... if I pressed The Button too quickly, the UI would sometimes fall behind and improperly show the star ratings or timeline, and the clickwheel would then adjust the wrong thing.

What's really unfortunate is when this God-gifted Touch of Chaos interferes with getting work done.  When I started at Microsoft, I was working in the Windows group, and instead of putting me in the REDMOND network domain, which is where most people go, I was placed in the NTDEV domain.  The NTDEV domain is probably a holdover from the days when "NT" was a thing we were working on; it seems like about half the people I worked with were placed in that domain, probably as a built-in way to test how Windows behaved with users in different domains, permissions-wise and otherwise.

Of course, now that I've moved to work mobile devices, multiple domains aren't quite as interesting, and everybody here is a member of the REDMOND domain.  Except me.  I'm still in NTDEV.  Which ordinarily isn't a problem... I can still check my e-mail and my paystub, and do all the other usual Microsoft-related things with no problem.  

The rub is when some of our internal tools aren't configured to handle users in domains other than REDMOND.  It was a problem when I had to enlist in our source code depot; it was a problem when my boss wanted to add me to the proper security group.  Earlier this week, it was a problem when I wanted to send a review of some code changes I had made to my co-workers... the tool to do that wouldn't even start up, because it was only configured to handle REDMOND people.

One thing you learn as a tester is that software bugs are all about trade-offs.  We can't fix absolutely everything that's wrong with everything, so we have to settle for fixing the important things... bugs that cause the biggest problems for the greatest numbers of people.  And since I'm one of probably just a handful of non-REDMOND users of this tool, and it's just an internal tool that probably doesn't even have clear dev/test ownership any longer, it's harder to get problems fixed.  I did find a workaround, but later ran into another problem with the tool that's still blocking me (it fails to send the code review e-mail with the helpful error message, "Failed to send e-mail."  Thanks for that!).

So as you can see, after a while, the Touch of Chaos becomes a debilitating condition, and you just have to learn to live with it.  There's no medical treatment for it, as far as I know.  Which is a shame.

I guess I love my Windows Mobile device...amagoo

In the past, I think I would have eschewed it.  But I must say I have come to super-enjoy my Windows Mobile device. 

(Although I wish I could come up with a better term than "device".  It's like a Smartphone, but we have different OS editions for architectures called "Pocket PC Phone" and "Smartphone", and I'm using a Pocket PC Phone.  I'm going to go with my brother's suggestion and just affix "-amagoo" to the end of it.  "Deviceamagoo" it is.)

Anyway, I have a lawyer friend back in D.C. who's trying to move to Seattle... she prefers to remain anonymous, so we'll call her by her club name, "Staci"... who was constantly addicted to her Blackberry.  She could not put the thing down, whether we were watching a ninth-inning rally at a Nats game or trying to polish off a bucket of Coronas.  Ironically, I, James, being the computer scientist, preferred not to be tethered to e-mail and stuff; I like to be able to put the computer away and not look at it for a few days if I need to (not that I do that often).

But now that I work for a group (Windows Devices Core Device Management and Security... represent) that works on Windows Mobile, I have no excuse not to use the stuff.  Especially since they up and gave me a Pocket PC device, the HTC TyTN (codenamed "Hermes"), a cool little deviceamagoo that comes with a slidey-out keyboard, touch-screen and stylus.  Plus unlimited calling and data that's gratis (just one of the many, many nice perks of working here at Mister Softee).  Needless to say, this comes in extremely handy when I have to attend to important business, such as last weekend when I was vacation in Victoria, Canada, and had no idea, while I was walking around, about the scores of the NCAA tournament games.

Seriously, despite the useful time-wasting features, it is remarkably convenient during the workday.  I was home sick yesterday; while I was up late and unable to sleep, I fired up the laptop to set up a test plan review meeting for next week.  It took a couple hours, partially because I had never synchronized my laptop's Outlook with work, and partially because the building I work in is extremely crowded and it's hard to find a conference room at the same time when everyone who needs to be there isn't otherwise occupied.  I think Windows Mobile would not have been up to this particular task, simply because there are so many conference rooms I had to check, and almost all of them were full at the time I was looking for... I can see them in the company directory, but if I want to look at 25 conference rooms at a time, I think it makes more sense to do it in Outlook 2007.  (Not a big deal, I just want to make sure I'm being a good corporate citizen and doing my best to use Windows Mobile when I can.)  After that, it was super-easy to keep track of e-mails and meetings (and cancel items off my schedule if I needed to) with the deviceamagoo by my side.  And I could fall asleep during The Price Is Right with a clean conscience.

I haven't run into any major bugs yet. I did somehow manage to get my device into a state where it was showing a camera image for the background, including replacing the text with the camera image... it was like some weird kind of peep show.  I have no idea how I did that.  This often happens to me... I'll get the thing I'm testing into some weird state, have no idea how I did it or how to reproduce it, and then it never happens again.  At any rate, 6 seems stable, and hopefully the stuff I'm working on will work just as well when we're done.

(I'm at the end of the post without having worked in any really good pop culture references, so here's one to fulfill my contractual obligations.  Robot Jox.)

Dive in, feet first

BillG apparently raised a couple eyebrows when he told a panel of senators that the limit on H1-B visas, which allow foreign workers into America temporarily, should be removed.  Of course, that's always going to cause some sort of ruckus from American-born programmers who want those jobs for themselves.  What's worse to me is that it's an indictment of our country's inability to produce good computer scientists relative to the rest of the world.

That's why hearing that story made me think about how I learned about computers and programming when I was growing up.  A lot of the education I received on the subject before college was self-motivated.  I still remember seeing the move WarGames as a seven-year-old, and saying, "I want to work with that stuff!"  I attended a computer camp that year at a local high school, where I learned how to make some basic BASIC programs on an Apple IIe.  Later, my family purchased a Kaypro I, aka "The Lunchbox".  It had two floppy drives, a little green screen, and that's it... old school.  (Not punchcards-old, but still old.)  This was the machine on which I spent hours and hours writing BASIC programs, mostly games just for my amusement.  Later, when the Kaypro finally died and we replaced it with a 286 PC, I used Microsoft's GW-Basic.  The games I created got more and more creative and complex; some were text-based, but some had crude ASCII block graphics.  Eventually I would have to really think about how I wanted to structure things.  It turned into a great mix of left-brain and right-brain exercise (just don't ask me to remember which half of the brain does what).

And that's how I learned a lot of the basics of programming.  That time I spent with BASIC taught me about code design, variables, order of operations, debugging, and more.  I'm probably a better tester today because I still remember some of the common mistakes I made as a junior programmer back in the day.  But what do you do if you're a kid today who wants to learn how to program?  There is no more BASIC... which is fine, because it's no longer practical to use it professionally.  Long-time stalwarts like C and Fortran have been deprecated for sleeker, object-oriented languages... but that might be too difficult for somebody who's just starting out, if they've never before written a line of code.  It's a lot harder to write a "Hello world" app in Visual Studio than it was in BASIC.

This is where I think Microsoft could do a lot of good.  We've already made owning and running a computer an easier possibility for almost anyone in the world, and I think making programming more accessible and easier to learn should be one of our next priorities.  Here are some examples of what we've got going already for the up-and-coming geek (and I hope we can come up with even more):

Beginner Developer Learning Center

C# for Sharp Kids

XNA Game Studio Express

Coding4Fun

Technology is a part of everyone's life these days, and it's important to get children interested in going underneath the hood of the technology they use.  I love XNA, because it makes game programming easier, and that's what kept me coding as a kid.  Who knows... maybe some kid out there, right now, has a brilliant idea for the next Hunt the Wumpus.  We have to encourage that. 

 (Right?  We do, don't we?  Well, maybe not... those pits were annoying.)

So what am I working on?

As I mentioned, I'll be working on the follow-up to Windows Mobile 6; specifically, I'll be testing some functionality we're adding to bring us into compliance with the Open Mobile Alliance standard.  It will give IT Pros a lot more power over managing the mobile devices in an enterprise.

I've closed the book on the Vista portion of my career.  This past year I was working on the volume licensing aspect of Vista; this was a big piracy Achilles' heel for us in the past, so we ratcheted up the defenses.  I think the solution (Volume Activation 2.0) was a good one, but it's always tough to balance anti-piracy with ease of use, and it doesn't get much easier to use than VA1.0, which basically allowed you to input a product key and be automatically activated.  Now IT Pros will have to deploy Key Management Service hosts in their labs or activate via Multiple Activation Keys; we've tried to make it as painless as possible (I also worked on the just-release Volume Activation Management Tool (VAMT)), but anything we did was going to be more painful than the "it's already activated" method from XP.

Meanwhile, it's a big change for me to be working on something that people seem to genuinely, actually like on its own merits: Windows Mobile 6.  With Vista, I sort of got the sense that people in general weren't super-excited about it; they were just going to wind up with it at some point down the road on a new computer.  I actually grew to like Vista as I worked with it during 2006... it's pretty, it's secure, and it makes some menial tasks (like importing photos) a lot easier, but with some of the cooler features (like WinFS) being cut out, I could understand the lack of excitement.  Now, all of a sudden, I'm working on an OS that customers really like and are excited about; the Windows Mobile market share has grown by leaps and bounds over the past five years to dominate the field (when I worked at AppForge, Palm OS was still the leader; no more), and there was a ton of positive buzz in the press when the release of 6 was announced at 3GSM a few weeks ago. 

And, after all, that's the fun part about working in software development: creating things that people enjoy.  That's mostly why I do it.

I'm still waiting for a SIM card from our department's SIM card guardian, so I haven't gotten to fire up my cool dogfooding device too much yet.  I can get it to work with Wi-Fi, so at least I can use it at work and at home... just not on the bus, yet (which is crucial to my sense of personal well-being).

PS: One blog I'm going to make a point of reading regularly is the Windows Mobile Team Blog, which is run by people who already know what they're doing.  Recommened if you're already up to speed.

It's go time

Hello Technet!  I'm starting a new blog here.  Join me, won't you?

My name is James Furdell; I work at Microsoft.  (The first step is admitting it, I'm told.)   I work as what we call a "Software Development Engineer in Test" (SDET) for the group that produces Windows Mobile; that means I'm responsible for creating test plans and writing test automation code to make sure the OS that shows up on your mobile device is as bug-free as possible.

I'm really not your typical geek.  I've got a pretty varied background, and a lot of away-from-the-computer interests; I'm not always right on top of what toys have been newly released (like the HTC TyTN with which I'll be "dogfooding" Windows Mobile 6) or what they can do, so I'm likely to write here about varoius discoveries I make as a new user of Windows Mobile.  Hopefully it will be interesting information for IT professionals, which is the Technet intended audience (and, hint: I'll be working on stuff that affects IT Pros directly).  Mister Softee isn't paying me to evangelize, but so far I'm impressed by my dogfood device, and I expect that once they finally get around to giving me a SIM card, it will save me a lot of time and increase my productivity (really!).

My background info:

All throughout my childhood, I would spend hours writing games in BASIC on my family's Kaypro computer.  (It didn't even run MS-DOS; it ran CP/M.  How's that for old?)  I graduated from Emory University with a degree in English and Film Studies (believe it or not), and minored in Computer Science.  I worked in publishing for a little over a year, doing graphic design and copy editing.  I decided it would be fun to get "under the hood" of the design software I had been working on, so I went to Georgia Tech to get a masters degree in CS.

My first post-GaTech job was as a technical writer for AppForge Inc., working primarily on their product manuals; this was an Atlanta company that created a kind of virtual machine that ran on PalmOS and could run Visual Basic code, making the platform much more accessible for the casual developer.  Thus, my current job brings me back into the world of mobile devices, which should be fun (and not surprisingly it's changed a lot since 2001).

After AppForge I moved to the Washington D.C. area and worked as a developer for Planning Systems Inc. from 2001-2005.  This was mostly C and C++ work on Unix and Linux systems on contracts for the FAA and the Navy. 

I'm relatively new to Microsoft and to testing, having joined in 2006 as a tester on Vista's Software Protection Platform team.  After Vista released, I moved to the group known as Mobile and Embedded Device Product Group.  However, I'm not new to blogging; I garnered some local media attention for why.i.hate.dc (since handed over to someone else), where I broke new ground in the emerging markets of profanity and seething rage.  (Yeah, I didn't like living there; don't worry, I promise to keep it clean here).  And my family's blog at furdell.com is still going relatively strong, and is a fun side project.

I'm not planning any bold mission statements for this blog; it's likely going to be a repository for my thoughts about working at Microsoft and the world of Windows Mobile technology, and also for obscure pop-culture references.  Enjoy!

Page view tracker