It is quite easy to post to several microbloggins services at once. Jaiku does a great job of importing RSS feeds, so posts to Twitter or Pownce can easily be imported to Jaiku. Via Twitterfeed it is easy to get an RSS feed into your Twitter as well. I haven’t found any easy way of getting an RSS feed into Pownce. Also there are apps like Twhirl that let’s you post to all 3 platforms at once. In my case I also use the Twitter Facebook app to get my tweets into my Facebook status and I am looking for a way to do the same with LinkedIn (no success yet). So posting cross-platform is not a problem, even if it means that you need to do some configuration and that all your posts gets trippled or quadrupled.
Reading friends posts from several platforms could also easily be done. I could of course go to all the different services and read each posts on each one, but since I want to do other things with my day than that I would rather use services like FriendFeed or SocialThing that aggregates it all into one place. FriendFeed imports from most sources and have some nice comment features, but the UI really desperatly needs a designers touch. SocialThing imports from just a few places so far (please please add RSS now!) but I still prefer it to FriendFeed. These services and others make it easy to see your friends posts from several platforms in one place. What is missing is a way to naturally post back to the microblogging platforms from these services.
What is needed, and what will come very soon I am sure, is a mashup of all these microbloggin platforms to allow users to be active on several platforms at once all from one place. I would like to see an app that allows me to interact with Twitter, Pownce and Jaiku completely. This means reading other peoples posts, replying to posts to have a conversation going cross-platform and posting to all platforms at once. Since all of the platforms have APIs this should be possible to implement (and for all I know it already exists somewhere, if you know of such an app please let me know through a comment on this post!). This would be a great mashup that would breach the community silos that exists today. Short of everyone moving to one platform a mashup is the best answer to this problem.
Btw, I have some extra SocialThing invites so if anybody wants one please let me know via a comment on this post.
]]>The API Provider
You have this great service that lifts humanity to a new level, makes the sun shine brighter, makes TV sucks less and give the gift of limitless bandwidth to the people (or at least it is really cool). You have even added this great API, now what? How do you get developers to start using the API and spread the word of your great service to everyone and their grandmother?
Well, let’s back up a bit. First of all, do you really have a great service? If you do, then do you really have a great API? Without a product people want to use there is no need to go through the hassle of promoting it. Make sure that the API actually is usefull for developers, that it will enable them to do cool and usefull stuff easier than if they would just hack it all together from scratch. Also make sure that there are plenty of documentation, examples, code snippets etc for the developers to get their hands on to minimize the barrier to entry. Hack together some mashups yourself with your API included in the mix, to give people and idea of what can be done. The key to get an API used by developers is to get the developers excited about the possibilities and get them talking. So give them something to be excited about and something to talk about.
Once all that hard work is done then you can promote your API via directories such as programmableweb and webmashup so that developers can find you. If you have made your own example mashups, then go through the steps below to market that, that is a good way of getting some recognition.
Last, but not at all least, show some love for the developers that has taken their time and built something using your API. Have an example gallery where they can list their creations. Blog about them. Talk about them at conferences. “Link love shall be bestowed upon those who link love showeth”.
The Mashup Developer
For the developer of the mashup there is Google AdSense money on the line, or maybe just recognition from peers. Most mashups result in web pages anyway, so make sure to do all the SEO stuff – have good page titles, have a good copy, have validating HTML, have a sitemap available etc. If there is money down the line for you then also throw some money at advertising (Google & Facebook makes this a walk in the park). All this is standard, but as there are differences between mashups and a regular web page you should also use that to your advantage.
What APIs do you use? What tools have you used to piece things together? Explain how you made your mashup, what the moving parts are. If you used Yahoo! Pipes, then link to the pipes used and explain how they were done. If you used Google Maps (and if you are a mashup newbie then I guarantee that you have, just admit it… “my name is Andreas, and I am a Google Maps addict”) then explain how. If you used openkapow robots, then explain how you developed them. Since API providers are suckers for traffic, just as everyone else, it is not unlikely that they would be interested in adding your mashup (assuming it kicks-ass, which of course it does) to their example gallery. All this creates more link love, more Google baits and really increases the chances of your mashup being found and appreciated by fellow developers. Another plus is that all this also increases the chances to be blogged about, do not forget that bloggers are suckers both for traffic and content.
There’s both money and recognition in entering your mashup in a contest, see programmableweb for a good list of what you can enter right now. You might not have to redo the mashup from the ground up, just add another API to the already great mashup you have made and you could already be a winner. If you go to Mashup Camp you could enter the traditional Speed Geeking (like speed dating for mashups basically) and go home with a shiny new Macbook.
Of course also list your mashups in directories such as programmableweb and webmashup , but by now you should know that already
Thanks for everyone that discussed this with me at Mashup Camp! For the notes from this session check out the Mashup Camp wiki.
]]>Yesterday
Programmers were building applications and integrations by programming. There were very little finished modules to reuse and combine, so a lot of logic had to be written from scratch (most talk about code reuse is nothing but talk). This was not only Mainframes and Cobol, but also a lot of Java, C++ on Windows and Solaris etc.
Now
Programmers building applications using ready made modules. These modules might be full applications, libraries or, in some cases, widgets. This means that less logic needs to be written from scratch (Apache Jakarta projects have changed the lifes of most Java programmers for example).
In 1-3 years (early adopter geeks today)
Programmers and early adopter business users are assembling solutions using ready made components. These solutions are called mashups today, but are probably not going to have that name in a few years, instead the “mashup style” of solution development are going to have become mainstream and be a natural part of applications (just see how mashups are built with Facebook Applications today). The components are widgets that have been developed by programmers to function as building blocks in bigger solutions.
In 3+ years
Business users are assembling solutions, programmers are building widgets.
From Hacking to Assembling
Of course there will always be programmers that are programming low level solutions like kernels and compilers (at least those are low level to me) and business users that just want their problems solved without them having to deal with any technology. But overall the focus for programmers will go from building the solution to building the building blocks (aka widgets). For business users the focus will go from waiting for a program that solves their problem to be developed to being able to assemble a solution (aka mashup) that will address their problem. Overall the focus will move from hacking to assembling.
Great Tools for Business Users Needed
This means that business users need to be more aware of what building blocks are available. Currently there are a few early attempts to develop systems to handle this – IBM’s Mashup Hub is a good example. Furthermore there is a need for easy to use systems for business users to combine all those widgets. This is probably the hottest area in mashups right now, with everyone wanting to be in on this – BEA Pages, IBM QEDWiki, PageFlakes and iGoogle to just mention a few. But so far it has been with very limited success and just a little more than proofs of concepts or cool AJAX playgrounds. Let’s see what will happen in 2008, I for one if looking forward to seeing new cool innovative solutions to these problems.
iGoogle and other widget platforms are not Mashup Containers in my definition until they allow the widgets to interact with the world around it. A widget that just sits there and does it’s little thing (like showing me the weather in my city) without being able to commuicate with the platform or other widgets is much less usefull than a widget that is part of a whole ecosystem. With OpenSocial Google, MySpace, LinkedIn etc are quickly becoming Mashup Containers in the same way as Facebook.
This is all very interesting because it means that millions of people are using Mashups every day, even building Mashups every day, all by using Facebook applications. How many of those people even know what a Mashups is? That means that Mashups are all among us already, but they are still undercover, much like aliens in some low budget sci-fi movies from the 50’s (“Plan 9 from Outer Space” rocks!).
]]>It will be interesting to see how this will look like and how it will impact the Mashup tool vendors and Mashups in general. Spamming and scamming is part of growing up for all internet technologies (arguably for all communication related technologies) so let’s see how Mashups will handle the growing pains.
]]>David Berlind, one of the organisers, have written a good summary of the camp on ZDNet if you want to read more. If you understand Swedish you can also listen to an interview with me from MashupCamp at WhatsNext.se.
All in all it was a great Camp. Not a great number of participants, but the number is less important than the quality of the people. I learned a lot, met great people and came home with my head swirling with ideas. Next Camp is in Mountain View in March and I hope to see you there, if that is too far for you Mashup Camp is also coming back to Ireland next year.
]]>Flex & AIR
Adobe Flex is a way to easily develop Flash programs. It is based on MXML and when compiled Flex code becomes a Flash .swf file. That means that it can run in any browser that has the Flash plugin installed. What I really like with Flex is that you can write the frontend in Flex and then use whatever language you want for the backend. Using REST services in Flex is super easy, so as long as your backend can talk REST you can connect to the frontend that way. I like this idea since I would prefer PHP for the backend of whatever app I do since it is widely supported, have a very active developer community and there are lots of PHP programmers all around the world.
AIR stands for Adobe Integrated Runtime (formerly Apollo, see my “How to be cool in a Web 2.0 crowd” on tips on how to use this fact to increase your geek coolness) and it allows you to develop desktop applications using Flex or HTML/JavaScript. AIR applications can run on most platforms (Mac, Windows, Linux etc) and can access local files etc just like any other desktop app. The fact that it is now simple to write platform independant desktop applications using only HTML/JavaScript is really powerful.
Adobe MAX
About a month I was at the Adobe MAX conference in Chicago. Since that is where all Adobe-fanboys gather there were quite a few Hallelujha moments, and maybe I am somewhat influenced by that. One thing was clear from MAX though, Adobe are pushing Flex and AIR with all it’s marketing might. After having an almost 100% market share on software for web designers (Photoshop, Illustrator, Dreamweaver etc) they are now really focusing on the web developers. They are doing a great job making powerful tools that makes development a charm, their Eclipse based Flex Builder is one of the best IDE’s I have used.
Mashups & Flex
Building Mashups in Flex is easy since the REST support is really good. I had a presentation at Adobe MAX dealing with the need for mashups and webscraping in general and combining Kapow Mashup Server and Adobe Flex in particular…
Yesterday I had a presentation about Enterprise Mashup Infrastructure that you might find interesting. It deals with Mashups in general, mostly from a perspective of improving the productivity of knowledge workers. I also list the 4 types of mashup projects as well as some real-life customers that use Mashups in these ways:
Excel is today arguably one of the most popular programs inside Enterprises, and the question is why this is. I think it is because:
At the same time integration and SOA is extremely important for Enterprises because:
The great thing with Mashups is that it combines all these advantages. It allows users build their mini-applications (“opportunistic applications” or “situational applications”) to automate manual procedures in order to look and work with data in the way they want. Mashups and the light-weight technology it is bsed on (REST, AJAX, RSS, Atom etc) also makes it easy to make systems integrate with each other.
Mashups are not a silver bullet that solves all problems, but it has huge potential to put more power into the hands of business user which in turn makes them more productive.
]]>Enterprise Mashup Infrastructure: How Web 2.0 technologies are used inside Enterprises today
This is the Web 2.0 Expo presentation and it will be about how Mashups enable companies to solve problems quickly and efficiently, and also deal with problems that are impossible to figure out using traditional technologies. I will cover the basics of mashups and the technology behind them, real-life examples of how mashups are used within enterprises today and what the mashup infrastructure looks like.
In an enterprise environment, mashups can be seen as an extension and a compliment to SOA, and not just as simple Google Maps applications that are viewed on the web. This approach enables self-service IT that lets business users build the situational applications they need to solve the problems at hand. A key problem in enterprise mashup building is how to get access to abundance of unstructured data both inside and outside the company firewall. And, this is a problem that can now be solved in minutes rather than hours or days. How this is done will be shown in a short demonstration.
Where are all the APIs and Web Services? Build APIs to any web site in minutes using Kapow Mashup Server.
In this Mashup Camp presentation I will zoom in on one of the most forgotten parts of Mashups. There are many great tools available to build the user interface on a Mashup, but were are all the APIs and Web Services needed to feed the Mashup? These APIs will not appear magically and even if more APIs are created every day it is going quite slow. Using the Kapow Mashup Server and openkapow.com you can build an API to almost any web site in a matter of minutes. Suddenly you can use the whole internet as a structured data source to feed your mashups.
See you there!
If this is anything you like to hear about and happen to come to Berlin or Dublin then please drop by and hear me speak.
Some highlights
Chime.tv stole the show in many ways. Joost and others are trying to create the next generation television experience, but I think they missed something extremely important, and that is all the content already available on the internet. You might have heard of a small site called YouTube, and there are also a few other video sites out there (and by a few I mean 1000s and 1000s). Chime.tv is a great site that allows you to watch all these videos without having to go around to all the different video sites and without having to load each individual video yourself. The videos are shown back to back creating a channel with continous content. Either use some of the premade channels or make your own by searching for whatever you are interested in from whatever site you are interested in. Definitly the coolest site I saw at the Camp, a brilliant use of all the videos available on the internet. They have built a great video site without having to host videos or have to worry about all the bandwidth the videos are eating up. Check it out, I am a total chime.tv junkie already.
Some other highlights were
Early early days
It is really clear after this Camp that these are the really early days of Mashups. Even at Mashup Camp there are many people that are trying to figure out what this Mashup thing is all about. There are some attempts to do Mashup tools and frameworks of different kinds. BEA Pages and
Hope to see you in
Next Mashup Camp will be in
1. Know when to be new school and when to be old school
Adobe Apollo is now named Adobe AIR, where AIR stands for “Adobe Integrated Runtime” (this means that the name includes Adobe twice, what a great feat or marketing!). Right now the correct thing to call Apollo is AIR, since that shows that you are hip to what’s happenin’ (forgive my non-techie slang here, it might be a bit out of date). However, in a few months when Adobe throws all it’s marketing might behind the name AIR, you should once again start using the name Apollo. That will show that you are old school cool and don’t care about marketing dollars. From new school to old school in a few months, that took Hip Hop years to achive.
2. Social X 2.0
Use the word “social” and “2.0” for everything, it does not have to make sense. These buzz words of the day will soon go out of style since all kinds of uncool Media 1.0 are talking about it, but for now it is the in thing to use. It is a bit like the Dilbert mission statement generator, just take an existing term and add Social in the start and 2.0 in the end and voilá, you’re cool. For example “Social Work 2.0”, “Social Search 2.0”, “Social Latte-Grande-with-an-extra-shot-of-expresso 2.0”. To be extra cool you might wanna start mentioning “Web 3.0” – it is such a badly defined term that it can be used for anything from the full semantic web to the latest improvements on Flickr, very practical.
3. The Power of the T-Shirt
T-Shirts have worked well for many generation of Geeks. Power of the Sys Admin is displayed by the wild beard, the pizza built body and, most importantly, the dirty and worn “Linux Rules” T-Shirt. ThinkGeek has built a good business on this fact, and Threadless is doing the same thing for the “damn I am creative, I have a Mac and I understand the inside joke” crowd. Everyone has blogs (at least everyone that will read this), everyone has accounts at the lastest cool sites, but not everyone has the T-Shirt from just that event. The Social Events 2.0 (yay, I got a cool point there, see how easy it is) now has unique T-Shirts where you can add your own little personalization sentence. That was the thing both at the Web 2.0 Expo a at JavaOne (bonus tip: mention the events you’ve gone to lately) and it was really popular. T-Shirts can show the pure mortals that have only read about Web 2.0 in Times Magazine that you are a hard core Geek 2.0!
4. Use a Mac and make off-hand comments about it
This is not as complicated as it sounds. It involves using a Mac, but you have to keep from making the blank-eyed-freaky-smile-all-with-Mac-is-wondeful-and-Steve-Jobs-is-my-God statements all the time. Instead just happen to mention every know and then how great that latest Mac utility you found is and how much time is saves when you do [insert technical babbel here]. For extra coolness just end the sentence with mumbling a bit about “or maybe you don’t have a Mac…”. A given is to just happen to mention how great a Mac is to use when you are using Ruby On Rails, that is 2 coolness points for the price of one.
Disclosure: I don’t use a Mac (but I do own a fully working Mac Classic II)
5. Get in on those Beta programs and use them as if you were Social Machiavelli 2.0
Register for all beta programs you can, the earlier the better, they are the currency of Economy 2.0 (to really beat the 2.0 analogy to death). Once a beta has been mentioned on TechCrunch your hard work will have paid off because you can just happen to forward to article to your “friends” (term used loosely), of course via Jaiku (Twitter is soooo over), and mention that you do not agree with what Michael Arrington is writing (bonus tip: dont refer to TechCrunch, refer to Michael Arrington, this buys you some cool) and you should know since you have tested the mentioned app for a few weeks.
By the way, I have a Microsoft Popfly beta account and I don’t agree with whatever Micheal Arrington is writing about it!.
A Cry for Help
Let me know if I have missed any key points. I am soon going to Mashup Camp to talk about Social Mashups 2.0 and comparing that to Microsoft Poplfly and, what is then called Adobe Apollo, so I need all the help I can get!
The official title of the presentation is “Integration Gets All Mashed Up – Bridging Web 1.0 and Web 2.0 Applications”, and it is an overview of what mashups are, what technologies are involved and how the different components fit together inside a mashup. It was a lot of work getting the presentation together, but it was well worth it since I got a lot of good feedback from people (thanks to eveybody that came and heard me speak!).
The presentation starts out with the standard (= Wikipedia) definition of mashups and then move on to describing the enabling technologies such as REST, JSON, Atom and RSS. Of course all this is from a Java perspecive since it is after all a JavaOne presentation. Next are the components of a mashup such as Mashup Builders, Widgets, Mashup Enablers and how they all fit together.
Next I describe the the mashup programming model, which is a lightweight programming model that means that the focus is on assembling and not coding. In the end I highlight what it means to be a developer in a mashup world.
If you are in too much a hurry to go through the presentation I can give you the summary right here:
If you are interested in Mashups I hope that this presentation will give you a good overview. Please take a look and a listen and let me know what you think!
]]>It was also very interesting for me to compare JavaOne with the Web 2.0 Expo that I attended a few weeks ago. JavaOne is almost strictly for developers that are using a mature technology that has not really taken any real leaps lately. The Web 2.0 Expo was for both techies and business people and it looking forward at new technologies and business oppertunities.
Keynotes and General Sessions
Most of the Keynotes and the General Sessions were also about running Java on all kinds of devices (cell phones, ATMs etc) and generally about how great Java is, so nothing new there. But there were a few things that caught my eye:
Java and Web 2.0
Most of the presentations were of course about hardcore Java stuff, and I skipped those. Instead I went to all presentations about Mashups, RSS, Atom and REST (acctually I held a presentation about Mashups myself, more about that in a later post). It is pretty clear that all the Web 2.0 technologies are viewed as some distant hype by most of the Java community.
The only really cool thing I saw in regards to Java and Mashups was a couple of demos of jMaki. It is a project developed by Sun and it is basically a framework where java developers can easily program Mashups. The great thing was what is called the “Glue” which is an event bus that enables widgets from different providers like Yahoo and Dojo. jMaki has a great future if it ever moves into the Enterprise world and it could be a real step forward for both Java and Web 2.0.
Another interesting Sun research project is Project Caroline that enables java developers to control all resouces from the code, ie create new server instances on the fly, set up new file systems etc etc. If this ever moves beyond just being a half implemented research project it could open up to a lot of competition for Amazons S3 and EC2.
]]>