Microsoft Popfly - Yahoo! Pipes meets Facebook and Google Mashups

18 04 2008

Popfly

I had the opportunity to do a sneak preview of Microsoft’s popfly mashup platform a few months ago. Based on the quick look, at that point of time, it was just a prettier looking  version of Yahoo! Pipes. However, another peek a few months later and I am much more impressed. I must admit that till now, of all the mashup editors I have evaluated, Google Mashup Editor has been my favorite. And that was because I truly feel powerful mashups which are globally useful will be written by developers, not my grandmom, so the interface need to provide more powers and not just pretty ‘connectors’.

I must admit, Popfly on second look has good potential.

So here is my quick analysis of why I think it is like Pipes, like GME, like Facebook and somewhat different. In other words, I think Microsoft has been watching how the others do it, and picked some good features from all, along with some very irritating ones.

First the irritating part:

  • Microsoft opted for implementing the web-based popfly IDE using Silverlight, Microsoft’s response to Adobe’s Flash. The reason I find it irritating, is because it really is like being forced to have two SIP Stacks on the same machine. They look the same, they do the same thing, but are by two different vendors. More browser bloat. I really do wish they just went with flash. To be honest, I prefer Flash to AJAX - flash is faster, renders great and provides far more UI flexibility with lesser code. And since all browsers come with the Flash engine, or if anyone watches videos on the web, they would already have the plugin installed, it is a moot point to complain about downloading the flash plugin. So I am fine with MS not going with AJAX but I think Silverlight was not needed (though I know this is their product, so I am not saying this is a dealbreaker, just irritating from a purist perspective)
  • In its effort to show the ‘cuteness’ and ‘ease of use’ of popfly, MS has gone bonkers with visual effects. For each “block”  you create, microsoft renders a 3D spinning box that zips, zooms and dances around the screen. At first, it is cool, but in 30 seconds flat, it ticked the daylights out of me. Hey, I am trying to create a mashup folks, not using one, so cut of the cutesy spins and zooms (A block is a cohesive function, like a subroutine, with a defined input and output, which can chain to other blocks, similar to the concept of *nix pipes)
  • Stability/Performance - this is not just Popfly. Every new mashup platform I tried in the past has had serious performance/responsiveness issues the first few months. Popfly is no different. One often needs to restart their applications after they just hang doing nothing

Now let’s talk about the comarisons to the other mashup platforms

Yahoo Pipes Comparison

  • Popfly has implemented the same “piping” GUI interface as pipes. You drag ‘blocks’ and drop it into the editor. Blocks perform defined functionality like ‘get a feed’ or ‘ask for input’ and the output of each block becomes an input for the next (example, ‘get a feed from CNN’ –> for each feed item ’search blogs for news containing same keywords’).
  • Like Yahoo pipes, it also offers ‘utilities’ like append, union etc. (example ‘get a feed from CNN’ –> for each feed item ’search blogs for news containing keywords’, then ‘create a combined feed with both’)
  • However, on a ‘UI’ side, while Popfly has an overall more ’snazzy’ UI, I just love the bezier curve connectors of Pipes, compared to the straight arrow connectors of Popfly
  • They have a ‘console’ and a ‘block inspector’ that can be used to analyze/debug interim contents of blocks for the times when you created an elaborate chain and it produces zilch, and you need to know which block is messing up

GME Comparison

  • While Popfly lets you connect boxes visually, for each block, you can click on ‘Advanced View’ and that brings up the Javascript invocation code of the block. If you are comfortable with JS, you can add your own code right into this. I found this combined approach cool. It’s kind of like the blogging interface - type visually, but be limited by visual controls, or click HTML and get raw access. I am sure this feature will excite many developers. Well done, MS - best of both worlds
  • Like GME, Popfly allows HTML customization, but based on my quick investigation, the HTML seems to have global effect. However, GME offers really fantastic presentation control. In GME, each object can be associated with its own ‘template class’ which can have it’s own styling, which is truly fantastic. I did not find this level of control with Popfly

Facebook Comparison

  • You may be surprised why I brought Facebook in. Afterall Facebook is NOT a mashup editor. But here is why I did. And this is where I think MS did a great job. It allows you to create ‘custom blocks’ that act as a ‘wrapper’ to connect to any 3rd party web service that you may have written, and its contents can be imported right into popfly. Basically, you write a Javascript wrapper, which is the interface that other Blocks in Popfly use to call ‘methods’ on your block. Inside that wrapper, you interface with your 3rd party webservice and can import data from it either as XML or as text, or, as HTML! So what that means is this is not just a data exchange wrapper, it can also present a custom user interface within popfly. Very nice.  This also means that you are not restricted to only Feed or JSON as data input/output. If you have another data format, create your own block for it! It also allows for data persistence, so you can maintain sessions independantly from browser sessions. To write your own block see here.

 Some differences in popfly

  • First, Popfly provides ready integration with Facebook. You can import a ‘facebook’ block written by MS. When you use it the first time, you are taken to your facebook login page, and after login, Facebook adds the ‘Popfly’ application to your profile and gives you an API key. You go back to popfly and enter that key in your facebook module - and poof - you are connected to your facebook profile. Effectively, you have now established what FB calls an ‘infinite session’ between the popfly connector and facebook. Why is this cool ? Because now, you have access to your friends, your events, photos and groups and feed that into your mashup. Incidentally, for those who wanted to create facebook applications, but did not have a host, you can use popfly’s facebook block  to do some cute programming (thought not as flexible as a full fb app).  Naturally, it has integration with other SNS sites too, like Live Spaces (ofcourse), Technorati, Xbox Live (ofcourse)
  • Developers who create new blocks can ‘tag’ their blocks and publish it, and they automagically appear in the navigation box for other users to use immediately. There are some great blocks done by users, but some really stupid ones too. It’s a double edged sword - you get confused on what is good and what is junk/broken.
  • MS provides some really cool eye candy blocks, especially in the ‘display photo’ part with spinning spheres, stacking images etc. with iphone like navigation slickness.
  • In general Popfly has many more useful blocks than others.
  • For programmers (for example you are a serious coffee guzzling programmer), MS also offers the Popfly Explorer, which is and addon to VStudio which allows you to link VS projects to popfly ( I did not try this - I never have, and never intend to use Visual Studio, but this is likely a convenient tool)

Well, so there you go. All in all, Popfly is Mashup 2.0. Wait, Mashups are supposed to be Web 2.0.. so, what do I say, Popfly is Mashup 3.0? Ah heck. Who cares. It’s nice.

I *really* *really* hope Popfly continues its work, and makes it a serious development framework with the reliability and scalability that commercial systems need, so I don’t need to rehash this again. 

 




2007 round-up

5 04 2008



My apologies for the delayed 2007 round-up. We are already 3 months into 2008, but better late than never. 2007 has been an amazingly busy year for me, both on a personal and work front. But all ’good’ busy, which helps. So here is what all this blog saw in 2007: 

  1. IMS-Lite: My thoughts on what the market means when they say ‘we are doing IMS-Lite’  
  2. iPhone - world’s best micro-tablet? - This post was written before the iphone was launched. Like others, I had an opinion too about what the iphone would be :-)
  3. Web 2.0 and AJAX - Fundamentally insecure - thoughts on whether AJAX is responsible for all the insecurities that the market keeps warning us about
  4. Why AI if you can have peer-peer intelligence? - A look at how new companies are using collective human intelligence to complement  AI (ChaCha, Google Image labeller etc.)
  5. Flash vs. AJAX for real-time communication products - opinions on which technology to use when building products that have a real-time component (voice/video)
  6. Web 2.0 the machine is using us - a pointer to the great video by Michael Welsh and his team about how the web has evolved
  7. Piping Hot: Are VoIP bloggers original? - A look at the great new Yahoo Pipes interface and fun things you can do with it
  8. Burn those virtual calories - A light hearted look at how people keep forgetting optimization counts and keep circling back after bloating their code beyond belief
  9. Indexing should get smarter for Bloggers - a bit of frustration on how search indexing algorithms mess up link information
  10. Lemonande 2.0 - a cartoon poking some fun at the ‘Web 2.0 hype’
  11. BLISS - Service Interoperability - Thank heavens the IETF finally agreed to look at what it takes for standardized services for SIP
  12. Everyone wants to be a Youtube - everyone I meet is opening up a new company that does ‘video for the community’. Yeah right. Yawn.
  13. IMS Deployments on the rise - My thoughts on where IMS is headed and a dissection of the ‘expectation graph’ of any new technology
  14. Wired vs. Wireless -  a picture for a 1000 words. A great image that shows why wireless networking is so much harder than wired when it comes to effective algorithms
  15. HSC Insights - A note to readers about our new IMS blog at www.hsc.com (any hey, buy our IMS reports)
  16. License Plate reading with Google Street Views - it is surprising how much details one can see with google street views
  17. Convering SIP presence to Web Feeds - a concept and value in converting SIP presence state to web feeds and a pointer to an IETF draft I wrote up with motivations on the same.
  18. 2010 - A year of so many promises - a light hearted stab on the fact that all analysts love quoting 2010 as a year when every potential technology reaches a “billion dollar mark”
  19. EBay and Trust - or the lack of it. Travails of my colleague in trying to sell a laptop on ebay.
  20. Mashups “Foo Foo sh*t for college kids” - is there any money in mashups or is it just a play-toy?
  21. The addiction of the Blackberry - Light hearted posting on the addiction of a Blackberry
  22. Conceptualize your startup in 1 minute - a fun play-tool to start your “Web 2.0 company” - poke at how every “dude” suddenly thinks he can start a 2.0 company
  23. Linkedin vs Facebook - they really are different - Vertical vs. Horizontal.
  24. My presentation on IMS, Wimax at the Internet Telephony expo
  25. My presentation at VON Fall on whether there will be a ‘hardphone’ a few years from now

 




(Offtopic): From Blogger to WordPress.com - what a bummer and I am to blame

3 04 2008

11.jpg You know, one would think a person interested in technology always would do his research before adoption. Well, in my case, my heart always conflicts with my mind. Consider my sudden move from blogger to wordpress.com. It went sort of like this “oh cool, there are some neat wordpress.com templates, I’m bored of blogger, so let me migrate”. I know, it was a ridiculous reason. I did not research wordpress.com’s limitations. After migration, I realized:

  1. No google-ads allowed. Darn. I had just about started to see a reasonable return on my old blog
  2. The import tool imported the articles alright but did not import images - they kept the blogger URLs. Once I removed my blogger blog, several of the images disappeared. My guess is others will disappear over time
  3. No detailed stats. WordPress.com’s own stats is very limited. Statcounter was far superior, but since I can’t plug in JS code, statcounter works with wordpress, but cannot show referrer stats
  4. No linkage to analytics.
  5. No customizations to CSS unless I buy it.
  6. Article URLs were not rewritten - so if you go to my yearly roundups (which I forgot to do for 2007), they will all point to my blogspot.com URLs which don’t exist.

Like I said, a badly researched option for me. Guess I deserve it. Can’t blame wordpress.com at all. Gee, maybe I’ll migrate back and pain my readers to re-do their entire subscriptions etc. Or maybe I’ll just stick to this limited functionality. Gee.

On the plus side, I think Akismet rocks. It’s a godsend for spam.




Mjsip SIP stack port for Google Android released

2 04 2008

1.jpgHey folks, HSC released the android ported mjsip stack source code.

Grab it from here. Look for the attachment to the post titled “Ported GNU Mjsip stack for Google Android”

If you see a “PDF” icon under that post, don’t worry, its actually a ZIP with source in it. Our website folks will fix that annoyance soon.

Note that this is a “developer’s release”. It will allow you to start building applications using the mjsip stack on android. It’s not an “automatic solution for long distance calling” (as some blogs reported it) - it is a tool for developers within you to make such applications.

We also have a working SIP UA we ported on top of this stack (which we called ‘SIPDroid’ - no points for being imaginative here). We are yet to release that port - will do so in a short while.

Note that this is just a SIP stack. There is no RTP included. We did some initial experiments with porting open source RTP stacks - seems very simple. We may just do it later, or you do it and add to this effort :-)




Dip in VON == Rise in Deployments?

29 03 2008

img.jpgFor those who attended VON spring, it is likely that they thought it was particularly low key in terms of attendance. I was there, both at the main event and the unconference (which was interesting, especially with Ken’s ‘online’ proposal to his partner Sheryl which was covered using Qik, a company started by Ramu Sunkara - ex head of RTC @ Oracle & a really inspirational guy. Congrats Ken & Sheryl, glad we finally met after reading each other’s blog for a long time - you make a great couple).

But I digress. Back to VON San Jose. The Boston and San Jose VONs have always been very well attended. So I was surprised seeing the attendance. But then again, I thought, maybe I shouldn’t be surprised. And maybe it is also a testament to how well VON has actually worked.

The ‘Hype’ of many technologies like IMS, WiMAX etc. have passed. If you look at the typical exhibitor space of VON, they are OEMs. OEMs build products before they get deployed. They need to publicize. They need to excite people. And that is exactly where VON helps them. When technology is ‘new’, you need forums like VON to spread the word. When technology gets into deployment, people are too busy deploying to actually attend shows and talk about them. This is when the ‘money gets real’. The hooplah is over. And this is exactly in line with what I am seeing in the market. I had posted earlier that we have started seeing a significant rise in people deploying applications over IMS, or, deploying IMS and they are paying money for it (not the build and we will see story).

As far as I see it, VON has two important uses:

a) Ride the hype of new technology when OEMs are building products

b) Talk about what worked and what did not in terms of deployments (typically Service Providers or OEM case studies)

As far as the US& EU goes, a) is done. VON has served its duty. Jeff Pulver is a really smart guy. He has already started shows in Latin America. I really think he should start similar traction in India as well. Shows there (especially India) will be oversubscribed many times over. Because there, this is in the hype stage. The OEMs of the western world have now started deploying in the eastern side, so to the latter this is new. There needs to be momentum.

I know VON is also touting a lot of TV and broadcasting now, but I think it is a case of too much too soon. The market is already too saturated in having put in lots of money in other technology that has just moved out of the “hype” stage. It needs some relaxation :-)

I recently read some news snippets here and here. Don’t know if the latter is true, but while I think the latter may have an effect on the future, it certainly was not related to the San Jose turnout.

Net Net: VON is great. It has a purpose. I think for a while, that purpose is served in this hemisphere. Go East my pulver friends! Go East!




SIP Android - a sneak screencast

18 03 2008

Update: April 2 2008: Source code of stack released here 

Hey folks. Enjoy this screencast of a working Android enabled SIP Phone (using mjsip) talking to an X-lite phone.

This is an update to the original “We have SIP working on android” post.

Click here to view the screencast

(And here is the wireshark dump for the protocol hungry)

So there you go. It’s real :-)

Code/howtos etc to be posted in a few days




We have SIP working on android!

10 03 2008

 Update: April 2 2008: Source code of stack released here 

1.jpg

Update: Mar 17 2008

See here for a screencast :-)

Update: Mar 12 2008

Some other sites linking here seem to be reporting this news with their own verbiage. Lets be specific on what we are doing:

  • We have taken the GPL’d mjsip SIP stack and our objective is to make it work on android (this is mostly a porting activity). We are not writing our own stack.
  • We are not doing any optimizations, etc. The scope is exactly what I wrote - make mjsip work on android, so developers can use the mjsip APIs to build apps in android.
  • It is a very straighforward ‘take from community (GPL/mjsip), give back to community (post ported code back to GPL/mjsip)’ activity.
  • We are targetting to release the port in a week or so… (as-is - as I mentioned the objective is straighforward -a port of mjsip - if it has bugs when you do funky stuff , fix it yourself when we release it :-) )

We (my company) had started an internal project to get SIP working on Android and some smart folks belted out some nifty code to get SIP working on android. We hope to release the ported SIP stack on android pretty soon. We used the GPL’d mjSIP stack and will be releasing the modifications as per GPL, obviously - so other developers have a good SIP API to build apps. This should happen pretty soon. Some time ago, we did a rss-to-presence implementation stub (concept here) over Google Mashup editor. I look forward to seeing the “google-phone” talk SIP to the “google-server” and other cool stuff.

Stay tuned!




Adobe AIR: The ultimate ‘Mashup’

26 02 2008

11.jpgWhoever said mashups must only be ‘web-based’ ? I’ve been tinkering with Adobe AIR for a while now, and I must say, I am really impressed.

What is Adobe AIR? Well, essentially, is a platform which allows us to build applications using ‘Web technologies’ like HTML, CSS, AJAX as well as Flash/Flex, but instead of building a 100% web-based application, we can build a ‘hybrid’ desktop application. Here is why I love what I see :

  • I can access ‘web pages’ using the AIR APIs and display them on my ‘local desktop window’
  • Once I get web page information on my local desktop window, I can ‘mash’ it with local functionalities that are valid only on my desktop (like drag and drag relevant parts into other applications)
  • I can use pure HTML/AJAX to write my desktop application, and in addition, use AIR javascript APIs to enhance the application with the functionality AIR provides
  • This is a ‘open mashup platform’ - I mean, I can build my AIR application, using the widgets of some other AJAX library, if I want! How cool is that ?
  • It blurs the line between what is ‘out there’ (web) and what is ‘in here’ (desktop). Using AIR, I can mix components from the web and my desktop pretty easily. This allows me to develop apps that inherit similar functionality from web-based interfaces (we are not taking about reinventing - we are taking about letting the web service do its job, and ‘get the information into our desktop app’) & add more functionality that a pure web based app does not provide.
  • The AIR runtime is pretty compact - I was impressed
  • The AIR SDK is also very compact - again, very pleasantly surprised
  • I can ask our ‘web developers’ in our company to start building desktop apps using AIR, I’d expect they will not spend more than a few days in getting fully ramped up, since a majority of AIR concepts are web-based. For the most part, you feel like you are writing a web-app.

I really feel AIR will eventually even be a super platform to build mobile applications that need online as well as offline content. Even though Adobe says it is only for Desktop apps (”for now”), I think it’s calling will really be for the mobile space. Using AIR, I could cache web content when live, and store data persistently, and represent it using a local interface very easily.

Overall, I’m really really impressed with AIR. Especially with the fact that I could get up and running in a few hours, building applications.

I am already thinking of really cool ways in which AIR could help add value to IMS SDPs, SIP applications and stuff like that… (what can I do, for each new technology I see, my mind swings towards how we can apply it to the telco world..)




A call to report: VoIP ‘geek-talk’ blogs

11 02 2008

1.jpg
Total number of ‘market reporting’ VoIP blogs = k+1

where k=number of times you can blink in a day.

However, there are very few blogs that talk about more technology & architecture details and less market details for all things VoIP, SIP, IMS, web 2.0 (with focus on telecom).

So here is a call to unite!

We need a list of what I call ‘geek-talk’ - those that provide more technical insight into how things are.

Here is my list so far. Please update me /comment here with more tech-blogs and I will update this list

Many of these blogs are a mix of techno-marketing, but are written by people who are neck-deep in actually developing/architecting many of the talked about solutions themselves, and hence offer a more detailed insight.

last updated: Feb-17-2008

  1. TurnGeek
  2. IMS Lantern
  3. Voice of VoIPSA
  4. IMS Quality
  5. VoIP Survivor
  6. iConverged



Concept: telcoAJAX - making AJAX libraries telco aware

8 02 2008

21.jpg

I recently wrote a paper that investigates how SDP vendors can provide AJAX based telco-aware libraries and mechanisms to interface these libraries with existing telecom application servers. I personally believe that this is a gaping hole in the market. While AJAX libraries have evolved significantly, no one is currently working on adding functionality that makes it telecom aware (in terms of understanding what UI, actions, events are typically associated with telco services) thereby making t he job much harder on developers who are trying to grapple with what it really means to “web 2.0″ their SIP call control app.

Abstract:

With the increasing acceptance of AJAX as a mechanism to deliver real-time user experiences without the need of proprietary local clients and the increasing demand from consumers to have a better user experience with more features, both the Telecom and the Internet world are looking at means to be able to converge their offerings. However, being able to provide converged services is a challenge largely due to the fact that Telecom players already have existing applications they would like to monetize in addition to having limited know-how of Web 2.0 related technologies, whereas the Internet players, while proficient in Web 2.0 technologies have limited understanding of wireline and wireless networks to be able to offer ubiquitous service access. The author believes that middleware SDP providers can help bridge this gap and provide “convergence” building blocks that would allow developers on both sides of the world develop functionality, or integrate existing functionality with ease. Specifically, this paper, proposes the concept of “TelcoAJAX” – a set of building blocks that are aware of telecom primitives and how to represent and interact with users using a browser interface which developers can implement on top of SIP/Presence based applications.

You can download it from here.

(Search for paper titled “A Concept Approach at bringing Legacy Telecom Application Servers to Web 2.0″)