Cloud computing has been getting an increasing amount of press recently, because it offers attractive solutions to a number of business problems. Cloud computing translates to "hosted applications;" a hosting company lets you build and deploy applications on its servers, delivers those applications through users' browsers, and generally promises near-24x7 uptime and unlimited scalability. To businesses, that translates to hard dollars: servers the company won't have to buy and maintain, databases for which the company won't have to buy licenses, free storage, backup, and disaster-recovery services—all of which mean IT personnel that the company doesn't have to hire and pay salaries and health care for.
Most hosting companies offer infrastructure for development as well. Common types of applications can be developed more quickly, deployed more easily, and scale immediately. That's an attractive proposition; however, there are downsides.
The first problem? Despite the promises availability has been less than stellar. Many of the major hosting companies have had outages recently, including Google's Gmail, Amazon's S3, and salesforce.com. Web site outages aren't usually terribly important to businesses, because most sites don't host applications that the business depends on. But when businesses begin to host mission-critical applications in the cloud, such as email, customer/sales data, and financial services, they need and expect near-perfect service levels.
Second, because hosting companies own the hardware, it's unclear how difficult or expensive it might be to retrieve the data generated by all these cloud-computing applications. But in today's world, these applications and data are essential to the business. What happens if a service outage can't be fixed quickly? What happens if the hosting company goes out of business altogether? What recourse does a business have if a hosting company fails to back up their data and loses it? Hosting companies essentially hold businesses hostage to their own data.
Third, so far, each system is unique—there's little to no ability to move applications from one hosting company to another without rewriting and retesting the application. Sure, businesses could write applications that copy the data to internal servers—but that puts them back in the position of maintaining their own servers, losing one of the major advantages that cloud computing offers.
Finally, there's a question about what the hosting companies could do with the data that gets collected on their servers. Obviously, they have access to that data, and obviously, they must be allowed to have some level of interaction with it: encrypting and decrypting it, backing it up, copying it to improve throughput, moving it between servers, etc. This raises questions about exactly what rights the hosting company has. If a hosting company employee looks at your data, what's the penalty? What if a hosting company decides to sell one company's data to a competing company? What if they outsource the data-hosting portion of the business? What if the hosting company decides to mine the data for email addresses and user interests? Whose data is it, anyhow?
Unfortunately, the real-life answers to these questions have been disappointing. So far, court decisions about who "owns" stored electronic data have trended firmly in favor of the owner of the hardware on which that data is stored, or the business that generated the data, regardless of who generated it. For example, many employees have discovered (to their surprise) that anything they write or any data they generate using a company computer (such as email, documents, or Internet access logs) belongs to their employer, and that the employer is perfectly within its rights to analyze that data or use it however they see fit. One recent UK court case found that an employee who simply uploaded his Outlook contacts list to LinkedIn did so illegally, because—even though the employee insisted he had built that contact list personally—it belonged to the employer.
All in all, it's no surprise that a recent survey of top CIOs by Goldman Sachs & Co. found cloud computing was the last item on their priority lists. One analyst posited that the reason cloud computing placed so low is because "They [hosted services] require a technical understanding to get to their importance. I don't think C-level executives and managers have that understanding." But it's rather obvious from the simple advantages stated at the beginning of this blog that gauging the benefits of cloud computing does not, in fact, require much technical understanding. It's far more likely that executives and managers are avoiding cloud computing because they do understand the implications, and are simply making logical decisions to protect their business data.
At a lunch conference yesterday, Yahoo! released Fire Eagle out of beta. This API allows you to broadcast your location to whomever you want, automatically or manually via your phone. You can post your location on your blog or other various sites. To me, and certain segments of the population, this sounds like a nightmare. To other segments of the population, this sounds way-cool. The latter segment is the same population that thinks email is ancient technology. How secure does today’s youth feel that they want people to know exactly—to the address—of their current location?
At yesterday’s press conference, I saw three different demos of this type of application. The first was from Pownce. The 25-year old co-founder presented Pownce as a means to “send stuff to your friends” because who has time for email and all that spam? Pownce uses Fire Eagle and tells all your friends where you are, in case you want them to join you, without courtesy of an invite or a phone call. Because, you know, phone calls and invitations take so much time what with all the dialing, ringing, and having to leave a voice mail… and then you have to wait for someone to call you back. Who has time for that?
Moveable Type, Six Apart’s flagship product, was the second demo and also featured Fire Eagle. You guessed it, this application allows you to post your current location on your blog. Just in case you want anyone who happens to read your blog to stop by and say hello, or mug you, or something…
The last demo was the most useful looking, to me. Outside.in Radar brings you local blogging news. Based on the concept that you are concerned about the pot hole on your street and not concerned about the pot hole in the next city, Outside.in Radar tells you who is blogging what within 1000 feet of your zip code (you manually provide your zip code). I gave it a test drive and I learned that someone wrote a review of a restaurant that is within walking distance of my home. The site provided more links to more information about this restaurant—and several others in the area—that I don’t think I’ll ever have time to click on them all. It also allows you to track all future news items about this restaurant. It is information overload at it’s finest. Talk about a time suck. I could seriously get lost on this site.
As for me using Fire Eagle, I think I’ll put it on hold. I’m very comfortable without people knowing exactly where I am at all times. Unexpected visits do not sound all that appealing to me. But then again, I think email is still useful, so I am probably not the targeted audience for this API.
Amidst a flurry of announcements about the foundation at last week's LinuxWorld, LiMo's Morgan Gillis held a kind of "state of the foundation" session on Wed., describing the foundation's seemingly realistic goal: to strike a balance between the open source ideals of collaboration and community and proprietary software's insistence on competition and innovation. “The community delivers the platform," Gillis said, "and commercial innovation thrives on top of it."
Founded in 2007, the LiMo Foundation was begun by mobile industry heavy hitters (Motorola, NEC, NTT COCOMO, Orange, Panasonic, Samsung, and Vodafone), to "create an open, Linux-based software platform for use by the whole global industry to produce mobile devices through a balanced and transparent contribution process enabling a rich ecosystem of diffrentiated products, applications, and services from device manufacturers, operators, ISVs, and integrators."
Make no mistake: LiMo is NOT a standards body, but a group of collaborators, developing a free, device-agnostic middleware upon which you can build using almost any development environment you'd like. What if you run into patent trouble? LiMo's members hold over 300,000 patents—and all of them have agreed to mutual patent non-assertion. But if a non-member should try to enforce their patent on your code, LiMo can help—if their subtantial weight can't stave the assertion off altogether.
Perhaps the most interesting facet of LiMo's strategy is its angle on solving fragmentation. Their solution lies in "reciprocation of fixes and optimization"—the user community, consisting of representatives from the entire mobile ecosystem, agree on changes to the OS. This means no forking, and—if you stay within the foundation's framework—no worries about device- or carrier-specific snags to porting your app. The more people that join the foundation, the more widespread the agreement, and consequently, the less fragmentation.
And since the platform is open, there’s nothing to stop LiMo’s users from creating their own market spaces.
Sounds reasonable, right? I guess only time will tell.
The semantic web turned me into a flip-flopper. I’ve heard from both the positive and negative camps. The positive camp thinks the semantic web will revolutionize the web. The negative camp thinks the semantic web is nothing more than fancy metadata. I have yet to hear from anyone sitting in the middle. I think I might be the only one...
At first, I leaned toward the negative camp. I wasn’t seeing any real applications and the conferences I attended didn’t help much. Then came along SearchMonkey and OpenCalais and I was square in the positive camp. I officially flip-flopped and I’m not ashamed to admit it.
While researching SearchMonkey, I was led to Swoogle. I became excited about Swoogle for a couple of reasons: 1. It is a semantic search engine; 2. It came out of my alma mater, UMBC. I was thrilled to learn that my medium-sized, liberal arts school grew up to be an Honor’s University researching semantic web technologies. I felt like I just reconnected to one of my former lives…
That reconnect was quickly lost. After reading the multitude of web pages that discuss Swoogle, I found a web page that states the project ended in December 2006. Was Swoogle a victim of being ahead of its time? Did it fail? I have no idea because no one from Swoogle replied to my inquiry. I tried contacting a Swoogle researcher and was rewarded with silence. What happened to Swoogle? I started slowly leaning back to the negative camp.
And then along comes CrunchBase, who released what some have called an “awesome API.” I learned about the CrunchBase API from reading a blog post with the title, “Semantic Web by Example.” A title like that always catches my attention. As I’ve said before in this blog, we need more examples of semantic web technologies. And it looks like developers are heeding the call.
I’ve decided to ride the semantic web fence. Where do you side with semantic web technologies? Are you in the positive camp or the negative camp? Share your thoughts in the comments.
Setting the legal nuances of the chosen open source license aside, wouldn't two products under any open source license have the same claim to the open source moniker? Maybe so technically, but for many engineers who contribute to the development of open source projects, like Linux Foundation Chief Platform Strategist Ted Ts'o, there's much more to the open source designation than just the license.
Borrowing the Mozilla term "organic," which describes a development process that draws upon the contributions of a diverse developer community and many different companies, Ts'o draws a distinction between organic open source and non-organic open source. Ts'o explained this distinction to me as he headed to the airport for a flight to Portland, Oregon, where he's attending the OSCON show and participating in a panel discussion about this very issue.
According to Ts'o, the difference between organic and non-organic is related to how much influence a single corporation has in the development of an open source product. The broader the developer community around a project and the lower the barrier to contributing, the more organic it is. Citing Linux, Apache, Mozilla, and Eclipse among those in the organic open source camp, Ts'o singled out OpenSolaris as a prime example of non-organic open source. In fact, he objected to "Sun claiming that Solaris is just like Linux because it's open source"--a characterization that seemed to inspire his interest in asserting these definitions.
Ts'o, an IBM employee, said 99 percent of OpenSolaris development comes from Sun engineers. He added that Sun has a "heavyweight development process" in place for OpenSolaris, in which Sun engineers must sponsor any individual contributions as well as shepherd submitted patches. "If you're not accepting patches from the outside world, you have to wonder whether things have really changed a lot since the Solaris 8 and 9 days [when a developer could purchase the operating system on a CD for $75]," said Ts'o.
Ts'o does concede that the organic/non-organic distinction is more of a business argument than a technical argument, even labeling the OpenSolaris 'just like Linux' message as marketing to young developers. He made no judgments about how a non-organic development process impacts the quality of the OpenSolaris end product. He did, however, praise the organic approach for its individual rather than corporate stance, which he believes nurtures a very broad developer community, shields the project from corporate upheavals such as layoffs--which in a non-organic project can lead to a debilitating loss of developers, and ensures that decisions are based on the project's best interests rather than market interests.
So depending on whom you speak to, a license alone doesn't determine open source. The development process--as well as the degree and ease of individual participation allowed--are just as important. And don't even bring "free" into the discussion: Do you mean free as in beer, or free as in speech ...
With last week's release of the 3G iPhone, things are really heating up in mobile software development. My inbox is flooded with announcements--Nokia going open source, Google phone rumors, Windows Mobile device releases. It's funny, but with these announcements comes a feeling of industry-wide willful ignorance and hypocrisy.
For instance, the entire industry has acknowledged that fragmentation has been and is a major problem (particularly for developers) within the mobile space, but this doesn't seem to be stopping anybody from developing proprietary solutions to the problem or fighting over market share. If fragmentation is such a problem for developers, how can all these companies be so busy developing software to help developers with fragmentation? Doesn’t fragmentation make *those* developers’ jobs difficult? Everyone wants to be the one who solves the problem, but each “solution” compounds the problem.
Perhaps most amusing is watching how the latest iPhone is struggling with some very Microsoft-esque problems--especially for existing iPhone customers. Sound like a Windows upgrade nightmare? Yep. I’m no fan of Microsoft per se, but does the fact that Apple is now experiencing these problems prove that absolute power *always* corrupts absolutely? Or does it just go to show that Apple was never that innocent to begin with?
When I started with DevX, I knew nothing of the Semantic Web and the technologies that surround it. As I researched the subject, I realized that while a segment of the developer community was heavily touting semantic technologies (ST), that everyday use was still three-quarters of a mile out of reach. One of the main issues surrounding ST is a lack of available functionality for the user. Sure, I’ve seen lots of examples, and lots of demos, but nothing grabbed me that made me say, this is way cool, this is something I could use. That is, until now.
Today, DevX posted an article by James Leigh that describes how to get started with OpenCalais and SearchMonkey. These tools offer functionality that could be used by developers and the public. The OpenCalais tool (OpenCalais 2.1 just went live), offers a means to create metadata that describes a document’s content. And who of us in this blogging world, who realizes that content is king, would not find something like that useful? Especially if it means that authors and editors no longer have to manually create metadata, and instead, a tool can extract it for us. To me, that’s awesome.
SearchMonkey, as we all know by now, can enhance how your site appears in search results. And who in this business-minded world does not want control of their marketing and branding; especially in a front-line environment like search engines? Stay tuned to DevX for an upcoming article from Peter Mika entitled, Semantic Search Arrives to the Web.
With the advent of Calais 2.1 and SearchMonkey, it appears that ST can become a must-have tool in a developer’s war chest. I encourage you to read James’ article and to research these tools more.
An interesting split is becoming obvious in computing today; older people (among them those who were instrumental in empowering computing and the modern web), are increasingly worried about privacy, while younger people (those who've been exposed both to the weband on it—for most of their lives) seem to be far less interested in privacy issues, tending to view the web as a vehicle for social interaction, even if that social interaction involves losing control of their personal privacy altogether.
This emerging difference becomes glaringly clear in the brief comments in this TechnologyReview.com article. For example, Mena Trott, president and cofounder of Six Apart in San Francisco, says: "With the popularity of blogging and online video and photo sharing, we already know that people want to publish significant portions of their lives online. In 10 years, I can easily see someone putting 75 percent of their day online. But it won't all be public."
In contrast, Bjarne Stroustrup, Professor at Texas A&M University and designer of the C++ programming language, says that within five or ten years we can expect "The total end of privacy. Governments, politicians, criminals, and friends will trawl through years of accumulated data (ours and what others collected) with unbelievably sophisticated tools. Obscurity and time passed will no longer be covers."
Even Richard Stallman, the foremost advocate of open source, isn't really interested in open-sourcing people's private data, saying: "I see a danger in the Web today: doing your computing on servers running software you can't change or study, and entrusting your data to U.S. companies required to give it to Big Brother without even a search warrant. Don't risk this practice!"
The problem, as I suspect many older people see it, is that collusion between businesses (those license agreements that give businesses the right to have "associated businesses" access your data) and between businesses and government effectively makes a lie out of assurances such as Trott's that "it won't be all public." The opposite of public is "private," but what is private when ISPs and governments can search through every request, every post, every email, every IM transmission, and every digital phone conversation you have? Is it private just because your neighbors and friends can't see it? Ben Franklin wrote: "Three may keep a secret, if two are dead." That statement's just as true today as it was when Franklin wrote it. Do you really trust people with your private information? If so, why? People with access to secrets not only tend to misuse them, but also share them with others. Even at the business level, recent research suggests that a large number of those with access (network administrators) look at information they're not supposed to be viewing.
It's bad enough when you first truly understand that your recent data is not private. But now, imagine a world in which every faux pas you've ever committed can be discovered, resurrected and perhaps used against you.
Remember when you once posted those pictures of you at that graduation party in Maui? Now you're applying for a job at a company owned by a conservative Christian business network. Too bad. Rejected.
Remember that IM conversation you and your buddy had one evening about your career choices, where you said you never wanted to get put into the position of having to fire large numbers of employees? Now you're up for a promotion, but you have to be willing to wield the corporate axe. Oops, guess you won't get it.
The plain and simple fact is that there is no real privacy in digital data. There never was any complete and total privacy, of course, but there was a strong probability of privacy, because private data was difficult to access and search. Most paper-based data was filed in a single location, and access was typically restricted to people with good reasons to look. Even published information reached only subscribers, or those willing to spend the time manually scanning library copies. Moreover, much private data simply disappeared after a period of time. Records of childhood legal infractions were sealed. Financial records were destroyed after seven years. People threw away letters when you were no longer a part of their lives. And some communications were too difficult to monitor. Phone calls from public telephones were essentially anonymous. Conversations with a journalist were once considered unassailably private. None of that is true any longer—Stroustrup is correct in saying that obscurity and time passed will no longer be covers. The things you say, the places you go, the items you buy, the food you eat, the pages you visit—these combine to create an electronic trail that employers, governments, businesses, or any sufficiently interested and well-financed person can use to discover things about you that you might not want known.
When confronted with this fact, the enemies of privacy typically argue that there's no reason to hide anything you've done unless you've done something wrong that others should know about; that hiding information is tantamount to lying, and that in this age of terrorism, everyone has a right to know everything about you, particularly your government. That argument should sound familiar to those who remember the 1950's witchhunts.
But being able to outlast every tiny personal truth gives you the ability to become the person you'd like to be, rather than the person you were in the past. Americans have long believed in (or at least given lip service to) second chances. We love hearing about the gang member who gets his GED in prison, and goes on to become a successful business executive. We love stories about the prostitute with a heart of gold who marries the millionaire.
Conversely, the inability to obscure every tiny personal fact can make you now and forever the least appealing person you've ever been. The one who gave into temptation, who stole, lied, cheated—who failed in some way, perhaps even in a way that, at the time, wasn't considered a failure. For example, you might have voted for the "wrong" person for President, and mentioned it to your mother in an email, or written it proudly on your FaceBook page. A partisan administration might hold that against you.
On the other hand, perhaps most humans can see beyond the peccadilloes of people's pasts—particularly when their own mistakes are equally open to scrutiny. Perhaps the stigma of indiscretions currently held private will disappear, when it's no longer possible to hide them. Perhaps the total honesty engendered by "life searching" will create better, or at least more tolerant people. (I'm skeptical myself, but one can always hope.)
So is this generational divide in the approach to privacy due to accumulated wisdom, or is it due to aging pessimism? What do you think?
At one point during salesforce.com CEO Marc Benioff's keynote yesterday at the SaaS leader's Tour De Force stop in Santa Clara, he presented a slide with a signpost of a forked road. One road led toward software and the other toward cloud computing. Above them was the declaration: "it's time for software developers to ask 'which path am I going to take?'"
The slide served as a launching point for Benioff to promote the advantages cloud computing (on the Force.com platform, in particular) offers application developers over traditional on-premise datacenters. But the proposition it posed was, of course, overstated. While the advantages of cloud computing--minimal start-up cost and systems maintenance, and the ability to deploy with a click of the mouse--are compelling, most developers today aren't facing an either/or proposition. They work in organizations that are heterogeneous mixes of on-premise applications with just a few business or infrastructure functions deployed in the cloud (if any). New projects might be considered for the cloud-computing model and web startups definitely would have to look at that option, but for most businesses, existing investments in datacenters and enterprise software licenses guarantee that the on-premise model isn't going away any time soon.
For those developers who are already programming on the Force.com platform using the Apex programming language, Salesforce.com announced the Force.com Toolkit for Google Data (GData) APIs. I sat down with Steven Fisher, Senior Vice President of the Platform Division at salesforce.com, who explained that Apex had all the bare capabilities for a developer to call the GData APIs manually prior to the toolkit's release, but coding against the API required parsing through all the XML in the GData ATOM and RSS API. "What we really announced today at the technical level is an Apex library that does all that parsing for you, so you can just interact with objects," Fisher told me.
"Behind the scenes, this library formats out the appropriate XML, and does the HTTP callouts, and all of that kind of stuff. It was so much effort (calling GData from Apex) that people just weren't going to do it, and now it's one line of code."
From a developer's perspective, Tech Ed 2008, which attracted over 6000 developers to Orlando, doesn't offer much that's completely "new;" however, it does offer a great deal of value for developers who need to find out about existing technologies. If there's a single overview word that one might use to describe the thrust of the conference, it's "unification." Microsoft is unifying the developer view into its existing technologies.
For example, starting with the small and moving toward the large, the .NET Compact Framework, the .NET Embedded Framework, Silverlight, Office, Visual Studio, SharePoint, BizTalk, and SQL Server all leverage developers' knowledge of the .NET framework and its supported languages in very much the same way; after becoming familiar with the framework and one language, you can build on that knowledge to write applications intended to run embedded in other devices, to run on mobile devices, to deliver rich content through a browser, integrate with Office applications, run as standalone desktop or Internet-connected applications, or run custom code inside SQL Server—all without having to learn a completely new environment or language. Unification is the theme not just with developers, but with architects, development managers, designers, testers, and maintenance; the newest and upcoming toolsets cover the entire application lifecycle.
One of the most exciting additions to this lineup is Silverlight—no, not the 1.0 version; the new 2.0 (still beta, but soon to be released with a Go-Live license) version. Silverlight puts Microsoft's WPF technology—specifically XAML—front and center in the development world. The new version not only improves rich media (video/audio) delivery, but moves beyond JavaScript, letting developers write Silverlight code in familiar .NET languages such as C# and VB—and some newer ones, such as IronPython and IronRuby. If you haven't started exploring WPF, I highly recommend it.
Bill Gates, giving what may be his last keynote for Microsoft (he's stepping down at the end of June to concentrate on his work with the Bill and Melinda Gates Foundation) mentioned two other noteworthy topics. First, SQL Server 2008 (soon to be available as RC 0) adds the ability to store geographic location points (geopoints) as a native type. In a brief demonstration, he showed how a user could identify a point, and an application could request additional points of interest within a circle with a defined radius from that point. While perhaps not groundbreaking, adding location data as a base type both simplifies developing location-aware applications, and elevates them to mainstream status.
Other enhancements to SQL Server 2008 include support for external blob storage in the file system, on local NTFS-formatted drives. Storing blobs externally gives SQL the ability to manage files and large binary data blobs in an intuitive way, letting developers treat them as standard file streams, while still taking advantage of SQL Server's transaction, rollback, and backup features. This also helps to avoid the performance penalty associated with storing large blobs internally.
Finally, SQL Server 2008 adds support for hierarchical data (tree structures). While it's been quite possible to handle such data before, T-SQL itself provided no assistance. Because tree-structured and hierarchical data has become ever more common, that's a welcome addition.
Another welcome technology, although still under development, is enhanced modeling in Team Studio.Brian Harry, a Technical Fellow in Microsoft's Developer Division, demonstrated how code submitted to a project repository containing a model of the application can be tested at check-in to ensure that the code contains no dependencies that would break the model. As applications have become ever more complex, improved modeling support helps to unify the original architect's vision of not only the application but the application code itself. The modeling support will ship as part of "Oslo," Microsoft's code name for its upcoming model-driven and service-enabled application toolset(Oslo is MS's vision, but what, exactly, is it? What kind of app? EG). Brian said developers could expect a CTP of Oslo at Microsoft's PDC conference in October.
Being in the front row for perhaps Bill's last keynote reminded me how long I've been working in this industry; I remember when IBM chose the relatively unknown company Microsoft as the supplier of its PC operating system—DOS. Bill's departure comes at a time when development is undergoing a major shift, where instead of having to learn new languages or new hardware platforms to gain new capabilities, developers can concentrate on gaining deep knowledge of their core focus areas, relying on tool improvements to give them access to new capabilities and new devices, while still using their existing tools. We all owe Bill a debt of gratitude. Sure, he was lucky to be in the right place at the right time, but he also helped create our industry and make developers a driving force in the modern world. Thanks, Bill. Good luck in your new endeavors. You'll be missed.
Warning: this may be considered free advertising—or then again—it might just be considered entertaining and educational.
The FiveRuns and RailsEnvy guys created videos for the Rails Conference, which just ended. They showed one of the videos before every keynote (you might remember last year’s Mac vs. PC / Rails vs. PHP ads too, which were also hilarious). You might come away thinking these guys are too-cool-for-school, but then again, they just might be on to something.
Google launched its largest and first paid-admission developer conference, Google I/O, yesterday in San Francisco with a 90-minute keynote session to show off a number of its web development products and initiatives. The message of the presentation, titled "Client, Connectivity, and the Cloud" and led by Google Engineering Vice President Vic Gundotra, was nothing new; much of it echoed O'Reilly's "Web 2.0" conception, Salesforce.com's and BungeeLabs' platform as a service (PaaS), and the Sun Microsystems corporate motto, "The Network Is the Computer."
Gundotra explained Google's high-level goal as moving the web forward by enabling web developers to:
- Access the cloud more easily (with Google App Engine);
- Leverage more power from the browser (with Google Web Toolkit); and
- Maintain pervasive connectivity in their applications (with Android and Gears).
Google App Engine
The PaaS pitch for developers was Google App Engine: Google will host their applications on its servers for free and charge only when the applications exceed either 500MB of persistent storage or the bandwidth and CPU necessary for 5 million monthly page views. Although the pricing model won't be finalized until the end of the year and App Engine is still in preview, Google announced open signup for all interested developers. Developers need only sign up, develop the web applications on their local machines, and deploy them to Google. Launching the application then is just a matter of serving the application's URL to your end users. However, the App Engine runtime environment currently uses only Python. Google is considering other languages and runtime configurations for future releases. So if you're not a Python developer, you'll have to learn the language or wait.
Google Web Toolkit
The announcement of the Google Web Toolkit 1.5 Release Candidate (GWT 1.5 RC) was Google's effort to make the browser more powerful. GWT uses an optimizing cross-compiler to convert Java code input, written in the IDE of your choice, into compiled JavaScript output for target browsers (IE, Firefox, Opera, and Safari). GWT 1.5 RC adds full Java 5 language support—the most requested feature from GWT users, according to Bruce Johnson, Google's GWT engineering manager.
During his demo, Johnson explained that when developers write an application directly in pure JavaScript, they're responsible for optimizing and maintaining that code themselves. But with GWT, developers write applications in maintainable Java code, and the cross-compiler produces the fastest JavaScript possible for that application—with no concessions to maintainability.
If you like the GWT functionality but code in C#, check out Script# as an alternative.
Android and Gears
The Android and Gears demos filled the pervasive connectivity role. Android Engineering Director Steve Horowitz demonstrated the much-talked-about mobile development stack on a mobile device. The home screen featured the typical items you'd expect (e-mail, Internet, contacts, etc.), and Horowitz's touch-screen navigation would've had more appeal if the iPhone hadn't already been on the scene. But things got interesting when he pointed the WebKit browser to Google Maps. Horowitz set the device to Compass mode while viewing a Google Maps Street View of the San Francisco waterfront. Holding the device at arms length, he turned around 180 degrees in either direction and the Street View moved in relation to him, providing a sweep of the waterfront image. That trick drew applause.
MySpace's Senior VP of Engineering, Allen Hurff, conducted the Gears demo. A browser plug-in, Gears (formerly Google Gears) uses a local server, database, and worker pool to enable users to interact with web applications while they're offline. Hurff showed this capability by doing a full text search of his 300-plus MySpace Mail messages without calling back to the MySpace servers. Each search term he entered dynamically narrowed his messages to only the matching results, and the search was powered completely by his local machine.
The keynote's message of "Client, Connectivity, and the Cloud" was nothing I hadn't heard before. But what made it compelling was that it came from a child of the Web era (you could say the poster child—in the canon of web-based services alongside Amazon, eBay, and now MySpace). Google itself was born of open standards/open source software, the Internet as the platform, and the proverbial web company founder story: two computer whiz kids in their college dorm room with a brilliant idea and no money. What's possible for those kids—and whiz grownups—today? Google believes it has the tools to help them find out.
I’ve been stewing over this one for over a week now. I can’t believe it’s even necessary to write a post on this topic. What am I even talking about? Well, there are folks out there that want to control content on the web. I’m not talking about editors checking for grammar or typos. I’m not talking about YouTube checking for copyright violations. I’m talking about this consultant I met who wants to track the folks that take content off a site, use it for their own purpose, and then continue to track that content to see how it’s used. On the face of it, that does sound interesting to see who does what to your stuff.
The part I’m stewing over is that this consultant wants to be paid for what you do with their stuff. Yeah, it’s financial gain this consultant wants for himself and his clients. No, they don’t care about collaboration, education, and the free-spirit of the Internet. What they care about is getting paid. They want to post their music (or whatever) online and get paid for you listening to it. They want to get paid if you take it. They want to get paid if you change it. They want to get paid if you republish it somewhere else. They want to get paid, paid, paid. And paid some more. It is just greedy behavior.
The consultant claims that the artist’s hard work is stolen off the web and others are gaining from it. Well, then don’t post it on the web if you don’t want others to use it. The web needs to be a source for collaboration, to be open, and free to share and be shared. People should be happy that their content is found and that someone else likes it enough to use it for something else.
So, if you’re a developer and a consultant approaches you to develop applications that track the movement of content, please ask them what their end goal is. And if that end goal has anything to do with getting paid because someone uses something they found online to do another thing with it, then Just Say No.
The 2008 Semantic Technologies conference wrapped up this week and I walked away with a feeling of (yawn) nothing much going on here. True, the conference did have a record-breaking 1000 attendees, and Oracle was a major sponsor, but where was IBM, where was Google? Yahoo was there in strength and had a few sessions. But from what I saw on the registration list, Google only sent a couple of scientists and IBM sent a small handful of researchers. This tells me that the majority of big players are keeping an eye on things but are not committing their front-line grunts to anything, at least not yet, and the conference is going on four years running now. In tech years, that’s like a 100 years.
I don’t think I’m the only one not getting it…
To paraphrase a few conversations I overheard in the hall, “They’re trying to link this language with this technology, but I don’t see why when you can do it easier with something else.”
To paraphrase a lunch conversation, “RDF is way too complicated. Only top scientists and A+ students are really working with it right now. There’s far too steep a learning curve for the average developer to pick this up and run with it.”
Even with a lack of Big Names and a reputation of being complex, the folks who did attend are calling for semantic technologies to reach critical mass. That’s putting the horse behind the cart. The industry needs to show functional applications that are easy to implement. If they can do that, then critical mass will follow. If you have to ask for critical mass, it won’t come, it has to come to you.
I heard a few challenges put out there for companies to start releasing applications, not just in theory, but in functionality. Hopefully, Radar Networks will do that with Twine in the Fall, and maybe MySpace might actually make some real announcements. But the real challenges, as I understand them, is to lower the learning curve and bring front-line developers into the fold.
Business computing today works largely on a flawed vision of reality. For example, consider an inventory-management application. The system holds a list of items in a database, such that:
- When items arrive at the store, the item counts are incremented with the number of items that get stocked.
- When an item gets sold, the system decrements the count for that item.
- When an item count falls to a specific pre-set level, the system marks that item for ordering, or possibly even orders more stock automatically.
But the system doesn't really know how many items the store has. It can't, because the items themselves have no connection to the computer. For example, the system can't—by itself—account for misplaced items or stolen items. The system is forced to rely on a human to give it that type of information.
All that's going to change, because one of the next big advances in computing is location-based computing, which uses one or more methods to let the computer know and track the exact location of objects or people.
Location-based computing, so far, has been primarily concerned with GPS information: geographic locations—positions—of roads, buildings, trucks, and, in some cases, people. Trucking companies, for example can attach a GPS system to their trucks, which can then wirelessly send their location back to company headquarters every second or so, letting the company track the actual position of the truck. If it stops, the company will know. If it gets lost, the company will know. If the driver speeds, or drives too slowly, or takes a detour to visit his family, the company will know.
Similar applications let you track individuals via their GPS-enabled cell phones, or indeed, any cell phone, because software can triangulate the position of a cell phone by the relative speed with which it responds to various cell phone tower signals. That's how the 911 emergency service can locate a cell phone caller.
GPS tracking is fine for large objects that move large distances outdoors, but it's not cheap. A GPS receiver is relatively large, and it's not well-suited for tracking objects that are indoors, where they don't have clear access to satellite signals or objects that move only small distances, such as items in a store, books in a library, or children in a school. Another technology, called Radio Frequency Identification (RFID), is better suited for tracking small objects. Several years ago, Walmart, in a rare lucid action that might actually benefit employees, customers, and the corporation, announced it would require all its Sam's Club suppliers to tag shipping pallets with RFID tags by 2010. At that time, RFID technology was in its infancy, tags were battery-powered, relatively large, and expensive.
Tagging pallets to trackmerchandise uses RFID at the macro level, but still doesn't help computers track individual objects—the goods after they're removed from the pallet. But we're about to see an explosion in location-based computing at the micro level. Newer generations of RFID tags are far smaller, have (mostly) dropped the battery and draw power from the tag reader's electrical signal, can hold more data, and are more reliable. You can easily buy tags today that are about the size of a grain of rice—but much smaller tags are in development; some are the size of a dust particle, almost invisible to the naked eye.
RFID tags do cost money, but the price is coming down rapidly. Costs vary depending on the type of tag (powered or unpowered), how close a reader must be to read the tag, the amount of information the tag will hold, the tag's frequency, the tag's size, and of course, volume. Common unpowered tags currently cost between 7 and 15 cents per tag. They're already being used on some big-ticket items, particularly those that are small and easy to misplace or steal. Readers cost money as well, running from $100 to $750 or so, with the average reader probably running around $300. At these prices, the tags obviously aren't ready to be used to track inexpensive items. However, they're already reaching the price point where they're useful for tracking more expensive items, where keeping the item's location in sync with software is critical.
If you're already working with location-based computing technologies, let me know. If you're not, but you have ideas about how you plan to use location-based computing in your business or your applications, let me know that as well.












