Skip to content →

Tag: web applications

Chrome Remote Desktop

A few weeks ago, I blogged about how the web was becoming the most important and prominent application distribution platform and about Google’s efforts to embrace that direction with initiatives like ChromeOS (Google’s operating system which is designed only to run a browser/use the internet), Native Client, and the Chrome Web Store.

Obviously, for the foreseeable future, “traditional” native applications will continue to have significant advantages over web applications. As much of a “fandroid”/fan of Google as I am, I find it hard to see how I could use a Chromebook (a laptop running Google’s ChromeOS) over a real PC today because of my heavy use of apps like Excel or whenever I code.

However, you can do some pretty cool things with web applications/HTML5 which give you a sense of what can one day be possible. Case in point: enter Chrome Remote Desktop (HT: Google Operating System), a beta extension for Google Chrome which basically allows you to take control of another computer running Chrome a la remote desktop/VNC. While this capability is nothing new (Windows had “remote desktop” built in since, at latest, Windows XP, and there are numerous VNC/remote desktop clients), what is pretty astonishing is that this app is built entirely using web technologies – whereas traditional remote desktops use non-web based communications and native graphics to create the interface to the other computer, Chrome Remote Desktop is doing all the graphics in the browser and all the communications using either the WebSocket standard from HTML5 or Google Talk’s chat protocol! (see below as I use my personal computer to remote-control my work laptop where I am reading a PDF on microblogging in China and am also showing my desktop background image where the Jedi Android slashes up a Apple Death Star)

image

How well does it work? The control is quite good – my mouse/keyboard movements registered immediately on the other computer – but the on-screen graphics/drawing speed was quite poor (par for the course for most sophisticated graphics drawing apps in the browser and for a beta extension). The means of controlling another desktop, while easy to use (especially if you are inviting someone to take a look at your machine) is very clumsy for some applications (i.e. a certain someone who wants to leave his computer in the office and use VNC/remote desktop to access it only when he needs to).

So, will this replace VNC/remote desktop anytime soon? No (nor, does it seem, were they the first to think up something like this), but that’s not the point. The point, at least to me, is that the browser is picking up more and more sophisticated capabilities and, while it may take a few more versions/years before we can actually use this as a replacement for VNC/remote desktop, the fact that we can even be contemplating that at all tells you how far browser technology has come and why the browser as a platform for applications will grow increasingly compelling.

One Comment

Web vs native

imageWhen Steve Jobs first launched the iPhone in 2007, Apple’s perception of where the smartphone application market would move was in the direction of web applications. The reasons for this are obvious: people are familiar with how to build web pages and applications, and it simplifies application delivery.

Yet in under a year, Apple changed course, shifting the focus of iPhone development from web applications to building native applications custom-built (by definition) for the iPhone’s operating system and hardware. While I suspect part of the reason this was done was to lock-in developers, the main reason was certainly the inadequacy of available browser/web technology. While we can debate the former, the latter is just plain obvious. In 2007, the state of web development was relatively primitive relative to today. There was no credible HTML5 support. Javascript performance was paltry. There was no real way for web applications to access local resources/hardware capabilities. Simply put, it was probably too difficult for Apple to kludge together an application development platform based solely on open web technologies which would get the sort of performance and functionality Apple wanted.

But, that was four years ago, and web technology has come a long way. Combine that with the tech commentator-sphere’s obsession with hyping up a rivalry between “native vs HTML5 app development”, and it begs the question: will the future of application development be HTML5 applications or native?

There are a lot of “moving parts” in a question like this, but I believe the question itself is a red herring. Enhancements to browser performance and the new capabilities that HTML5 will bring like offline storage, a canvas for direct graphic manipulation, and tools to access the file system, mean, at least to this tech blogger, that “HTML5 applications” are not distinct from native applications at all, they are simply native applications that you access through the internet. Its not a different technology vector – it’s just a different form of delivery.

Critics of this idea may cite that the performance and interface capabilities of browser-based applications lag far behind those of “traditional” native applications, and thus they will always be distinct. And, as of today, they are correct. However, this discounts a few things:

  • Browser performance and browser-based application design are improving at a rapid rate, in no small part because of the combination of competition between different browsers and the fact that much of the code for these browsers is open source. There will probably always be a gap between browser-based apps and native, but I believe this gap will continue to narrow to the point where, for many applications, it simply won’t be a deal-breaker anymore.
  • History shows that cross-platform portability and ease of development can trump performance gaps. Once upon a time, all developers worth their salt coded in low level machine language. But this was a nightmare – it was difficult to do simple things like showing text on a screen, and the code written only worked on specific chips and operating systems and hardware configurations. I learned C which helped to abstract a lot of that away, and, keeping with the trend of moving towards more portability and abstraction, the mobile/web developers of today develop with tools (Python, Objective C, Ruby, Java, Javascript, etc) which make C look pretty low-level and hard to work with. Each level of abstraction adds a performance penalty, but that has hardly stopped developers from embracing them, and I feel the same will be true of “HTML5”.
  • Huge platform economic advantages. There are three huge advantages today to HTML5 development over “traditional native app development”. The first is the ability to have essentially the same application run across any device which supports a browser. Granted, there are performance and user experience issues with this approach, but when you’re a startup or even a corporate project with limited resources, being able to get wide distribution for earlier products is a huge advantage. The second is that HTML5 as a platform lacks the control/economic baggage that iOS and even Android have where distribution is controlled and “taxed” (30% to Apple/Google for an app download, 30% cut of digital goods purchases). I mean, what other reason does Amazon have to move its Kindle application off of the iOS native path and into HTML5 territory? The third is that web applications do not require the latest and greatest hardware to perform amazing feats. Because these apps are fundamentally browser-based, using the internet to connect to a server-based/cloud-based application allows even “dumb devices” to do amazing things by outsourcing some of that work to another system. The combination of these three makes it easier to build new applications and services and make money off of them – which will ultimately lead to more and better applications and services for the “HTML5 ecosystem.”

Given Google’s strategic interest in the web as an open development platform, its no small wonder that they have pushed this concept the furthest. Not only are they working on a project called Native Client to let users achieve “native performance” with the browser, they’ve built an entire operating system centered entirely around the browser, Chrome OS, and were the first to build a major web application store, the Chrome Web Store to help with application discovery.

While it remains to be seen if any of these initiatives will end up successful, this is definitely a compelling view of how the technology ecosystem evolves, and, putting on my forward-thinking cap on, I would not be surprised if:

  1. The major operating systems became more ChromeOS-like over time. Mac OS’s dashboard widgets and Windows 7’s gadgets are already basically HTML5 mini-apps, and Microsoft has publicly stated that Windows 8 will support HTML5-based application development. I think this is a sign of things to come as the web platform evolves and matures.
  2. Continued focus on browser performance may lead to new devices/browsers focused on HTML5 applications. In the 1990s/2000s, there was a ton of attention focused on building Java accelerators in hardware/chips and software platforms who’s main function was to run Java. While Java did not take over the world the way its supporters had thought, I wouldn’t be surprised to see a similar explosion just over the horizon focused on HTML5/Javascript performance – maybe even HTML5 optimized chips/accelerators, additional ChromeOS-like platforms, and potentially browsers optimized to run just HTML5 games or enterprise applications?
  3. Web application discovery will become far more important. The one big weakness as it stands today for HTML5 is application discovery. Its still far easier to discover a native mobile app using the iTunes App Store or the Android Market than it is to find a good HTML5 app. But, as platform matures and the platform economics shift, new application stores/recommendation engines/syndication platforms will become increasingly critical.

I can’t wait :-).

(Image credit – iPhone SDK)

22 Comments

Web 3.0

About a year ago, I met up with Teresa Wu (of My Mom is a Fob and My Dad is a Fob fame). It was our first “Tweetup”, a word used by social media types to refer to meet-up’s between people who had only previously been friends over Twitter. It was a very geeky conversation (and what else would you expect from people who referred to their first face-to-face meeting as a Tweetup?), and at one point the conversation turned to discuss our respective visions of “Web 3.0”, which we loosely defined as what would come after the current also-loosely-defined “Web 2.0” wave of today’s social media websites.

On some level, trying to describe “Web 3.0” is as meaningless as applying the “Web 2.0” label to websites like Twitter and Facebook. It’s not an official title, and there are no set rules or standards on what makes something “Web 2.0”. But, the fact that there are certain shared characteristics between popular websites today versus their counterparts from only a few years ago gives the “Web 2.0” moniker some credible intellectual weight; and the fact that there will be significant investment in a new generation of web companies lends special commercial weight as to why we need to come up with a good conception of “Web 2.0” and a good vision for what comes after (Web 3.0).

So, I thought I would get on my soapbox here and list out three drivers which I believe will define what “Web 3.0” will look like, and I’d love to hear if anyone else has any thoughts.

  1. A flight to quality as users start struggling with ways to organize and process all the information the “Web 2.0” revolution provided.
  2. The development of new web technologies/applications which can utilize the full power of the billions of internet-connected devices that will come online by 2015.
  3. Browser improvement will continue and enable new and more compelling web applications.

I. Quality over quantity

In my mind, the most striking change in the Web has been the evolution of its primary role. Whereas “Web 1.0” was oriented around providing information to users, generally speaking, “Web 2.0” has been centered around user empowerment, both in terms of content creation (blogs, Youtube) and information sharing (social networks). Now, you no longer have to be the editor of the New York Times to have a voice – you can edit a Wikipedia page or upload a YouTube video or post up your thoughts on a blog. Similarly, you no longer have to be at the right cocktail parties to have a powerful network, you can find like-minded individuals over Twitter or LinkedIn or Facebook.

The result of this has been a massive explosion of the amount of information and content available for people and companies to use. While I believe this has generally been a good thing, its led to a situation where more and more users are being overwhelmed with information. As with the evolution of most markets, the first stage of the Web was simply about getting more – more information, more connections, more users, and more speed. This is all well and good when most companies/users are starving for information and connections, but as the demand for pure quantity dries up, the attention will eventually focus on quality.
image
While there will always be people trying to set up the next Facebook or the next Twitter (and a small percentage of them will be successful), I strongly believe the smart money will be on the folks who can take the flood of information now available and milk that into something more useful, whether it be for targeting ads or simply with helping people who feel they are “drinking from a fire hose”. There’s a reason Google and Facebook invest so much in resources to build ads which are targeted at the user’s specific interests and needs. And, I feel that the next wave of Web startups will be more than simply tacking on “social” and “online” to an existing application. It will require developing applications that can actually process the wide array of information into manageable and useful chunks.

II. Mo’ devices, mo’ money

image A big difference between how the internet was used 10 years ago and how it is used today is the rise in the number of devices which can access the internet. This has been led by the rise of new smartphones, gaming consoles, and set-top-boxes. Even cameras have been released with the ability to access the internet (as evidenced by Sony’s Cybershot G3). While those of us in the US think of the internet as mainly a computer-driven phenomena, in much of the developing world and in places like Japan and Korea, computer access to the internet pales in comparison to access through mobile phones.

The result? Many of these interfaces to the internet are still somewhat clumsy, as they were built to mimic PC type access on a device which is definitely not the PC. While work by folks at Apple and at Google (with the iPhone and Android browsers) and at shops like Opera (with Opera Mini) and Skyfire have smoothed some of the rougher edges, there is only so far you can go with mimicking a computer experience on a device that lacks the memory/processing power limitations and screen size of a larger PC.

This isn’t to say that I think the web browsing experience on an iPhone or some other smartphone is bad – I actually am incredibly impressed by how well the PC browsing experience transferred to the mobile phone and believe that web developers should not be forced to make completely separate web pages for separate devices. But, I do believe that the real potential of these new internet-ready devices lies in what makes those individual devices unique. Instead of more attempts to copy the desktop browsing experience, I’d like to see more websites use the iPhone’s GPS to give location-specific content, or use the accelerometer to control a web game. I want to see social networking sites use a gaming console’s owner’s latest scores or screenshots. I want to see cameras use the web to overlay the latest Flickr comments on the pictures you’ve taken or to do augmented reality. I want to see set-top boxes seamlessly mix television content with information from the web. To me, the true potential of having 15 billion internet-connected devices is not 15 billion PC-like devices, but 15 billion devices each with its own features and capabilities.

III. Browser power

image
While the Facebooks and Twitters of the world get (and deserve) a lot of credit for driving the Web 2.0 wave of innovation, a lot of that credit actually belongs to the web standards/browser development pioneers who made these innovations possible. Web applications ranging from office staples like Gmail and Google Docs would have been impossible without new browser technologies like AJAX and more powerful Javascript engines like Chrome’s V8, Webkit’s JavascriptCore, and Mozilla’s SpiderMonkey. Applications like YouTube and Picnik and Photoshop.com depend greatly on Adobe’s Flash product working well with browsers, and so, in many ways, it is web browser technology that is the limiting factor in the development of new web applications.

Is it any wonder, then, that Google, who views web applications as a big piece of its quest for web domination, created a free browser (Chrome) and two web-capable operating systems (ChromeOS and Android), and is investigating ways for web applications to access the full processing power of the computer (Native Client)? The result of Google’s pushes as well as the internet ecosystem’s efforts has been a steady improvement in web browser capability and a strong push on the new HTML5 standard.

So, what does this all mean for the shape of “Web 3.0”? It means that, over the next few years, we are going to see web applications dramatically improve in quality and functionality, making them more and more credible as disruptive innovations to the software industry. While it would be a mistake to interpret this trend, as some zealots do, as a sign that “web applications will replace all desktop software”, it does mean that we should expect to see a dramatic boost in the number and types of web applications, as well as the number of users.

Conclusion

I’ll admit – I kind of cheated. Instead of giving a single coherent vision of what the next wave of Web innovation will look like, I hedged my bets by outlining where I see major technology trends will take the industry. But, in the same way that “Web 2.0” wasn’t a monolithic entity (Facebook, WordPress, and Gmail have some commonalities, but you’d be hard pressed to say they’re just different variants of the same thing), I don’t think “Web 3.0” will be either. Or, maybe all the innovations will be mobile-phone-specific, context-sensitive, super powerful web applications…

(Image credit) (Image credit – PhD comics) (Image credit – mobile phone) (Image credit – Browser wars)

2 Comments