January 31, 2006: 8:05 pm: chrisMesh Application Project

Finally returned from San Francisco where we led two Bird of a Feather sessions and participated in the 5 minute Lightning Talks session on Wednesday at ETel.

Leading up to our sessions on Location Awareness, this articlewas posted and glosses over alot of ideas that I’ve commented on, at least in part, on this blog.

Overall, the conference was a good experience with speakers not taking too much time to shill for their own companies. Lots of hacking of existing applications going on and we had the opportunity to see what is going on in the telephony space. Many of the speakers were pretty humorous from Brad Templeton’s CALEA talk (who I referenced despite standing right next to him), Mark Spencer (of Asterisk fame) talking about how they experienced an unintended DDoS, and many others. (The SPAM message was particularly humorous: “Press 1 if your penis is too small…press 4 to speak with the president of Nigeria”)

Also got to meet Ejovi for the first time despite exchanging more than a few emails. Unfortunately, we were both too busy to actually sit down for any length of time. Hopefully we’ll do so given that we’re both based in the NYC area and FON is now well on it’s way in the US.

Met the GTalkr guys as well as Michael Sharon of Socialite. In particular, Socialite was basically a more full-featured and fleshed out version of the social tagging aspect we built for our demo. Many of the ideas that we anticipated for location awareness they had already built via a voice interface and it was exciting to see. Had some good exchange of additional ideas as he attended our BoF on the second day and we caught up with him and the GTalkr guys the next day. Nothing beat Wes and Dudley from GTalkr showing Johnny and myself the cool interface and functionality of the site and how they used Flash to achieve it all, followed by Johnny exclaiming that he “f*ing hates Flash”. Ha ha. Good stuff.

Ironic though that all the young entrepreneurs we met that weekend were all actually from the East Coast.

As to our Bird of a Feather sessions, some lessons learned in our presentation and related skills:

  1. Remember to mention the company name and contact information at some point during presentations
  2. Do not use alpha code in a demonstration. Things can, and will, go horribly wrong with surprisingly speed
  3. Do not eat Taco Bell the night before a presentation. Again, things will go horribly wrong with surprising speed.

After my 5 minute Lightning Talk, it was humorous in retrospect as person after person came up to talk with me and start off with the same question “What was the name of your company again?”. The first time, you don’t think anything of it. Second time, “ok, maybe I mumbled it”. Third + time? “I am an idiot”.

Alpha code + public presentation = total disaster. Will never try to do this again as new code and newly developed (but untested) capabilities combined in our glamorized…failure. Part of this was actually due in part to a variety of network stability features we also decided to disable (don’t ask why) resulting in an equation in which the outcome really shouldn’t have been in doubt. Literally nothing worked. The next day we decided to go with more stable code and a more stable network setup resulting in a much better demonstration. Unfortunately, not alot of people showed up, but it was refreshing that it worked when we decided not to go with untested software.

Taco Hell… What can I say? And the great thing is that this should be a pretty well known stimuli-response reaction given Taco Bell’s track record all the way back to it’s ability to cripple my high school cross-country team. Luckily this didn’t last beyond 1 night, but it was equally rapid in result.

Those who want to try out our VXML mashup, call 1-800-289-5570 x9991251522. It’s pretty basic, but will prompt you for your zip code and what you want to search for (”restaurants”) and then return local results. Useful and I plan on using it as well. Total time to hack? Probably about 1 day to learn VXML/Voxeo’s platform and actually implement. We’ll look into maybe putting our chat/tagging app up online as well to see what kind of results we get. Depends on our ISP’s bandwidth tolerance and how much “unlimited” really is.

Finally, many thanks to Surj Patel, the conference organizer, geek hobbyist, and general good guy. He put on a bang-up conference and helped us significantly, without which, it’s probably safe to say we wouldn’t have been able to do as much. Looking forward to picking his brain about Gumstix and other things heading forward.

Anyway, the trip was enjoyable, net-net. Also had time to catch up with old friends who I don’t keep in touch with nearly enough.

January 13, 2006: 12:53 am: chrisCulture

Despite all the optimism surrounding the wisdom of crowds, it’s interesting to see the mob mentality at the other end of the spectrum where the lowest, rather than highest, common denominator determines crowd behavior. With Digg.com acting as our experiment we’ve seen a variety of mob behavior spanning the PriceRitePhoto incident and the more recent O’Reilly lynching.

Maybe it’s coincidence, but in light of Gustave LeBon’s commentary on the characteristics of a mob in “The Crowd: A Study of the Popular Mind”, the aforementioned camera store incident and the more recent O’Reilly lynching really makes one reframe the crowd issue as a neutral rather than positive or negative force. While there are times in which the highest common denominator determines the behavior of online mobs, other times the opposite is true. Why is this and how can we affect the former rather than the latter, of course under the assumption that external forces are capable of doing so. For small adhoc groups, an anarchist approach may work under self-policing mechanisms. However, in larger instances, highly touted “wisdom of crowd” examples such as Wikipedia are in fact still loosely moderated.

With the rise of ubiquitous broadband, one has to wonder if the lynch-mob mentality becomes more dangerous, or at least more easily emergent. As always, technology remains morally neutral although it does grease the wheels of action. It’s a double-edged sword with which we must be careful not to cut ourselves, and as a result, more widespread understanding of mob mentality and development seems imperative.

January 10, 2006: 12:05 am: chrisMesh Application Project

Today I hacked around on Voxeo’s VXML platform and managed to build a rudimentary local search voice application modeled on their screen scrape. It was surprisingly straightforward and initially used Google’s Web API for search. After finishing, I discovered Yahoo!’s API was much more complete, both in terms of what I wanted to do and in terms of future flexibility. In comparison, Google’s API seems pretty inadequate compared to Yahoo’s. Maybe it’s a function of poor documentation, but it sure didn’t seem that way based on searches of example code.

Yahoo’s returned results give much more information and flexibility. I’m able to pull out location aware information, set searches within a specified radius, etc… Much better.

The rudimentary app now allows for an exclusively voice-based interface and should be useful for the next generation of WiFi phones with limited screen real-estate. Plus, the nice amount of information will probably reduce our overall database table count and provide much more involved apps accessible through the AJAX front-end.

We’re finishing up the chat applications as well so things are coming together nicely. Video is next, but should be pretty straightforward as long as the mesh supports the bandwidth requirements, which we’ve benchmarked it to be adequate.

January 6, 2006: 2:38 am: chrisMesh Application Project

Johnny and I will be in San Francisco this January 23rd through 28th or 29th to attend the O’Reilly ETel conference thanks to the help of some of the conference organizers. We will also be leading two Bird of a Feather sessions in which we will explain, and open up for general use, a variety of location-aware social applications as well as two case studies of location-aware services. The general idea will be to go over the technologies we cobbled together and hacked as well as the lessons we learned in building application level systems on our mesh system.

Because we’re looking for more of a collaborative discussion rather than a speaker-listener format, bring your network enabled devices as you’ll be able to play with the social applications with one another as well as test-drive the final result of our case studies, all while running on an adhoc mesh network, as we go over how we built the systems. The front-end will be AJAX, so if you have a web-browser, you’re good to go.

We’re currently slated for the evening of January 24th from 7:30PM-9:00PM, Building Location Aware Voice Applications, and January 25th from 9:00PM-10:30PM, Chat, Voice, and Video in Location Aware Applications: A Case Study.

After the sessions, we can all head out for dinner/drinks and to toss ideas around if there’s interest. Likewise if anyone wants to see if they can hack their own application the first night for a location-aware demonstration the next evening. Leave us comments if interested (yes, the moderation aspect is set on ‘paranoid’) so we can get a feel for interest.

Looking forward to meeting all of you.

: 2:21 am: chrisBroadband, Pervasive Computing

In keeping with the theme of mesh-enabling virtual-world apps for non-virtual world applications, I came across this Firefox extension, via Michael Arrington’s site, that essentially integrates a bitorrent client into Firefox. The company, AllPeers appears to take the bitorrent file distribution concept and organize it in a nice social-application manner (aka. Share files with friends, friends-of-friends, etc…). A great idea from a user-perspective. Also a good way to break down the barriers towards building private file sharing networks that, while difficult to penetrate by the major media distributors, offer a level of anonymity and security by obscurity.

Given what we’ve seen thus far in building location-aware applications, it would be an involved, but not entirely difficult project to hack a mesh-enabled bitorrent client. Even better would be to hack, or have AllPeers release a version of this Firefox extension allowing geographic-relevant file sharing. As we’ve found, the ultimate application would have similar operating mechanics, but vastly different end applications. Embedding the client in an everyday application like Firefox would make “roadcasting” a reality. “walkcasting”, “trotcasting”, etc.. It doesn’t matter. The basic idea of dynamically streaming files of likely relevance or interest from other mobile users is a reality with mesh. This extension just represents the application level layer with our mesh representing the infrastructural network layer. And as we’ll be explaining at the O’Reilly Emerging Telephony conference at the end of this month, mesh-enabling the application is easier than one would expect.

Update: On the topic of roadcasting et. al. I came across a blog post discussing work in Sweden to build software that automatically shares files of expected relevance and interest among users in a wireless network. The p2p aspect is tailor made for mesh as well, allowing users to not only connect directly p2p, but over multiple hops offering increased file selection.

January 4, 2006: 11:42 pm: chrisBroadband, Pervasive Computing, Mesh Application Project

We’ve decided to move forward with a web-based GUI, built in AJAX, partially due to the short learning curve, but primarily to allow all users with wireless connections to experiment with our final location-aware p2p social networking software, retailer and restaurant applications. The ability to play with our application on attendees’ own machines will hopefully make both our case studies, and mesh in general, tangible to everyone in attendance. We also hope open access to our location-aware p2p social network software spurs new ideas and is an opportunity we couldn’t pass up given how simple it would be to implement. At the least, we hope it will make our Bird of a Feather sessions more collaborative rather than one-directional, from speaker to attendees.

Our AJAX look and feel was modeled on Digg’s Spy page. The dynamic update and feel we were looking to capture although the engine driving update is dependent on the page open. Whether the page is a retailer with peer-reviews and special retailer deals; a restaurant with peer-reviews, menu, and reservation options; or a pure social-networking site based on real-world tagging, IM, voice, etc… The information is updated according to interest in the form of a tag profile. The short learning curve for AJAX was pretty useful.

The different pages will also have seamless voice functionality which we’ve been working on this week. We’ve been cobbling together a variety of open source tools onto Asterisk and in the last two days, we’ve integrated MySQL, Asterisk AGI, and Asterisk RealTime with AJAX to create seamless voice functionality in a true adhoc, p2p, mobile environment. Combined with AJAX, click-to-call now works nicely in a mobile environment. Without a doubt, Asterisk RealTime has been absolutely amazing and easy to use. The total independence of Asterisk from flat configuration files, and use of a database instead will make some of the things we’re building a whole lot easier. Combined with the ability to handle call processing outside Asterisk, whether in scripts or via remote procedure calls, gives us a level of flexibility we didn’t expect, and certainly opens up the possibilities.

Next up, building VXML applications that will really blur the distinction between voice, video, and text. The way I’m expecting to build the applications, voice and text will move to becoming more closely tied to the frontend with the data-model existing more independently. Good times.

December 31, 2005: 3:13 pm: chrisBroadband, Pervasive Computing, Mesh Application Project

Maybe it’s a function of my personal interests, but the basic concept of social intelligence repeatedly pops up in the things I read and the applications that we are building. Jared Diamond’s Guns, Germs, and Steel: The Fates of Human Societies, Swarm Intelligence by James Kennedy and Russell Eberhart, Malcom Gladwell’s The Tipping Point, and Gustave LeBon’s The Crowd: A Study of the Popular Mind all address various aspects of the power and dynamics of social connectivity in building collective intelligence from a morally neutral standpoint. While I certainly did not choose the books for this common theme, it was a pleasant surprise to discover this shared meme that surprisingly, was eschewed by early artificial intelligence researchers looking to replicate the human brain (and in doing so, the human mind and intelligence) as a standalone entity.

When the component entity is defined as societies, the clear benefit of the free exchange of ideas manifests itself in the technological development of Eurasia as compared to the Americas, pre-Columbus. When defined as individuals, the analysis of social intelligence through a variety cognitive models and unfortunate one-off case studies continue to offer forth evidence that intelligence arises, at least in part, from social behavior. Finally, but no less importantly, the analysis of crowd dynamics reinforces (at least in my current readings) the power and dangers of crowds.

In the last 5-10 years, we’ve seen an equivalent trend from all-encompassing software applications to the development of “social applications”. While much of this is due to the rise in the use and deployment of wireline network infrastructure, the shift in software from “software as an individual” to “software as a part of a distributed collective” still lagged network infrastructure buildout. The trend towards socializing software is clear from Amazon’s popularization of collaborative filtering systems in order to build the now-familiar “Other people who liked this also liked…” functionality, to Google’s initial success based on better approximations of a website’s true relevance in the overall Internet (aka. Better analysis of website relationships through link analysis), and the more recent rise of pure social applications such as Facebook, MySpace, del.icio.us, and flickr.

Initial attempts to standardize a tagging system to mark and organize all data were too rigid for anyone but the most devoted followers. Offering a more natural approach towards tagging, everyone can now define “labels”/tags for everything, whether items or ideas. With everyone applying labels to everything, items’ intrinsic meaning can be derived from all tags applied, bringing us closer to the semantic web. The idea that the underlying data behind labeling need not be rigid, just the formating, will be key in building meaning into the online world.

However, as should be clear thus far, much of this social software development has occurred almost exclusively in the virtual, or online, domain. We continue to interact in the offline world in a manner not terribly different than humans have for millenia. While some technologies such as telephony (first fixed, then mobile) and online services have effectively enabled geographic shifting capabilities (aka. reduced the geographic relevance to communication), this has not advanced to the same degree as time-shifting capabilities seen with the rise of asynchronous technologies such as DVRs, email, IM (to a degree). Additionally, the benefits of collective intelligence that we can leverage online are simply not possible offline. How many times have you wondered while walking around “I wish I could Google for more information on this item.” or “I wish I could take note of this idea or item to research more about it later”? The reality is that this can be done in the virtual world, but not the real world.

In the virtual world, we’ve sought to increasingly model offline/non-virtual social interactions by combining the full power of modern computers with an approximation of the social real-world, often with a great deal of end-user value. Why have we been unable to do the converse, transfer the computational power of modern computers to the ultimate social world, the real/non-virtual world? When this ability becomes possible, what are the new rules of building real-world-based applications? What are the challenges and what are the unique possibilies? For the sake of brevity, I’ll address that in the next post.

However, the key idea is that we want to harness the full power of modern computational capabilities while also harnessing the full power of human social behavior and intelligence to build a new breed of symbiotic systems. When this becomes possible, we can leverage the power of collective intelligence fully. Appropriately, in the words of Newton, “If I have been able to see farther, it was only because I stood on the shoulders of giants.”.

December 21, 2005: 7:32 pm: chrisBroadband, Pervasive Computing, Mesh Application Project

Ubiquitous connectivity is nice and all, but until it becomes a habit for people to carry laptops and wireless-enabled PDAs around for rich application interaction with data in the everyday world, it’s clear that an intermediate step must be taken first. A step that involves devices at hand for almost everyone here in the US. A step that involves telephony.

The basic architecture involves data being stored and accessed through various interfaces; in our case, through voice, video and text/chat applications. While the user experience is much richer through applications that use all three of these input methods as one, lets focus a bit on the voice component and how even access via a traditional POTS phone has value here.

With Asterisk, voice applications that would cost thousands to create with commercial PBXs can be cobbled together reasonably easily. Typical functionality such as extensions, voice-mail, call-forwarding, call-queues, IVR, etc… can be easily offered with an Asterisk system. Definitely a boon for SMBs.

However, things get significantly more interesting when one realizes the voice-enabled applications that can be built on top. Architecturally, if one separates the data from the interfaces, Asterisk essentially offers the ability to build voice applications that can act as an interface to the underlying data. Some of the other functionality includes:

  • click-to-call: A user can click on a link on a webpage, enter in a phone number, and then receive a call from the link clicked on. User can also choose to “highlight” a telephone number they wish to call, and the underlying system can connect the far-end and near-end phones together.
  • Text-to-Speech: Functionality to take text (whether pulled from the underlying database or from user input) and return that text in a computer generated voice.

The common thread here so far is the drive to more closely meld our most intuitive of user interfaces (voice), with the power of machine intelligence. While these are just some of the items that we will be playing with in the near future, the question becomes whether voice can be more closely tied to the data?

The answer, as I discovered today, is a resounding yes. Today I started looking in more detail at VXML. More specifically, Voice XML. The Voxeo VXML developer guide goes into detail about how to build applications using an XML structure that looks familiar to anyone that has played even with HTML before. Some of the interesting test applications overviewed include:

  • HTTP initiated phone applications: Similar to click-to-call functionality
  • Voice Recognition systems: Pretty self explanatory.
  • Screen Scraping: Perhaps the most interesting application of them all. Basically, being able to pull a webpage (or any other document), parsing the data for desired information, and returning the information in an audio format.

The Screen Scraping example is one that I found particularly interesting. The example is one in which a Google query is performed, the resulting webpage is then parsed and relevant information is dynamically formatted via VXML into a voice application that returns the results in an audio format.

Translation: I can call a server (with my cell phone), request some information using my voice (”What are the movies near me that start in the next hour and that Rotten Tomatoes and Roger Ebert gave more than 3 stars”), and then receive a customized response to my cell-phone.

Very cool stuff. We’re also hacking around the XMPP protocol which specifies the format of XML streams. In the context of this work, things get even more interesting if you consider that the XML streams can represent VXML applications that can be customized for the end user based on interactive responses. Aka. My voice response/application that is streamed to me is customized to my actions, location, and inferred activity.

December 18, 2005: 5:29 pm: chrisBroadband, Computing, Internet, Pervasive Computing, Mesh Application Project

It’s been awhile since we’ve posted anything, and even longer since we had frequent updates. However, we are back and still busy as ever. One of the difficulties we’ve found in getting non-networking people interested in mesh-networking is the fact that the technology is 1 or 2 levels beyond the everyday interaction of most people.

Given the fact that our underlying mesh technology has been refined and completed for a little while, we are now focusing on building the everyday applications that mesh allows. Think location and presence-aware services. In order to make the power of mesh more tangible, we’ll take you along as we build a comprehensive location aware service integrating text/chat, voice, and on-demand video applications. Furthermore, to illustrate the ease with which mesh can be plugged into existing applications, we’ll be building our software not only on top of XMPP chat systems (tex/chat), Asterisk (voice), and VLC (video); but detailing how our hacks can harness the power of mesh.

Our goal is to finish by the end of January. Those who are in the San Francisco Bay Area around the end of January can join us as we chronicle specifics about the system we are building as we lead an interactive discussion over 2 days. You can come use the system and touch the utility of mesh for the first time.

Those of you wih ideas as we discuss our applications are more than welcome to leave us comments and ideas for implementation. We invite those of you who are more builder-oriented to mesh-adapt your existing works and hacks and if you are in the NYC tri-state area or can make it to our sessions in SF, we can spend time running your works on mesh as well.

So join us on a whirlwind trip as we build on top of mesh over the next month and a half, whether as a spectator or as a collaborator.

October 30, 2005: 5:04 pm: chrisBroadband

Thoughts I had after WiMAX World:

  • Most of the executives know that they want to deploy something to offer wireless broadband. They also know how much it will cost to offer the level of broadband users are asking for. The only problem is that the assumption on cost is predicated on an old-style centralized architecture design. A move in mindset to a more distributed system of wireless peers creating a true mesh solution is not only cheaper in cost, but helps to mitigate the spectrum issues associated with the unlicensed ISM bands that existing infrastructural designs are susceptible to.
  • Wow, there were more financial/banker/monkey-types than I would expect at a supposed technology conference. I didn’t see many of them except at the keynotes, so I suppose they all went to hear their peers in *market research* babble in vague terms about the utopian future they need to be investing in. While answering another attendee’s question about “Why I like WiMAX” was entertaining just to watch the face go blank, the highlight was seeing the speakers immediately assaulted after finishing. This ritual usually involved two waves of impeccably dressed, cologne drenched, slick-haired clones most apparently missing their top button. The first wave was the far more aggressive one looking simply to procure evidence of their presence at the conference to justify themselves to their superiors, a business card. The second wave was at least forward enough to state their company’s potential intentions. Nevertheless, a fun sight especially when the speaker is ushered off stage right, followed by a single-file line of about 10-15 financial monkeys.
  • While the 3.5Ghz spectrum isn’t available in the US, it was interesting to learn that the Department of Defense is at least looking to utilize it by working with operators.
  • A big item at the conference was that since fixed WiMAX (802.16 2004) is closer to production than mobile WiMAX(802.16e), operators voiced concern that customers would ultimately want mobile WiMAX, but didn’t want to pay for an upgrade cycle 1 year after deploying fixed WiMAX now. A legitimate concern that wasn’t entirely answered.
  • Saw some new products such as the Wavesat Evolutive WiMAX products for 802.16-2004, already on a board with mini-pci, Sequans 802.16 system-on-chip, and an offering from picochip that was a programmable array allowing for software implementation of 802.16d, 802.16e, and WiBRO, among others (apparently). The picochip product was pretty intriguing (both from a technical as well as a business viewpoint) as it could be an option addressing operators’ concerns about the cost of upgrading when the cycle to 802.16e was so near.
  • There is a ton of money to be made building the software infrastructure such as billing and accounting systems, especially in light of the increased regulations such as compliance with e911. Voice in particular, but true of most of the systems.

Overall, a decent conference that didn’t shove too much corporate propaganda down attendees’ throats like many of the ones Microsoft runs such as TechEd. On the downside, there wasn’t much quality free stuff, but I guess that’s a good tradeoff to come out without an official Motorola stamp on my forehead.

Next Page »