Archive for 2008

UK Government To Outsource Big Brother Internet Monitoring. I’m moving to China.

Written by on Wednesday, December 31st, 2008 in Uncategorized.

It will cost $17.5 billion, be run by private companies and track every move we make on the internet, every call, text message and every transaction. Yes, this is the UK government proposal to manage and run a communications database that will make Chinese attempts to control and monitor its citizens look like “light touch” regulation. The only difference with one-party states like China (apart from the summary trial and execution) is that the government claims that it will not look at the content on our every electronic interaction, but merely at the points of entry. The “pings”, if you like. But of course, by building up such a database, this will create enough “content” to create a pattern of recognition about our movements.

Crunch Network: MobileCrunch Mobile Gadgets and Applications, Delivered Daily.

Source: TechCrunch
Original Article: http://feedproxy.google.com/~r/Techcrunch/~3/tREJuCxYQpc/

Malcolm Gladwell on meaningful work and curiosity

Written by on Wednesday, December 31st, 2008 in Uncategorized.

Charlie Rose interviewed Malcolm Gladwell recently. They had the following discussion on meaningful work (at 26:00 into interview).

Gladwell: Meaningful work is one of the most important things we can impart to children. Meaningful work is work that is autonomous. Work that is complex, that occupies your mind. And work where there is a relationship between effort and reward — for everything you put in, you get something out…

If you are convinced that the work you are doing is meaningful, then curiosity, there’s no cost to it. If you think there’s always got to be a connection between what you put in and what you get out, then of course you’ll run off with a great excitement after an idea that catches your idea.

Rose: People often ask me to define leadership and I say to them what you just said all the time. You have to communicate what the mission is all the time — and how meaningful someone’s contribution is to the mission.

When you believe that the work you’re doing has meaning, it’s an extra shot of adrenaline. Good food for thought for anyone trying to create a workplace culture that engages employees.

In the interview, Gladwell also mentioned he meets with Nathan Myhrvold once a month to discuss ideas. Myhrvold sounds like quite a character: formerly Chief Technology Officer at Microsoft, began college at age 14, worked under Stephen Hawking studying cosmology, is a prize-winning nature and wildlife photographer whose work has appeared in scientific journals like Science and Nature, is a master French chef who works at one of Seattle’s leading French restaurants, and he won the world championship of barbecue. Talk about a renaissance man!

Source: Signal vs. Noise
Original Article: http://www.37signals.com/svn/posts/1483-malcolm-gladwell-on-meaningful-work-and-curiosity

Wikinvest Stock Charts Find Their Way Onto USAToday.com and Forbes.com

Written by on Wednesday, December 31st, 2008 in Uncategorized.

Stock charts and data are the lifeblood of all investing sites, even in these slumping times. Most major media sites have investing sections powered by stock data that they license for a pretty penny. San Francisco startup Wikinvest is making inroads as a stock data provider for media Websites. Its embeddable, annotatable charts now grace the stock pages of USAToday. Beginning next week, they will also power the stock charts on Forbes.com, replacing its current stock data provider, INVESTools. (On USAToday, the Wikinvest charts are supplementing the main charts).

Each stock page on USAToday also includes community analysis and links to related concepts from Wikinvest as well. Wikinvest charts can be annotated with news stories and embedded elsewhere. For instance here is a chart from USAToday’s Google stock page:

Wikinvest gets only about 450,000 visitors a month worldwide (November, 2008 comScore numbers), but is growing rapidly. Distribution deals like these (and broader adoption of its Wikinvest Wire by financial blogs) could help Wikinvest grow beyond its current niche.

Crunch Network: CrunchBoard because it’s time for you to find a new Job2.0

Source: TechCrunch
Original Article: http://feedproxy.google.com/~r/Techcrunch/~3/k-dky2w037s/

Oy Vey! Israeli VCs Exceptionally Gloomy on 2009

Written by on Wednesday, December 31st, 2008 in Uncategorized.

Deloitte recently released the results of its VC Indicator Survey (PDF), conducted among Israeli VCs this past month. The complied results are so pessimistic they paint a warm and fuzzy aura around Sequoia’s Doom & Gloom presentation.

Participated by approximately 80 Israeli venture capitalists, the survey predicts 2009 will be an extremely painful year for the Israeli startup industry in most every respect.

Here are some of the highlights:

  • 92% of those surveyed predict at least 3000 people will be laid off.
  • 92% also believe that companies who do not lay off employees will slash salaries.
  • 74% predict that at least 10% of venture backed startups will be shutdown.
  • 95% foresee harsh times in the fund raising department.
  • 54% expect a slowdown in seed investments.
  • 87% expect a decrease in company valuations.
  • 26% are confident that commitments by limited partners will not be withdrawn, while 51% believe they might.



Crunch Network: CrunchBase the free database of technology companies, people, and investors

Source: TechCrunch
Original Article: http://feedproxy.google.com/~r/Techcrunch/~3/c5PqAIdZjNE/

Yogurt Store Employee Confirms Jobs “Not dead yet”

Written by on Wednesday, December 31st, 2008 in Uncategorized.


Robert “I like yogurt” Scoble interviewed Steve Jobs’ yogurt purveyor, asking him if the wizened CEO had been in lately. The answer? Yes. So Steve is well enough to eat yogurt. Smack 32 cents onto Apple’s stock price.

This frenzied speculation about Jobs is quite sad indeed. As we all know, Jobs is the driving force behind Apple’s innovation but, last time I checked, Apple has 32,000 employees all dedicated to making the products we love. Just because he might not show up this year is no cause for alarm. Heck, based on this +5 Turkleneck of CEO Charisma Correlation Effect, you’d expect Windows 7 to suck with the figurehead Bill Gates out of the picture. Apparently it doesn’t because even I’m interested in Windows 7.

Source: TechCrunch
Original Article: http://feedproxy.google.com/~r/Techcrunch/~3/eUJ2m87jPU4/

Why Load Testing Ajax is Hard

Written by on Wednesday, December 31st, 2008 in Uncategorized.

Today we are fortunate to have a guest post by Patrick Lightbody, most recently of BrowserMob fame (and previously Selenium work, OpenQA, WebWork, and more). Let’s listen in to him talk to us about load testing, and let him know your thoughts in the comments below:

I’ve been developing and testing complex web apps for a long time. I was the co-creator of WebWork (now Struts 2.0) and an early champion of DWR, writing one of the first AJAX form validation frameworks for Java web apps. But over the years, I noticed that as our web technologies and techniques got more sophisticated, our testing techniques were not keeping up.

That was why I founded OpenQA and helped grow Selenium to the popular testing tool that it is today. Selenium helps with functional testing of complex AJAX apps, but there isn’t an equivalent for load testing, which is why I started BrowserMob, a new type of load testing service.

Traditional load testing

In order to achieve high levels of concurrency, traditional load testing tools (both open source and commercial) work by sending large numbers of HTTP requests as a way to simulate many concurrent users interacting with your web page. These tools work by recording the traffic that comes from a browser session and then requiring that the load tester tweak a generated script so that it worked properly when played back X times concurrently.

Common problems would be that the initial recording would embed in cookie values that were tied to individual sessions. Additional unique state might be encoded in other hidden form elements, all of which required some fine tuning after the fact. If you’ve ever tried to run a load test, this is probably a very familiar process. It has worked reasonably well up until recent years, but AJAX has made this process even more difficult.

Ajax + load testing = hard

The reason Ajax has complicated things is that it encourages more logic and state to run inside the browser session. This means that just watching the traffic across the wire doesn’t necessarily tell the full story. The richer an app gets, the more difficult it gets to simulate the exact effects of hundreds or thousands of users hitting your site.

This is the problem I decided to solve when I started BrowserMob. It’s on-demand, low-cost and uses real browsers to completely change the way load testing is recorded and played back.

Do real browsers really matter?

Real browsers absolutely matter. There are two major reasons:

  1. It simplifies the script creation process by letting you avoid all the complexities and hacks you have to do with traditional load testing tools.
  2. It ensures that you’ll see 100% of the traffic and load against your site that a real user would cause.

We’ll look in-depth at each of these topics separately to see how use of real browsers helps and how a service like BrowserMob compares to existing load testing technologies.

Simplifies script creation

In today’s modern web applications, AJAX is just about everywhere. And we’re not necessarily talking about super rich applications like Google Maps or Yahoo Mail, but even simple sites like google.com now use advanced AJAX techniques. See Google’s auto-complete for a real-world example:

In this case, when typing values in to the search box, the web browser executes JavaScript logic that in turn makes AJAX calls to Google’s search engine, asking for search suggestions to display. It does this on every keystroke that the user types in. This is a standard auto-complete control that most Ajaxian readers are very familiar with.

When recording a script with a traditional load testing tool, one of two things may happen here:

  • The recorder will see the AJAX traffic and capture it for playback in the load test
  • The record will not see the AJAX traffic and will only capture the request made when the user clicks the “submit” button

Obviously these Ajax requests are causing real load, so we want to make sure they get played back in a load test. Let’s assume you’re using a tool, such as JMeter, that does capture the AJAX traffic. Here’s what that looks like:

The recorded traffic is effectively:

http://clients1.google.com/complete/search?hl=en&gl=us&q=b
http://clients1.google.com/complete/search?hl=en&gl=us&q=ba
http://clients1.google.com/complete/search?hl=en&gl=us&q=ban
http://clients1.google.com/complete/search?hl=en&gl=us&q=bana
http://clients1.google.com/complete/search?hl=en&gl=us&q=banan
http://clients1.google.com/complete/search?hl=en&gl=us&q=banana
    

Each key stroke by the user is included in each subsequent search term. Let’s ignore the requirement of validating the results that come back from the AJAX requests for the moment (they are usually in JSON or XML format and difficult to validate using most tools). Instead, let’s just add a twist to the load test requirement for doing searches: the load test must search from 100 different search terms.

Parameterization is very common requirement, since it ensures that the load is realistic and doesn’t get cached in any unnatural way. This means that now in addition to searching for the term “banana”, we’re also searching for “apple”, and “orange”, among others.

However, this means your script can’t just blindly submit requests to those previous URLs either, since those were tied to the “banana” term. Instead, they must search for the sequential characters of the respective search term, such as:

http://clients1.google.com/complete/search?hl=en&gl=us&q=a
http://clients1.google.com/complete/search?hl=en&gl=us&q=ap
http://clients1.google.com/complete/search?hl=en&gl=us&q=app
http://clients1.google.com/complete/search?hl=en&gl=us&q=appl
http://clients1.google.com/complete/search?hl=en&gl=us&q=apple
    

Unfortunately, this is where even the best traditional load testing tools fall down. They don’t provide any help here, so it’s up to you to figure out how to, if it’s even possible, write complex scripting logic that breaks down the randomly selected search term by characters and then subsequently issue Ajax requests for each character in the term.

At this point, you’re basically rewriting the same logic that the web app developer wrote originally. If you’re a QA engineer, this may be difficult since you don’t know all the internal AJAX logic coded in to the application. If you’re the developer, it’s still annoying because it’s tedious and likely in a language other than the original JavaScript that you wrote your code in.

So how do real browsers help?

Because BrowserMob uses real browsers to both record and playback load, that means you don’t have to worry about trying to simulate the logic in a web browser. Instead, all you have to do is record the human interaction with the browser, such as typing in a randomly selected search term. BrowserMob will then pass those instructions on to the hundreds or thousands of browsers participating in the load test, and those browsers will in turn “do the right thing” and issue the proper AJAX requests.

And if the underlying logic, such as the request URL pattern for those AJAX requests, changes? With traditional load testing it’s up to you to detect and fix the problem. If your test uses real browsers to play back the traffic, your script won’t need to change one bit - the new AJAX logic will be run by the browser in real time.

Ensuring realistic playback

We’ve seen how use of real browsers helps with script creation, but what about playback? As we just learned, using real browsers simplifies the process of recording and shrinks the behavior coded in to the script itself. This means we’re letting the real browser - the same type of program your end users will use - make the decisions about what requests to make.

For example, when visiting http://ebay.com you might see the following page:

But reload the page and now you might see this:

Notice a difference? The upper right section has completely different images displayed. That’s because eBay’s home page chooses what to display based on complex and multi-variant logic determined at runtime. It’s quite likely that it’s going to be impossible for a load tester to know which images will be displayed on any given request.

It’s true that some load testing tools will try to parse the pages in real time and figure out which images should be displayed, but that’s hardly comforting once you’ve already learned they can’t deal with even the most simply Ajax components, as we just saw. And as most AJAX developers know, resources such as images and stylesheets are more and more likely to come from complex JavaScript logic and not due to a simple static reference in an HTML page.

Instead, the only way to guarantee that every single object (image, JavaScript, AJAX request, advertisement from an ad partner, etc) gets requested is to use a real web browser during playback. While it is much more resource intensive, it is also a major time saver on both the front-end, as scripts are much simpler to write, and the back-end, as you can be confident that the most realistic level of load was produced.

So next time you hear of load testing happening on one of your Ajax apps, make sure those doing the testing understand the complexities and difficulties associated with testing a complex web app. Help them be on the lookout for the issues highlighted here.

Thanks to Patrick for writing this. Do you have something important to say? If so, contact us with your idea!

Source: Ajaxian » Front Page
Original Article: http://feeds.feedburner.com/~r/ajaxian/~3/499473251/why-load-testing-ajax-is-hard

30GB Zunes All Over the World Fail En Masse

Written by on Wednesday, December 31st, 2008 in Uncategorized.

It seems that a random bug is affecting a bunch, if not all, 30GB Zunes. Real early this morning, a bunch of Zune 30s just stopped working. No official word from Redmond on this one yet but we might have a gadget Y2K8 going on here.

Hear their plaintive cries:

re: MAN COME ON MY 2ND ZUNE 30 STOPED WORKING !!!!!

Source: TechCrunch
Original Article: http://feedproxy.google.com/~r/Techcrunch/~3/jZqMxvExIh0/

UniversalComet: Make any web page a Comet end point

Written by on Wednesday, December 31st, 2008 in Uncategorized.

How about if all you needed to do was:

JAVASCRIPT:

  1.  
  2. var server = new Addressable.Server({ useGears: true });
  3.  
  4. server.onmessage = function (message) {
  5.         log(message)
  6. }
  7.  
  8. server.connect(function (id, url) {
  9.     log(“Connected. Messages will appear here.”)
  10.     $(“#clientId”).html(“Client-Url: “+url)
  11.     $(“#testForm”).attr(“action”, url)
  12. })
  13.  
  14. function log(msg) {
  15.     var log = $(“#log”);
  16.         log.html(“”+msg + “<br />” + log.html())
  17. }
  18.  

And you would have Comet end points to play with?

That is what Malte has given us with a proof of concept called UniversalComet:

I have developed a JavaScript library that makes it extremely easy to incorporate “comet” or server-push technology into any web application without need for special programming or any special support on the server. Ressources needed on the server are also practically zero.

When you use the JavaScript library, you will receive an URI that identifies the client. Now you can make simple HTTP-GET requests to that URI with a message parameter and the client will receive the message immediately. Because only your application will know the un-guessable URI, the client should be save from unwanted messages. The use of HTTP-GET messages also allows sending messages in a “P2P”-fashion from client to client using JSONP cross-domain-messages.

The function that is passed to the connect-method receives the URI of the client and as soon as messages arrive they will be send to the onmessage-callback.

The JavaScript application uses “channels” to differentiate between different windows that the same client has open at any given time. These are cached in window.name. If you set window.name yourself this value is used. You can also set server.setChannel(”myChannel”) before you connect to name the channel yourself.

You can check out the demo.

Source: Ajaxian » Front Page
Original Article: http://feeds.feedburner.com/~r/ajaxian/~3/499409019/universalcomet

Google’s Top Ten Products (More Or Less)

Written by on Wednesday, December 31st, 2008 in Uncategorized.

Can you name Google’s top ten products? If you look at how Quantcast ranks Google’s subdomains, you can get a sense of which Google products are the most popular, since they each have their own subdomain. Google’s main search engine tops the list with an estimated 136.6 million unique visitors in the U.S. Then comes Google Maps (36 million), Image Search (31.7 million), and Gmail (10.5 million). Google Docs, Sites, and Knol are still too small to make the top-ten, but are all showing decent growth.

YouTube and Orkut are not included below because they are on their own domains, but YouTube would be second with 70 million unique visitors. Orkut is not popular in the U.S., so it would not be a factor in this particular list. And I took out sorry.google.com, the domain Google uses to try to catch bots and spyware. It would have ranked No. 8.

Another notable trend that Quantcast measures is the rise of Google Book Search, which it claims surpassed Google News in visitors back in September. Perhaps the enhanced newspaper archive search features it introduced back then helped. Book Search visitors are now at 8.4 million vs. 7.4 million for Google News, according to Quantcast. Other measurement services such as comScore and Compete show Google News to still be bigger than Google Book Search. ComScore for instance shows Google News at 15.6 million unique U.S. visitors in November, compared to 7.8 million for Book Search. But both also show significant growth in Book Search visitors since the summer.

The Quantcast numbers are not completely reliable because Google’s sites have not been “Quantified” (the process Quantcast uses to collect its most accurate data). But they are roughly accurate. Below the Quantcast rankings, I’ve put the comparable rankings from comScore for U.S. visitors. Some of the rankings are different, but nine out of same products make it on each list. (The only difference is that comScore counts Google Product Search, while Quantcast counts Google Groups).

Quantcast

1. Google Search
2. Google Maps
3. Google Image Search
4. Gmail
5. Google Book Search
6. Google News
7. Google Video Search
8. Picasa
9. Google Earth
10. Google Groups

ComScore

1. Google Search
2. Google Image Search
3. Google Maps
4. Gmail
5. Google News Search
6. Google Video Search
7. Google Product Search
8. Google Book Search
9. Picasa
10. Google Earth

Crunch Network: CrunchGear drool over the sexiest new gadgets and hardware.

Source: TechCrunch
Original Article: http://feedproxy.google.com/~r/Techcrunch/~3/1BY1SshuJrk/

If you won’t file a bug, maybe test in a screen reader?

Written by on Wednesday, December 31st, 2008 in Uncategorized.

John Resig wants us to file bug reports to browser vendors but what about accessibility? Is that a responsibility that we have as Web developers?

Todd Kloots of Yahoo! shows us how to configure our machine for screen reader testing with full instructions:

When developing using the WAI-ARIA Roles and States, you need to test your code in a screen reader to ensure everything is working as you expect. As a follow up to my presentation on Developing Accessible Widgets with ARIA and in the interest of helping other developers test their code, I thought I would provide some tips on how to configure your development environment for screen reader testing.

  1. Install virtualization software
  2. Install browsers & take a snapshot of that state
  3. Install and configure screen readers
  4. Restart the virtual machine & take a snapshot of that state

Source: Ajaxian » Front Page
Original Article: http://feeds.feedburner.com/~r/ajaxian/~3/499384790/if-you-wont-file-a-bug-maybe-test-in-a-screen-reader



Site Navigation