I saw this invite for a free webcast on Cloud Computing and thought I’d pass it along.
Join us for this free, live webcast
The current financial crisis has raised enterprise interest in two technology trends: open source and cloud computing. In this presentation, Bernard Golden, CEO of HyperStratus will discuss how the two trends reinforce one another, and why cloud computing is a significant driver of enterprise open source adoption. Key issues he will touch upon are open source's role in application scalability, software licensing, and cloud infrastructures, along with open source product and platforms heavily used in cloud computing.
Bernard Golden is considered one of the true thought leaders in cloud computing. He is CEO of HyperStratus, a Silicon Valley-based consulting firm that helps its clients plan, design, and implement their cloud computing systems. He has over twenty years experience in the technology field, having worked in global consultancies, enterprise software companies, and large IT organizations. Bernard is the author of Virtualization for Dummies, the most popular book on the subject ever published. He serves as the Virtualization and Cloud Computing Advisor for CIO Magazine, which publishes his highly popular blog examining the benefits and challenges of cloud computing. Bernard is a popular speaker, appearing at many conferences like CloudWorld, OSCON, and EDUCAUSE.
The video is clearly a rant with a tongue-in-cheek twist, but during the course of the video he does mention some metrics.
And you know how we love metrics.
Given Mr. Berman’s assertion that 1 receipt takes 3 minutes and his average business trip has 10-20 receipts, he can spend one to two hours entering receipts.
That’s at least one hour of lost productivity per business trip per employee.
Since we all know that time equates to money, entering an expense is an expense over and above the travel costs employees are entering into the system.
In other words, it’s money down the drain.
It Doesn’t Have to Be This Way
Sadly, ABC is not alone.
Generally, the bar for usability design in internal applications is much lower than external applications.
It’s easy to understand why. Out on the internet, your site has to compete with others and external users have no problems critiquing your site with honest (aka harsh) feedback.
On the intranet, it’s a different story. You have a captive audience and employees will hold back their criticisms either out of politeness or fear of reprisals.
Plus, external customers bring in money, internal users cost the company money.
Since we all love to get money, users are lined up accordingly.
I would say that businesses ignore their internal user base at their own peril.
It’s Still a Usability Crime Even If You Don’t Get Caught
Companies pay their employees to get work done. Unless you work in an hourglass factory, staring at hourglasses all day probably isn’t in the job description.
Productivity lost is money lost and, make no mistake, having a behind-the-firewall application that’s frustrating to use will cost you money.
Just because the world can’t see your app, doesn’t mean you get a free pass on usability concerns.
I’m not suggesting that internal applications have dancing logos, rounded “Web 2.0” buttons, or all the other trappings of the “big budget” web sites.
Most users want to get their work done, not admire your artwork or “mad skillz” at technologies they don’t know or care to know about.
Always remember that users use your application as a means to an end and your job as developers is make your application as seamless as possible.
I spoke the direction I wanted the needle to point and the computer would recognize the command and point the arrow. After a few commands, the computer tells me to “stop bossing it around.”
It was simple but it illustrated several points. One, speech can add value to you applications. Two, it’s easy to add. Three, it’s free.
Best of all, it’s fun.
First, you’ll need to add a reference to the System.Speech library. This is where all the speech recognition and speech synthesis classes live.
Once your project has the references, add the following using statements to your code behind.
1:using System.Speech.Recognition;
2:using System.Speech.Synthesis;
The Recognition namespace contains all the code needed to recognize speech and the Synthesis namespace handles the code to turn text to speech. Input and output, respectively.
With all the references to the speech DLLs in place, we can now instantiate the speech related objects.
1:this._speechSynthesizer = new SpeechSynthesizer();
2:this._speechRecognizer = new SpeechRecognizer();
3:
4:this._speechRecognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(_speechRecognizer_SpeechRecognized);
5:this._speechRecognizer.Enabled = true;
When speech gets recognized, the SpeechRecognizer fires an event, appropriately named “Speech Recognized.”
8: Storyboard directionStoryboard = this.Resources[directionResult] as Storyboard;
9:
10:if (directionStoryboard != null)
11: {
12: directionStoryboard.Begin();
13: }
14:else
15: {
16:this.Title = "Not a storyboard";
17: }
18: }
It’s in that event that we get passed the results of the recognition inside the SpeecRecognizedEventArgs and you’ll see I drop that into a string and set the Window’s Title property to display what the system interpreted the speech to be.
On line 8, I use the recognized string to get the appropriate Storyboard. I saved myself some time by cleverly naming them. ;)
Don’t worry if the Storyboard syntax doesn’t make sense to you, I could talk about Silverlight and WPF animation all day, but here the focus is on Speech, not XAML.
When you run the application, you may get the Speech Setup Tutorial if you’ve never run speech recognition before.
You don’t have to run through the tutorial, but I recommend you do as it will demonstrate the power of the engine built right in to the OS.
The system also uses the tutorial to set up your microphone, adjust your settings and start learning your voice.
Once you get past the tutorial (it takes bout 10 minutes), you’ll notice the speech recognition tool bar on your desktop.
Stop! Grammar Time
In order to increase the reliability of the sample app, I added a grammar to limit the number of possibilities the speech recognizer had.
You want to do this to narrow down the potential results from millions of words to dozens. Narrowing the recognition pool increases the accuracy.
Grammars can get quite complex and there even is a W3C standard (SRGS) for defining them.
However, since we’re dealing with a compass, we really only need eight points: the four directions (North, West, South, East) and the four in between points.
1:private Choices GetChoices()
2: {
3: Choices choices = new Choices();
4:
5: choices.Add("North");
6: choices.Add("West");
7: choices.Add("East");
8: choices.Add("South");
9:
10: choices.Add("NorthWest");
11: choices.Add("SouthWest");
12: choices.Add("NorthEast");
13: choices.Add("SouthEast");
14:
15:return choices;
16: }
I use the following code to load the grammar into my recognizer.
1: Choices choices = GetChoices();
2:
3: GrammarBuilder grammarBuilder = new GrammarBuilder(choices);
4: Grammar grammarDirections = new Grammar(grammarBuilder);
I've been fascinated by Project Natal since I first saw the videos from E3 and as a card carrying geek, I've been combing through the videos looking for clues on how the system works.
The marketing videos make a lot of promises: facial recognition, speech recognition, image scanning, object scanning, motion capture, and a slew of other "out there" technologies.
It's easy to stage a demo where you can control a lot of factors such as lighting and even wardrobe, but how would this work in consumers' hands in the real world?
Based on my experiments with the Touchless SDK, the Project Natal had their work cut out for them.
It's not just what the Project Natal device can do, but where it will be expected to do it.
From dimly lit dorm rooms to bright and cheery family rooms, consumers are going to expect the technology to "just work."
As Seen on TV
Right now, it's very hard to separate fact from fiction, hype from FUD about how ready the technology is to come to market, let alone for people to start guessing a release date.
First off, what's with the red jumpsuits? I take it that's not the normal attire for appearing on Jimmy Fallon.
Based on my own experiments with the Touchless SDK, this was probably done to increase the contrast of the person against the background.
This raises some interesting questions (aside from the obvious "how ready is this?")
For one, if you can't control lighting conditions to set up the ideal environment in a TV studio, where the heck can you? Secondly, will the Project Natal documentation recommend you wear something bright and paint your room a nice neutral earthtone?
It is clear it doesn’t yet work properly. I have yet to see a Burnout video where people are not driving 50 mph when they should be driving 200 mph, and they’re still crashing into walls all the time.
He has a good point and if you follow the player's movements, sometimes they match up, sometimes they don't.
Sean also has a lot of other commentary and analysis on the buzz around Project Natal.
Now wonder then, that the "breakout demo" has been making the rounds, it's easiest to capture the location of four limbs pointing out in different directions.
So, the real question is now what?
When will this be out? How much will this cost? Will it connect to the XBOX 360 by USB?
If so, could you plug it into your PC can capture the data from it? Where's the SDK? Will there be integration with XNA Game Studio?
There are a lot more questions than answers and I suspect it will be like that for a time to come.