Software
Computing.Next: Google IO and WWDC
1I’ve refrained from posting my thoughts on Google IO, which took place last month, because I felt it would be better to wait and see what came out of Apple WWDC. The two companies have been fierce competitors in the past and my bet was that this year would further strengthen the competition. Well, the WWDC keynote wrapped up this week and sure enough–Apple’s production brought some very interesting new products and services to the table that seek to challenge Google’s counterparts.
Desktop OS
I won’t say much regarding the traditional desktop-class OS market. Apple has OS X Lion hitting digital shelves in July while Google Chromebooks are shipping right about now. Yes, they’re competitors, but Google’s cloud OS is such a new player in the market it’s unclear how it might affect Windows and OS X. Chrome could take off for consumer and enterprise users that don’t currently need access to traditional applications like Photoshop, AutoCAD, standalone collaboration tools, and so on. For now though, OS X and Windows will continue to hold their place in the market.
Mobile
Next up is the mobile device space. On one side you’ve got iOS. On the other: Android. This “battle” is a bit less exciting this year than it has been in years past because both platforms are near parity. Features on one generally match features on the other, and both have proven to be quite usable for just about any type of user. Notably absent from this year’s WWDC keynote were snarky remarks about Android from Steve Jobs. It’s doubtful that he’s gotten over his grudge against Android; however, Steve demonstrated that copying features straight out of other systems was no problem! New iOS notifications are practically a direct copy from Android, while iMessages takes quite a few queues from Blackberry Messenger.
An age-old issue is that of copying features from one OS to another. Apple and Microsoft copied from Xerox, after all. So, while Android fans are making fun of iOS playing catch-up, Android has been required to do some of the same in times past.
One issue I must take with iOS 5 is that of iMessages. Apple has created yet another proprietary messaging platform. While this is not terribly surprising–Apple has a sordid history of building their own proprietary systems when excellent open protocols were available–it’s pretty disturbing. In addition to iMessages, we previously had proprietary services like Blackberry Messenger, Kik, LiveProfile, Beluga, and several others. That’s in addition to old standbys AIM and MSN Messenger. But what I really would’ve liked to see is Apple integrating directly into the existing open messaging protocols like Google Talk and Facebook Chat. Both of those are based on something called XMPP and are insanely powerful for text, rich media, audio, and video.
I’m sure Apple made this decision because they are more interested in consumer lock-in and bringing as many users as possible to their platform than they are at furthering innovation and the industry at large. While corporations certainly have the right to make money and the responsibility to be good stewards to their stockholders, proprietary technologies are not required to do so. Google and IBM are prime examples of companies that make tons of money by using and supporting open source. Apple made the wrong call here and will hurt the industry as a whole if this catches on.
All that said, I am 100% ready to kill off expensive text messaging plans and move to data-driven messaging. But I want that to happen via open protocols used across any device on any carrier. This is the age of the Internet, after all.
Cloud
The main area I want to focus on is that of Internet-based products and services.
Google has been a huge provider of these services for some time now and continues to expand its offerings. Web apps such as: Gmail, Calendar, Books, Picasa Web, Talk, Voice, and the recently released Music service are notable in their lineup. Many other lesser known services are also available that integrate directly into Search. All in all, Google is almost 100% “cloud-based.” They tend to only offer native app solutions when it supplements an existing web offering, a la Android and Chrome OS.
Apple, on the other hand, has traditionally focused more on native solutions than web. Their first foray into the web space came as MobileMe (and its individual ancestors), but most people (Jobs included) would agree that it failed in quite a few areas. iCloud is Apple’s complete rewrite of the platform and huge tie-in to existing iProducts and infrastructure. It features things like data backup from Apple’s mobile products, wireless syncing for documents/photos/books, mail, calendar, music, and photos.
On the surface, Apple’s offerings have become almost identical to Google’s. They both provide multi-device syncing, backup, productivity apps, and more. Both store your a copy of your data in the cloud. But there is one extremely huge difference. With Google services, everything can be accessed from a web browser practically anywhere in the world. Just hit the Google app URL of your choice, log-in with your username and password, and access your stuff. It’s easy and ubiquitous. In many cases these web services are supplemented with a mobile app on Android (and often on iOS as well). This is especially relevant with Gmail, Music, Docs, and Talk.
iCloud still stores all of your data in the cloud, but at present, you can’t get to it with a web browser. (Perhaps email and calendar are an exception, but it’s unclear from Apple’s website.) Instead, you’ll need an iPhone, iPad, or Mac in order to access most of your data. Photos are also available to Windows machines. But you won’t just need an Apple device. You’ll need your Apple device. iCloud is designed to pair with a specific device and connect it to your cloud account. But if your battery is dead or you’ve left something at home, it sounds like you’ll be stuck. Good luck getting that Excel document for the big meeting. Your cloud extends only as far as your battery. This seems like a huge downside to a set of services that otherwise has a lot of value. Within the next decade, web apps will become as powerful if not more so than native apps. Apple will have to evolve their offerings to keep up. Google has some shortcomings when it comes to things like editing documents, but they’re way ahead on the web front. iCloud does have some public APIs, so we’ll see what 3rd party developers can do with those.
Another significant difference between the competitors lies in the music services. Google is currently unable to sell music and match existing downloaded and ripped songs to a huge online library, so full uploads of your music is required. This usually doesn’t take weeks as Apple claims, but it can take a significant amount of time–certainly a few days–to get a large library uploaded. The upload process also slows down other Internet-based activities due to limited upload bandwidth.
On the upside though, once the music is loaded, any modern web browser can stream it from any machine. It’s literally music on the go from anywhere. The Android mobile app also supports this stream-anywhere philosophy and is available on any Android 2.2+ device. In addition to streaming, songs can be downloaded to the device as desired.
iTunes on iCloud works a bit differently. Initial setup is faster since you’ll have immediate access to iTunes-purchased music past and present. For a nominal yearly fee, you can quickly match all ripped music to anything in the master iTunes library. Anything that can’t be found there is uploaded the manual way just like Google. The music is available on up to ten devices.
That’s where the fun stops, though. First, users are still required to use iTunes (whether on desktop or mobile) to purchase music. There’s no web interface. This means that Apple failed to address the glaring issue of iTunes being incredibly bloated. I run across more and more users each day that are looking for a way out of the garden. Unless you’ve got a high-end machine, iTunes will be a pain in your side and Apple just expects you to deal with it. It runs far worse on Windows than Macs to boot.
The other issue relates to music storage. While you can download anything you’ve purchased or uploaded as many times as desired, the fact remains that the music must still be stored on a device. There’s no streaming whatsoever, so downloads are required. If a device’s space gets low, you’ll have to manually delete content in order to make room for new songs. Additionally, unless you keep your entire music library downloaded to every iDevice you own, there’s no guarantee that songs from one will be on the other. A manual search and download will be required. If you’ve got a lot of music, this could prove unwieldy. In the music store arena, Apple obviously has the lead, but in the convenience and tech department of the actual service…Google takes the cake.
One final caveat related to the iTunes cloud service is that their privacy policy states that they’ll willingly hand over information regarding your iTunes Match data to record labels if threatened with a lawsuit. In so many cases its going to be hard to determine if certain music files are legit or not. Nobody keeps all of their receipts, people lose original discs, and yes of course, there are pirates out there too. But what’s going to stop legitimate users from getting sued by RIAA and the like? I suspect TechDirt may have some insights here, but it’s a little disturbing to say the least.
All-in-all, I think parts of iCloud will be a very hard sell to users. Yes, everyone will benefit from app and data backups, OTA updates, and so on, but many users are already tied in to existing 3rd party services like Gmail, Google Calendar, Google Docs, and so on. The ubiquity of those services (read: doesn’t require an Apple product in hand) makes them extremely lucrative. Switching to iCloud might not be worth the trouble–easy or not. Also, while details are still forthcoming, I wonder if certain data can be excluded from the cloud sync. Some documents, photos, and so on might not be appropriate for global cloud transference…especially to a family Apple TV or some such. Privacy conscious users may also balk at just shoving everything into the cloud. What security, integrity, and such are provided or guaranteed for uploaded data?? And finally, with capped data plans in vogue and no clear way of switching away from iCloud if desired, Apple will need to provide tools in order to track data usage and export content into industry-supported formats. Something they might not be willing to do.
Apple definitely has provided a huge upgrade from the MobileMe of the past few years, but it remains to be seen if they’ve really hit something good yet. It’ll be hard to beat Google at it’s own game. And with Google releasing the next major Android version this Winter, it may bring to significant upgrades and UI adjustments that trump iOS 5 in some important ways. It remains to be seen what’s up their sleeve. There’s even room for a Google Music refresh, so don’t count the music store out yet.
At any rate, the Google/Apple competition is definitely turning out to be a fierce one. The remainder of 2011 promises to be quite interesting indeed.
NFC: The Wave of the Future (hopefully)
0Credit cards are passe. Magnetic strips are prone to de-magnetization, get messed up and destroyed with age, and can cause general frustration in the checkout line at your local supermarket–especially when the cashier has to swipe it a dozen times before it registers. Did I just pay for my groceries multiple times? you ask yourself on the way out. Hopefully not…
The concept of credit is a great one, and it makes life a great deal easier. I, for one, hate carrying cash and much rather using my card as much as possible. But at the same time, I hate carrying multiple cards, pulling them out of my wallet, losing them, and so on. I’m much more conscientious in keeping track of my mobile phone, so what better device to use when I need to pay for stuff? It has security to prevent unauthorized users from gaining access and I can even remotely wipe it if I do lose it. That would be nice since I wouldn’t have to call one or more banks and have them change my account numbers, re-issue new cards, and so on.
Well, turns out the technology and implementation of such a device and system is already here, and it’s called Near Field Communication. It’s similar to RFID in the sense that it’s used to wirelessly transmit information over a pretty short distance, but instead of using a hardcoded tag like RFID, a device employing NFC can transmit any data it wants to a compatible reader. So essentially, your phone could act as 5 different credit cards at once if you so chose. All you’d need to do is pick the one you want to use from the phone’s software, move the phone near the reader, and the transaction would commence. Pretty slick, huh?
That all sounds great, of course, but for this to really work, it has to be standardized in much the same manner as the current credit card system. Any credit card can be used on any credit card reader. They’re all compatible with each other. The only issue that arises is whether a merchant has a contract with your card issuer. For instance, some retailers don’t process American Express cards, but other than issues like that, the credit card system is ubiquitous.
Google has been a big mover in this arena in the past 12 months and beginning later this year, NFC equipped Android phones will be able to take advantage of a new service named “Google Wallet.” They’ve partnered with banks like Citibank and MasterCard, in addition to retailers such as American Eagle and Macy’s. As more and more phones are enabled with this service and new retailers come on board, this serves to be a great boon to consumers! I, for one, can’t wait!
There’s one potentially looming problem though.
Apple is reportedly working on a similar NFC system for the next slew of iOS devices. Nobody’s sure how far along this thing may be, or if we might even see it in the iPhone 5, but it’s still a bit worrisome. If Apple couldn’t even be persuaded to make their Facetime protocol compatible with existing video chat services (many of which have been established for quite some time), can anyone really expect them to play nice in an arena where money might be made directly off of consumer purchases? Something tells me the answer is a resounding “no!”
Certainly competition is good in driving down prices, but this argument is not about that. It’s about making things incredibly easy for consumers to use, not to mention compatible across brands, service corporations, and country borders. If Apple is indeed working to bring this technology to future devices, my hope is that they’ll partner with Google in order to tie into existing infrastructure. Failing to do so will only serve to hurt both consumers and retailers as they’re faced with the difficulty of supporting both systems or the choice of supporting only one.
Ultimately, things will become standardized and either one side will win or compromises will be made between competitors; however, Apple’s choice in this area could determine whether the technology becomes ubiquitous within 12 months or takes many years to saturate the marketplace.
Make the right choice, Apple.
On the Quality Control of Open Source
0I love open source software.
I mean, how cool is it that an individual person or a group of like-passioned people are able to write and publish software for worldwide public consumption? Oft times this software is simply given away to anyone willing to take the plunge, and there’s quite a bit of open source “stuff” that I use on a daily basis. In fact, this blog is powered by one of the world’s most popular open source blogging platforms. The open source software (OSS) movement is powerful to say the least.
There are certainly differing levels of OSS available around the web. Some versions are clearly aimed at the technical/geek/developer/adventurous type of user. This software tends to be buggy, under constant development, and often requires users to poke around the source, recompile, and–on some level–make it better. I totally understand running this type of software, and it can prove extremely useful for the people who have the know how to make it do its thing.
But another continually growing category of OSS is that of “consumer-friendly” products. WordPress is a great example of this. With barely any technical expertise (especially if you have a great web hosting provider or use wordpress.com), anyone anywhere can set up their own blog or WordPress-powered website for free and in a matter of minutes. WordPress goes through extensive testing before each version is released into the public, and even though the “techies” can still get the latest cutting edge development code, end-users generally end up receiving a solid and stable product. That’s not to say that it’s perfect, since there are always minor bugs found after release, but this is true of 100% of software on the market whether it be open source or not.
This, unfortunately, isn’t the case with every open source product released and advertised to the mainstream public.
When consumers purchase a software package from a company such as Microsoft, Adobe, or Intuit, they expect the product to be thoroughly tested and free of major bugs. They feel that they deserve quality because they paid good money for the package–and they’re right! Commercial enterprises must hire teams of quality assurance personnel to test, break, and re-test the software it makes to ensure (as much as possible) that it is free from errors.
So, when it comes to open source products, should end-users expect the same level of quality control?
I believe–quite firmly–that the answer is (mostly) yes. The cornerstone of software development in any scenario is making sure that the end-result is usable by your target audience. In fact, I would submit that anyone writing any type of software meant for public consumption should be absolutely dedicated to producing the finest quality product possible. This entails excellent software architecture, engineering, and testing at every step along the way. If the developer isn’t fully committed to producing quality code that is free from errors, then they shouldn’t be writing software in the first place.
Yup, you read correctly. If you’re not willing to put in the time and effort to produce a quality product, then get out of the business. Period.
Want an example of an open source project that needs to get it’s quality control act together? Look no further than Pidgin, a popular open source instant messaging client allows users to combine all of their IM accounts in a unified window. Last week, the developers released version 2.7 (a major update) into the wild without catching a major bug in the Windows version of the software. This bug prevented users from being properly notified (via flashing of the icon in the taskbar) each time a new message arrived. A bug report was filed, a developer responded relatively quickly, and within a day or so a patch was released to those people watching one particular bug report entry. But even after 72 hours of the patch release, no official notices were posted to the main website and no fix was applied to the installer that thousands of users are downloading every day. The official word on the subject was “we’ll release the fix in 2.7.1–whenever we get around to releasing that.” I don’t know about you, but lack of notification upon receiving an IM is a pretty important feature to fail to test. In fact, at time of this writing, I don’t think an official bug fix has been released!
This, my friends, is quite the poor example of good quality control.
While most open source developers have day jobs and aren’t earning any significant amount of money for developing code like that of Pidgin, they’re still entering into a contract with customers to provide a quality product–at least, to some extent. I believe this goes back to the mantra of “do no harm.” Developers must ensure that their software doesn’t affect the user in averse ways. Of course, there’s always the license agreement that comes with open source software stating that it’s provided as-is and under no warranty, but the point I made earlier still stands. Don’t release software without making it worth using!
So what do you think? Should free open source get the same level of attention and quality control as the commercial stuff? Or should we expect to live with unpolished software because hey, we’re getting something for nothing?
The Case for Flash
1I’ve often been a critic of Adobe’s Flash platform. It’s been used (quite annoyingly) for advertisements and full website “experiences.” As video began to proliferate the Internet, Flash became the defacto standard, even though the implementation was buggy and hacked-together at first. Flash ushered in a rich-media web that would’ve never been possible without it.
I still stand by my original criticisms. Websites written entirely in Flash annoy me to no end. The few that implement this model in a competent way are tolerable, but in my opinion should still be focused more on using ratified web standards like HTML, CSS, and Javascript. Many animations and special effects previously available only to Flash developers are now quite accessible by more traditional web developers.
Flash was great for ushering in the web video revolution–I’m not sure anyone can really dispute that since any other platform would’ve been severely limited by either technology or cross-platform availability. Flash does video pretty well these days and I’ve been quite happy with it. HTML5 video is still in its infancy and Flash video players generally offer more options than their HTML5 native counterparts. YouTube now offers many of its videos in HTML5 format, but they’re still working on the implementation. It’s getting better, but isn’t there yet.
We should definitely be pushing video on the web into the HTML5 standard, since it will offer much better compatibility across browsers and platforms once it begins to truly mature. There’s no reason this transition shouldn’t start now, and for the most part, it has.
Unfortunately, the ongoing battle between Apple and Adobe is blinding many people in the consumer, technical, and press fields to the fact that Flash has many uses far beyond that of video. Arguments across forums and blogs go back and forth–discussing the merits (or lack thereof) of Apple’s stark refusal to support Flash, and analyzing the supposed fall of the Flash platform. Most of these people are far too focused on Apple/Adobe and are not at all aware that Flash can (and should) be used for a variety of other things.
For instance…
There is a huge push for Flash as a next-generation gaming platform. While taking a class at Carnegie Mellon University, I witnessed a presentation by WildPockets–a company whose entire business is allowing people from any background create 3D games for the web with a social twist. Their tool of choice? Flash.
Check out the Human Computer Interaction schools at leading universities around the nation and you’ll find students and professors alike using the Adobe Flex platform to explore new ways to build user interfaces. Flex leverages both Adobe’s Flash and AIR platforms. Oh, and did I mention that it’s completely open source?
Flex, Flash, and AIR are being used every day to build quite powerful (and great looking) applications that run (many times without customization or modification) on a variety of platforms. While you might not build software like Photoshop or Outlook on a framework such as this, you could definitely build successful iPhone, Android, Blackberry, and webOS apps using a platform like Flex, Flash, and AIR. Flash even supports hardware graphics acceleration!
The list of examples could go on and on, but I think I make my point quite clearly. The Flash naysayers don’t seem to understand the full set of issues. All they see is Apple and Adobe going at it and are far too hasty in picking sides. Maybe this has something to do with a certain “reality distortion field“…or not.
Bottom line: It’s far too early to say that Flash is dead or dying (as some propaganda pushers are claiming). Instead, I think the platform and technology are morphing and changing to fill needs in other areas. I’d rather our two corporate enemies stop fighting and work out a solution that is good for the consumer instead of publicly bickering between themselves and starting flamewars between fans of either side.
Real-time screen capture for free
2Stumbled across this pretty sweet software product today while doing some research. CamStudio is a free, open-source (GPL licensed) screen capture application for Windows PCs. It can capture both audio and video simultaneously, allowing the user to record voice annotations along with the current action on the screen.
While CamStudio records everything in a proprietary codec, it is capable of exporting to both high-quality AVI and smaller Adobe Flash SWF files for web streaming purposes.
Their website is a little gimmicky looking and not incredibly easy to use, but scrolling halfway down the page will bring you to the product download links.
Give it a try and let me know what you think!