Skip to content →

Say hello to the Social Media Scripting Framework!

It’s been a while since my last post. And there has been a reason for it, actually. I’ve been working on a new project, the Social Media Scripting Framework: a PowerShell-based environment that abstracts the complexities of modern Social Media Channels from the PowerShell command-line.

There is not question that Social Media Technologies have opened the door, not only to new ways of interaction and relationship, but also to new ways to evaluate and measure them. However, after looking at the current ecosystem of tools and solutions for a while, I’ve observed that many of them, and sometimes all of them, follow similar structural patterns. For example:

  • Form factor: SaaS delivered through the web. This, actually, is a very convenient way to provide a service while hiding the complexities to the consumer. But, unfortunately, this virtue is at the same time the main drawback. More often than not, our SaaS provider only focuses on a discrete set of functionalities and forces us to look somewhere else to fill in the gaps. At the end of the day, we end up with a collection of web services that we try to “orchestrate” by means of some sort of “digital craftsmanship”.
  • Strong focus on data aggregation. That’s perfect. In fact, when you have to deal with huge amounts of information this is a must. However, once the more immediate information needs have been covered, new sophisticated derivatives emerge based on what we have just learned. Suddenly, our information demands require us to analyze a particular subgroup in detail, compare different data sets, drill-down to the actual details, incorporate additional channels or data sources (excel spreadsheets, information from our corporate CRM or ERP systems, ), etc. Here, then, is when we learn the real meaning of “data captivity”.
  • Diverse catalog of data sources and proprietary measurement methodologies. It’s a fact that not everyone covers every forum, every blog, every community, every industry, every language or every country. It is also true that the diverse nature of some digital channels makes it difficult to have a standard set of metrics that are always measured, aggregated, segmented and calculated the same way. This makes it difficult to switch from service providers or mix data coming from some of them. But, unfortunately, the responsibility of information delivery and coherence is always ours as information consumers.  Isn’t it?
  • Partial automation or coverage of the “Social Media Value Delivery Process”. Many of these SaaS services focus on doing one thing really well. Consequently, they may, for example, automate data collection, processing and information delivery (through some sort of web dashboard or report) for the data sources under their scope. However, they may not help us with the planning and preparation needed so that the information can be captured with a reasonable degree of reliability (i.e. building URLs for track & trace purposes).

Of course, this is neither an exclusive nor an exhaustive list of patterns. Additionally, we can’t forget that they will obviously change as the marketplace improves, matures and evolves. However, this volatile context opens the door to experimentation with different approaches. And the reason is simple, at the end of the day we all have the need to address these problems because Social Media is here to stay.

One of these new approaches is the Social Media Scripting Framework. The aim of this project is to explore the possibilities of a new ‘form factor' for consuming and exploiting ‘social content' and ‘social relationships' in a decentralized and cloud-independent way.

This Framework is not for software developers, although they could actually enjoy it too. In fact, it provides easy to learn abstractions and constructs so that any user (arguably, ‘power user') can play with the ‘Social Universe' and connect it with his/her information store of choice in a convenient way. In other words, what if we could interact with it like we do with a regular database? What if we could have a “language” like SQL to consume those services?

PowerShell for Social Media purposes … Seriously?

It might sound counterintuitive that something that was born mainly as a system administration tool could also be useful for Social Media, but, actually, it is. Let me share with you the main reasons I’ve found to support this decision:

  1. PowerShell is free. In other words, the barriers of entry are very low. Unfortunately, you still have to learn PowerShell. However, I expect that most people will consume pre-canned recipes the same way many system administrators do.
  2. PowerShell is present on every Windows machine. Even Windows RT has PowerShell on the Microsoft Surface Tablet. Once again, low barriers of entry.
  3. PowerShell is an integral piece of the Microsoft Common Engineering Criteria, which means that it is, and it will be, a stable component to build upon.
  4. There is a strong supporting community around PowerShell and, additionally, all the ones addressing .NET topics can help too.
  5. From a technological point of view, PowerShell provides what’s necessary to build and maintain this project. But, more importantly, are its strong interconnection capabilities with almost any technology domain: web, databases, applications, etc.
  6. One of the design principles of this language is supporting both “canonical development” and “quick and dirty recipes”. This is a must in the System Administration world and, interestingly, it matches perfectly with the volatility that we experience in Social Media environments every day.
  7. Last but not least, after playing with this project for a while, I think that it also provides a good environment to develop Social Media activities.

You might think that I am crazy if I think that a regular user can face a command line without freaking out … Ok, you might be right. It might not work for everyone, but I am sure it will do for some people and, eventually, to many. Just look around you and identify the nearest “Office Ninja”. We all know one: regular people that master Excel functions, Word macros or Access forms to incredible degrees even though they are not “techies”.

The fact is that they have become “Office Ninjas” by own interest or due to the conditions of their own duties. Therefore and likewise, “PowerShell Ninjas” could emerge if the right conditions are met. Wouldn’t it be nice to see the birth of this new “species”? ;-).

Anyway, debates aside, I think we can agree that these technological foundations are reasonably solid and capable to address the objectives of this project and to support whatever investments you might do in it.

Use cases

So, regardless of what we can think in the future, I’ve found that the Social Media Scripting Framework can support, at least, the following scenarios:

  • templating and timeline copy generation.
  • detailed targeting and segmentation.
  • content broadcasting.
  • data collection from social media channels.
  • data set analysis.
  • integrating diverse and heterogeneous data sources and destinations.
  • complex alerting/monitoring rules.
  • prospect identification.
  • activity delegation and general purpose automation.

As you can see, all of them contribute to some degree in one or more stages of the Social Media Value Delivery Process. Hopefully, this contribution will be stronger as this product grows and matures …


Real life examples …

Over the following weeks I intend to publish different posts where you will see different use cases more in detail. However, I would like to show you some examples so that you can make up your mind of what you can do with the Social Media Scripting Framework.

Playing with Twitter …

Filtering your followers …

Identifying your VIP followers …

Selecting relevant tweets …

Exploiting Facebook …

Selecting relevant posts …

Analyzing the TimeLine …

Identifying prospects …

Working with Excel …

Opening an Excel workbook …

Loading our business dataset …

Merging/Updating a dataset with a normalized TimeLine …

Saving results …


As I’ve said before, the aim of this project is to explore the possibilities of a new ‘form factor' for exploiting your ‘Social Universe' in a decentralized and cloud-independent way (which is funny, coming from a cloud advocate like me! ;-P).

I would like to highlight that this is just a first step, a proof-of-concept, a first implementation that, hopefully, can help visualize this idea.

The Social Media Scripting Framework is far from complete. It is meant to be a journey that I would like to share with you. And that’s exactly the reason why this is an Open Source Project. So, if you want to contribute to this project, just let me know! :D.

I wish that, at least, you have found this project interesting. In fact, I would love it if you try it and share it because your comments and feedback are key for the future of this framework.

Say hello to the Social Media Scripting Framework! by Carlos Veira Lorenzo is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Published in Architecture Automation Projects Social Media Software Engineering

  • jftamames

    Impresionante. Sólo a un genio se le podría ocurrir.

  • Muchas gracias José! Muy generoso el cumplido. Yo creo que sólo es el primer paso: el interés que despierte todavía está por ver …

  • “Office Ninjas” 8-) Where’s the “I like / Retweet / Hey Joe” button when we need one? #-D

    Quite interesting post. From my point of view it’s not useful for individuals but for entrepeneurs. It gives a great tool for managing their social network life biased to their economical interests.

    Kind regards,


  • Pedro Baldanta

    A very simple but extreme powerful concept. It’s all about flexibility.

  • Jose Esteban

    Great idea, Carlos!

    Before you go much deeper into the project, I’d suggest you assemble a few people with “end user” profile and test the idea with them.

    Maybe they tolerate facing a command line, maybe they want an abstraction layer in between… and they will surely make valuable comments.

  • @Jose Esteban, that’s part of the idea. Let’s see what happens next.