31 January 2009

The day Google broke the Internet...

As I write this, all Google search results are being flagged as malware and redirected to a scary warning page, including google.com itself:
The warning page (which I've only seen a handful of times before today) looks like this:
Note the absence of any links to the offending site (in this case http://www.google.com/), diverting traffic to StopBadware.org (which is unsurprisingly down) and its own Safe Browsing diagnostic page , which is also down:
Looking forward to seeing the explanation for this... sucks to be whoever was responsible right now. When was the last time Google was effectively down for over half an hour?

Update: So it's definitely not just me - twitter's going crazy too.

Update 2: It's on Slashdot now, but hard to say if mainstream press has picked it up because Google News is down now too:
Update 3: StopBadware.org are pointing the finger at Google for their denial of service (see "Google glitch causes confusion").

Update 4: Google are pointing the finger back at StopBadware.org (see "This site may harm your computer" on every search result?!?!). Marissa Mayer has explained on the official blog the cause of the problem to have been human error in that "the URL of '/' was mistakenly checked in as a value to the file and '/' expands to all URLs".

Update 5: StopBadware.org claim that Google's explanation (above) "is not accurate. Google generates its own list of badware URLs, and no data that we generate is supposed to affect the warnings in Google’s search listings. We are attempting to work with Google to clarify their statement."

Update 6: Google statement updated, noting that they "maintain a list of such sites through both manual and automated methods" and that they work with StopBadware.org to "come up with criteria for maintaining this list, and to provide simple processes for webmasters to remove their site from the list", not for delivery of the list itself.

Summary: Now everything's back to normal the question to ask is how it was possible that a single character error in an update to a single file could disable Internet searches for the best part of an hour for most users? StopBadware.orgGoogle should never have allowed this update to issue (even though each case needs to be individually researched by humans the list itself should be maintained by computers) and Google's servers should never have accepted the catch-all '/' (any regexp matching more than a single server should be considered bogus and ignored). Fortunately it's not likely to happen again, if only because Google (who are "very sorry for the inconvenience caused to [their] users") are busy putting "more robust file checks in place".

Moral of the story: Wherever black or white-listing is implemented there are more moving parts and more to go wrong. In this case the offending service provides a tangible benefit (protecting users from malware) but those of you whose leaders are asking for your permission to decide what you can and can't see on the Internet should take heed - is the spectre of censorship and the risk of a national Internet outage really worth the perceived benefit? Will such an outage be rectified within an hour as it was by Google's army of SREs (Site Reliability Engineers)? And perhaps most importantly, will the scope of the list remain confined to that under which it was approved (typically the 'war on everything' from child pornography to terrorism) or will it end up being used for more nefarious purposes? In my opinion the benefit rarely outweighs the (potential) cost.

29 January 2009

Size doesn't matter (for Netbooks anyway)

I've just finished overhauling Wikipedia's Netbook article which currently does a much better job of reflecting reality than it did previously. In particular, the term 'Netbook' pertains to connectivity (which is why all of them have WiFi and many of them are fitted with 3G chips) and has nothing whatsoever to do with size. Notebooks on the other hand were all about size. Introduced in a time when a laptop was (by definition) anything you could fit on your lap, Notebooks were much smaller - about the size of a paper notebook.

Certain vendors would love you to believe that a Netbook is confined to form-factors less than 10 inches (which is largely useless for business productivity applications) and insist that you'll soon need to run Windows 7 on an Intel Core 2 Duo or Quad to be productive. Unfortunately for them the reality is that thanks to almost-ubiquitous connectivity and supporting cloud computing services, these devices are more than adequate for most purposes. Including business.

And why wouldn't business want a disposable device that lasts 5-10 years, can be bought at the supermarket for a few hundred dollars and that works out-of-the-box? Forget about imaging, drivers, updates and standard operating environments - the bundled software (like Mac OS X) is 'moulded' to the hardware, which is itself a moving target. You're much better off to let the hardware vendors do their job and focus on adding value via the Internet accessible services you deliver to your end users.

Like it or not, full featured Netbooks are here, and with them a new era of computing - at least for those who have the systems in place to support them (e.g. terminal services, VDI) and/or the agility to migrate to cloud computing (e.g. Google Apps, [Sales]Force.com). It's only a matter of time until someone introduces an affordable, full-sized (12 inches or above) business grade netbook and then it's pretty much game over for the Notebook - even I would think twice about the next MacBook refresh if there was a netbook equivalent.

Netbook

From Wikipedia, the free encyclopedia

An Asus Eee PC netbook.

A netbook is a class of laptop that is light-weight, cheap, low power consumption and optimised for wireless communication and Internet access[1][2]. Hence the name netbook (as "the device excels in web-based computing performance")[3] rather than notebook which pertains to size[4].

Primarily designed for web browsing and e-mailing, netbooks "rely heavily on the Internet for remote access to web-based applications"[3] and are targeted increasingly at cloud computing users who rely on servers and require a less powerful client computer.[5]. While the devices range in size from below 5 inches[6] to over 12[7], most are between 7 and 11 inches and weigh between 2 and 3 pounds[3].

Netbooks have a wide range of light-weight operating systems including Linux and Windows XP[3] rather than more resource-intensive operating systems like Windows Vista as they have less processing power than traditional laptops[8].

History

The influx of small form factor laptops categorized as netbooks began in 2007 when Asus unveiled the Intel Celeron-based ASUS Eee PC. The 8.9 × 6.5 in (23 x 17 cm) device weighed about two pounds and featured a 7-inch display, a keyboard approximately 85% the size of a normal keyboard, a custom version of Linux and the ability to run alternate operating systems[9]. Following the EeePC, Everex launched its CloudBook in mid February 2008, MSI released the Wind, Dell and HP both released "Mini" series (the Inspiron Mini and HP Mini) and others soon followed suit.

By late 2008, Netbooks had begun to take mind share away from laptops[10] and overtook iPhone sales by 900,000 units in Q3.[11] It is estimated that almost thirty times more netbooks were sold in 2008 (11.4 million, 70% of which were in Europe[12]) thank in 2007 (400,000)[13] and for 2009 sales are expected to grow a further 189% to 21.5 million[13]. Sales are projected to increase up to 50 million by the year 2012[14]. The trend is being driven by cloud computing and 3G adoption as well as the economic downturn and netbooks are evolving into "super-portable laptops for professionals"[15].

Early January 2009, two companies introduced ARM architecture based models, indicating a shift from the Intel Atom processor[16][17].

The term Netbook

See also: Psion and the term Netbook

Led by the popularization of small-form-factor laptops by Asus and then others, the term 'netbook' became a widely used and genericized[18][19] industry classification rather than a reference to a particular product. By April 2008, Intel had begun officially using the term netbook to recognize a specific sub-category of laptops.[2][9]

Psion have various trademarks for the term netbook (including U.S. Trademark 75,215,401 and Community Trade Mark 000428250) relating to their "netBook" series[20] that was discontinued in November 2003[21][22]. Despite prior use of the term dating back to at least as far as 1989 (U.S. Trademark 74,001,501) and having neither used the (now generic) term nor enforced the trademark in over 5 years (after which time it can be considered abandoned for non-use) a batch of cease and desist letters were dispatched on 23 December 2008.[23][24][25]. Similar applications by MSI (U.S. Trademark 77,580,272) and Coby Electronics (U.S. Trademark 77,590,174) have been recently rejected by the USPTO citing a "likelihood of confusion" under section 2(d).

Hardware

While specifications and features of netbooks continue to evolve (for example with the introduction of 12-inch screens and ARM processors), one report at the end of 2008 suggested the typical netbook featured a 3-lb (1.4 kg) weight, a 9-inch (23 cm) screen, wireless Internet connectivity, Linux or Windows XP, an Intel chip, and a cost of less than US$400[26].

Netbooks may also forgo a hard disk drive[27] or optical disc drive, instead favoring solid state storage devices such as internal solid-state hard drives and SD cards for their low power consumption, weight, and high durability. All netbooks on the market today feature Wi-Fi wireless networking and many also feature mobile data capabilities such as 3G.

Software

The two main operating systems shipped on netbooks are various netbook-specific distributions of Linux (e.g. Ubuntu) and Microsoft Windows XP. Between one in three and one in four netbooks run Linux, which is almost two orders of magnitude higher than its share on traditional devices[28] but still less than half that of Windows XP (which Microsoft estimate runs on 70% of netbooks[29]).

Microsoft have extended availability of Windows XP for ultra-low cost personal computers from June 2008 until June 2010[30], possibly to avoid netbooks from gaining market share at the expense of full-featured desktops and laptops[31] and avoid increased use of Linux installations on netbooks[32]. Microsoft is also testing[33] and has demonstrated[34] a version of Windows 7 for this class of devices[35].

Advanced users may install other operating systems (including other distributions of Linux, editions of Windows XP and Mac OSX) or application software, but users typically rely on cloud computing applications and services which are available via the Internet and require less powerful hardware.[36] on the local computer.

Gallery

See also

References

  1. ^ The Net Impact of Netbooks? It Depends on Who Uses Them for What
  2. ^ a b "Thoughts on Netbooks". Intel.com, Paul Bergevin, March 03, 2008. http://blogs.intel.com/technology/2008/03/thoughts_on_netbooks.php.
  3. ^ a b c d Netbook Trends and Solid-State Technology Forecast. pricegrabber.com. pp. 7. https://mr.pricegrabber.com/Netbook_Trends_and_SolidState_Technology_January_2009_CBR.pdf. Retrieved on 2009-01-28.
  4. ^ What is a laptop computer?
  5. ^ "Disruptor: The 'netbook' revolution". Fortune Magazine, Michael Copeland, October 16, 2008. http://money.cnn.com/2008/10/13/technology/copeland_asus.fortune/index.htm.
  6. ^ UMID Netbook Only 4.8″
  7. ^ WORLD FIRST review of Inspiron Mini 12: Dell’s super-slim netbook!
  8. ^ "Cheap PCs Weigh on Microsoft". Business Technologies, The Wall Street Journal, December 8, 2008. http://blogs.wsj.com/biztech/2008/12/08/cheap-pcs-weigh-on-microsoft/.
  9. ^ a b "Intel Sets Out Netbook and Nettop Plans". Trustedreviews.com, Edward Chester, 4th Apr 2008. http://www.trustedreviews.com/notebooks/news/2008/04/04/Intel-Sets-Out-Netbook-and-Nettop-Plans/p1.
  10. ^ Ian Lamont (2008-10-04). ""Netbooks" Move Up In Notebook Rankings". Slashdot. http://hardware.slashdot.org/article.pl?sid=08/10/04/1827200. Retrieved on 2008-10-23.
  11. ^ NetBookBoards.com (2008-12-12). ""Netbook" Sales Overtake iPhone Sales". http://netbookboards.com/netbooks/netbook-sales-overtake-iphone-sales/. Retrieved on 2008-12-10.
  12. ^ 70% of Netbook sales are in Europe
  13. ^ a b Analysis: Did Intel underestimate netbook success?
  14. ^ Nicole Kobie (2008-08-12). "Netbook sales to top 50 million by 2012". PC Pro. http://www.pcpro.co.uk/news/217917/netbook-sales-to-top-50-million-by-2012.html. Retrieved on 2008-10-23.
  15. ^ Puny, Trendy Netbooks Are Growing Up to Suit Business Users
  16. ^ LimePC: $199 Freescale-powered netbook - Video
  17. ^ Pegatron showcases prototype $199 netbook
  18. ^ Psion says it's only going after those "profiting" from the term netbook
  19. ^ Psion threatens netbook sites over trademarks
  20. ^ Psion netbook news release
  21. ^ Psio Discontinued Products
  22. ^ A netbook by any other name, or how Psion is going discover you have to use it or lose it.
  23. ^ Netbook enthusiast web sites getting C & D using term “netbook”
  24. ^ Psion Press Release
  25. ^ Psion threatens netbook sites over trademarks
  26. ^ "Tech's hope in 2009 - or curse?". Fortune Magazine, December 24, 2008, Jon Fortt. http://money.cnn.com/2008/12/24/technology/fortt_netbooks.fortune/index.htm.
  27. ^ What is a Netbook computer?
  28. ^ Microsoft's Windows Vista global usage share is 3.23 percent on the web according to OneStat.com
  29. ^ Microsoft Missing Netbook Growth as Linux Wins Sales (Update2)
  30. ^ Microsoft Announces Extended Availability of Windows XP Home for ULCPCs, April 3, 2008 Press release
  31. ^ Microsoft to limit capabilities of cheap laptops, IT World May 12, 2008
  32. ^ Microsoft U-turn to stop Linux dominating ultra low cost PC
  33. ^ Microsoft seeking Win 7 testers for netbooks?
  34. ^ Ars@PDC: Steven Sinofsky on Windows 7 and netbooks
  35. ^ Confirmed: Windows 7 'netbook edition'
  36. ^ Shoot For the Clouds

Further reading

External links

Major Google App Engine 2.0 update (Java, cron, billing) in the pipeline?

I've been doing a lot of Google App Engine development lately and getting increasingly familiar with how it all works. I was curious as to how the SDK (specifically appcfg.py) goes about pushing applications up to the cloud and wasn't surprised to find that it's actually quite simple, trading your credentials for a token and then pushing files up one by one (wrapped in a transaction). What I was surprised to find though was a seemingly complete implementation of a feature that has been requested time and time and time and time and time again: cron jobs.

The cron implementation appears to have been checked in by one Dan Sanderson (a Programmer/Writer at Google according to LinkedIn) with subversion r34 (1.1.8) back on the 15 January 2009, though apparently I'm not the first to spot it. Thanks Ross M Karchner for kicking the tyres and working out that while the SDK and APIs are in place and cron entries can be created, the events don't fire just yet (and Google for the new toy - it's great to know now what we'll be able to do soon).

Of course the other big feature that's been in the pipeline for a long, long, long, long, long time (and that was even apparently publicly confirmed by Google last year) is Java support. Greg Czajkowski's been a Googler for a while now and his contribution to Sun's Project Barcelona (including JSR 284: Resource Consumption Management API and JSR 121: Application Isolation API Specification) is just what they need to make Java work in this environment. Knowing that the mystery language is going to be one of the few Google supports internally (C++, Java, Python and JavaScript), that we already have Python and that it's not likely to be C++ or JavaScript (though they wouldn't be the first to try server side javscript), that leaves only Java. It's literally App Engine's number 1 issue and between it and related issue 102 it has over 2000 votes.

Finally, and arguably most importantly for those of us working on enterprise deployments rather than hobby projects, utility billing is overdue and eagerly awaited.

I'm expecting to see this major update drop some time in the next few weeks, securing Google's position as one of a small number of major Platform-as-a-Service (PaaS) players. In the mean time we've got offline Gmail to play with.

Sam

Update: Here's a comment I left on issue 6 which gives some more technical details:


I just spotted this in the latest SDK release so it looks like cron (among other things) is just around the corner:

$ ls -la google/appengine/cron/
total 272
drwxr-xr-x  12 samj  admin    408 17 Jan 12:18 .
drwxr-xr-x  11 samj  admin    374 17 Jan 12:18 ..
-r--r--r--   1 samj  admin  27359 15 Jan 03:16 GrocLexer.py
-rw-r--r--   1 samj  admin  25813 17 Jan 12:18 GrocLexer.pyc
-r--r--r--   1 samj  admin  21071 15 Jan 03:16 GrocParser.py
-rw-r--r--   1 samj  admin  18377 17 Jan 12:18 GrocParser.pyc
-r-xr-xr-x   1 samj  admin    646 15 Jan 03:16 __init__.py
-rw-r--r--   1 samj  admin    313 17 Jan 12:18 __init__.pyc
-r-xr-xr-x   1 samj  admin   1909 15 Jan 03:16 groc.py
-rw-r--r--   1 samj  admin   3050 17 Jan 12:18 groc.pyc
-r-xr-xr-x   1 samj  admin   7848 15 Jan 03:16 groctimespecification.py
-rw-r--r--   1 samj  admin  10029 17 Jan 12:18 groctimespecification.pyc

From the comments in the code, here's what you can expect:

A Groc schedule looks like '1st,2nd monday 9:00', or 'every 20 mins'. This
module takes a parsed schedule (produced by Antlr) and creates objects that
can produce times that match this schedule.

A parsed schedule is one of two types - an Interval, and a Specific Time.
See the class docstrings for more.

Extensions to be considered:

  allowing a comma separated list of times to run
  allowing the user to specify particular days of the month to run

  An Interval type spec runs at the given fixed interval. They have two
  attributes:
  period   - the type of interval, either "hours" or "minutes"
  interval - the number of units of type period.

  A Specific interval is more complex, but define a certain time to run, on
  given days. They have the following attributes:
  time     - the time of day to run, as "HH:MM"
  ordinals - first, second, third &c, as a set of integers in 1..5
  months   - the months that this is valid, as a set of integers in 1..12
  weekdays - the days of the week to run this, 0=Sunday, 6=Saturday.

  The specific time interval can be quite complex. A schedule could look like
  this:
  "1st,third sat,sun of jan,feb,mar 09:15"

  In this case, ordinals would be [1,3], weekdays [0,6], months [1,2,3] and time
  would be "09:15".

Seems I'm not the first to discover this[1], and while the SDK works and cron-related log entries are written 
the cron events don't fire just yet.

Sam

1. http://groups.google.com/group/google-appengine/browse_thread/thread/4376bdd02b7bfa3f?pli=1

22 January 2009

2009: The year of the 'Enterprise Netbook' (and other cloud clients)

There's exciting times ahead in 2009 for the enterprise - the maturity of cloud computing services like Google Apps and [Sales]Force.com is finally enabling them to reach to the holy grail of personal computing: reliable, cheap, connected clients, and the OEMs are finally ready to supply the (now rapidly growing) demand.

It's not surprising that this shift is starting with the netbook ('a light-weight, low-cost, energy-efficient, highly portable laptop'), but expect similar devices (Update: 'Nettops') to start marching into the heartland of the desktop (including the enterprise desktop) before long too. I expect PCs and laptops as we know them today to go the way of the dodo within one or two 3-year refresh cycles (maybe 3 for the laggards), and that we'll be able to buy these devices by the kilo from chinese manufacturers like Lenovo before long.

And why wouldn't this be the case? On offer are smaller, lighter, "sufficiently capable" devices with few or no moving parts (and thus significantly longer lifetimes - 10 year MTBFs are not unheard of), which boast extended battery lives (8+ hours - enough for a full working day), all at a fraction of the price; order of magnitude cost reductions provide significant incentive to migrate.

The performance race is now well and truly over and chip manufacturers are scrambling to change tack so as to deliver adequate computing power as efficiently and economically as possible. The megahertz myth turned the whole thing into a farce anyway as it has long since been virtually impossible to compare chips by specification, short of conducting application-specific benchmarks; what's more important; more cores? more cache? more cycles? Or less cost, less energy use, longer battery life and longer lifetimes?

By offloading a lot of the extra work to the server side (typically large, next generation datacenters loaded with commodity PC hardware) the thin client is finally becoming a mass market reality. You'd be forgiven for drawing parallels to the mainframe era, but we had good reason at the time to move to client-server (and good reason now to return).

Here's what the specs for what I call an 'Enterprise Netbook' ought to look like by the second half of this year:
  • 12-14" display
  • ~2GHz 'green' processor
  • 1-2Gb RAM (browsers tend to be heavy on the RAM which is now relatively cheap)
  • 4-40Gb Solid State Disk (SSD)
  • USB-only ('legacy free') connectivity
  • Wireless networking (various combinations of WiFi, 3G, etc.)
  • 6-8+ hour battery life
  • 3-5 year warranties
The key attribute missing from today's generation of consumer devices like the eeePC, MSI Wind and equivalents from the incumbents (Dell, HP, etc.) is a suitable screen, thanks to a 10 inch display 'glass ceiling'. This is no accident as on one hand Intel want it that way (and are said to be coercing OEMs to 'keep a lid on it' at 10.2 inches) and on the other they're busy bashing the formfactor as being "fine for an hour". Meanwhile AMD are ignoring it altogether and NVIDIA and VIA gave up on their collaboration last year (although both NVIDIA and VIA are now represented independently). Surely it should have come as no surprise that it was not (yet) going to be possible to forge a market for a third Internet device between laptops and mobiles when there is already some contention between the two.

All is not lost though as Intel's Atom processor is starting to make its way into enterprise friendly 12-14" devices (in my opinion Apple have found the sweet spot at 13.3" with the MacBook line) and is already in production in consumer devices like Dell's Inspiron Mini 12. This comes at the expense of Core 2 Duo sales as evidenced by last quarter's appalling results (90% down), but it's arguably better to cannibalise a Core 2 sale to earn the margin of a Celeron than lose it altogether to a competitor.

So where will these sales go if not to Intel? I touched on this last week in the context of an Apple netbook (which is more a matter of 'when' than 'if') and I've also talked about a 'cloud client' style device based on VIA Eden that I prototyped at Australian Online Solutions over 5 years ago (well before the services to support it existed). With mind-blowing performance being a non-issue (or even a battery-sucking legacy) in this type of device, the door opens up to a myriad chip vendors - almost all of which stem from the ARM family. These RISC chips are (in many ways) better, faster and cheaper than their CISC equivalents (eg Intel's x86), especially in mobile settings where as recently as 2007 they held a staggering 98% market share.

Bearing in mind that there's something like 3 mobile devices for every personal computer it's no wonder then why Apple recently bought PA Semi and Google's Android is on the platform too. Essentially all Google and Apple need to do to get in the Netbook game is scale up the size of their iPhone and Android designs. Update: Qualcomm are another player to keep an eye on in this space - they're already up to their necks in Android and just purchased mobile graphics tech from AMD to deliver "more advanced products that redefine next-generation mobile user experiences". They all have little to fear from Windows Mobile in the mean time (which is due to catch up later this year) nor Windows 7 (which while a breath of fresh air after Vista will be at a significant performance handicap), though they may well face stiff competition from a vibrant ecosystem of Netbook providers.

Of all the vendors, Microsoft will have the biggest challenge ahead (Update: Netbooks become the bane of Microsoft) in justifying the existence (and cost) of a full local operating system and application stack (plus the extra hardware required to support it). My rule of thumb is that commodity software (Windows, Office, etc.) should never cost more than half of the cost of the hardware (especially when it can be had for free), which is fine on a $2,000 PC but less so on a $200 netbook when even Windows XP Embedded costs $90. There is now also the spectre of new action from the EU relating to the bundling of Internet Explorer (last week found to be in violation of the antitrust laws) which could potentially see the single most important component shipped with competitors' software or removed altogether. Let's hope something like Midori will come along and save the day because healthy competition is good for all of us and Microsoft still have a lot to offer.

What all this means for enterprise is that there are both dramatic cost savings and a new way of working just around the corner, provided you're ready with the infrastructure to support the new devices (e.g. cloud computing, application virtualisation, integration, security). We're working with large enterprises (as we have been for over a decade now) on raising awareness, developing strategy, proving and piloting concepts, governing deployments and managing change and are as excited as they are about the future of cloud computing.

16 January 2009

Native Web Applications (NWA) vs Rich Internet Applications (RIA)

A rewrite of the Rich Internet Application (RIA) article (snapshot) is my latest contribution to Wikipedia following last year's full rewrite of the Cloud Computing article (which is now finally fairly stable and one of the main authorative sources on the topic; according to the article statistics I've just done my 500th edit, or one every eight hours on average so it's about as up-to-date as you'll find).

Needless to say I agree wholeheartedly with Mozilla's Mark Finkle in saying RIA is Dead! Long Live Web Applications. There's still some niches (eg online gaming, video capture) but with HTML 5 bringing goodies like the VIDEO tag (even if commercial interests prevented standardisation on open standards like Theora) and next-generation browsers (eg Google Chrome) treating plugins like second-class citizens, it's only a matter of time before Rich Internet application Frameworks (yes there's a new Wikipedia category too) are relegated to specific use cases and enterprises with controlled client configurations.

Proliferation of mobile and alternative devices (eg Netbooks using Linux and/or ARM processors) is making it increasingly difficult for vendors who were already struggling to maintain penetration rates and having wildly successful devices like the iPhone totally off limits can't be helping (especially if Apple branch out into the Netbook space as they almost certainly will this year).

Just quickly on that topic, this will be true whether they enter the market with an embedded device (eg iPhone's stripped back OS X on ARM) or go for a full-blown thick client (eg OS X on Atom) as either way it would surprise me if the AppStore (with all its restrictions) didn't make an appearance. Unlike Microsoft, while Apple make virtually nothing on software sales to traditional thick clients the AppStore is a license to print money.

The rest of us will be able to enjoy what I call "Native Web Applications" (NWAs for those who insist on TLAs) from the device of our choice with nothing more than a recent, standards-compliant browse like  Chrome, Firefox, IE 8 or WebKit. For now I define it as follows:
A Native Web Application (NWA) is a web application which is 100% supported out of the box by recent standards-compliant web browsers

You don't have to use this term if you don't want to (I can't think of a better one), but please make an effort to avoid referring to such applications as 'Rich Internet applications' irrespective of how 'rich' the interface appears. And no, using Ajax (which is based on existing web standards) does not make for an RIA, nor does releasing components of an RIA Framework as open source and/or open standards make for an NWA. It's becoming increasingly important to differentiate and while RIA need not be considered dirty words, the only way to reach everyone will be by going native.

Rich Internet application

From Wikipedia, the free encyclopedia

Rich Internet applications (RIAs) are web applications that have some of the characteristics of desktop applications, typically delivered by way of proprietary web browser plug-ins or independently via sandboxes or virtual machines[1]. Examples of RIA frameworks include Adobe Flash, Java/JavaFX[2] and Microsoft Silverlight[3].

The term was introduced in the 1990's by vendors like Macromedia who were addressing limitations at the time in the "richness of the application interfaces, media and content, and the overall sophistication of the solutions" by introducing proprietary extensions[4].

As web standards (such as Ajax and HTML 5) have developed and web browsers' compliance has improved there is less need for such extensions. HTML 5 delivers a full-fledged application platform; "a level playing field where video, sound, images, animations, and full interactivity with your computer are all standardized"[5].

Deployment

With very few exceptions (most notably YouTube which currently relies on Adobe Flash for video playback) the vast majority of the most popular web sites are native web applications[6]. Online gaming is one area where RIAs are prevalent and applications (such as DimDim) which require access to video capture also tend to use RIAs (with the notable exception of Gmail which uses its own task-specific browser plug-in[7]).

Key characteristics

  • Accessibility of data to search engines and web accessibility can be impaired. For example it took over a decade from release for Adobe Flash to be universally searchable[7].
  • Advanced communications with supporting servers can improve the user experience, for example by using optimised network protocols, asynchronous I/O and pre-fetching data (eg Google Maps). Accordingly, reliable broadband connections are often required.
  • Complexity of advanced solutions can make them more difficult to design, develop, deploy and debug than traditional web applications (but typically less so than application software).
  • Consistency of user interface and experience can be controlled across operating systems. Performance monitoring and fault diagnosis can be particularly difficult.
  • Installation and Maintenance of plug-ins, sandboxes or virtual machines is required (but applications are smaller than their predecessors and updates are typically automated). Installation is typically faster than that of application software but slower than that of native web applications and automation may not be possible.
  • Offline use may be supported by retaining state locally on the client machine, but developments in web standards (prototyped in Google Gears) have also enabled this for native web applications.
  • Security can improve over that of application software (for example through use of sandboxes and automatic updates) but the extensions themselves are subject to vulnerabilities and access possible is often much greater than that of native web applications[8].
  • Performance can improve depending on the application and network characteristics. In particular, applications which can avoid the latency of round-trips to the server by processing locally on the client are often a lot faster. Offloading work to the clients can also improve server performance. Conversely the resource requirements can be prohibitive for small, embedded and mobile devices.
  • Richness by way of features not supported natively by the web browser such as video capture (eg Adobe Flash).

Frameworks

"See also" category: Rich Internet application frameworks
An appropriate Rich Internet application framework is usually required to run an RIA, and needs to be installed using the computer's operating system before launching the application. The software framework is typically responsible for downloading, updating, verifying and executing the RIA.[9]

References


See also


External links