Skip to content →

Tag: Google Chrome

Migrating WordPress to AWS Lightsail and Going with Let’s Encrypt!

As internet technology evolves, so does this website 😎.

I recently made two big changes to the backend of this website to keep up with the times as internet technology continues to evolve.

First, I migrated from my previous web hosting arrangements at WebFaction to Amazon Web Services’s new Lightsail offering. I have greatly enjoyed WebFaction’s super simple interface and fantastic documentation which seemed tailored to amateur coders like myself (having enough coding and customization chops to do some cool projects but not a lot of confidence or experience in dealing with the innards of a server). But, the value for money that AWS Lightsail offers ($3.50/month for Linux VPS including static IP vs. the $10/month I would need to pay to eventually renew my current setup) ultimately proved too compelling to ignore (and for a simple personal site, I didn’t need the extra storage or memory). This coupled with the deterioration in service quality I have been experiencing with WebFaction (many more downtime email alerts from WordPress’s Jetpack plugin and the general lagginess in the WordPress administrative panel) and the chance to learn more about the world’s pre-eminent cloud services provider made this an easy decision.

Given how Google Chrome now (correctly) marks all websites which don’t use HTTPS/SSL as insecure and Let’s Encrypt has been offering SSL certificates for free for several years, the second big change I made was to embrace HTTPS to partially modernize my website and make it at least not completely insecure 😅🤓. Along the way, I also tweaked my URLs so that all my respective subdomains and domain variants would ultimately point to https://benjamintseng.com/.

For anyone who is also interested in migrating an existing WordPress deployment on another host to AWS Lightsail and turning on HTTPS/SSL, here are the steps I followed (gleamed from some online research and a bit of trial & error). Its not as straightforward as some other setups, but its very do-able if you are willing to do a little bit of work in the AWS console:

  • Follow the (fairly straightforward) instructions in the AWS Lightsail tutorial around setting up a clean WordPress deployment. I would skip sub-step 3 of step 6 (directing your DNS records to point to the Lightsail nameservers) until later (when you’re sure the transfer has worked so your domain continues to point to a functioning WordPress deployment).
  • Unless you are currently not hosting any custom content (no images, no videos, no Javascript files, etc) on your WordPress deployment, I would ignore the WordPress migration tutorial at the AWS Lightsail website (which won’t show you how to transfer this custom content over) in favor of this Bitnami how-to-guide (Bitnami provides the WordPress server image that Lightsail uses for its WordPress instance) which takes advantage of the fact that the Bitnami WordPress includes the All-in-One WP Migration plugin which, for free, can do single file backups of your WordPress site up to 512 MB (larger sites will need to pay for the premium version of the plugin).
    • If, like me, you have other content statically hosted on your site outside of WordPress, I’d recommend storing it in WordPress as part of the Media Library which has gotten a lot more sophisticated over the past few years. Its where I now store the files associated with my Projects
    • Note: if, like me, you are using Jetpack’s site accelerator to cache your images/static file assets, don’t worry if upon visiting your site some of the images appear broken. Jetpack relies on the URL of the asset to load correctly. This should get resolved once you point your DNS records accordingly (literally the next step) and any other issues should go away after you mop up any remaining references to the wrong URLs in your database (see the bullet below where I reference the Better Search Replace plugin).
  • If you followed my advice above, now would be the time to change your DNS records to point to the Lightsail nameservers (sub-step 3 of step 6 of the AWS Lightsail WordPress tutorial) — wait a few hours to make sure the DNS settings have propagated and then test out your domain and make sure it points to a page with the Bitnami banner in the lower right (sign that you’re using the Bitnami server image, see below)
Bitnami banner
The Bitnami banner in the lower-right corner of the page you should see if your DNS propagated correctly and your Lightsail instance is up and running
  • To remove that ugly banner, follow the instructions in this tutorial (use the AWS Lightsail panel to get to the SSH server console for your instance and, assuming you followed the above instructions, follow the instructions for Apache)
  • Assuming your webpage and domain all work (preferably without any weird uptime or downtime issues), you can proceed with this tutorial to provision a Let’s Encrypt SSL certificate for your instance. It can be a bit tricky as it entails spending a lot of time in the SSH server console (which you can get to from the AWS Lightsail panel) and tweaking settings in the AWS Lightsail DNS Zone manager, but the tutorial does a good job of walking you through all of it.
    • I would strongly encourage you to wait to make sure all the DNS settings have propagated and that your instance is not having any strange downtime (as mine did when I first tried this) as if you have trouble connecting to your page, it won’t be immediately clear what is to blame and you won’t be able to take reactive measures.
  • I used the plugin Better Search Replace to replace all references to intermediate domains (i.e. the IP addresses for your Lightsail instance that may have stuck around after the initial step in Step 1) or the non-HTTPS domains (i.e. http://yourdomain.com or http://www.yourdomain.com) with your new HTTPS domain in the MySQL databases that power your WordPress deployment (if in doubt, just select the wp_posts table). You can also take this opportunity to direct all your yourdomain.com traffic to www.yourdomain.com (or vice versa). You can also do this directly in MySQL but the plugin allows you to do this across multiple tables very easily and allows you to do a “dry run” first where it finds and counts all the times it will make a change before you actually execute it.
  • If you want to redirect all the traffic to www.yourdomain.com to yourdomain.com, you have two options. If your domain registrar is forward thinking and does simple redirects for you like Namecheap does, that is probably the easiest path. That is sadly not the path I took because I transferred my domain over to AWS’s Route 53 which is not so enlightened. If you also did the same thing / have a domain registrar that is not so forward thinking, you can tweak the Apache server settings to achieve the same effect. To do this, go into the SSH server console for your Lightsail instance and:
    • Run cd ~/apps/wordpress/conf
    • To make a backup which you can restore (if you screw things up) run mv httpd-app.conf httpd-app.conf.old
    • I’m going to use the Nano editor because its the easiest for a beginner (but feel free to use vi or emacs if you prefer), but run nano httpd-app.conf
    • Use your cursor and find the line that says RewriteEngine On that is just above the line that says #RewriteBase /wordpress/
    • Enter the following lines
      • # begin www to non-www
      • RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
      • RewriteRule ^(.*)$ https://%1/$1 [R=permanent,L]
      • # end www to non-www
      • The first and last line are just comments so that you can go back and remind yourself of what you did and where. The middle two lines are where the server recognizes incoming URL requests and redirects them accordingly
      • With any luck, your file will look like the image below — hit ctrl+X to exit, and hit ‘Y’ when prompted (“to save modified buffer”) to save your work
    • Run sudo /opt/bitnami/ctlscript.sh restart to restart your server and test out the domain in a browser to make sure everything works
      • If things go bad, run mv httpd-app.conf.old httpd-app.conf and then restart everything by running sudo /opt/bitnami/ctlscript.sh restart
What httpd-app.conf should look like in your Lightsail instance SSH console after the edits

I’ve only been using AWS Lightsail for a few days, but my server already feels much more responsive. It’s also nice to go to my website and not see “not secure” in my browser address bar (its also apparently an SEO bump for most search engines). Its also great to know that Lightsail is integrated deeply into AWS which makes the additional features and capabilities that have made AWS the industry leader (i.e. load balancers, CloudFront as CDN, scaling up instance resources, using S3 as a datastore, or even ultimately upgrading to full-fledged EC2 instances) are readily available.

Leave a Comment

Where do the devices fit?

About a month ago, I got Google’s new Nexus 7 tablet, and have been quite happy with the purchase (not that surprising given my self-proclaimed “Fandroid” status). Android’s Jelly Bean update works remarkably well and the Nexus 7 is wonderfully light and fast.

However, with the purchase of the Nexus 7, this brought the total number of “smart internet connected devices I own and use” to a total of 6:

  • Samsung Galaxy Nexus Verizon edition (4.65” Android phone)
  • a Nexus 7 (7” Android tablet)
  • a Motorola Xoom (10” Android tablet)
  • Chromebook (12” ChromeOS notebook)
  • Thinkpad T4o0 for personal use and a Thinkpad T410 for work (both 14” Windows 7 laptops)

nexus-devicesBeyond demonstrating my unreasonable willingness to spend money on newfangled gadgets (especially when Google puts its brand on them), owning these devices has been an interesting natural experiment to see just what use cases each device category is best suited for. After all, independent of the operating system you choose, there’s quite a bit of overlap between a 10” tablet and the Chromebook/laptop, between the 7” tablet and the 10” tablet, and between the 7” tablet and the 4.65” phone. Would one device supplant the others? Would they coexist? Would some coexist and others fall by the wayside?

Well, after about a month of adding a 5th device to the mix, I can say:

  • I wound up using all the devices, albeit for different things. This was actually quite a surprise to me. Before I bought the Nexus 7, I figured that I would end up either completely replacing the Xoom or find that I couldn’t do without the larger screen. But, I found the opposite happening – that the Nexus 7 took over for some things and the Xoom for others. What things?
    • Smartphone: The smartphone has really become my GPS and on-the-go music listening, photo taking, and quick reading device. Its small size means it fits in my pocket and goes everywhere I go, but its small screen size means I tend to prefer using other devices if they’re around. Because it’s everywhere I go, it’s the most logical device to turn to for picture-taking (despite the Galaxy Nexus’s lackluster camera), GPS-related functionality (checking in, finding directions, etc) and when I want/need to quickly read something (like work email) or listen to music/podcast in the car.
    • 7” tablet: I’ve really taken to the Nexus 7 form factor – and it’s become my go-to-device for reading and YouTube watching. The device is extremely light and small enough to fit in one hand, making it perfect for reading in bed or in a chair (unlike its heavier 10” and laptop-form-factor cousins). The screen is also large enough that watching short-form videos on it makes sense. It is, however, too big to be as mobile as a smartphone (and lacks cellular connectivity, making it useless if there is no WiFi network nearby).
    • 10” tablet: Because of the screen size and its heft, my 10” Motorola Xoom has really become my go-to-device for movie watching, game playing, and bringing to meetings. While the smaller 7” form factor is fine for short-form videos like the ones you’d see on YouTube, it is much too small to get the visual impact you want while watching a movie or playing a game. The larger screen size also gives you more room to play with while taking notes in a meeting, something the smaller screen size only makes possible if you like squinting at small font. It is, however, at least to this blogger, too big and too heavy, to make a great casual reading device, especially when lying in bed 🙂
    • 12” Chromebook: What does a Chromebook have that its smaller tablet cousins don’t? Three things: a keyboard, a mouse, and a full PC flavor of Chrome. The result is that in situations where I want to use Flash-based websites (i.e. the free version of Hulu, Amazon Videos, many restaurant/artist websites, etc) or play Flash-based games (i.e. most Facebook games) or access sophisticated web apps which aren’t touch-driven (i.e. WordPress, posting to Tumblr) or which don’t have full functioned apps attached (i.e. Google Drive/Docs), I turn to the Chromebook.
    • 14” Laptop: So where does my 14” laptop fit (and how could I possibly have enough room in my digital life that I’m actively researching options for my next Thinkpad machine)? Simple: it’s for everything else. I track my finances in Excel, make my corporate presentations in PowerPoint, do my taxes in Turbo Tax, compose blog posts on Windows Live Writer, program/develop on text editors and IDEs, write long emails, edit photos and movies… these are all things which are currently impossible or inconveniently hard to do on devices which don’t have the same screen size, keyboard/mouse caliber, operating system, and processing hardware as modern PCs. And, while the use of new devices has exploded as their cost and performance get better, the simple truth is power users will have a reason to have a “real PC” for at least several more years.
  • Applications/services which sync across devices are a godsend. While I’ve posted before about the power of web-based applications, you really learn to appreciate the fact that web applications & services store their information to a central repository in the cloud when you are trying to access the same work on multiple devices. That, combined with Google Chrome not only working on every device I have, but also actively syncing passwords and browser history between devices and showing the open browser tabs I have on other systems, makes owning and using multiple devices a heckuva lot easier.

How do you use the different devices you own? Has any of that usage segmentation surprised you?

(Image credit – GetAndroidStuff.com)

2 Comments

A Few Months with the Chromebook

(Hello visitors, if you’re interested in this post, you may be interested to know that I have posted my impressions of the newer Chromebook Pixel here)

Last year, I had the chance to attend the New Game conference sponsored by Google to talk about the use of HTML5 in games. The conference itself was fascinating as it brought up many of the themes I’ve mentioned before on this blog about the rise of HTML5 as a tool to build compelling software, but one of the highlights was that Google gave every attendee a free Samsung Series 5 Chromebook to test out and use for development purposes.

chromebooks-portability

I’ve blogged a few times before about Chromebooks and how they represent the next logical step in Google’s belief in the web as the core platform for software delivery (seeing how they’re machines that are built almost entirely around the browser), and I jumped at the chance to test it out.

I initially tested out the Chromebook shortly after getting it for a week or two. To be completely honest, I was underwhelmed. While there were many cool things about the operating system (it always being up to date, the built in Google Talk experience, and the ability to use Google Docs as a scratchpad for starters), the machine just felt very slow (likely in part because of the low-end Intel Atom processor inside). The device never seemed to sync properly with my Google account, the lack of a desktop made this feel more like a browser with a keyboard than an operating system, and poor support for offline functionality and handling of peripherals made it feel very constraining. I meant to write up a review on the blog but I never got around to it and it faded from memory, collecting dust in storage…

Flash forward to May when Google unveiled a pretty bold re-vamp of the Chrome OS operating system that lies behind the Chromebook: Aura. Aura replaced what was formerly a within-one-browser-window experience with something which looks and feels a lot more like a traditional operating system with a taskbar, multiple windows (and hence true multi-tasking), a desktop background, a “system tray/control panel” to readily access system-wide settings (i.e. battery life, which WiFi network I’m connected to, screen brightness, etc), and an application launcher. My previous problems with syncing with my Google account are gone (and its support for tab syncing – where I can continue browsing a webpage I was reading on another device – make using this very natural). The experience also just feels faster – both the act of browsing as well as thinsg like how quickly the touchpad responds to commands. Chromebooks now also handle more file types natively (whether downloaded or from removable media), and, with the recently announced offline Google Drive integration, Chromebooks have gotten a lot more useful and have taken another step to achieve the “web file system” vision I blogged about before.

Much to my surprise, I’ve even found myself turning to my Chromebook regularly as a casual consumption device. It being instant-on, browser-centric, and ready support for multiple user accounts makes it a perfect device to watch TV epsiodes or movies from Google Play, Netflix, or Amazon Videos or to share interesting articles to my Tumblr (something that my touch-centric Galaxy Nexus and Motorola Xoom do less well at).

Realistically, there are a set of apps which I’ve found to work much better on Windows/Linux (mainly coding, using Microsoft Excel, and composing blog posts) and which prevent me from using a Chromebook for 100% of my computing needs. But, while important, these only take up a minority of my time on a computer — what actually stops me from using the Chromebook much more actively as a primary machine in my job and day-to-day are two far more pressing items:

  1. Evernote does not work. I am a very active user of Evernote for note-taking and note organization, and its unfailing ability to crash whatever tab is open to it on a Chromebook is a pretty major roadblock for me.
  2. Some web apps don’t play nice because they don’t recognize Chrome OS properly. The key culprit here for me is Microsoft Outlook. A conspiracy theorist might think this was some ploy by Microsoft to get people using Chrome OS to switch to Windows or by Google to get Outlook users to switch to Google Apps – but at the end of the day, Microsoft’s very nice, new Outlook Web App, which works beautifully on Chrome on my Windows 7 machine, treats the Chromebook as if it were a barely functioning computer running Internet Explorer 6 – leaving me with a crippled web experience for what is my corporate email lifeline. If Google made it possible to spoof the browser identification or found a way to convince Microsoft to give Chrome OS flying colors when it comes to serving up web apps, that would make me a MUCH happier camper.

These issues aside, there is no doubt in my mind that Chrome OS/Chromebooks are a concept worthy of consideration for people who are thinking about buying a new computer for themselves or their loved ones: if you spend most of your time on the computer on the web and don’t need to code or create/consume massive files, these machines are perfect (they boot fast, they update themselves, and they are built with the web in mind). I think this sort of model also will probably work quite well in quite a few enterprise/educational settings, given how easy they are to support and to share between multiple users. This feels to me like an increasingly real validation of my hypothesis of the web as software platform and, while there’s quite a few remaining rough spots, I was very impressed by the new Aura revision and look forward to more refreshes coming out from the Chrome team and more time with my Chromebook :-).

(Image credit – Chromebook – Google)

7 Comments

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

Droid 2 vs iPhone

imageI recently came out very positive on Google in a comparison of Google’s and Apple’s respective business models and product philosophies, but the post itself was very high-level and theoretical. So, I decided to write another post: this time on how the differences I mentioned before translate when comparing products?

I recently dropped my Blackberry and got Motorola’s new Droid 2 phone (on Verizon). Earlier this month, my company also happened to provide me with Apple’s iPhone 4 (on AT&T). Having played around with the devices and relied on them heavily for over a week, I decided to make a comparison of the two, not only to help myself think through how I’d use the devices, but also to help anyone out there considering a smartphone (warning: this post is LOOOONG):

  1. Neither phone is better, they’re different. In the same way that there is no one “best” car or one “best” significant other for all people, I would have to say the “best” phone for a person is the phone that has the right features/attributes for that person and makes the appropriate tradeoffs. In the case of DROID 2 vs. iPhone 4, each has their share of weaknesses, and each has their share of strengths and they will match different people’s needs and preferences.
  2. There’s still plenty of room for both products to improve. I think the “fanboys” on both sides seem to have missed out on this point – in their desire to tout one as superior to the other, they seem to have forgotten that both devices have more than their fair share of weaknesses. In fact, I’d say my dominant impression of both devices is more around “this needs to improve” rather than “this is awesome”.
  3. I’ve got a lot of more detailed commentary below, but my basic  impression of Android vs iPhone is very much like the comparison I drew in my post on Google vs Apple: the DROID 2 feels like a device where a bunch of engineers decided to cram a ton of “cool features” into a phone whereas the iPhone 4 feels like a device that was architected to support one particular user experience (but not others) as seamlessly as possible. What does that mean in terms of a direct comparison? In order of importance (to how I use the phone):
    1. Typing – Typing is extremely important to me as my main goal for smartphone is to let me write and respond to emails on the go. Given my years with the Blackberry’s famous high-quality keyboard, I was expecting to hate the iPhone 4’s soft keyboard. Much to my (pleasant) surprise, I actually got to be quick enough with it that speed did not become an issue. However, a few things plagued me. First, I absolutely hate the placement of the backspace key – its not where I expect it to be (having been trained by QWERTY computer keyboards) and is just close enough to the “m” that I hit it when I’m typing quickly. Secondly, the iPhone interface doesn’t actually support a landscape interface mode in all applications (i.e. the App Store) – which forces me to use a much more constrained portrait keyboard which slows me down. Finally, as good as the iPhone soft keyboard is, because there’s no good way to position your fingers or to “feel” when keys have been pushed, soft keyboards intrinsically force you to think more about how to type than a hard keyboard than otherwise. Enter the DROID 2. It has a hard keyboard which although not quite as good as a Blackberry’s (the keys seem oddly spaced to me, and they are more stiff than “springy”), still lets me position my fingers and type without thinking so much about how I’m typing.
      imageIn addition to the hard keyboard, the DROID 2 also supports Swype, a very cool (and fast) way to type on a soft keyboard where, instead of typing keys consecutively, you simply drag your fingers to the letters that you’re trying to type. There’s a little bit of a learning curve (in terms of learning how to punctuate and do double-letters), but once you get over that initial hump, I think the average person can get to a faster speed with Swype than they can just pecking at keys. In my mind, the DROID 2 wins hands down on typing.
    2. Exchange support – If you want a smartphone that can function as a work device, you need to support Exchange and you need to support it well. Both the iPhone and Android claim support for Microsoft Exchange with push synchronization. While I have some quibbles with the iPhone’s mail interface, there’s no denying that the iPhone’s Exchange support is seamless and fast. I have never had to think about it. And, on occasion, the iPhone would even notify me of emails before my computer received them! The DROID 2, on the other hand, is a different story. While the Exchange sync works most of the time, there have already been two occasions where the sync was broken and the device would think that a message I had already read was a new message. The sync is also significantly slower – requiring me to wait (sometimes up to 10 minutes) before an email that has already showed up on the iPhone and the desktop shows up through the DROID 2’s sync feature. I don’t know if this is because Motorola/Google introduced some intermediate layer in between the Exchange and the phone, but the iPhone 4 wins hands down on Exchange support.
    3. Google integration – I use a ton of Google services (Gmail, Google Calendar, Picasa, Google Reader, Google Voice, Google Maps, etc.) so integration with Google services is a key criteria when picking a phone. While the iPhone has an excellent interface to Google Maps (which puts the Android’s standard maps interface to shame in terms of smoothness and speed), its inability to do very much beyond basic synchronization with Gmail and Google Calendar and only webapp access to Google Voice makes its integration with Google on par with the Blackberry’s. On the other hand, is it  any surprise that Google services integration works best on a phone which runs a Google operating system? You can make calls using Google Voice as if it weren’t even there. You can easily apply and remove labels on and search through your Gmail seamlessly (without the semi-awkward IMAP interface). You can even access your personal online search history through Google Maps and Google Search. DROID 2 wins this one by a wide margin.
    4. image Attachment file format support – its not enough to be able to access email, a good work device should be able to handle the PDFs, Powerpoints, Word documents, and images that are likely embedded. Motorola had a stroke of genius by preloading the Quick Office application onto each DROID 2. But, while this app does a very good job of opening files, it not being integrated into the DROID 2’s email applications gives it a disadvantage compared to the iPhone’s in-line and integrated attachment viewer. Combine this with the DROID 2’s inexplicable inability to open certain image types in email and there is a distinct, albeit slight, advantage on file format support for the iPhone 4.
    5. Customization – I’m very particular about how I use my devices. As a result, I want to be able to customize the heck out of something. While the iPhone gives you some basic customization options (i.e., do you want to hear a sound when a new email comes in?), it doesn’t give you much beyond that (i.e., what sound do you want to hear when a new email comes in? would you only like to hear a sound if its gmail rather than exchange? would you like to hear a different sound for gmail and exchange?) On the other hand, the DROID 2 provides remarkable customization capability. Granted, some of the choices can be difficult to find, but the ability to customize so many things (including the ability to embed live, functional widgets on your home screen and not just functionless shortcuts) and to install apps like Tasker which let you customize even deeper is a big differentiator for the Android platform.
    6. UI responsiveness/slickness – Smartphones are expensive. They consume a lot of battery power. So when a device feels sluggish, I can get annoyed. The iPhone is, simply put, amazingly slick. No choppiness when you scroll or swipe. Great responsiveness. No odd user interface defects. While Google’s Android has made remarkable strides since its earliest incarnation, it still doesn’t come close to matching Apple’s user interface polish – the most shameful example of which, in my opinion, is the Android Google Maps’ sluggish multitouch support when compared to Apple’s. Come on guys, ITS YOUR OWN APP!
    7. Notifications – I don’t know a single person who likes the iPhone’s primitive notification system. Its overly intrusive. It can only display one particular message at a time. And, there’s no way for someone to get the history of all their recent notifications. And, as a Blackberry user who used to rely on a small LED indicator to unobtrusively inform him when something new happened, the iPhone’s lack of any way of notifying its owner that something has happened without activating the screen just strikes me as stupid. The DROID 2 is FAR ahead of Apple here.
    8. Network – I have mixed feelings here. On the one hand, I would  say that the call quality I’ve experienced on the DROID 2 has lagged what I experienced on the iPhone 4. Furthermore, my DROID 2 seems to have schizophrenic reception – I sometimes amuse myself by watching my signal indicator go from full bars to just one bar, all while sitting on my desk leaving the phone completely alone. The other side to this story, though, is that this experience quality has been primarily driven by an odd pocket of bad Verizon coverage in my girlfriend’s apartment – our calls from almost everywhere else have been very good. Also, despite my DROID 2’s signal indicator fluctuations, I have not yet observed any actual impact on my connection speed or call quality. When you combine this with the fact that my iPhone struggles to get signal where I work and in Napa (where I just came back from a wedding) but my DROID 2 had minimal issues, I have to say that DROID 2/Verizon beats out iPhone 4/AT&T.
      image
    9. Ability to turn off 3G – The two main things that burn out a smartphone’s battery are the display and the wireless connection. While its a pain to reach that particular menu item on the iPhone 4, Apple’s product does make it possible to turn off the 3G connection. Shockingly, despite all the customization, the DROID 2 does not provide this option. The iPhone 4 wins here.
    10. Turn-by-turn navigationThe DROID 2 has it. The iPhone doesn’t. And, believe me when I say this is: it is an AMAZING feature and completely displaces the need for a GPS device. I don’t drive places I’m unfamiliar with often enough for this to be higher in the priority list, but lets just say it saved my butt on my recent trip to Napa. DROID 2 wins here.
    11. Access to Bluetooth – In California, you cannot talk on a cell phone while driving without a Bluetooth headset. So, quick-and-easy access to Bluetooth settings is a feature of considerable importance to me. With the iPhone, the ability to turn Bluetooth on and off and change settings is buried beneath several layers of settings. The DROID 2’s pairing process is not only faster (although this is only by ~10-20 seconds), the ability to customize the home screen means I can embed widgets/links to quickly and easily toggle Bluetooth without diving through settings. DROID 2 wins here.
    12. image Chrome-to-Phone – DROID 2 has it. iPhone 4 doesn’t. This is a very cool browser extension which lets you send links, text messages, and maps to your phone straight from Chrome (or the Firefox clone of it). When I first heard about it, I wasn’t especially impressed, but its become a very useful tool which lets me send things which would be useful while on-the-go (especially directions). DROID 2 wins here.
    13. Absence of pre-loaded bloat – This is something where Apple’s philosophy of getting full control over the user experience pays off. The iPhone 4 does not come with any of the bloatware that we’ve come to see in new PCs. That means that the apps that run on my iPhone 4 are either well-designed Apple utilities or apps I have chosen to install. My DROID 2? Full of crapware which I neither want nor am I able to install. Thankfully, I’m able to remove them from my homescreen, but it annoys me that Verizon and Motorola have decided that preloading phones is a great way to generate additional revenue. The iPhone wins hands down here.
    14. Camera – To be perfectly honest, I hate both the DROID 2 and the iPhone 4’s cameras. With the iPhone 4, I find it pretty awkward to shoot a picture using the soft keyboard to both zoom in and out and take the shot. While the DROID 2 has obvious physical buttons to use for zoom and to take the shot, it has a lackluster flash and I found it more difficult to take steady pictures than I did with the iPhone 4. It also captures video at a lower resolution than the iPhone 4. In the end, though, I’d have to say that awkward use of the camera trumps bad flash photography and poorer video resolution: iPhone wins here.
    15. image Flash support – DROID 2 has it. iPhone doesn’t. This means no more stupid boxes on web pages which haven’t made the plunge into HTML5 video (because Firefox and IE don’t support it yet) or activating another application to watch YouTube videos. Does it burn battery? Yes. But its not like I’m watching it non-stop, and there are definitely some sites which you can’t visit without Flash. DROID 2 wins here.
    16. Voice control – Google recently unveiled its Voice Actions for Android application which allows you to perform all sorts of commands without ever typing a thing. While the Google search app on iPhone and apps like Siri have supported voice-based web searches, they don’t provide access to the wealth and depth of functions like email, text messaging (although, sadly, it does not yet seem to support Google Voice-based-SMS), calling up the map application, or controlling the music player that Google’s does. Granted, Google seems to still have issues understanding my girlfriend’s name is “Sophia” and not “Cynthia”, but the DROID 2’s voice-control functionality is way ahead of the iPhone 4’s and adds a lot of convenience when you are on-the-go.
    17. File management – Apple’s iTunes software works great as an MP3 player. I’m not so sure how I feel about it as the ultimate gateway to my mobile phone for pictures and applications. It also irks me that, because of iTunes, there is no obvious way to access or modify the directory structure on an iPhone 4. The DROID 2, however, looks and acts just like a USB drive when its connected to a computer. It even comes with a file manager app with which you can use to go through its file system innards from within the phone. If you are fine with the inability to specify your own organization structure or to use a phone as portable storage, then this is wash. But, if you value any of those things, then the DROID 2 has Apple’s iPhone 4 beat.
    18. Not proprietary hardware – You cannot remove/upgrade an iPhone’s internal storage. You cannot charge or sync with an iPhone without using its proprietary cable. This is great if you never want to upgrade your device’s storage capabilities, never want to slot its memory into another device, and never lose cables. But, if you ever want to do any of the first two or inadvertently do the last, then you’re better off with DROID 2.
    19. Display – One of the features I was most impressed with during the iPhone 4 announcement was the Retina Display: a screen with a resolution so high it was said to be at/near the limit of human detection. I can honestly say it works as advertised – the resolution on an iPhone screen is incredible. However, as I rarely use applications/websites where that resolution is actually necessary, its value to me is not that high (although the increased contrast is a nice touch). With that said, though, it is a nice (and very noticeable) touch and is definitely something where the iPhone 4 beats out the DROID 2.
    20. Device “feel” – The two devices have comparable screen sizes, but the DROID 2 has significantly greater thickness. The iPhone feels like a crafted piece of art. It feels metallic. Substantial. The DROID 2 feels like a thick piece of plastic. This doesn’t really impact the functioning of the device, but the iPhone 4 is definitely nicer to hold and look at and feels a lot sturdier.

    So where does that leave us? If you’re keeping score, I noted 12 things which (in my opinion) favor DROID 2 and 8 things which favor iPhone 4. As I mentioned before, which device you would prefer strongly depends on how you weight the different things mentioned here. If you value work-horse text entry, customization, and Google integration a lot (like I do), then the DROID 2 is probably the phone that you’ll want. If you value the Exchange/attachment support and UI slickness more, then the iPhone 4 is a better bet. And, there’s definitely room for disagreement here. If you think my assessment of Bluetooth support and notifications are off, then that could be ample reason to pick Apple.

Hopefully this was informative for any reader deciding what phone to get (even if they’re considering something which isn’t even on the list!). I’ll probably follow this post with a few thoughts on where I’d like to see the Apple and Google platforms go next – but until then, happy smartphone-ing!

(Image credit) (Image credit) (Image credit) (Image credit) (Image credit)

33 Comments

Why I Favor Google over Apple

image Many of my good friends are big fans of Apple and its products. But not me. This good-natured difference in opinion leads us into never-ending mini-debates over Twitter or in real life over the relative merits of Apple’s products and those of its competitors.

I suspect many of them (respectfully) think I’m crazy. “Why would you want an inferior product?” “Why do you back a company that has all this information about you and follows you everywhere on the internet?”

I figured that one of these days, I should actually respond to them (fears of flamers/attacks on my judgment be damned!).

imageFirst thing’s first. I’ll concede that, at least for now, Apple tends to build better products. Apple has remarkable design and UI sense which I have yet to see matched by another company. Their hardware is of exceptionally high quality, and, as I mentioned before, they are masters at integrating their high-end hardware with their custom-built software to create a very solid user experience. They are also often pioneers in new hardware innovations (e.g., accelerometer, multitouch, “retina display”, etc.).

So, given this, why on earth would I call myself a Google Fanboi (and not an Apple one)? There are a couple of reasons for it, but most of them boil down basically to the nature of Google’s business model which is focused around monetizing use rather than selling a particular piece of content/software/hardware. Google’s dominant source of profit is internet advertising – and they are able to better serve ads (get higher revenue per ad) and able to serve more ads (higher number of ads) by getting more people to use the internet and to use it more. Contrast this with Apple who’s business model is (for the most part) around selling a particular piece of software or hardware – to them, increased use is the justification or rationale for creating (and charging more for) better products. The consequence of this is that the companies focus on different things:

  • image Cheap(er) cost of access – Although Apple technology and design is quite complicated, Apple’s product philosophy is very simple: build the best product “solution” and sell it at a premium. This makes sense given Apple’s business model focus on selling the highest-quality products. But it does not make sense for Google which just wants to see more internet usage. To achieve this, Google does two main things. First, Google offers many services and development platforms for little or no cost. Gmail, Google Reader, Google Docs, and Google Search: all free, to name a few. Second, Google actively attacks pockets of control or profitability in the technology space which could impede internet use. Bad browsers reducing the willingness of people to use the internet? Release the very fast Google Chrome browser. Lack of smartphones? Release the now-very-popular Android operating system. Not enough internet-connected TV solutions? Release Google TV. Not enough people on high-speed broadband? Consider building a pilot high-speed fiber optic network for a lucky community. All of these efforts encourage greater Web usage in two ways: (a) they give people more of a reason to use the Web more by providing high-value web services and “complements” to the web (like browsers and OS’s) at no or low cost and (b) forcing other businesses to lower their own prices and/or offer better services. Granted, these moves oftentimes serve other purposes (weakening competitive threats on the horizon and/or providing new sources of revenue) and aren’t always successes (think OpenSocial or Google Buzz), but I think the Google MO (make the web cheaper and better) is better for all end-users than Apple’s.
  • Choice at the expense of quality – Given Apple’s interest in building the best product and charging for it, they’ve tended to make tradeoffs in their design philosophy to improve performance and usability. This has proven to be very effective for them, but it has its drawbacks. If you have followed recent mobile tech news, you’ll know Apple’s policies on mobile application submissions and restrictions on device functionality have not met with universal applause. This isn’t to say that Apple doesn’t have the right to do this (clearly they do) or that the tradeoffs they’ve made are bad ones (the number  of iPhone/iPad/iPod Touch purchases clearly shows that many people are willing to “live with it”), but it is a philosophical choice. But, this has implications for the ecosystem around Apple versus Google (which favors a different tradeoff). Apple’s philosophy provides great “out of the box” performance, but at the expense of being slower or less able to adopt potential innovations or content due to their own restrictions. image Case in point: a startup called Swype has built a fascinating new way to use soft keyboards on touchscreens, but due to Apple’s App Store not allowing an application that makes such a low-level change, the software is only available on Android phones. Now, this doesn’t preclude Swype from being on the iPhone eventually, but it’s an example where Apple’s approach may impede innovation and consumer choice – something which a recent panel of major mobile game developers expressed concern about — and its my two cents worth that the Google way of doing things is better in the long run.
  • image Platforms vs solutions – Apple’s hallmark is the vertically integrated model, going so far as to have their own semiconductor solution and content store (iTunes). This not only lets them maximize the amount of cash they can pull in from a customer (I don’t just sell you a device, I get a cut of the applications and music you use on it), it also lets them build tightly integrated, high quality product “solution”. Google, however, is not in the business of selling devices and has no interest in one tightly integrated solution: they’d rather get as many people on the internet as possible. So, instead of pursuing the “Jesus phone” approach, they pursue the platform approach, releasing “horizontal” software and services platforms to encourage more companies and more innovators to work with it. With Apple, you only have one supplier and a few product variants. With Google, you enable many suppliers (Samsung, HTC, and Motorola for starters in the high-end Android device world, Sony and Logitech in Google TV) to compete with one another and offer their own variations on hardware, software, services, and silicon. This allows companies like Cisco to create a tablet focused on enterprise needs like the Cius using Android, something which the more restrictive nature of Apple’s development platform makes impossible (unless Apple creates its own), or researchers at the MIT Media lab to create an interesting telemedicine optometry solution. A fair response to this would be that this can lead to platform fragmentation, but whether or not there is a destructive amount of it is an open question. Given Apple’s track record the last time it went solo versus platform (something even Steve Jobs admits they didn’t do so well at), I feel this is a major strength for Google’s model in the long-run.
  • (More) open source/standards – Google is unique in the tech space for the extent of its support for open source and open standards. Now, how they’ve handled it isn’t perfect, but if you take a quick glance at their Google Code page, you can see an impressive number of code snippets and projects which they’ve open sourced and contributed to the community. They’ve even gone so far as to provide free project hosting for open source projects. But, even beyond just giving developers access to useful source code, Google has gone further than most companies in supporting open standards going so far as to provide open access to its WebM video codec which it purchased the rights to for ~$100M to provide a open HTML5 video standard and to make it easy to access your data from a Google service however you choose (i.e., IMAP access to Gmail, open API access to Google Calendar and Google Docs, etc.). This is in keeping with Google’s desire to enable more web development and web use, and is a direct consequence of it not relying on selling individual products. Contrast this with an Apple-like model – the services and software are designed to fuel additional sales. As a result, they are well-designed, high-performance, and neatly integrated with the rest of the package, but are much less likely to be open sourced (with a few notable exceptions) or support easy mobility to other devices/platforms. This doesn’t mean Apple’s business model is wrong, but it leads to a different conclusion, one which I don’t think is as good for the end-user in the long run.

These are, of course, broad sweeping generalizations (and don’t capture all the significant differences or the subtle ones between the two companies). Apple, for instance, is at the forefront of contributors to the open source Webkit project which powers many of the internet’s web browsers and is a pioneer behind the multicore processing standard OpenCL. On the flip side, Google’s openness and privacy policies are definitely far from perfect. But, I think those are exceptions to the “broad strokes” I laid out.

In this case, I believe that, while short-term design strength and solution quality may be the strengths of Apple’s current model, I believe in the long run, Google’s model is better for the end-customer because their model is centered around more usage.

(Image credit) (Image credit) (Image credit) (Image credit) (Image credit)

14 Comments

What it will take to get me to switch to Chrome

It’s no secret that I’m a big fan of Firefox. But, given Firefox’s slow start-time and Google’s Chrome browser’s recently announced support for extensions, I did a recent re-evaluation of my browser choice. Although I’ve chosen to stick with Firefox, the comparison of the two browsers is now much closer than its ever been before to the point where I think, if the pace of Chrome development continues, I could actually switch within a few months. What I would need are:

  • Full browser synchMozilla Weave is probably the most important extension in my Firefox install. Weave provides a secure and fast method for me to have the same set of bookmarks, browser history, passwords, and preferences between every copy of Firefox that I run (i.e. on my work computer vs. on my personal computer). This has made it easier for me to not only continue research between browser sessions, but also to quickly get up to productivity on any computer with a working Firefox installation. While Chrome now supports bookmark synchronization, the lack of a history or a secure password synch makes it harder for me to have the same degree of flexibility that I have with Firefox. What’s ironic, though, is that a few years ago, I was very reliant on Google’s Browser Synch Firefox extension to do the same thing, and found Firefox to be a lot less flexible when Google stopped updating it. But, this historical precedent means I’m relatively confident it should be easy for Google to introduce a similar feature for Chrome.
  • A Firebug-like web development tool – Chrome has a lot of useful web development tools but, up until now, I have yet to see a platform built into Chrome (or any other browser) which has the same level of sophistication and feature set as Firefox’s Firebug extension. For most people, this isn’t that relevant, but as someone who’s done a fair amount of web development in the past and expect to continue to do so in the future, the lack of something as versatile and easy-to-use as Firebug is a big downside to me. With the opening up of Chrome to extension developers, I’m hopeful that it will only be a matter of time until something comparable to Firebug is developed for Chrome
  • Extensions to replicate the Greasemonkey hacks I use -Another Firefox extension which I’ve come to rely heavily on is Greasemonkey. It’s a bit difficult to explain how Greasemonkey works to someone who’s never used it, but what it basically does is allow you to install little scripts which can add extra functions to your Firefox browsing experience. These scripts can be found on repositories like Userscripts. Some scripts I’ve become attached to include Google Image Relinker (which lets me go straight to an image from Google Images and skip the intermediary site), LongURL Mobile Expander (which lets me see where shortened URLs, like those from TinyURL or Bit.ly, are actually pointing), and Friendfeed Force Word Wrap (which forces word wrap on improperly formatted Friendfeed entries). Because most of these are pretty minor browser modifications, I am hopeful that these functions will emerge when Chrome’s extension developer community gets large enough.
  • Advanced web standard support – I think its pretty odd that despite being a major proponent of the HTML5 standard and new rich browser technologies like WebGL and Native Client, that Chrome has yet to truly distance itself from its browser peers in terms of support for these new standards. True, the technologies themselves are still under development and very few websites exist which support them, but a differentiated level of support for these new technologies would give me a whole set of reasons to pick Chrome over its browser peers, especially given the direction I expect the rich web to move.

Now, in the off chance someone from Mozilla is reading this, what could Mozilla do to keep me firmly in the Firefox camp?

  • Faster release cycle – It’s difficult to maintain a constant technological edge when your software is open source, but a faster release cycle will help prolong the advantages that the Mozilla ecosystem currently have like a strong extension and theme developer community, a large user base, and a rich set of experimental projects (like Weave and JetPack and Ubiquity).
  • Faster startup time – I appreciate that my startup speed issues with Firefox may be entirely due to the fact that I have hefty extensions like Greasemonkey and Weave installed, but given that my current build of Chrome has some 16 extensions (including the Chrome version of AdBlock and Google Gears) and still loads much faster than Firefox, I believe that significant opportunity for memory management and start-time improvement still exists within the Firefox code base.
  • Better web app integration – The Chrome browser was clearly designed to run web applications. It makes it easy to load individual applications in their own windows and to set up web applications as default handlers for specific file types and events. While Firefox has come a long way in terms of its advanced web technology support, I don’t feel that enough attention has been dedicated to making the web application experience nearly as seamless. Whether this means an overhaul of the Prism project or a new way of handling browser events, I’m not sure, but this is a direction where the gap between Chrome and Firefox can and should be closed.
  • Firefox everywhere – I have been painfully disappointed in the slow roll-out of the Fennec mobile Firefox project. In a world where Safari, Opera, and Internet Explorer all have fully functioning mobile browsers, there’s no reason Firefox should be behind in this arena. Fennec also makes the Firefox value proposition more compelling with Weave as a means of synchronizing settings and bookmarks between the two.
  • More progress on experimental UI – I have been an enormous fan of the innovations in browser use which I consider to be pioneered by Mozilla – tabbed browsing, extensions, browser skinning, the “awesome bar”, etc. One way for Mozilla to stay ahead of the curve, even if they are only “on par” along other dimensions with their peers, is to continue to push on progress in the Mozilla Labs research projects like Ubiquity and JetPack, or a smarter way to integrate Yahoo Pipes!, or something akin to Cooliris’s technology (to throw out a few random ideas).
  • Advanced web technology support – Ditto as with the Google Chrome comment above.

With all of this said, I’m actually fairly happy that there are so many aggressive development efforts underway by the browser makers of our era. It looks like the future of the web will be an interesting place!

(Image credit) (Image credit – Greasemonkey) (Image credit – Fennec)

8 Comments