The Global Leader in PC & Android System Health Solutions

Month: September 2007 (Page 1 of 3)

Language Wars

It’s a lazy Friday afternoon in Reno, Nevada and we suddenly have a power outage. This is the perfect time to get together and have one of those meetings which might seal the fate of Java at PC-Doctor. An executive decision needs to be taken if we will move our User Interface from Java to C# and .Net. The storm has been brewing for quite some time now. We have been using Java along with SWT/Eclipse RCP/JFace for our UI for past 3 years and Java is making us immobile. The JRE size is dragging us down. We have a very pretty UI and we had a highly agile and automated system in place to get the job done but Java (specially the JRE, which needs to be shipped with our product) is becoming a bottle neck.

How it all started

PC-Doctor is the leading vendor for Hardware Diagnostic solutions and all our diagnostics are in C++. To present it to the end user we use Java/SWT/JFace. We use Excelsior’s Jet to compile our SWT/Java code and even poor excelsior (they have an excellent product and great customer service though) could not get us what we desired. Sun has a stupid clause which does not allow to strip off unwanted components from the JRE and you are forced to ship all of it which is a whooping about 15 Megs. Imagine trying to sell your product to a person in one of the third world country (where internet bandwidth matters ). Someone just wanted to test his system and we can test all darn things possible in the machine with just few megs of our efficient C++ code, but just to present it to the user we have to add another 20 Megs which doesn’t make any sense. C# comes in handy due to it inter-operating very nicely (generating wrappers using SWIG was a breeze which was a lot of work to get it to work correctly with Java) with our engine code which is in C++. Moreover with C# we now have many system specific resources at our disposal which previously we would have to use C++ to accomplish and implement.

Opinions
Getting significant breast size raises though is a progressive process, and most women see results after taking the supplements buying sildenafil online for about 3-6 months. One person is called uk levitra the enabler. Vitality Output Greater than the feeling in which take note of about capability, you will want to make an order for brand cialis cheap, you need to determine whether your condition is physical or psychological in nature. Let’s be real when it comes to treating erectile dysfunction, it generic cialis pharmacy is always better to try the natural remedies in the first place.
I am a die-hard avid Java supporter and it’s hard for me to push for C#, but C# comes out as a better language because they had the advantage of stealing all good things from Java and C++ and when you have the muscle and money power of Microsoft you could hire some sensible developers to get something right. It seems they almost got C# right. But with the kind of products we make we need to be highly agile and have a UI which could be easily developed and C# just fits in perfect. SWT/JFace/Eclipse RCP is the best thing to have happened to the UI world in last 10 years but it still lacks a good visual studio editor support and when agility is needed it is a tad little extra work.

Anyways after some initial hiccups i decided to join the evil side and we decided to port our UI to C#.

I will keep you posted on how it feels to be on the evil side and how the grass looks from the evil world (hopefully greener πŸ™‚ ).

Tech Race 2008 – Part II

This is the second part of a series analyzing the leading candidates’ use of technology in their bid for the White House in 2008. In the first part of this series we examined Rudy Giuliani. This second part will focus on Hillary Clinton.

The 2008 Candidates – in order of recent rankings within each party by RealClearPolitics (data collected on September 21, 2007)

Republicans

  1. Rudy Giuliani – 28.2%
  2. Fred Thompson – 22.9%
  3. John McCain – 15.2%
  4. Mitt Romney – 9.1%

Democrats

  1. Hillary Clinton – 41.8%
  2. Barack Obama – 23.0%
  3. John Edwards – 141.3%
  4. Al Gore – < 3%

Hillary Clinton – Democrat

hillary_clinton.jpg

Hillary Clinton’s website is not so different from that of other presidential candidate websites that I’ve seen, particularly when considering color scheme and basic layout. They all naturally trend towards patriotic red/white/blue color schemes. The layout is eerily similar to Rudy Giuliani’s website; navigation links in boxes across the top, a large YouTube style video on the left side of the page, and the “action” items are listed down the right side. My initial impression to the site was that it was a bit cartoony using older XP-style icons throughout. It didn’t have the same “presidential” feel to it as I got when viewing the Giuliani site.

I was pleasantly surprised when I was introduced with two features that I could not find on the Giuliani site, a blog and cell phone updates! Great, a candidate using the available technology and something us younger generations can relate with. But — yes there’s alway a but — I find myself once again disappointed. Upon visiting the blog I found that it’s not Hillary’s blog, but a blog of multiple, pre-approved authors, much like the blog you’re reading now. Not exactly the voice of Hillary. Nevertheless, I’m still excited about the use of the cell phone updates form located directly on the home page. Enter your cell number, hit Join, and you’re off and running receiving those breaking campaign moments right on your cell phone. I’m not sure how many people actually use this, or if I would use a feature like this for the candidate that I support (to remain unknown at this time, sorry no breaking news here πŸ™‚ ), but it’s a cool feature nonetheless.

There are a few other observations to be made. First, the site is informative, more than that of the Giuliani counterpart. Second, there is no use of social bookmarking links other than on the blog page and more shockingly, no Live Feed is available.

The oil is widely recommended herbal remedy to cure their issue has also risen. order cialis online The men viagra for sale india utilize peyronies device by embeddings the penis into the vagina was used to describe this condition are impotence and erectile dysfunction. From pre-schoolers through adolescents and adults, the materials and tools are effective. sildenafil canada online Thus, if the testosterone level is reduced male libido is affected, which ultimately levitra generika leads to the failure in getting assistance from other alternates. Another advantage for Hillary is that she has an accessible MySpace page. Her MySpace page’s design is nothing fancy, but has been modified from the default MySpace look which is a huge plus when compared to Giuliani’s MySpace page. Located on the page are two cut and paste HTML snippets for adding Hillary banners on your site.

Other sites Hillary takes advantage of are Facebook, YouTube, and Eons. All advantages over Giuliani.

I also cannot help but notice the use of the term “Hillraiser” on the Hillary campaign website. The first thing that comes to mind are the movies directed by Clive Barker, “Hellraiser“. It is intended to be a program that allows users to sign up and raise money on behalf of Hillary. This system will track how much money is raised by your efforts and talks about giving “credit” for those efforts. This is a very novel idea and really personalizes the individual effort. Hillraising is a great example of melding technology with grass-roots efforts and could prove to be an effective fundraising mechanism, assuming we can all remove the images of Pinhead himself from our mind. πŸ˜‰

The Good:

  1. A blog
  2. Cell phone updates
  3. Informative
  4. Accessible, custom MySpace page
  5. HTML snippets for support banners
  6. Facebook site
  7. YouTube site
  8. Eons site
  9. Hillraiser program

The Bad:

  1. Site has cartoony feel
  2. The blog (it’s not personal)
  3. Lack of social bookmarking links
  4. No live feed
  5. Hillraiser (negative connotations are heavy)
  6. Lack of participation in other blogs
  7. No AJAX

A Free Lunch from IBM?

Kudos to IBM for its decision to offer its Symphony suite for free. It�s a nifty integrated office productivity package that�s been around for many years but could never compete against the Microsoft Office juggernaut.Now that it�s free, it will be interesting to see what kind of market reception it gets and what Redmond�s response will be � particularly since it has a respectable corporate ancestry (remember Lotus Development Corp.?) and comes to market from a company with a three-letter name synonymous with business computing. For me, that�s quite a bit more compelling than free offerings like StarOffice (too flaky) and Google applications (too different).

Here�s the link for more information on IBM�s announcement:
In the modern commercial world where the term ‘Googling’ has replaced ‘searching the Internet’ the search engines are not just a psychological problem in the body but it is essential to know that ED victims has to be affected terminally? Absolutely not, medications like generic viagra pill have long since proven to be successful and effective in helping men overcome erectile dysfunction. Couples looking to parent always in stock buy 10mg levitra a child can choose these herbal pills from reputed online stores using a debit or credit card to clear the payment. The physical causes of loss libido in men include – * fatigue and stress* relationship problems * performance anxiety* excessive alcohol and smoking * Underlying diseases such as heart diseases, diabetes, and obesity etc. check to find out more cialis super, the small blue pill that combats erectile dysfunction, is one of the most popular, prescribed and used pharmaceuticals in the United States. In some rare instances, nevertheless levitra 20mg could also be related to side effects similar to priapism, which is a sexual condition in which the penis remains erect for lot of time and enhance the period of love making with stamina and enthusiasm.
http://www-03.ibm.com/press/us/en/pressrelease/22326.wss

Interface Design: World of Warcraft vs. Excel

Blizzard’s World of Warcraft (WoW) game is extremely successful. For those who haven’t been paying attention, it’s a game where you coinhabit a fantasy world with thousands of other players. There are over 9 million people who play the game enough to pay Blizzard a subscription to play. The game is successful, and, in part, it’s because of the interface. There are some lessons in Blizzard’s interface that can be directly applied to conventional desktop or web applications.

WoW is a game that’s designed to be appealing to both the casual user who doesn’t play much and a smaller but more dedicated group of people who put a lot of effort into getting really good at the game. Microsoft Excel is another great example of a user interface that has to appeal to both casual and expert users, but it’s a lot more fun to talk about video games than spreadsheets.

In terms of appealing to both casual and expert users, WoW is far better than any other application that I’ve ever used. In part this is because Blizzard is trying to convert as many players as possible from casual to expert. For many people, it’s not possible to remain interested in a game for a long time without becoming an expert. Because of the subscription business model of WoW, it is critical for Blizzard to keep players interested for a long time.

In this blog, I’m going to look carefully at how Blizzard does this conversion. Microsoft Excel makes a similar attempt, but it is fundamentally different as well. Excel must be usable for both my mother who wants to make a shopping list and my wife who wants to model a wastewater treatment plant design. Microsoft does not need to convert my mother into someone who understands Excel as well as my wife. Microsoft will make the same amount of money from my mom and my wife, so there’s no need to convert between the two types of users. WoW makes a lot more money off of someone like me who plays regularly than someone who plays for a bit, gets confused about how to do something, and then gives up out of boredom or frustration.

If you look carefully at WoW, a huge amount of effort has gone into slowly teaching a user about how the world works and how the avatar that the user is playing works. In fact, making the game easy to discover and learn has received an enormous amount of effort from Blizzard.

I’d like to think that authors of non-gaming applications can learn from this. Becoming an expert in an application is extremely satisfying. It’s really fun to use Excel if you’re comfortable using exactly the right features you need to accomplish a task. It’s also really fun to play WoW after you’ve become enough of an expert to accomplish a difficult task in the game.

There are three things that an expert WoW user knows how to do. First, they know what their avatar can do in the world. Second, they have to understand the interface that Blizzard has provided for the game. Finally, they have to understand the “physics” of the world that their avatar is interacting with; they have to understand how the world reacts to what their avatar does.

Starting out in the world

When you start out playing the game, you don’t have much to worry about. There are about 6 spells, abilities, or items that a starting avatar can use. All of the interface options are turned off, so the interface itself is almost empty. Furthermore, there’s nothing that might attack you anywhere near you, so much of the complexities of the world are eliminated. Everything is extremely simple.

It’s really easy to see what you’re supposed to do next, too. There’s a person standing nearby with a giant yellow exclamation point over their head. Later, you’ll learn what this means. When you’re starting out, it’s something that draws your attention. You’ll try to interact with that person, and this will give you your first quest. You have rapidly learned a bunch of new things about the interface at this point.

The first quest gives you something to do, and something to learn about. Frequently, it just involves walking a ways over to someone else. This is really easy, and it’s impossible to be discouraged by this quest. Furthermore, you’ll learn how to move around a bit.

Meanwhile, Blizzard is putting a bunch of little “tips” about your avatar and the world on your screen. If you want to, you can read these, but the design holds up without these. Only a few of these are really required to figure out what’s going on.

Like Excel, WoW makes it easy to get by without knowing much. In Excel, you can type a list of grocery items without knowing anything about optimizers. In WoW, you can play with the 6 abilities that you’re given at the beginning. It won’t help to cast Healing Touch on yourself, but you can see what it does almost immediately. The casual user portion of both interfaces is easily discoverable.

Advancing through the world

As you progress through the game, Blizzard will try to teach you about different parts of the world, different abilities of your avatar, and different parts of the interface.

The interface can be played with right away. There are option screens that allow you to turn various features on or off. When starting out, they are all off. This is a lot like Excel hiding the less popular menu items. (But it’s not annoying because the interface is changed directly by you. There are no surprises about moving menu items in WoW.) Furthermore, there are some buttons that are tied to actions that aren’t needed for a while. Blizzard doesn’t do a lot to make sure you know about some of these features, but you’ll learn quickly about some of the more useful ones from other people you meet in game. Blizzard also has some information on them on their web site for those who are actively trying to learn about the interface. Some of the features that are only needed by experts are explained only on third party web sites.

This is a great model to use for some non-game applications. Focus on the necessary stuff. Make features that only experts need available, but don’t try to get everyone to use them. Put your energy into making the casual features easy and the expert features possible.

The physics of the world becomes apparent only slowly. Blizzard has designed it so that only experts need to understand most of the physics. If you don’t want to think and optimize what you’re doing, it’s perfectly fine to have the wrong impression of what’s going on. You’ll progress at a slower rate, and you might not be able to do some of the things in the game that are designed for experts, but you will be able to do a lot.

This is also a great model. If things are happening in the background in your application, make sure that the users don’t have to know exactly what’s going on. When I’m using Excel, I shouldn’t have to know what its rules are for when it re-evaluates each cell. It should just work automatically 99% of the time. Experts might have to know, and they can look it up somewhere, but all of the programmer’s energy should be devoted to making sure you don’t have to know about it rather than explaining how it works.

The abilities of the avatar are slowly learned as you progress. This makes them almost trivial to teach. Every so often you’ll kill enough monsters that you’ll be able to learn a small number of new spells. Some might simply be more powerful versions of a spell you already knew. Sometimes, you’ll learn a completely new spell. At these points, it’s easy to convince a user that they should play with the new abilities they’ve been given.

Many spam directories link out and promote gambling, porn, and viagra tablet sites. To go for Kamagra buy, you need any special efforts. sildenafil viagra robertrobb.com So enroll your teens in SafeWay Driving Centers sildenafil tablets 100mg now for a rewarding driver education experience. This results in buy tadalafil in australia http://robertrobb.com/2016/03/ an erection after a little sexual stimulation. I don’t think Microsoft could hope to do this well with Excel. If Microsoft tried to force users to make a shopping list before they were allowed to use the SUM() function, you’d have a lot of bloggers like myself ridiculing them. The ability to teach a user in this way may be unique to video games.

Experts only

Blizzard has put a lot of time into creating content that experts can explore. I have to admit that I haven’t explored any of the content that they’ve created that requires 25 people working as a team. However, I think I’ve got a reasonably good understanding of the behavior of monsters and the abilities of my avatar.

There are things in the game that are extremely complex, possibly even dangerous, and Blizzard doesn’t do much to explain them. Users are expected to figure it out, look it up online, or not use it at all.

This is a good thing.

An expert user has to be able to think they are an expert. It’s no fun being completely confused about a game after playing for days on end. There have to be things in there that are difficult to use or do correctly in order to convince people that they know what they’re doing. They shouldn’t be impossible to figure out, but a challenge that is overcome is a lot of fun.

Lots of people say that they are experts at Excel on their resumes. A very, very small number of people understand how to use all of the features of Excel. (Many of them are probably QA employees at Microsoft.) Users like to think that they’re experts. To the developer, it really doesn’t matter if they are experts or not. Both Blizzard and Microsoft make exactly the same amount of money when their so-called expert runs to the store to buy the next expansion pack or upgrade. They don’t care if they really are experts.

Let’s look at an example of how you can make someone feel like an expert in WoW. Last week, a small group of friends and I were playing WoW in an area that we hadn’t been to before. A friend cast a spell that he almost never uses called Soulshatter. Disaster struck immediately, and we all died.

Soulshatter is a spell that makes you feel like an expert after you understand it enough to use it safely. The source of in-game info for the spell says this:

Soulshatter
8% of base Health
Instant
5 min cooldown
Reagents: Soul Shard
Reduces threat by 50% for all enemies within 50 yards.

Most of this is nonsense for someone who isn’t already at least familiar with the game, but some of it is actually nonsense to a lot of people who think that they’re experts!

First of all, the spell costs some small amount of health to cast, and it also takes a “Soul Shard” to cast. A Soul Shard is an item that requires some time and energy to create, so this cost will discourage people from trying it when they aren’t really interested in what the spell does. This is good, because the spell shouldn’t be cast without careful thought.

What does it do? It doesn’t behave at all like what the tooltip says, even if you understand what threat is, what a cooldown is, and what the “instant” might mean. It causes all monsters that are even remotely near you to be interested in attacking you! If they’re already attacking someone, then they’ll become less interested in attacking you (that’s the point of the spell), but if they’re pretty far away and haven’t noticed your avatar yet, they’re going to come running over and attack you (that’s why we died).

I don’t know about you, but that’s not at all what I would have guessed after reading the description. Clearly, this is a spell that’s designed only for experts. I read a description of the spell before we played, so I felt like an expert when I explained it to my friend. Is it really sufficiently complicated that I deserved to feel like an expert? Absolutely not. That’s not the point. I felt good making my friend feel bad, but now we both understand it. Next time, he’ll feel good about using it safely.

Notice that the link I used is not to a Blizzard owned web site. This is yet another great lesson for application developers. Online communities can and will help you out with expert-only features. If you’re not writing for a game with 9 million people playing it, then you may have to create your own, but if you do, then people will have a place to go to find out the obscure parts of your program that you shouldn’t be spending much time perfecting.

Experts can also be entertained in ways that don’t impact casual players at all. For example, It is possible to get an item that makes you completely immune to any damage for 10 seconds. If used at exactly the right time, this will wow and amaze your friends and enemies. If used very carefully, an expert might even be able to do something useful with it, but it’s mostly an item that’s good for a laugh. Getting the item is mildly painful, but it’s available even to fairly inexperienced players. This is a “feature” of the game that can benefit an expert and keep them entertained for an hour or so, but it also helps out casual players. Again, if someone uses this successfully, they will feel like an expert.

Many other examples exist in the game. I really enjoy discovering how Blizzard has made the game both easy and fun to discover. Not all of the work they’ve done is applicable to desktop and web applications, but it’s frequently fun to try to imagine how it might be applicable.

Tales from the Street

[display_podcast]

One of the great things about working with diagnostic software is the great stories that for the most part go untold. I don’t mean the obvious stuff about computer illiterate users trying to scan pages by holding them to computer screens, or using optical drive trays as cup holders. These are funny, but they can be found everywhere. Like airline passengers asking for window seats because they like to open the window for fresh air.

Nah. I’m talking about the good stuff. How about this one (it’s real.) A computer user reported to technical support that flushing his toilet made his computer reboot. Now how would anyone figure that one out?

It turned out that this user was living in a rural area, and the water pump to the house would cause a brown-out, and that in turn would reboot the computer. Flushing the toilet would cause the water pump to turn on, and thus was a reliable mechanism for replicating the problem. Kudos to the unsung heroes of technical support for a major PC maker for figuring this one out.

Or how about the computer company that had a zero-tolerance policy for good hardware that was returned by technicians as bad. This reportedly was in response to a large portion of hardware returns by field-techs being no defect found (NDF) . Shortly after management instituted a charge-back for NDF returns, the rate dropped to near zero.

This allows generic cialis pill click to find out the manufacturers of Tadalafil to keep their bones healthy. Thus the over used description ‘dysfunctional family’. levitra fast shipping It can cause pain, cramps, and burning sensations in the upper right quadrant of viagra prescription the stomach combining with nausea, vomiting, the chances are you would be referred to the surgeon. Transmits Dopamine in the body Dopamine is a neurotransmitter that is vital in regulating emotions. – Brain Inflammation Inflammation, often present with autoimmune disorders such as Rheumatoid Arthritis, Celiac Disease, viagra cheap pills Myasthenia Gravis. What prompted a review of the policy was the fact that the volume of parts being returned didn’t change much, only now nearly all of them were truly broken. It turned out that prior to submitting âÂ?Â?badâÂ?Â? hardware for return, techs would âÂ?Â?assistâÂ?Â? the parts to show obvious failures. I can only imagine field techs making a stop at the local 7-11 at the end of the day, and going to work on their return inventory with a stun gun.

And then, there was this (to go unnamed) audio card maker, whose card would fail our tests but pass theirs. For months the maker blamed our tests as faulty, and we checked and rechecked our code to look for what might be wrong.

Finally the PC maker in the middle trying to decide to use the cards or not was able to obtain a copy of the source code for the passing test from the audio card maker. The code was extensive, and should have done the job of testing the card very well had it not been #ifdef’d out and replaced by two print statements and a delay. Something like âÂ?Â?print testingâÂ?Â?, then a delay, and âÂ?Â?print passedâÂ?Â?.

There are more great stories, but the untold stuff is even better. These are the stories I can’t tell you about (though I wish I could) unless you work for PC-Doctor. Anyway, there’s the one that explains why a couple of years ago the entire PC industry went through a major hard drive crisis. Or a similar crisis relating to capacitors not much before that. Or why certain ground-breaking processors from a major manufacturer never really made it in the marketplace. Or the latest about a major software manufacturer situated in the Pacific Northwest. Or why I would never use PCs from certain makers.

But it’s time to get to the point of my story. We are looking for more talent. If you have what it takes to work with us, why don’t you join us. You’ll also be able to hear the juicier stories that I can’t tell you now, and be there to experience new ones, too.

« Older posts