It’s been a little over a year and 4 months since Nolan and I started Hakano after the acquisition of Vocalocity. We have spent a lot of time during the past year trying to help a few companies build and launch rich Internet applications. It was hard and painful in the beginning. And, early on, we decided it was just still too hard to do interesting stuff these days. Javascript really sucks, and the cross-browser issues are a killer. Being software guys, we really wanted to solve the problem using a platform approach to the problem. That’s just the way we think, it’s our DNA.
Late last year, after spending the summer and Fall building some web2.0-style applications and struggling with tons of Javascript, stomping on each others variables (yeah, we eventually moved to namespacing in JS), playing with lots of javascript/ajax frameworks and learning the hard way about how to do complex RIAs in a lopsided browser world – we decided to build something to help solve the problem. We code named it Seamless and developed it with a few customers that were gracious enough to provide us with interesting enterprise projects that benefited from next-generation web features. We’ve continued to refactor it over and over this past year and today, I’m proud to announce that we’ve officially launched the product and company as Appcelerator.
Appcelerator is a name that signifies what we want to accomplish: More App. Less Code. It takes way too much code to do interesting web applications that push the limits of great user experience and a rich-application feel. And, throw in a little requirement to support IE6, IE7, Opera, Firefox, Safari, iPhone, Camino and a ton of other mutations and variations – and you’ve got entirely too complex of situation for even the most talented web developer.
There’s a lot of approaches out there. And ours is different and we think it revolutionizes the way people develop web applications today. We think model-view-controller (MVC) is no longer the best approach to building SOA-enabled web applications. We believe that SOA should include Service-Oriented Application architectures – a lot like the good old days of Client-Server. We believe that there should be a clean separation between the application and the services the application uses. And, the service should be developed with a clean contract and be available to different types of applications. Some people would call that a mashup (and if you get really fancy, an “enterprise mashup”) – where you can integrate multiple services using disparate pieces of information interwoven into a useful app. We think this is really just good SOA design. If you develop your services in an SOA architecture – and then cleanly separate your application from those services – you’ll get mashup capabilities out-of-the-box. It will also be much easier to layer cross-cut concerns across your architecture – such as security, auditing, governance, aggregation and composition and complex work flow – to name a few.
Separation also has the benefit of separation of concerns from a workforce standpoint. OK, we’ve been talking about this for a long-time – especially in the Java EE world. But have we realized this yet? No, c’mon. We still work with a designer (generally) to wireframe the design, we turn that into a page template (dependent on the server-side framework in use) and then we wire it up with our controllers (if you’re really good, otherwise, you just code it all inline) and call them “views”. Yea, right, “views” – nothing more than a fancy word for something that was really invented for tightly coupled graphical user interfaces of yesteryear. In Appcelerator, you have true separation between the application and services that the application interacts with.
Additionally, service-level separation provides a good demarcation for contract-driven programming (or as some might say, interface-driven programming but without real language interfaces). When you can cleanly separate services – you can now independently develop the application from its services – and even switch out those services underneath the cover (sounds like SOA, huh)? For example, application development can progress even before integration of services has even commenced – or can run in parallel. You can even completely mock out the entire application without any real back end services – which is how we recommend you do it – such that the user interface becomes true use-case driven development. And it’s very iterative – unlike traditional MVC where you have to re-templatize, re-wire and then re-integrate code for every UI change.
There are so many other great things about what we’re doing – way too many to discuss in one blog post. So, I’ll spread them out here and on our new developer community blog just launched, called Appcelerant (get it, rant!). Stop by sometime and subscribe with your RSS reader – we’ll be having some fun and interesting discussion over there.
A little bit about the company and the model. We’ve released Appcelerator under a GPL version 2 license and our business model is a traditional professional open source model. We’ll be offering strategic consulting, training, commercial licensing and a subscription model for support.
We also have grown quite a bit since we started. We’re now at 12 employees and we have some very interesting people that are joining our team very soon that I can’t wait to talk about.
We have a good bit of work to do to really round out the product and community. We’d really like your feedback and support. If you’d like to join the community, please do so at http://www.appcelerator.org. The first 250 people to join will get a special gift and forever be known as “Early Appdopters”. Come out and support us and you’ll forever be famous (at least in our eyes).
appcelerator ria soa atlanta web2.0 hakano
Popularity: 22% [?]
Other popular articles you might enjoy:
If you enjoyed this post, make sure you subscribe to my RSS feed!