{"id":2312,"date":"2008-08-14T10:31:47","date_gmt":"2008-08-14T14:31:47","guid":{"rendered":"http:\/\/blog.voipsupply.com\/?p=2312"},"modified":"2008-08-14T10:31:47","modified_gmt":"2008-08-14T14:31:47","slug":"jay-phillips-and-mark-spencer-square-off-over-asterisk-critique","status":"publish","type":"post","link":"https:\/\/www.voipsupply.com\/blog\/voip-insider\/jay-phillips-and-mark-spencer-square-off-over-asterisk-critique\/","title":{"rendered":"Jay Phillips and Mark Spencer Square Off Over Asterisk Critique"},"content":{"rendered":"<p>Jay Phillips, the creator of Adhearsion, a RUBY development framework for Asterisk, recently <a href=\"http:\/\/jicksta.com\/posts\/what-were-not-admitting-about-asterisk\">called out Digium<\/a>for failing to make Asterisk sufficiently accessible to developers.  While it is clear that Phillips has his own entrepreneurial agenda, he asserts that Asterisk alienates would-be developers by presenting an often cryptic, non-intuitive interface.<\/p>\n<p>Jay goes on in detail concerning a laundry list of issues that he believes are limiting the proliferation of Asterisk beyond first adopter types.<br \/>\n<!--more--><br \/>\nIn response to Jay&#8217;s diatribe, Mark Spencer of Digium responded with his own lengthy counterpoint, the text of which I have reposted below.  As I said, Mark&#8217;s retort is extensive, but I found it to be a pretty fascinating collision of viewpoints.<\/p>\n<blockquote><p>Recently Jay Phillips of Adhearsion fame sent me<br \/>\na blog he\u2019s written about Asterisk and asked me<br \/>\nto respond to it, which of course I\u2019m happy to<br \/>\ndo. First, I have to say that I met Jay at<br \/>\nAstricon and was immediately impressed with his<br \/>\nenergy and excitement around Adhearsion. To say<br \/>\nJay is an out of box thinker is probably<br \/>\nsomething of an understatement, and it is great<br \/>\nto have people working with Asterisk building the<br \/>\ntypes of tools that Jay is developing. Jay and I<br \/>\nhave talked quite a bit with each other on<br \/>\nsubjects regarding Asterisk and Adhearsion, and I<br \/>\nrecall an article on Adhearsion was written<br \/>\nby Jay on the dock of my weekend place. I hope<br \/>\nthat we can continue this discussion as a<br \/>\nconversation of ideas regarding how Asterisk can<br \/>\ncontinue to evolve, even if we disagree on some<br \/>\nof the notions that each of us bring to the<br \/>\ntable. While I may not entirely understand some<br \/>\nof Jay\u2019s issues he outlines in his posting,<br \/>\nperhaps my comments on some of what I believe<br \/>\nare his points will help us both better<br \/>\nunderstand where improvements or clarifications<br \/>\ncan be made.<\/p>\n<p>I\u2019m going to try to address Jay\u2019s blog point by<br \/>\npoint, but it\u2019s made complicated by Jay\u2019s having<br \/>\nmixed so many business metaphors and by leaving<br \/>\nterms like \u201cmarket\u201d unspecified or variable.<br \/>\nAlso, Jay, like my mother, seems to have issues<br \/>\ndifferentiating between \u201cfact\u201d and \u201chis personal<br \/>\nopinion\u201d. Much as mom thinks I should like<br \/>\nsalmon because \u201cit\u2019s good\u201d, Jay makes a number of<br \/>\nassertions which are simply his opinion, but he<br \/>\nstates them as fact. I\u2019ll try to point some of<br \/>\nthese out, and where possible I will try to use<br \/>\nactual metrics to either support or refute those<br \/>\nclaims, and where not possible, some research<br \/>\nwould be required to be able to support them.<br \/>\nLets start with Jay\u2019s largest \u201cone thing\u201d he<br \/>\nwants us to understand, that \u201cAsterisk Has Not<br \/>\nCrossed the Chasm Yet\u201d. The first, most<br \/>\nfundamental problem with trying to address such a<br \/>\nstatement is that Jay hasn\u2019t actually chosen a<br \/>\nmarket. It\u2019s much easier to try to decide if the<br \/>\n\u201ciPhone\u201d has crossed the chasm or not because its<br \/>\npurpose is generally clear. It\u2019s a phone, and<br \/>\nthe market is consumers. But what exactly *is*<br \/>\nAsterisk? Most people think of Asterisk as a<br \/>\nPBX, even though it is a great deal more today.<br \/>\nIs he saying that it has not crossed the chasm as<br \/>\na PBX? Jay is particularly interested in<br \/>\nAsterisk as a platform underlying his technology<br \/>\nfor developing applications. Is it that Asterisk<br \/>\nhas not crossed the chasm of being the defacto<br \/>\ndevelopment platform of choice for IVR<br \/>\napplications? For conferencing?<\/p>\n<p>Jay says he feels like Digium has been caught up<br \/>\nin the misconception of the growth of the<br \/>\nvisionary market. In reality though, Digium\u2019s<br \/>\nprimary market is not Jay\u2019s market, because<br \/>\nDigium\u2019s *commercial* focus is primarily on the<br \/>\nSMB and to some degree Enterprise PBX market \u2013<br \/>\nalmost certainly the largest *single market*<br \/>\ntelecom products that you can build with<br \/>\nAsterisk. Digium\u2019s *primary* business is not to<br \/>\nsell to developers like Jay, it\u2019s to sell to<br \/>\ncustomers like Joe\u2019s Laundry down the street,<br \/>\nthrough resellers and channels that almost all<br \/>\nfit in the early and late majority category.<br \/>\nDigium\u2019s work on expanding Switchvox and channels<br \/>\nclearly indicates that we *clearly* understand<br \/>\nthe importance of that market and precisely *are*<br \/>\ndoing the right things to cross the chasm in the<br \/>\nPBX market. We understand that the early and<br \/>\nlate majority customers are looking for a PBX<br \/>\nproduct that is feature rich, inexpensive and<br \/>\neasy to use, and that\u2019s precisely what we\u2019re<br \/>\nbuilding. You\u2019re not going to be able to take<br \/>\nregular open source Asterisk without any<br \/>\npackaging and try to take it to your average end<br \/>\nuser. It needs to look, feel and smell like<br \/>\nsomething they can actually use, and doing so<br \/>\ndemands the creation of a derivative work focused<br \/>\non the market you\u2019re going for, and *that\u2019s* what<br \/>\nyou\u2019re going to cross the chasm with. Jay says<br \/>\nthat Asterisk isn\u2019t sticky because it\u2019s too hard<br \/>\nfor an end user to use \u2014 and for many end users<br \/>\nthat may be true, but that\u2019s not the product that<br \/>\n*should* be bringing them \u2014 it\u2019s AsteriskNOW or<br \/>\nSwitchvox or some other, more cooked product,<br \/>\nthat is the right thing if you want a PBX.<br \/>\nThat\u2019s like saying that Chevy 350 small block is<br \/>\na lousy product because most people don\u2019t use it.<br \/>\nIt\u2019s not a bad product, it\u2019s just that people<br \/>\nwant cars, not just motors.<\/p>\n<p>Having said that though, the direct market for<br \/>\nAsterisk, as a project, is of course not early<br \/>\nand late majority PBX customers \u2014 it\u2019s<br \/>\ndevelopers who want to build products that<br \/>\ncustomers in turn will actually use. I *think*<br \/>\nthis is the \u201cmarket\u201d that Jay is actually<br \/>\naddressing with his \u201cOtto\u201d example, and it is a<br \/>\nmarket Digium is trying to pursue for Asterisk as<br \/>\nthe benevolent maintainer of the software \u2014 not<br \/>\nas its primary commercial interest (although<br \/>\ndon\u2019t get me wrong, we\u2019re happy to sell our wares<br \/>\nto developers as well!) Clearly if he was a<br \/>\ntraditional PBX customer without technical<br \/>\nbackground, downloading Asterisk and building \/<br \/>\ninstalling it on his own newly installed Linux is<br \/>\nnot likely the best place for him to start. If<br \/>\nOtto is a developer, then that\u2019s probably a good<br \/>\nway for him start (although AsteriskNOW might be<br \/>\na little better place to start). Jay calls<br \/>\nasterisk \u201cprohibitively unintuitive\u201d and if<br \/>\nyou\u2019ve never used Linux or a command line, that<br \/>\nmay be true, but if you\u2019re a developer, you\u2019ve<br \/>\nconfigured tons of things before, and something<br \/>\nlike AsteriskGUI can get you off to a running<br \/>\nstart from which you can start fooling around<br \/>\nwith some of the developer technologies, although<br \/>\ncurrently the best single source of those tools<br \/>\nmay be Google.<\/p>\n<p>Jay drives his opinion that \u201cthe average amount<br \/>\nof time a developer plays with Asterisk is less<br \/>\nthan one week\u201d and that \u201cthe developer retention<br \/>\nrate of Asterisk is less than 1%\u201d but in spite of<br \/>\nbeing in bold print, these are not statistics but<br \/>\nmerely his opinion. To my knowledge, no one has<br \/>\never really researched this, and I\u2019m uncertain<br \/>\neven anecdotal evidence of \u201csticky\u201d numbers of<br \/>\ndevelopers is significantly different than any<br \/>\nother major project that sees experimental use by<br \/>\nthe overall OSS developer community. In any<br \/>\ncase, Jay\u2019s premise seems to be that Asterisk is<br \/>\nsimply too difficult for a developer to build<br \/>\nfrom. Fortunately for us (and unfortunately for<br \/>\nhis argument), such a premise is largely in<br \/>\nconflict with reality. For example, lets look<br \/>\njust at a series of recent projects built at the<br \/>\nInteractive Telecommunications Program (ITP) at<br \/>\nNew York University:<\/p>\n<p>* Botanicalls &#8211; Your plants call you when they\u2019re<br \/>\nlow on water. Each plant has its own personality<br \/>\nbased on its species. Further development is to<br \/>\ninclude other environmental factors.<\/p>\n<p>* I-PLATE-U &#8211; Record and retrieve messages based<br \/>\non someones license plate. Heavily uses speech<br \/>\nrecognition to avoid having to type on the<br \/>\nkeyboard<\/p>\n<p>* Popularity Dialer &#8211; Calls you and plays one of<br \/>\n5 different pre-recorded \u201chalf conversations\u201d<br \/>\nincluding the \u201cCousin needs help\u201d call, to help<br \/>\nyou get out of a sticky situation and the<br \/>\noriginal \u201cpopularity\u201d call where your friend<br \/>\ncalls trying to get you to join your other<br \/>\nfriends, but you decline because you\u2019re on a<br \/>\nwonderful date.<\/p>\n<p>* Cause Caller &#8211; Automates the process of<br \/>\nallowing you to call in to politicians in support<br \/>\nof various political causes.<\/p>\n<p>* Booty Dialer &#8211; Automatically calls each entry<br \/>\non your \u201cbooty call\u201d list until someone responds<br \/>\npositively to the interrogatory, at which point<br \/>\nyour phone rings and you are connected with them<br \/>\ndirectly, saving lots of time.<\/p>\n<p>* Canal Street Station &#8211; Interactive telephony<br \/>\nmystery which is played out by calling a toll<br \/>\nfree number from various public pay phones in the<br \/>\ncanal street station<\/p>\n<p>* Rap Happy &#8211; Allows you to use your phone to<br \/>\nrecord rap music (presumably other music) via<br \/>\nyour phone.<\/p>\n<p>Now, obviously these are extremely creative<br \/>\napplications of Asterisk, but what is perhaps<br \/>\nmost interesting about these is that the ITP<br \/>\nprogram is not an engineering program \u2014 nor are<br \/>\nthe creators of these applications engineers \u2013<br \/>\nthey\u2019re artists, in the art department. This<br \/>\nprogram has taught them to use Asterisk as a<br \/>\nmedium for creating telephonic art, or at least<br \/>\ntaught them how to accomplish telephony tasks<br \/>\nwithout having a CS degree or years of<br \/>\ndevelopment and sysadmin experience. Of course<br \/>\nthere are lots of other business examples that<br \/>\nactually generate revenue, but the point is that<br \/>\nlots of people make real applications with<br \/>\nAsterisk today, even in its current form.<\/p>\n<p>So, do I think there\u2019s no truth to anything Jay<br \/>\nis suggesting on the API? First of all, like<br \/>\nJay, both Digium and myself want to see the<br \/>\nadvancement of the technology worldwide \u2014 that\u2019s<br \/>\nwhy we invest so heavily in Asterisk. How about<br \/>\nthis for a fact and \u2014 the largest single<br \/>\nengineering team at Digium is the team dedicated<br \/>\nto Open Source Asterisk development. Certainly I<br \/>\nagree there are improvements that can be made.<br \/>\nAsterisk has at least three different ways to<br \/>\n\u201cprogram\u201d it, including the manager API, the AGI<br \/>\ninterface and the various extensions languages<br \/>\nlike AEL and LUA. Like Jay says, Asterisk and<br \/>\nopen source telephony are virtually synonymous<br \/>\nbecause Asterisk has been around for such a long<br \/>\ntime that it is able to talk to virtually every<br \/>\nVoIP and TDM telephony technology. It has<br \/>\nvirtually every core traditional telephony<br \/>\napplication (like voicemail, call queues, ivr,<br \/>\nconferencing, etc) already integrated and has the<br \/>\nmaturity and stability to be relied upon by a<br \/>\nwide variety of OEMs, enterprises and businesses.<br \/>\nWhat Jay, Digium and I all want to do is to make<br \/>\nthose technologies as accessible as possible to<br \/>\nthe widest variety of developers who are going to<br \/>\ntake this core out to new places and create more<br \/>\napplications that haven\u2019t existed before.<\/p>\n<p>Jay proceeds to enumerate several specific<br \/>\nconcerns about Asterisk which again I\u2019ll try to<br \/>\naddress. Firstly, he mentions that if you build<br \/>\nan Asterisk system, you have to be a developer.<br \/>\nThis is no more true of Asterisk than it is of<br \/>\nApache or even SSHD for that matter. Each of<br \/>\nthose applications has various configuration<br \/>\nfiles that control its behavior. In each case,<br \/>\nyou can either use a graphical interface or you<br \/>\ncan choose to configure the system by manually<br \/>\nediting the files. That\u2019s a matter of personal<br \/>\npreference. By Jay\u2019s suggestion, anyone editing<br \/>\na config file is a developer. There is probably<br \/>\na continuum between developer and user wherein as<br \/>\na system becomes more flexible, and more options<br \/>\nare presented to the end user, their need for<br \/>\nunderstanding and abstracting concepts becomes<br \/>\nhigher. This is precisely why Asterisk is a<br \/>\nproduct for developers, and products like<br \/>\nAsteriskNOW or Switchvox are for end users, and<br \/>\nsimply utilize Asterisk as the functionality<br \/>\nprovider. I know Jay is annoyed that<br \/>\nextensions.conf is Turing equivalent, but hey,<br \/>\nthat\u2019s not how it was intended to be used, and if<br \/>\nyou choose to use that even when there are plenty<br \/>\nof other, easier to understand, easier to read<br \/>\nways of configuring Asterisk, that\u2019s your<br \/>\nprerogative just like you can choose to write in<br \/>\nassembly language if you wanted to. Just because<br \/>\nit\u2019s there doesn\u2019t mean you have to use it that<br \/>\nway. What extensions.conf *is* useful for is<br \/>\nlisting a bunch of extensions \u2014 precisely its<br \/>\noriginal purpose. And if you don\u2019t want to use<br \/>\nit, use the Asterisk GUI. Although Jay describes<br \/>\nthis as \u201cirrefutable\u201d evidence that configuring<br \/>\nAsterisk makes you a developer, it no more makes<br \/>\nyou a developer to configure Asterisk than it<br \/>\ndoes to use the bash command line, which by the<br \/>\nway is substantially more complex, also is Turing<br \/>\ncomplete, and people also use primarily for the<br \/>\npurpose of simple things (launching applications<br \/>\nfor example) and not sophisticated software<br \/>\ndevelopment.<\/p>\n<p>Jay also seems to be concerned that Asterisk is<br \/>\nwritten in C. One of Asterisk\u2019s core missions is<br \/>\nto scale and be efficient. Writing in a language<br \/>\nlike C that supports that goal is important to<br \/>\nallowing these creative apps that live on top of<br \/>\nAsterisk to be able to scale to the number of<br \/>\nusers that end up wanting to actually use them.<br \/>\nYes, programming in C requires you to be careful<br \/>\nin your programming, but I think it\u2019s worth the<br \/>\nextra effort to write a good program once to<br \/>\nallow the end user fantastically better<br \/>\nscalability in the long run.<\/p>\n<p>Leveraging Asterisk beyond just being a PBX is<br \/>\ntypically done at different levels depending on<br \/>\nthe sophistication of what is desired. If you\u2019re<br \/>\njust doing a basic IVR, you can largely do that<br \/>\nwithin AEL (or heaven forbid, extensions.conf)<br \/>\nusing many of the applications and variables<br \/>\nincluded within Asterisk. Granted, this is<br \/>\nlearning another language, but it\u2019s a language<br \/>\nvery specifically designed for operating within a<br \/>\nswitch, and its efficiency is tremendous because<br \/>\nit\u2019s so tightly coupled to the operation of the<br \/>\nsystem. Beyond the basic IVR\u2019s, people start<br \/>\nwanting to use a full-fledged general purpose<br \/>\nprogramming language. Which language to use,<br \/>\nhowever, is clearly not an area of agreement, as<br \/>\nevidenced by the AGI and AMI bindings for Perl,<br \/>\nJava, PHP, C, .NET, and many more\u0160 and of course<br \/>\nAdhearsion for Ruby. One important thing that I<br \/>\nthink we can try to do within Asterisk is to make<br \/>\nprimitives that more easily support binding of<br \/>\nother languages. Jay talks a lot about framework<br \/>\n\u2013 and framework is a great concept \u2014 but there<br \/>\nare lots of languages out there, and they largely<br \/>\neach have different frameworks and programming<br \/>\nparadigms about them, and each attract different<br \/>\nsorts of developers and lend themselves to<br \/>\ndifferent ideal applications.<\/p>\n<p>Asterisk, as with most telephony software,<br \/>\nsuffers from misperceptions about goals, and<br \/>\nthere are complaints no matter which side of the<br \/>\ndouble-edged sword is being swung. \u201cIt\u2019s too<br \/>\nhard to configure!\u201d is the cry that I hear from<br \/>\nthis post. But equally loud is the group who<br \/>\nyells \u201cI want to control all the details.\u201d We<br \/>\nagree that Asterisk is complex; but telephony is<br \/>\ncomplex in the details. This is not dissimilar<br \/>\nto Linux, firewalls, routers, mobile phones,<br \/>\nApache, databases, or a host of other complex<br \/>\nsystems which have various and sometimes<br \/>\ncompeting layers of control put in place over<br \/>\nthem to simplify adoption and integration.<br \/>\nIt is possible to abstract complex sets of<br \/>\nprimitive elements once you have a full<br \/>\ncollection of those primitive elements. It is<br \/>\n*not* possible to go the other way around.<br \/>\nAsterisk (the project) is working towards a<br \/>\n(more) complete set of basic functionality which<br \/>\nallows a developer to achieve as many telephony<br \/>\ntasks as possible, even when some of those tasks<br \/>\nmay be complex to develop if you are creating<br \/>\nthem from scratch. When we say \u201cdeveloper\u201d in<br \/>\nthis instance, it could mean either someone<br \/>\ndirectly building an application, or someone<br \/>\nbuilding an API into another programming<br \/>\nenvironment. We are hoping and encouraging<br \/>\nprojects like Adhearsion, FreePBX, the various<br \/>\nlanguage libraries, and others to create<br \/>\nabstraction layers and configuration layers on<br \/>\ntop of the Asterisk toolset in order to<br \/>\naccomplish specific goals which may be far<br \/>\noutside our ability to comprehensively predict or<br \/>\ndevelop. That is what we envision as our path<br \/>\ntowards the \u201cTipping Point\u201d for application<br \/>\ndevelopers.<\/p>\n<p>Jay continues by trying to describe a view of how<br \/>\nan Asterisk System and an Asterisk Application<br \/>\nare different. If you get at the core of the<br \/>\nconcern though, it\u2019s that he thinks people build<br \/>\nAsterisk systems in ways that aren\u2019t the ways he<br \/>\nwants to do them. He says they\u2019re built the way<br \/>\nthey are because of deficiencies in the<br \/>\nextensions.conf configuration format. Only<br \/>\nproblem with that logic is that if the<br \/>\nextensions.conf format was deficient, they would<br \/>\nobviously have used one of the other wide variety<br \/>\nof programming techniques available (maybe even<br \/>\nAdhearsion). If someone chooses to use AEL, or<br \/>\neven extensions.conf to create an application of<br \/>\nAsterisk, it is precisely because they *were*<br \/>\nable to do it with those systems that they chose<br \/>\nto do so, not because they couldn\u2019t \u2014 again,<br \/>\nhaving those systems doesn\u2019t take away from your<br \/>\nability to use any one of the native languages<br \/>\nand frameworks that are available for building<br \/>\napplications on Asterisk. Said another way:<br \/>\nDon\u2019t complain about what languages people use<br \/>\n(even if you want to call extensions.conf a<br \/>\nlanguage). Use what you like best, and let<br \/>\npeople choose what language they want to use!<br \/>\nThere certainly are a lot of them! Asterisk is<br \/>\n*already* being used as an underlying layer by a<br \/>\nhuge number of abstraction libraries &#8211; and we\u2019re<br \/>\nhoping to continue that trend to make programming<br \/>\ntelephony applications easier by developers in<br \/>\ntheir own environments. You don\u2019t need to be a<br \/>\ndialplan wizard to write applications that use<br \/>\nAsterisk: \u201cThere\u2019s more than one way to do it.\u201d<\/p>\n<p>Now, another point that Jay makes that I think is<br \/>\nvalid (and one Digium is trying to address) has<br \/>\nto do with how you install additional features<br \/>\nand applications in an Asterisk-based<br \/>\nenvironment. The Asterisk Marketplace is<br \/>\nprecisely intended to be a place to allow people<br \/>\nto have applications more readily distributed,<br \/>\nincluding through graphical interfaces, to be<br \/>\ninstalled not just on Asterisk but on PBX<br \/>\nproducts like AsteriskNOW and Switchvox. Sorry<br \/>\nto be vague on this one; stay tuned.<\/p>\n<p>To continue on: I think the \u201cThe Long Tail\u201d<br \/>\nillustration cited could not be more perfect. If<br \/>\nyou look at the green portion of the curve, that<br \/>\nis where Digium\u2019s primary business focus is<br \/>\nplaced, and if you look at the yellow portion,<br \/>\nthat\u2019s where Digium\u2019s primary focus for Asterisk<br \/>\nis placed. The former is best address by a<br \/>\nproduct and a company, and the latter by a<br \/>\nproject (in this case sponsored by a company),<br \/>\nwhere we enable lots of small micro-markets that<br \/>\ncan be attacked by a variety of developers<br \/>\nenabled by technologies like Asterisk either<br \/>\ndirectly or through interfaces like Adhearsion<br \/>\nand others. We actually agree on this point-<br \/>\nthere are more end users (ultimately) on the long<br \/>\ntail, even though that long tail is very long and<br \/>\nthin. Asterisk, the project, is doing all it can<br \/>\nto help with building apps out on that long tail<br \/>\nby creating a free toolset that developers can<br \/>\nuse to address their infinite niche markets.<br \/>\nThis \u201clong tail\u201d will exist because of tools like<br \/>\nAsterisk, not the other way around. Digium, the<br \/>\ncompany, is creating a set of products based on<br \/>\nor around Asterisk that address the head of the<br \/>\nmarket, which by far is the largest single niche<br \/>\nin the diagram by far. One end of the diagram<br \/>\nsupports the other &#8211; the products that Digium<br \/>\ncreates around the largest and leftmost portion<br \/>\nof the curve creates and supports the tools that<br \/>\nwill enable the proliferation of independent<br \/>\napplications that fill the \u201ctail\u201d on the right.<\/p>\n<p>After reviewing this article a few times, I am<br \/>\nmore unclear on what the issues are that Jay is<br \/>\nactually raising. This perhaps is due to my own<br \/>\nmyopia when looking closely at Asterisk and also<br \/>\nhaving a pre-conceived notion of what I feel are<br \/>\nthe shortcomings of the project today. As a<br \/>\npossible continuance of this discussion, perhaps<br \/>\na succinct list of problem statements would help<br \/>\nme in refocusing what we need to do to solve what<br \/>\nare obviously to Jay issues of concern.<br \/>\nCertainly I wouldn\u2019t claim Asterisk is perfect,<br \/>\nbut the developers in the community and within<br \/>\nDigium are interested in hearing the things that<br \/>\nare necessary, and then as they are needed, the<br \/>\ncode can be written to fit the solution. I<br \/>\nappreciate that the requirements are changing as<br \/>\nAsterisk becomes more mature &#8211; we\u2019ll try to stay<br \/>\non or ahead of the curve based on the<br \/>\nperceptions, requests, and most importantly, the<br \/>\nwork and contributions of the community.<\/p>\n<p>Reading between the lines in this post, it\u2019s<br \/>\nclear that Jay has what he believes is a great<br \/>\nidea with Adhearsion. I don\u2019t disagree &#8211; it\u2019s a<br \/>\nvery neat solution for people working with Ruby<br \/>\nOn Rails, and simplifies life for developers in<br \/>\nthat particular arena. Perhaps working so<br \/>\nclosely with high-level abstractions makes the<br \/>\ndetails of telephony a chore &#8211; this is<br \/>\nunderstandable, but I believe that additional<br \/>\ntools have been and will be built that allow us<br \/>\nto cross \u201cthe chasm\u201d for both developers and end<br \/>\nusers &#8211; I think we\u2019re crossing that chasm<br \/>\nalready. Perhaps after waiting a few months it<br \/>\nwill be the case that Jay\u2019s company will<br \/>\nannounce a more commercial solution to the set of<br \/>\nproblems he ambiguously identifies today; if so,<br \/>\nI would caution him not to become myopic in his<br \/>\nown way when identifying the uniqueness of his<br \/>\nown solution and how it resolves perceived<br \/>\nshortcomings of Asterisk. We\u2019re happy to see<br \/>\nmore interest building around the Asterisk<br \/>\necosystem, and we hope to help Adhearsion and<br \/>\nother firms build on Asterisk as the engine for<br \/>\ntheir telephony applications.<\/p>\n<p>In summary, I\u2019d say that Jay and I share the same<br \/>\ngoal of making Asterisk a more accessible<br \/>\ntechnology both for developers and for end users,<br \/>\nand I\u2019ve invited his participation in the future<br \/>\nof Asterisk at the next Astricon 2008 (and<br \/>\nsubsequent developer meeting), which he has<br \/>\neagerly accepted to particpate in! I look<br \/>\nforward as always to working with him.<\/p>\n<p>Mark<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Jay Phillips, the creator of Adhearsion, a RUBY development framework for Asterisk, recently called out Digiumfor failing to make Asterisk sufficiently accessible to developers. While it is clear that Phillips has his own entrepreneurial agenda, he asserts that Asterisk alienates would-be developers by presenting an often cryptic, non-intuitive interface. Jay goes on in detail concerning [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1053,1217],"tags":[],"class_list":["post-2312","post","type-post","status-publish","format-standard","hentry","category-voip-commentary","category-voip-news"],"_links":{"self":[{"href":"https:\/\/www.voipsupply.com\/blog\/voip-insider\/wp-json\/wp\/v2\/posts\/2312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.voipsupply.com\/blog\/voip-insider\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.voipsupply.com\/blog\/voip-insider\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.voipsupply.com\/blog\/voip-insider\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.voipsupply.com\/blog\/voip-insider\/wp-json\/wp\/v2\/comments?post=2312"}],"version-history":[{"count":0,"href":"https:\/\/www.voipsupply.com\/blog\/voip-insider\/wp-json\/wp\/v2\/posts\/2312\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.voipsupply.com\/blog\/voip-insider\/wp-json\/wp\/v2\/media?parent=2312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.voipsupply.com\/blog\/voip-insider\/wp-json\/wp\/v2\/categories?post=2312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.voipsupply.com\/blog\/voip-insider\/wp-json\/wp\/v2\/tags?post=2312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}