GW Micro - Unleashing the power of your mind's eye.

2008-09-18

Permalink 10:01:27 pm, by Aaron Email , 475 words, 127 views English (US)
Categories: general

Enhancing Your Wellbeing

The adaptive technology market is a very small, concentrated group of people. There are those dedicated to furthering accessible solutions and enabling customers, those concerned most with profit margins and the bottom line, and those who fall somewhere in beteween. While that kind of broad, vague, generic statement pretty much sums up any collection of businesses, we in the AT field are very defensive and protective about our respective business missions. When those missions are questioned, we take it personally, as if our own personal ethics were under attack.

GW Micro's mission statement (found on our About Us page) states:

"We believe in equal opportunity for everyone, regardless of disability, and strive to provide products that enhance a person's overall wellbeing by creating tools that aid in obtaining employment, furthering education, and opening doors to a world of infinite possibilities through access to the latest computer technologies."

Some might complain about that kind of fluffiness, claiming that mission statements are nothing more than sales and marketing drivel devised to tell you exactly what you want to hear in an effort to gain your hard earned cash. And it's hard to argue with those complaints. But we did spend time thinking about what our ultimate (and honest) goal as a business was, and that's what we came up with. That's all we came up with, too. There aren't pages and pages of this crap. That's it. Simple, to the point, no BS. 

So what does all this have to do with the price of beans? I experience the stress and frustration, the joy and excitement, the heart and soul of the development of all GW Micro products every five out of seven days (sometimes more). And as biased as I am, I can say with a clear conscience that we continue to stay true to our mission. And I believe Window-Eyes 7.0 is proof of that idea.

I'm not visually impaired. I don't know what it's like to depend on a product like Window-Eyes. Not just use it, but depend on it. But I know those who do. I talk to them all the time. I work with them. I know the accessibility struggles that can exist when things just don't speak right (or at all). And I understand the barriers that make living with a disability a substantial, yet surmountable, challenge.

I think I say this after every release, but I continue to feel exceptionally proud to be part of a team that can produce a product like Window-Eyes as a tool to make people's lives easier -- to "enhance a person's overall wellbeing." I think that philosophy rings true in the way GW Micro does business for the entire product line.

Well, enough self congratulations. Happy Window-Eyes 7.0, everyone!



Permalink 09:24:55 pm, by Aaron Email , 467 words, 92 views English (US)
Categories: dev, general, sales, software

Window-Eyes 7.0 is Now Available

The following announcement can be found on our Latest News page:

GW Micro is proud to announce the official release of Window-Eyes 7.0.  The maturity of Window-Eyes has reached unprecedented levels in this latest version.

The addition of scripting support provides users with the tools to enhance the accessibility and usability of third party applications, the operating system, and even Window-Eyes itself. GW Micro has always stood by the statement that Window-Eyes does not include complicated and proprietary scripting support, and that statement remains true with Window-Eyes 7.0. Instead, the addition of an industry standard scripting interface using tools that already exist in the Windows operating system allows users new to scripting, seasoned programmers, and everyone in between to take full advantage of this powerful new feature without getting bogged down in a complex and rigid programming environment. Users not interested in creating scripts can still take advantage of scripts written by other users through an intuitive script management system.

GW Micro is also proud to offer a centralized script repository where both script users and script developers can gather to distribute and discuss Window-Eyes scripts. More information can be found at http://www.gwmicro.com/sc .

Window-Eyes 7.0 contains several other features, including many Browse Mode enhancements, the inclusion of a new Eloquence synthesizer, support for both Firefox 3 and Internet Explorer 8, and overall increased speed and stability. Window-Eyes 7.0 is fully Unicode compliant, allowing for more localization options for virtually any language. In addition, Window-Eyes 7.0 is the first screen reader to provide support for iTunes 8, including access to the Apple iTunes store.

Thank you to everyone involved in the public beta cycle. Window-Eyes continues to lead the way in adaptive technology because of the dedication of our customers.

Window-Eyes 7.0 is a paid upgrade for existing Window-Eyes users. If you own Window-Eyes 6.1, you may purchase an upgrade to Window-Eyes 7.0 for $175, plus shipping. If you already own Window-Eyes 6.1, and have an active SMA, you will be receiving your Window-Eyes 7.0 CD in the mail soon. Please be patient; all Window-Eyes SMA CDs are our first priority. You may also choose to download your Window-Eyes 7.0 upgrade for immediate installation. To download the Window-Eyes 7.0 upgrade, to check the status of your SMA account, or to determine your upgrade eligibility, go to the Window-Eyes Help menu, and choose the Window-Eyes Upgrade option. Alternatively, you can visit http://www.gwmicro.com/upgrade , and follow the instructions.

If you own a version of Window-Eyes older than 6.1, refer to the GW Micro Window-Eyes Upgrade Catalog page (https://www.gwmicro.com/Catalog/Upgrades/ ) for applicable upgrade costs.

Window-Eyes 7.0 supports Windows 2000, Windows XP (32-bit versions of Home, Professional, and Media Center), Windows Server 2003, Windows Vista (all 32-bit versions), and Windows Server 2008 (all 32-bit versions).

If you have any questions or concerns, please contact us at 260-489-3671, or support@gwmicro.com .




2008-08-14

Permalink 03:01:37 pm, by Aaron Email , 263 words, 356 views English (US)
Categories: general

GW Micro Response to Freedom Scientific Lawsuit

Aug-14-2008

Fort Wayne, Indiana, August 15, 2008 -- GW Micro, Inc., a Fort Wayne, Indiana-based company dedicated to providing high quality adaptive technology solutions for blind and visually impaired individuals, announced today that it has received notice of a patent infringement lawsuit brought by Freedom Scientific, Inc., the self-described "world leader in technology-based solutions for people with visual impairments."  The lawsuit was filed in the United States District Court, Middle District of Florida, alleging infringement of U.S. Patent No. 6,993,707 for a "Document Placemarker."  GW Micro has reviewed the claim and believes it is overreaching and not consistent with what Freedom Scientific told the Patent Office when obtaining its patent. GW Micro intends to defend itself vigorously and expects to prevail in court.

"As many of our users know, our screen reader -- Window-Eyes -- has had the capability of returning to a specific line within a webpage since version 3.1, which was released over nine years ago, well before Freedom Scientific's alleged invention," said Dan Weirich, GW Micro's Corporate President.  Weirich went on to note that, "The implication in a recent Freedom Scientific press release that GW Micro is 'benefit[ing] from [Freedom Scientific's] investment at no charge' is simply not accurate nor in line with GW Micro's tradition of success and fair play."  Finally, Weirich concluded, "We will aggressively defend both our legal position and our place in the assistive technology community."

Daniel R. Weirich
GW Micro, Inc.
725 Airport North Office Park
Fort Wayne, IN  46825
ph 260-489-3671
www.gwmicro.com




2008-07-24

Permalink 12:33:05 pm, by Doug Email , 282 words, 3964 views English (US)
Categories: general

Do companies really compete on who has the best lawyers?

I get so tired of meaningless lawsuits especially when it comes to the productivity of blind users.  Remember Freedom Scientific versus Serotek over the naming of a Serotek product?  I’ve been in this business well over 25 years.  What happened to the days when products competed on their own?  What happened to the days when competing companies could get along and be friends?  I guess big mergers and acquisitions have changed those days.  Freedom Scientific is back to the best way they know how to compete: sue.

GW Micro was just filed papers on behalf of Freedom Scientific.  

Federal District Court filings

It seems Freedom Scientific is very nervous about our new 7.0 release and the huge power it now offers.  My first guess was they were trying to stop our powerful scripting, but even Freedom has limits on how it can stretch things.  It turns out they don’t like our new Placemarker feature.  They claim it is in direct violation of their Patent.

United States Patent

Obviously we have no choice but to take the distraction very seriously.  It is unfortunate that Freedom Scientific chose this route of attack, especially considering we were never approached by Freedom ahead of time even before our public beta release and, yes, several Freedom Scientific employees have been coming to all our 7.0 sessions at trade shows and conventions well before 7.0 went into public beta. 

Freedom is obviously worried.

Update: We removed a line or two above to keep things general. We want this information to be available, but we're not in a position to provide any detail or comment about who's doing what, how, and why. Thank you, everyone, for your overwhelming support.




2008-06-25

Permalink 09:07:06 pm, by Aaron Email , 289 words, 226 views English (US)
Categories: dev

Hickory, Hackory

There are a few threads on a few different blind programming mailing lists out there on the vast interwebs that preach the cautiousness of Window-Eyes scripting due to potential security threats COM automation exposes. As soon as Window-Eyes 7.0 Beta 1 hit the streets (even earlier, in some cases), dissenters began fanning the rumor flames about Window-Eyes scripting's immaturity being an open invitation to all the hacking nasties to scamper out of their rotten woodwork to wreak havoc on the blind community. Window-Eyes security isn't tried and tested, they bemoan. The kind of freedom COM automation provides welcomes destruction, they assert. It's only a matter of time before someone gets hurt, they hyperbolize. It's amusing to listen to self congratulatory erudites spew forth from their gaping cracks about things they have little knowledge of.

The developer who constructed our security model (which we all discussed in depth for many days) makes the would-be hackers look like diaper-laden script kiddies still breast feeding from the swollen teat of splendiferous delusion. In other words, and with my thesaurus aside, the combined knowledge of security related details on the Window-Eyes development team is bested only by the people who make security their reason to get up in the morning.

To say that any security procedure is completely foolproof is an utterance of fantastic ignorance. We are, after all, talking about machines here. Even the most unbreakable cryptographic schemes are schemes that haven't been broken yet. I know first hand what goes into the Window-Eyes script security and trusting mechanisms, and to anyone who thinks they have what it takes to break them, I say bring it on. At the very least, you'll help make Window-Eyes even more secure.



Permalink 08:20:02 am, by Aaron Email , 74 words, 165 views English (US)
Categories: general

GW Micro on Main Menu

The release of Window-Eyes 7.0 Beta 1 has been phenomenal. There are a host of new features to get excited about. Last night, Doug, several GW Micro beta testers, and I joined Jeff Bishop and Darrell Shandrow on ACB Radio's Main Menu to hash out all the details. It was a great show. If you didn't get a chance to listen in, you can snag the archive of the show on our Interview page.




2008-06-24

Permalink 01:36:19 pm, by Aaron Email , 332 words, 244 views English (US)
Categories: dev, general

Window-Eyes 7.0 Beta 1 Is Now Available!

After much anticipation, Window-Eyes 7.0 Beta 1 is now available.  Window-Eyes 7.0 Beta 1 offers the latest advancements in screen reading technology, including full Unicode support, new scripting functionality, web browsing enhancements, a new synthesizer, and much more.

Full Unicode support means the ability to work with more international languages. Web browsing enhancements mean easier navigation between controls, and the ability to add placemarkers that can remember places on a webpage even when the webpage changes. ECI Eloquence 6.1 is now available as yet another speech option. Other enhancements like speed increases for list views, the system tray, and error reporting, being able to increase and decrease the speech rate during read to end, new options for keyboard voice interruptability, and numerous bug fixes make Window-Eyes 7.0 Beta 1 a welcome update.

The most notable enhancement in Window-Eyes 7.0 Beta 1, however, is scripting. Window-Eyes scripting is unparalleled in its design and implementation.  Rather than require a scripter to learn a proprietary language, Window-Eyes 7.0 Beta 1 allows a scripter to choose from a number of standard computer languages for writing scripts.  This means that more people will be able to take advantage of Window-Eyes scripting, and ultimately more accessibility to more software applications. Access all Window-Eyes features and settings, all operating system windows and properties, create custom accessible dialogs for user interaction with power and ease, and more.

To make scripts easily accessible and encourage script development,
GW Micro has created a centralized script repository called Script
Central (www.gwmicro.com/sc).
Script Central provides script developers with the tools to distribute
their scripts, and provides scripts users the tools to download,
comment, rate and track favorite scripts.  The GW Micro forums (www.gwmicro.com/forum)
have also been enhanced for general script discussions, script
requests, script announcements, and much more. While we encourage
everyone to take advantage of Script Central, Window-Eyes scripts can
be hosted anywhere and distributed by anyone.


Read more about all of the features Window-Eyes 7.0 Beta 1 has to offer, and download your copy, at www.gwmicro.com/beta.




2008-06-15

Permalink 02:42:54 pm, by Raul Gallegos Email , 273 words, 3476 views English (US)
Categories: general

Memories of Clarence Whaley

On behalf of the entire staff of GW Micro, it is with deep
sadness that we must announce the passing away of Clarence
Whaley on Saturday morning, June 14. To read his obituary
please go to

http://www.crawfordservices.com/index.cfm

choose the Obituaries link and search for Whaley.

Clarence worked with us at GW Micro for almost 10 years,
serving as Sales Manager and also Director of Training. He
worked at many trade shows, gave many presentations both in
the US and abroad, trained many people in the use of
Window-Eyes, the Braille Sense and Voice Sense notetakers
plus other products. Clarence was always ready to explain
how to do a certain task in an easy-going manner that no one
else could match. Clarence always made people feel
comfortable and at-ease and they had confidence in his
abilities.

Clarence loved his Seeing Eye dogs and they assisted him
wherever he traveled. He was active in the music business
and enjoyed many types of songs although I am certain his
favorite was the music from his hometown - Nashville,
Tennessee.

For those of you who wish to express your feelings, thoughts
and memories of Clarence, we encourage you to
write something here about Clarence to help others remember him
and know him a little better. This could be anything from a
phone conversation to an in-depth training session.
Clarence was very active and he touched a lot of lives with
his service.

Clarence is survived by his wife Dranda as well as other
family members. Please keep them in your thoughts and
prayers as they work through this time of grief and
mourning. He was a well-loved member of the GW Micro family
and we will truly miss him.

Sincerely,


Dan, Doug and the entire GW Micro staff





2008-06-04

Permalink 12:11:44 am, by Jeremy Email , 682 words, 231 views English (US)
Categories: general

GW Micro “storming” the state of Illinois

This week, I’ve been covering the state of Illinois from top
to bottom to show off the new products, including some brief glimpses of
Window-Eyes 7.0. Yesterday, I was in
Chicago all day, and everything went great.
The appointments today also went very well. However, on the way to Springfield, things
got a bit spooky.

I was with our dealer, Mike Ellis, and our driver Joe. We could tell that the sky was getting dark
and it was going to storm; certainly nothing we are not used to in
Indiana. As the storm got closer, I
could tell there was a problem when I was actually able to see the cloud
clearly. It was only about 100 feet
above the road, and as it passed over the car, it appeared to start spinning
backward. I could no longer see the
cloud because it was over top of the car.
Just then, the car started to shake back and forth; left to right. At the same time, I began to feel the vent next
to my leg get warm and then cold; warm and then cold. We all were very scared that the cloud was
going to quickly go from funnel to tornado.
We kept moving hoping we could move south until the rain was so heavy
that we just couldn’t see anything at all, and had to stop. The storm eventually passed, and we continued
on our merry way, grateful that our prayers had been answered and we had been
kept safe – well, at least safe until later in the evening.

This evening, we checked in to our hotel in Jacksonville,
finished up some work, and then went out to eat dinner. We watched as again as the sky grew dark, and
rain moved in. We finished eating, and
walked back outside, and started to joke about getting in the car, so Joe could
outrun the next tornado. As soon as the
word tornado came out of Mike’s mouth, the tornado sirens literally began
screaming. This time, it wasn’t just a
funnel cloud. We scurried back to the
hotel where we learned that a tornado warning had been issued due to tornado
sightings and they were headed our way.
Most of the hotel guests started making their way down to the main floor
for safety, as the sky grew very black, and almost evil looking. We kept checking the radar, and checking the sky outside. The police shut down the interstate that was
three tenths of a mile from our hotel, and weather spotters sat watching the
sky to report a tornado to the national weather service. Apparently, Mike and Joe felt that things
would be fine, and went off to bed. But
not me – I was making sure I was on the main floor. Numerous low clouds appeared as if a tornado
was going to form. I thought I was going
to see one take shape right before my very low vision eyes. Myself and the other concerned guests were going
back and forth between outside and the news reports that could be seen on the
TV inside when the satellite was not interrupted. The Internet continued to stay up and running,
and the front desk employee saw that www.noaa.gov
was saying to evacuate from the part of the county we were in. As the storm marched on, an oil depository of
some sort was struck by lightning and started ablaze. Just as most of the danger was past, and the
sky was lighting up with lightning everywhere, we heard the Jacksonville fire
department come on TV to report that had followed a tornado that went just
south of Jacksonville to a small town.
The very nice lady at the front desk was a bit shaken when she told us
that the location was just one mile south of the hotel.

All the while, Mike and Joe have been sleeping calmly in
their rooms, and have had nothing to fear.
That is, of course, until I tell them tomorrow how close we came to not
being here.




2008-05-15

Permalink 07:59:37 pm, by Aaron Email , 767 words, 514 views English (US)
Categories: dev

Window-Eyes 7.0 Beta Update (Posted to gw-info)

For those of you not subscribed to the gw-info list, I thought you would appreciate this recent post (with a few grammar changes from the original):

Re: Update on the Beta?

Everyone rest easy; the beta is progressing nicely. The problem that we will always combat when we first announce a new upgrade is answering the question, "when?" As much as we say that we don't have a specific time, we're continually pressed for a date. We eventually give in, and for a million different reasons, things get delayed. That's the nature of the technological beast.

But, to reassure all the wondering minds, let me offer an official statement that the beta will be ready when it's ready, and not a day sooner.

So that didn't ease your mind, huh? Ok, then. Let me tell you why things are taking a long time: scripting is huge. And while you're developing such a massive undertaking, you always find things that didn't pan out the way they were originally designed, or find ways to do things better, or run into technical glitches and snafus. But that doesn't mean the whole process is lost. On the contrary; it makes what we're developing even better.

As you all know, our largest rival, JAWS, has had a scripting language for many years. Knowing that, we wrangled up a few of the bigger names in JAWS scripting, and added them to our private beta team. We did this for two main reasons: 1) we wanted their scripting experience, and 2) we wanted to show them what we have is better. Both of those goals are being met with wild enthusiasm. That also means that as they become familiar with the Window-Eyes scripting model, they have a lot of feedback to offer about how to make Window-Eyes scripting better. Some of the things they tell us we had already accounted for, and some of them we never thought about. So it takes time to regroup about a specific portion of a very large project, research it, develop it, test it, and then implement it for private testing. That may happen on a weekly basis.

So if there's any excuse for a delay (and I hesitate to use the word excuse, because we always said we didn't have a definite date), it's that we keep finding more cool stuff to add to make Window-Eyes scripting all the better (although we're already finding things that will have to wait until post 7.0 so that we can in fact get a public beta out).

That's what's up on the development front. But there's more to Window-Eyes scripting than just a new copy of Window-Eyes. One of the biggest drawbacks to the other guy's scripting feature is a lack of community. We feel that having access to script developers and script users as much as possible is one of the biggest reasons Window-Eyes scripting will become king. That's the reason we came up with Script Central (www.gwmicro.com/sc), and as you can tell when you visit the site, it's already beginning to become inundated with Window-Eyes scripts that will be ready for general consumption when the beta is released. Not only will each script be able to be rated, and commented on, but each script will have its own discussion forum where users can interact with other users and with the script developer 24 hours a day. That itself is a hefty undertaking.

I was there when Window-Eyes scripting was born, and I've been with it every day while it matures; no one is more excited than I am to get it out, and blow people away. But I also want to make sure we do it right, which is why we take our time.

So there's your update. We are getting close. There are only a couple more big ticket items that are keeping a release from being imminent, and those will be getting implemented within the next few weeks.

In the meantime, I suggest kicking back with a cold beverage of your choice, pop in some tunes of your liking, and wait a bit longer in style.

Aaron

P.S. I forgot to mention one additional thing: while scripting is our primary focus, we are also actively working on resolving bugs and issues that have been reported. There will also be a few other features that aren't directly related to scripting that we have to make sure are, dare I say it...rock solid.




2008-03-13

Permalink 02:21:22 am, by Jeremy Email , 261 words, 422 views English (US)
Categories: dev, general, sales, shows

Live from CSUN - New products from GW Micro

Coming to you live from CSUN - greetings everyone!  Tonight, we
officially announced our new products.  <drum roll please>

We introduced the next generation of the Braille Sense, as well as the next
generation SenseView, the SenseView Duo.  I don't want to go into all of
the details here, but the new Braille Sense boasts many new features that I
think everyone will appreciate, including 8 GB of user storage,  built-in
Wi-Fi, built-in Bluetooth, and an SD slot.

The SenseView Duo takes the next step in portable low vision technology, and
not only provides a close-up camera and a built-in handwriting camera, but also
a distance camera.  I am really excited about both of these products, but
as someone with low vision, this has to be my favorite.  Finally, I can
see street signs from a distance, signs in a grocery store, or the dreaded
chalk board in the classroom.  And, all I need is one device.  Add to
that the capability to fit it in your pocket or purse, and you have yourself a
winner. 

Of course, we have been talking about Window-Eyes 7.0 for a while, which is
also very cool.  Things are coming along
nicely, and you will see more info about that soon.  And, we now have a
very nice case to fit the Voice Sense and 20-cell SyncBraille into just one
case.  This is perhaps our best show at CSUN yet! 

Stay tuned to www.gwmicro.com for more information, including pricing and
technical specs.  I'm signing off now from the best CSUN yet.




2008-02-02

Permalink 01:29:02 pm, by Aaron Email , 74 words, 538 views English (US)
Categories: general

I've Been Waiting For This...

Unlike Raul, I don't have the patience to wait for Doug's post. I've been holding my tongue ever since we decided to do scripting for 7.0, and now we can finally talk about it. There's so much to say, but I'm going to start in this post by linking to the news article I just posted:

A Short Introduction to Window-Eyes Scripting, and the Window-Eyes Object Model

Let the fun begin!




2008-01-21

Permalink 01:15:36 pm, by Aaron Email , 706 words, 999 views English (US)
Categories: dev

Regarding Web-Based Dynamic Content

I recently had a dialog with a developer interested in knowing what kinds of web-based dynamic information we supported. I get this question a lot, and the answer isn't always easy to understand, especially by people who do not use a screen reader on a daily basis. This individual, however, told me that my reply was very helpful, and I'm all about helping people out when I can. With that in mind, here's what I sent her. I hope others find the information useful as well:

The reason that you aren't able to find concrete information about what Window-Eyes (or any other screen reader for that matter) supports in terms of dynamic content is because, as you know, there are a million and one different ways to create dynamic content. Let me give you a couple of specific examples. Most of the time, rather than using existing technologies, companies will develop their own dynamic drop down menu system. Unfortunately, many times, those do not work. And yet, Google and Adobe have two different menu systems that do work. In addition, the Ultimate Drop Down Menu system (www.udm4.com) is a completely accessible version. So when we're asked, "Do you support dynamic menus," we can't just say yes, nor can we say no. It depends on the technology being used.

Another more specific example is creating dynamic elements on a page. Say you're inserting a DIV using JavaScript when a link gets clicked. Most often, screen readers have no idea anything happened, and will not announce the new content. Call the same function a little differently (i.e. HREF="javascript:myfunction();" instead of OnClick="myfunction();") and we are able to refresh our buffer and pick up the new content. So when we're asked, "Do you support dynamic elements," again we can't just say yes or no -- it depends on the technology being used.

The mode that screen readers use to present web based information is static -- it simply takes the text on the page at that time, and speaks it (forms are a bit different because when we interact with them, typically we're no longer in our static "browse" mode, so updated content will usually work fine). Imagine the confusion of trying to read a page that is transforming dynamically if you can't see the screen. Screen readers are very linear -- they read left to right, top to bottom. Sighted people can scan the screen at any point to pick up information.

The bottleneck in understanding accessible content exists because web developers are not screen reader users, and most often do not have the knowledge of how screen readers view web content. Screen reader users are often not web developers, and most often do not have the knowledge of how dynamic content is created.

The solution is what you've already began, and that is to create a dialog with a screen reader manufacturer, providing examples, and working back and forth to come up with something that does what you want and is accessible at the same time. I would also recommend enlisting the help of people who use Window-Eyes on a daily basis to test your content.

AJAX in itself is not inherently inaccessible, any more than, say, C++ is. But you have to know what works and what doesn't. While there are many guidelines for creating accessible applications in C++, AJAX is a relatively new way of doing things, so the guidelines aren't quite there yet. I would recommend you document, and share, what you find works and what doesn't, perhaps through a blog or something so that other developers can learn from your experience.

I'll also add that GW Micro is working closely with Mozilla to support ARIA (Accessible Rich Internet Applications - http://developer.mozilla.org/en/docs/Accessible_DHTML). ARIA is already being adopted by big name companies like IBM and Yahoo. With proper support from the developer community, the question of what works and what doesn't in terms of dynamic content for screen readers will be a question less often asked.




2008-01-07

Permalink 02:44:16 pm, by Aaron Email , 1280 words, 861 views English (US)
Categories: dev

Happy New Year. Now, Don't Try This at Home

Let me first offer an obligatory Happy New Year to all. I know you hear this kind of dribble from most companies in early January, but I do feel that this year is going to be great for us. There are a lot of cool things in store for GW Micro customers in many different areas.

But now on to something that doesn't have anything to do with any of that. Every so now and then, I'm asked how you can switch between versions of Window-Eyes, mainly for testing purposes. Back in ye olden days, under Windows 9X, all you had to do was close Window-Eyes, copy over the main Window-Eyes application files, and then re-start Window-Eyes. But those days are long gone, which is preferable even if we do have to do things a bit more complicated now.

The biggest difference with newer operating systems is that Window-Eyes uses integral system components that stay loaded even when Window-Eyes is closed. I'm referring to the Window-Eyes Display Driver, and if Load Before Startup is enabled, the Window-Eyes Service. That's just under Windows 2000 and XP. Under Windows Vista, there is at least one other process that's always running to ensure that Window-Eyes can properly communicate with Vista's new security model (there's no official name -- it's just called weproxea [wee-prox-ee-uh]).

So how does one go about switching between versions? Well, I'll tell you how I do it. But before I do, you must understand that we don't support doing this. The ideal way to switch versions, even if it involves unwanted hoops, is to uninstall the current version, install the wanted version, test, uninstall the wanted version, and then re-install the current version. If you ever contact support with problems, and have used this or any other quick-switch method of moving between versions of Window-Eyes, you're likely to get scoffed at, and asked to come back once you've uninstalled and re-installed.

With that out of the way, I have a batch file that I often use to switch between release builds and custom builds to test regressions, newest features, bug fixes, and what-not. I'll list each section of the file, discussing it as I go. I call the file updatewe.cmd:

@echo off

This line simply suppresses the verboseness of the commands for the sake of simplicity.

REM Set up Variables
SET shareName=s:
SET newWeFiles=%shareName%\aaron\we
SET newWeSystemFiles=%shareName%\aaron\we\system32

As the remark line suggests, this section sets up several variables that are used later on.

REM Set up share
IF NOT EXIST %%shareName%%
(NET USE %shareName% \\server\share /user:username password)

I keep all of my files on a network share, because I find myself moving from machine to machine and operating system to operating system. Keeping my files in one location makes accessing them much easier. But, in order to copy the files from my network share, I have to make sure it exists first, which is what the previous line does (minus the for-my-eyes-only information like username and password). The ironic thing is that I keep this batch file on that network drive, so if it doesn't exist when I run it, things have gone quantum-ly wrong.

REM Kill running processes
TASKKILL /F /IM weproxea.exe
TASKKILL /F /IM weserv.exe

The section kills any of the processes that might be running so that the files involved can be copied with success. As mentioned previously, weproxya only runs under Vista, so that line will throw errors under XP. The weserv line will have the same kind of result if the Window-Eyes service isn't running. But these aren't critical errors, so the batch file will continue. The /F parameter kills processes forcefully, and the /IM parameter specifies the name of the process to terminate

REM Copy in new files
XCOPY /Y "%newWeFiles%\*" "%wineyes%"

Assuming that we have the share set up, and the processes killed, now it's time to copy some files. The /Y parameter suppresses any overwrite prompts, which is good since we're overwriting files, and don't want to be prompted about every single one.

REM Change to the system drive
%SystemDrive%

Now that the files are copied, we'll switch over to the system drive to prepare system files for copying.

REM Change to the System32 dir
CD %SystemRoot%\System32

Now that we're on the system drive, it's time to get into the System32 directory, where the Window-Eyes system files are stored.

REM Delete any old backups
DEL /F %SystemRoot%\System32\gwm*

If this batch file has been run before, then there are old copies lying around. This just cleans those up. The /F parameters forces the removal of read-only files.

REM Rename current system files
REN gwm* gwmold*

The only way to copy in system files that are in use is to rename them first, then copy over the new files.

REM Copy in new system files
XCOPY /Y %newWeSystemFiles% %SystemRoot%\System32

This copies the system files, which should be successful since we previously renamed the current ones. We're using the /Y again to supress overwrite prompts.

REM If there was an x on the command line, restart
IF %1%==x SHUTDOWN -f -r -t 0

Finally, if I run the batch file with an x on the command line (the %1% means the first argument supplied on the command line), the machine will automatically reboot by running the shutdown command with a -f (force running processes to close), a -r (specifies a reboot), and a -t 0 (do it all in 0 seconds -- i.e. right now).

There are a couple of gotchas that I have to remember before running this batch file. The first, and most obvious, is that Window-Eyes must be closed. It's hard to copy files that are in use. The second thing is that I have to make sure I get all the files copied successfully, otherwise, Window-Eyes will be in a weird state, and I'll have to take time to figure out why. That goes without saying, but it's tripped me up before, and I've ended up doing the whole uninstall/re-install thing because it was faster than trying to figure out what got all screwed up.

There are other issues to keep in mind as well. For example, it's possible that registry entries and such changed between versions, and copying files may not be enough. This is one of the many reasons why this method of switching versions isn't supported.

And that's about it. This particular batch file copies in the newest stuff. I have another one that references other directories to copy in older stuff. One of these days I'll combine the two into one, and specify the version I want to copy on the command line. I should also mention that this isn't the only way to get the job done, nor is it necessairly the best way. This is a quick, brute-force method that does what I need it to do, but there's not much finesse to it. I would say that I'll post an updated entry when I update my batch file, but given my track record of doing what I say I'll do throughout past blog entries, I wouldn't count on it.

As the title of this blog entry suggests, we're not responsible for your system getting all screwed up by doing something like this. If you decide to attempt a batch file like method of switching between versions, you are on your own. In other words, don't do it, and good luck when you do.




2007-12-11

Permalink 02:47:33 pm, by Aaron Email , 1333 words, 2295 views English (US)
Categories: dev

How to Tame the Gmail Beast

Are you tired of switching service providers, then having to update a bazillion people with your new email address, only to have to switch providers again in a month, then having to update a bazillion people with your new email address? Enough is enough. Get a Gmail account, and stop that silliness. "But," I can hear you saying already. "Gmail isn't accessible. I can't figure out how to navigate the inbox." Maybe that's true, and maybe you haven't really tried. But no bother. You can set up Gmail to use POP3 or IMAP access instead of the standard (or basic, for that matter) web interface. That means you get to use the email client of your choice (Outlook, Outlook Express, Eudora, Thunderbird, etc.) to read your Gmail email.

Using POP3, after downloading your email, the messages are removed from the Gmail server. When you create folders for storing mail in your email client, those folders will be on your machine, and not on the Gmail server. Using IMAP, after downloading your email, the messages remain on the Gmail server (unless you choose to delete them using your preferred email client). When you create folders for storing mail in your email client, those folders will be replicated on the Gmail server. The advantage of IMAP is being able to retrieve your mail on any machine using a standard email client. The advantage of POP3 is being able to maintain your emails on your own machine without storing them remotely. The decision of which protocol to use is completely up to you.

So let's get on with it before you have to change providers again. Go to www.gmail.com. Select the Sign up for Gmail link. Fill out the form. If you want to check the availability of your desired login name, you will need to refresh the Browse mode buffer after selecting the check availability button. If your desired name is already taken, you can select one of the alternative names using the provided radio buttons, or you can re-enter a new desired login name in the appropriate edit box.

When you get to the edit box that says, "Type the letter you see or the numbers you hear," tab once to the "Listen and type the numbers you hear" link and press enter. Listen to the characters as they're spoken, then type them into the appropriate edit box.

When you're done with the form, and have reviewed it for accuracy, select the "I accept. Create my account" button.

When you've completed your signup, you'll be presented with an Introduction page. Select the "I'm ready - show me my account" link to log into your newly created account.

Regardless of which method you do choose, you can setup your Gmail account for POP3 or IMAP service by selecting the Settings link. On the settings page, arrow to the line that says, "Forwarding and POP/IMAP". Route your mouse to the text using INS-NUMPAD-PLUS, then click with the NUMPAD-SLASH key. Reload the Browse mode buffer to get the contents of the dynamically generated page. To use POP3, press C until you reach the radio button titled, "Enable POP for all mail" and press SPACE to select it. To use IMAP, press C until you reach the radio button titled, "Enable IMAP" and press SPACE to select it. Note that you can choose to enable both POP and IMAP at the same time. Which method you actually use will depend on how you configure your email client. Press C until you reach the Save Changes button. Route your mouse to the button with INS-NUMPAD-PLUS, then click with the NUMPAD-SLASH key.

At this point, you are done using the web based Gmail interface to set up your email for POP and/or IMAP access. Now you need to decide which email client you want to use for checking your Gmail email.

Personally, I prefer Thunderbird, and currently have my copy set up to access my Gmail account using IMAP. Thunderbird has a version that can run off a USB stick, meaning I have access to my Gmail account anywhere I go that has Internet access without having to use a browser. That means I can check my mail at the library without having to use a library browser, meaning my mail never touches the library machine, meaning little 13-year old Tommy who likes to hack the library computers will never get access to my email.

But for the sake of inclusiveness I'm going to show you how to set up Outlook Express, because it exists on pretty much any Windows machine. These same steps will also apply to Windows Mail if you're using Windows Vista. I'm also going to show you how to set up Outlook Express (or Windows Mail) for IMAP, because I believe having your email stored remotely provides a good backup solution in case something happens to your machine.

Fire up Outlook Express or Windows Mail. In the Tools menu, select the Accounts option. In the Internet Accounts dialog, select the Add button, then select Email (or Email Account). Enter a display name, and press ENTER. Enter your full Gmail email address, and press ENTER. Select IMAP from the server type combo box. In the edit box asking for the incoming POP3 or IMAP server, enter imap.gmail.com. In the edit box asking for the outgoing SMTP server, enter smtp.gmail.com. Press ENTER. In the account name edit box, enter your full Gmail email address, and then put your password in the password edit box. Press ENTER, answering any other preference questions along the way, until you get back to your list of accounts. In the list of accounts, select the Gmail entry, then TAB to and select the Properties button. Press SHIFT-TAB to get to the tab controls, then arrow right until you select the Advanced tab. Among the controls in this dialog are an edit box for the SMTP server port, and edit box for the IMAP server port, and two check boxes that says, "This server requires a secure connection (SSL)." In the outgoing/SMTP port edit box, change the number from 25 to 465. In the incoming/IMAP port edit box, change the number from 143 to 993. Finally, make sure both secure SSL check boxes are checked. SHIFT-TAB back to the tab controls, and arrow left until you select the Servers tab. TAB to the check box titled, "My server requires authentication," and press SPACE to check it. Press ENTER to go back to the Accounts list. TAB to Close and press ENTER. If you're prompted to refresh your folder list, select the Yes button. Otherwise, press CTRL-M to check for new mail. Once the folder/mail synchronization has completed, you can TAB over to your folder list. In addition to your local folders, you'll find a node in the tree view called imap.gmail.com, which contains an Inbox, Sent Items, Deleted Items, and so on. These are your Gmail folders.

If you've got the legs to do it, now would be a good time to jump for joy, because you're all done.

There may be more IMAP configuration options in Outlook Express or Windows Mail. I know Thunderbird has them, so take some time to familiarize yourself with options and preferences in your preferred email client. If you want to know more about IMAP, check out The IMAP Connection. If you're interested in the other clients that support Gmail IMAP, and their configuration options, check out the Gmail Supported IMAP client list. If you're interested in the clients that support Gmail POP3, and their configuration options, check out the Gmail Supported POP client list.

Oh, and don't forget to update those bazillion people one last time.




2007-12-09

Permalink 01:01:18 pm, by Raul Gallegos Email , 401 words, 555 views English (US)
Categories: general, sales, software

GPS is out but the work continues

After several months of intense testing, our new product is finally out. This is our GPS product called the Sense Nav. Well, at least, that is the short name. Technically it’s called GW Sense Navigation. Let’s face it though, that takes too long to type out. I’m not sure if I should say how long we’ve been working on this project, but here goes. At least for me, it’s been since June this year. Let me tell you, when I look back on one of the early versions of the program, I can see a night and day difference with what we have out now. To give you a small example, the first version of the program I played with would crash every time you would search for an address. Also, instead of typing out the street name for a search, you would have to pick from every single street in a given city. As you can imagine, it was rather challenging. This is not to say I hated it by any means. Although there were frustrating days during the testing period, it’s been a wonderful experience overall and I’m happy to be a part of such a wonderful thing which will enhance a person’s travels.

Now that the program is out and we are taking lots of orders I have new work to do. It seems that the work is never finished around here. Although I cannot say what all my new work involves, I can say that some of it includes writing up knowledge base articles for Sense Nav, creating sound packs, and finishing the audio tutorials. Apparently someone has it in their head that I’m a good teacher and I explain things well, so that is why I’m doing these things. Seriously though, I really enjoy creating tutorials and help guides. Speaking of help guides, what do you think of the Sense Nav manual? Yours truly wrote it up and although I’ve already found areas which need changing, overall, it’s not too bad.

Since it’s Sunday here and I’m at home, I think I’ll stop now and go for a walk. I’ll make sure to wear my reflector vest too. See one of my prior blog entries for details on why I need a reflector vest.

Until the next time, happy traveling!




2007-12-03

Permalink 10:50:46 am, by Aaron Email , 577 words, 675 views English (US)
Categories: dev, general

What's In a Number?

Thanks to Jeremy, the GW-Info list has been inundated with pokes and prods about the next version of Window-Eyes, along with a lot of speculation about past version features, what upgrades have cost in the past, and what sub-version numbers have indicated. While we have a complete version history listed on the Window-Eyes page, including upgrade prices, I thought I would take a minute to officially explain what the version numbers really, truly mean.  Here goes: version numbers don't mean squat.  Seriously.  That's not to say that version numbers aren't useful. They do provide place markers for developers. When you know what changed between versions, it's easy to go back and test. When you find one version that has a problem, and a previous version that doesn't, you know where the problem lies. But if you want to know what a specific version of a piece of software does, read through the readme, find a changelog, or skim the manual. A version number, in itself, rarely tells you anything. In fact, version numbers are usually used as a marketing tool to express change. Their incremental nature suggests growth and positive movement, always climbing toward an infinite end where possibilities are immeasurable. How many times have you seen a piece of software decrement its version number? That would be a countdown to finality: a single version that did all that was claimed, nothing more, nothing less. No software manufacturer in their right mind would ever state that about their software because that's not how software works. Software has issues that need resolving, and features that need adding, and each time issues are resolved and features are added, you have more issues that need resolving and more features that need added. Software evolves, so version numbers increment. So what does a version number tell you? As I mentioned, nothing. What did Window-Eyes 4.5 have over 2.1? A butt-load, I can assure you. But even I don't know what without looking through documentation. I know that 5.5 had support for Excel when 5.0 did not. I know that 6.1 was the first version to support Windows Vista. But I only remember these things because they're recent. Ask me again in 10 years, and you'll just get a blank, silent stare, probably followed by a shrug, and an, "Uhhhhh..." 

Version numbers are also used as a tool to compete for customers. Software XYZ might have more bells and whistles than Software ABC. But if Software XYZ’s version number is 1.0, and Software ABC’s version number is 10, who do you think is going to get more business? It’s unfortunate that people are swayed so easily without looking at the details, but that’s how the industry works at times.

 We do our best to stay away from silly version number games, and for the most part, we do try to make some sense with our version numbers. 4.1 to 4.11 was minor, hence the small change in version number. But Windows Vista support, in my opinion, was huge, and it only got a .1 version increase. So what does that mean for Window-Eyes 7? We're jumping right from 6.1 to 7.0. No 6.11, no 6.2, no 6.21, no 6.5, but right to 7.0. That’s a significant jump. In fact, that big of a version change hasn’t happened in Window-Eyes since 1999. That means this version must have something huge, right? Right? RIGHT? 

The answer is….oh, look at the time. I've gotta run.




2007-11-14

Permalink 09:05:34 pm, by Aaron Email , 1323 words, 707 views English (US)
Categories: general

I Was Fired. Literally! (But Not Like You Think)

In case you haven't noticed, the blog well runneth dry over the past month or so. The truth is, Raul getting hit by a car was probably the most exciting personal thing that has happened to any of us lately. Note how I said personal. On the GW front, there has been such a flurry of activity that I can hardly keep up with what I'm supposed to be doing. I want very badly to talk about the current Window-Eyes development process. There are so many cool things happening that are going to…well…I can't even say what they're going to do. But it's an amazing process to be part of, and I can't wait for the release of Window-Eyes 7. So that's my excuse; I've been neck deep in documentation, testing, and developing, not to mention support, in-house IT management, and so on. That's not a, "Oh, poor me," mind you – I love every minute of it. Well, almost every minute. But full days do make getting a blog entry out very difficult.

Raul has a decent excuse too. He's been working hard on making the Voice Sense as rock solid as all the other products we offer. The Voice Sense GPS/Navigation features are very cool. If you haven't heard his presentation, you're missing out. Needless to say, all his work with HIMS on the Voice Sense, along with support and all the other things he does, makes his blog entries few and far between.

Jeremy is full of excuses, the main one being that he's never around. I can't remember the last time he was in the office for an entire day. Travel seems to be Jeremy's life lately. And while he's building up a solid GW Micro presence wherever he goes, more time on the road means less time on the blog.

Now Doug and Mike are a different story. Doug had an excuse. He was moving from one side of the country to the other (almost). But now that he's settled, I'm not going to let him off easy. He has had at least three really good blog ideas, and not one of them has evolved into anything fun to read. Come on, Doug! I guess I can only be so hard on the guy who signs my paycheck, huh?

Mike? Well, Mike is Mike. Let's move on.

Oh, I'm just kidding. Mike is more of a talker than a writer, and his ideas float around verbally rather than taking literary form. It's just as well; he can go on and on sometimes.

So there are all our excuses, lame though they may be.

I suppose I do have one story I can share. Raul mentioned on the gw-info list about one of GW's employees who had a computer fire. I replied, pleading the fifth. But I've had enough queries to warrant an explanation, so to please the masses, here goes the tale.

Before our daughter arrived, I was an avid gamer. Not a die-hard gamer, but I certainly enjoyed my share of first person shooters, fragging 'til the sun came up. One evening, as I was blasting away some nasties (in Unreal Tournament, I believe), I picked up the faint smell of sizzling electronics. If you've ever been around resistors, capacitors, and such when they've gone south, you know the smell I'm talking about. It's a very metallic, acrid smell that instantly tells your brain something not good is happening. Either my game was so real I was smelling spent shell casings, or something was amiss. "But I can't be bothered with this," I said to myself. "I'm busy saving the world from blood thirsty aliens." But the smell became stronger, and I started to get a little worried. Burning electronics is not a smell that means everything is hunky-dorey. So I put my game on pause, and went to flip on a light so I could investigate the aroma. When I got over to the light switch, I happened to glance over at my server before turning the light on. At first, the sight didn't register with my brain. Flames? In a computer case? Nah, that can't be right. Then it hit me. Holy crap! There were flames in my computer case! I flipped the light on, and clamored over to my machine as fast as I could. Sure enough, a bright fireball was gleaming out at me. I managed to get a decent string of expletives out before yanking the power cord out of the back of the machine. As the fans in my case spun down, the glow subsided, and in its place sat four or five toasted power capacitors, all covered in an ash-y white powder. I sat there for a few minutes, stunned, pondering my situation, somewhat tempted to plug the power back in just to see what would happen. Fortunately, sanity prevailed; I disconnected my drives to preserve whatever data I could, pulled the cards out to see if there was more damage, then finally pulled off the motherboard so I could take a closer look.

I had seen burnt electronics in my day, but this line of exploded capacitors was impressive. I could tell where the airflow from the power fan was supplying a gracious host of oxygen to what I'm sure started out to be not much more than a warm spot. But that was enough fuel to bring it to life.

Disillusioned by the fact that my server was down, I went back to my other machine, told the aliens that their ass-kicking would have to wait, and fired up Google to see if I was unique, or if other people had the same issue with the same board. After quite a bit of time searching, I was about to give up, willing to except my misfortune as a fluke, when I stumbled across a hardware forum with some poor slob lamenting about his machine catching on fire. A little more reading, and sure enough, it was the same board that I had.

It was an ECS board, and he had contacted the manufacturer about the issue, only to be told that since the board was out of its 30-day warranty, there was nothing they could do. I was in the same situation, so I didn't bother pursuing it. If anything, I was just elated that I was home when it happened. I can freak myself out pretty easily imagining that fireball roasting away while I was somewhere else.

Along with not losing my house, I was fortunate enough to not lose any data. In fact, after poking around my logs, I'm pretty sure that machine was still serving away even while it was up in flames. Perhaps there's something to be said for that kind of commitment, although I can assure you, when I rebuilt that machine, I didn't use an ECS motherboard.

So that's my story. I still can't believe that thing caught on fire. In all my years, I've never seen electronics perform such a dazzling display of destruction.

We've all had our share of bone-headed, power related mistakes, anywhere from Doug frying a motherboard by working on it while the power was still plugged in to Ron frying a machine by plugging in the power when the supply switch was set to 220 volts rather than 110 (really, who looks at those things anyway?). But this one was completely out of my hands. That makes it a little harder to feel ok about. I can handle devastation if I know I'm the knucklehead who caused it. But when things blow up on their own, I get a little nervous.




2007-11-02

Permalink 11:54:58 am, by Raul Gallegos Email , 2077 words, 980 views English (US)
Categories: general

Being A Speed Bump With A Sore Throat Makes For A Bad Week!

Leaving October and starting November has not been the best thing this year. Let me start off by saying that overall, I really am doing great. In fact, I feel better than I sound or look. If you want to hear just how bad I sound, give technical support a call today so you can laugh at me. Losing my voice from a sore throat was one of the better things which happened to me this week. In fact, if the only event was my sore throat, I would not be writing this entry. So, let's get to what actually happened.

 

As you may or may not know, I've been deeply involved with testing our up-coming GPS product for the Voice Sense Notetaker. In fact, I did a presentation on it a couple of weeks ago. If you want to hear it, visit the Voice Sense files area of our site where you can download an archive of the presentation. Right now, the presentation is not the important thing however, what happened to me is. So, I'll continue. I consider myself an everyday user of the GPS product, both here in the office, and at home. Since I can't really do much testing while sitting at my special area designated, "Raul's Space," I have to do most of the testing after hours. This is fine with me because I actually have a reason to walk, other than the fact that walking is good for you. In fact, walking is what brought on this week's event.

 

I'll start off by describing what happened Monday night, October 29. I went out around 9:30 at night and created a manual route around my neighborhood. This route took me from my house, around some streets, and back to my house, making a total distance of one mile. Because I was creating the route manually, it took me longer to walk this one mile due to having to stop at each turn so that the proper waypoint could be made. When all was said and done, or rather, walked and done in this case, I went home and ended my day with much needed sleep.

 

Now we are up to Tuesday night which was one day later. Obviously everyone knows that Tuesday comes after Monday, but I thought I'd throw that in just to be clear this was one day later. I also realize that the last sentence was rather long, but oh well. I loaded the route I had created before and began my walk. Since the route was already created, I didn't need to stop at each turn like I had the night before. Because of this, I knew it would only take me around twenty minutes to complete the one mile walk, whereas the night before, it had taken me over half an hour. I switched on the multiple command feature of the GPS program and started walking. For those of you who may not know, the multiple commands feature is where the GPS program will tell you certain things automatically every twenty seconds or so. This way you don't have to keep pressing the command over and over if you want to know the status of certain things. In this case, I wanted to keep tabs on the heading and the speed. Since I was trying to see how fast I could complete this route, I wanted accurate speeds and didn't want to slow down to type the "S," command on the Voice Sense. So, there is a brief explanation of multiple commands. I seem to keep getting off-track somehow. This must be due to my sore throat. Anyway, during the first ten minutes of the walk, I averaged around three miles per hour which I thought was very good. Once I got to the last third of the route, I slowed down a little for no apparent reason.

 

There I was, minding my own business, walking East at around two miles per hour along the next to last street of my route when I heard a car pulling out of a long drive way off to my left. In the half-second it took my brain to process the thought, "Hey, that car is sounding like it's moving right toward me and I'm in its way," the car hit me. In the next instant, I'm lying on my right side after my right knee and right elbow broke my fall. Although it was very nice of my knee and elbow to do this for me, hitting the street like that was not the best thing. There was instant pain as both my knee and elbow had some skin removed due to my fall. I won't go into more details because I'm sure you get a pretty good picture of what happened. Keep in mind that in late October in Indiana at night is not very warm. I was wearing jeans and a light jacket and I still got scraped up. Of course this was nothing compared to how my left leg felt. So now back to the car. It turns out that I was very lucky because the driver was pulling out rather slowly out of her drive way. Also, either the feeling of the car hitting an object or my yell of, "Ouch!" was enough to make her hit the brakes and stop the car. If she had not, I'm afraid that more than my leg, knee, and elbow would have gotten hurt.

 

Let me take a moment here to express that the priorities in my life were rather screwed up that night. You would think that someone getting hit by a car, even one going as slow as it was, would think of their own safety and their own life first right? Well, I'm almost ashamed to admit it, but the first thing I did while I was lying there on the street was check the Voice Sense and GPS receiver for any problems. As I lie there on the street looking for scratches on the Voice Sense I finally come to my senses and think to myself, "screw the Voice Sense and GPS receiver! I'm in pain." Actually, I didn't think the word, "Screw," but this is a G-rated post so that is what I'll use here. Anyway, it only took about a second for me to get my priorities in order, but I feel I would be less than honest if I had not mentioned it here.

 

So, now the car has stopped and I'm slowly getting up off the ground. The driver gets out and walks over to me and says, "What are you doing?" As if it's not obvious.

 

"I'm lying here on the street," I replied, still getting up slowly and taking a few steps further into the street to retrieve my cane which had flown out of my right hand and landed some two feet away from me.

 

Upon seeing the cane, she said, "Oh, you are blind? I didn't know that."

 

I'm thinking, "You idiot." Out-loud I said, "Would that have made a difference?"

 

Either she thought that was a rhetorical question, or she didn't get my humor, which by the way, I was proud to be having considering there was white hot pain shooting up my leg and my elbow and knee were bleeding.

 

Next she said, "I didn't see you,"

 

As if that were not obvious, I pointed out, "Yeah well, that makes two of us who weren't seeing well this night."

 

I do want to say that I truly feel that it was not totally her fault. My reasons for feeling this way are because it was late, dark, and I was wearing dark clothing on top of the lateness and darkness. She still should have watched where she was going though. From a gut feeling I have about people, I get the feeling that she just figured that she would pull out of her drive way and not really check carefully for a pedestrian since it was a residential street and not many people will be strolling late at night. Furthermore, if I had been sighted, I would have probably jumped out of the way upon seeing a car slowly pulling out of the drive way. What made this situation frustrating however, is the fact that she just turned around and got in her car and left. She didn't bother asking me if I was alright or if I wanted a ride home.

 

There are only two houses along this stretch of road where it happened. So, even though I'm not sure which house it was, I'm not really interested in pursuing it any further. I have medical insurance and accident insurance and no permanent damage was done. I'm getting ahead of myself here, so I'll stop and keep telling my story.

 

So, after she drove off, I limped my way home. Luckily I was only about a block and a half from my house, so it was not too bad. I should have called my wife to let her know what happened. She would most likely have come and picked me up, and gotten the actual address of the house. As much as I would have liked to have called her though, I could not because I had left the cell phone on the kitchen counter. Silly me, I know, but well, there is nothing for it now. Ironically, I had the cell phone with me the prior night.

 

So, I get home and find that my wife is fast asleep. By this time, it's about 10:00 PM and everyone except the dog was asleep for the night. I wake my wife and tell her I got hit by a car. Naturally she does not believe me because I have a rather warped sense of humor. When I showed her my right knee and elbow, she finally believed me. At least, I think she did because she didn't get upset about me waking her. Come to think of it, she never did say she believed me, but she did ask me if my life insurance was up-to-date. I think I did annoy her a little because I got a little blood on the sheets. In any case, she was awake instantly and in nurse mode. After several minutes, first-aid kit next to us, my knee and elbow were patched up. An ace bandage was around my left leg and four pills were in my stomach. The pain in my leg had lessened considerably and since I could put some weight on it, I didn't think I needed to be seen that night.

 

The next morning I called into work and went to see the doctor. After an x-ray was taken, it was confirmed that there were no fractures or breaks. All I have to deal with is soreness and swelling for the next week or so. Some friends of mine were suggesting that I at least try to get this person to pay for the medical bill. Or at least to have her home-owner's or car insurance pay for it, but I'm really not out to get anyone, and besides which, with it being Friday today, it may be too late for that now. So anyway, I came into work on Thursday and limped around slowly with some discomfort. Overall, I got through the day without problems. Well, mostly anyway. At around 2:00 PM my throat began hurting a little. Small fits of coughing began and my head started to hurt.

 

Now it's Friday and I'm here with a sore leg and a sore throat. Luckily as the morning has passed, the calls have been slow. I'm glad it's Friday because if I do end up with a bad cold or infection of some kind, I'll have the weekend to try and get through it. Hopefully when Monday comes around, I'll be much better. So, that is my week.




2007-10-12

Permalink 02:07:20 pm, by Aaron Email , 98 words, 367 views English (US)
Categories: general

Doug Hard at Work

I apologize in advance for the sighted nature of this post, but I snapped a photo with my phone of Doug hard at work on a conference call with Microsoft and our development team, and I just had to share it.

Doug on the phone with Microsoft

If you can't see the picture, Doug is eased back in his chair with his feet up on the edge of his desk. Don't let the picture fool you; these calls affect the development of both Window-Eyes and Microsoft applications. But even the best have to kick back and take it all in stride sometimes.