I am available for consultancy, training and development services. Following is the rough list of things, I can provide consultancy, training or development services for:-
ActionScript 1.0, 2.0, 3.0
Adobe Integrated Runtime (AIR)
Training on Adobe RIA technologies
Architecture for RIA
Web Application Development
Design and Architecture
Development for LAMP
Integration Services for Flex/AIR with existing Web Apps
Development Setup for small teams
Subversion Version Control
Bug Tracking System (Trac, Wiki)
Training on Development Life Cycle
Development Sandbox Setup for RIA development
JFYI! You can check out my linkedin profile to know more about me. I am based in India and have around ten (10) years of experience, during this period I have worked for Macromedia/Adobe, Yahoo!, Mixercast and TIS and worked as independent-consultant, freelancer, trainer and co-founder. I have been working on various technologies/platforms (some listed above).
I am a programmer who enjoys solving users’ problems whatever it takes (technology is no constrain). Having said that, I am passionate about ActionScript/Flash/Flex/AIR and Web (in general) which happen to be my core competencies.
PS: Do you think, this is a shameless sales pitch 🙂
What is iDesktop.tv? iDesktop.tv is an incredibly cool dynamic web 2.0 application, with a terrific modern design, that brings you a better way to search and watch YouTube videos. Not only but you can download YouTube videos!
This is basically adding functionality and experience to what “should be” there. The possibilities of the site reach far beyond that. It gives you the chance to create your own environment for watching video clips, saving them and sharing them with friends.
I liked the neat and clean interface, which is mostly done in AJAX (=DHTML), Flash Player is used to play videos from YouTube. Entire experience blends well and user-interface is pretty intuitive.
Features like video downloads in various formats (wmv, mov, mp4, zip, exe, etc) and smart/intelligent playlist creation are cool. iDesktop.tv increases the quality of user-experience, makes it easier to navigate, personalize, share and store the videos.
I thought to spread some words about iDesktop.tv, which is no doubt one of the coolest web-app, done on top of YouTube’s platform and blurs the line between AJAX and Flash, as an user I didn’t notice any difference when AJAX or Flash was in action.
BTW! This web application is created by the guys behind flashjester, if you are Flash vetran (like me 😉 ), you know what flashjester meant to us in those days, still means a lot to many today.
Technorati tags: iDesktop.tv, idesktop, youtube, video, flashjester
After couple of hours, I have come up with simple mashup that uses Yahoo! Live API, Yahoo! Maps (AS3 library) and Yahoo! Pipes. This mashup, simply, shows live broadcasts (channels) on the map. Check out the mashup!
I love new Yahoo! Maps AS3 libarary, Yahoo! Live and more than these, I love Yahoo! Pipes, it’s cool. I created a pipe in ten minutes and which saved (actually deleted) at least fifty (50) lines of code to handle Yahoo! Live API calls, results, get geo-data and aggregate.
Consuming Yahoo! Live API requires many HTTP requests to get data, whereas with Yahoo! Pipes, one request is good enough. I know, Yahoo! Pipes is doing most of thing on it’s server but it does help us and users.
Yahoo! Live server doesn’t have liberal crossdomain.xml (policy-file), so I needed proxy on my server, that’s not even required with Yahoo! Pipes, so lots of server-bandwidth saved 🙂 Check out the Yahoo! Pipe, I created.
You might not see all the live-channels on map because most of the Yahoo! Live users have not updated their profile with their locations(city, state, country) in their profile. So it’s hard to get geo-data with existing API, hence those channels are not shown on map.
Sometimes you might see inactive channels on map, that’s due to Y! Pipes’ caching, I am looking into it.
I would write some more details of the application and code. Once I am done with:-
channels within markers
AIR app – each channel can be unpinned to a native-window
drag & drop markers on desktop to create shortcuts to channels
Yesterday at DevCamp, one interesting session was about Semantic Web and skepticism around it. I listened different perspectives. I realized, some part of discussion was around:
How to make web more semantic?
Does annotating all data (existing or future) using microformats, rdf, etc make sense?
Should we really need to annotate everything ourselves?
What about non-technical users who use/contribute-to web?
What about smart algorithms/tools that can make meaning out of existing web without us doing much?
I have been advocating/using microformats for sometime, which is totally useful but above questions also make sense? Yesterday’s discussion made me think more about it and I started finding about different perspectives/realities. I found an informative article series on ReadWriteWeb.
Let’s help some web more structured, as said in readwriteweb article above, by tagging, annotating, etc as much as we can. We can also spread the word. Most importantly, we developers can write smart tools that can capture and expose the data in structured-way. Every bit helps and that’s what I said in yesterday’s discussion, the idea is to make things better. Sooner or later, we would have a perfect web, well there is nothing perfect but you got what I mean 🙂
BTW! If you want to feel how tools/user-experience would get better with Semantic Web, Check out of Adaptive Blue extensions (BlueOrganizer and SmartLinks) to browser (s). These tools recognize data/object/information in a web-page and provide you very contextualized choices (action items). They are doing things using existing, mostly unstructured web, imagine – how things would be structured web i.e. semantic-web?
You can explore it but let me give a simple example. Suppose you are reading movie review of Transformers on IMDB. Adaptive Blue tool would deduct about director, movie-name, casts, etc and provide you relevant choices/options like:-
add to twitter, bookmark, delicious, facebook, etc
comparisons from various sources
Transformers pages on wikipedia, amazon, netflix, etc
Rent from netflix, etc
Michael Bay (the director of the movie)’s movies on amazon, images on flickr, blogs on google, etc
list of stars and related links
There are so many contextualized choices, I don’t want to list all of them. However, you can see the screenshot and check out the extensions.
I am wondering, is it something that can cause privacy concern? If they are collecting page-info on their server? Update (Feb 11, 2008): Reuters has announced OpenCalais service API, which analyzes the data (text, html, xml), processes it to a semantic content by returning RDF/XML and also stores the processed data in it’s server for future searches, it can be disabled via API params. You can check out this sample app.
Technorati tags: semantic web, microformats, adaptive blue, blueorganizer, smartlinks
XFN (XHTML Friends Network) is one of the microformats, I have been using for sometime. I have used (where)whenever I can.
XFN goes more interesting and would become more popular with Google’s Social Graph API .
Google Social Graph API allows you to find all such social connections using XFN and FOAF. Thousands of pages/feeds already have XFN and FOAF data.
There are XFN Graphing tools/libraries but Google provides the similar thing in the form of webservice (API), which takes different parameters and returns JSON as output.
This is going to push XFN microformat usage and I am already seeing the effect, some of my friends/acquaintances have edited links on their blogs/pages to add XFN data, so am I doing now 🙂
Technorati tags: xfn, google, social, graph, api microformat
It was good to be at initRIA, I met many (known or new) people. The event went fine, we had some good sessions. The following list was the agenda:-
Data Visualization in Flex – Raghunath Rao, Adobe
Flash for Flex developers – Bhavin Padhiyar, SAP
RIAjaxified – Rakshith, Adobe
Designing RIAs with RC pattern – Yash Mody, TeknoPoint Multimedia
Building Live Documents – An online Office suite leveraging RIA technologies by Sumanth Raghavendra and Adarsh Kini, InstaColl
Optimizing Flex and AS3 – Mrinal Wadhwa, SAP
Developing Flex RIAs with Cairngorm Microarchitecture Debabrata Acharjee, CapGemini
Birds of a feather
We had couple of more session and some discussions (on Silverlight, AJAX etc) along with the above listed ones. I enjoyed most of the session, there is always something to learn. The most interesting session was by InstaCol guys, who showed us Live-Documents and also shared their experience with Adobe Flex.
I hope, all the slides/presentations (by everyone) would be uploaded to slideshare (preferably) or somewhere.
Around 130+ people were expected to attend (based on registration count) but it seems some fifty people showed up, which is not bad for something that was planned and organized in such a short time-span.
I feel, this is the first event, in India, which is focussed on the Flash Platform at the same time open for talks/discussions on all kind of RIA technologies. I am sure, next time (whenever it happens) we would have enough time to spread the word and developers from different RIA technology background can come up and share their views. As said, it was cool we had discussions on AJAX, Silverlight, AIR, Flex, Flash and RIA in general.
Sabeer Bhatia, one of the guys behind Hotmail, has been working on Live Documents, which has been announced a couple of days back. Live Documents is an office-suite for web and desktop (AIR?).
It is interesting to see, Live Documents chose to use Adobe Flash/Flex as front-end technology.
I read Zoho guys on Flash, I understand, it makes sense to use a technology that doesn’t have dependencies, easy to develop with, saves time, provides better experience to user and good for business. If Zoho guys think, they are achieving these goals with technologies of their choice, it’s totally fine. I would love to see how they respond to Live Documents release.
But hey, there are some (Live Documents, Buzzword, SlideRocket etc) which think Flash/Flex is cool (faster to develop, easier to use, consistent experience and better for business).
Adobe Buzzword is available, no need for private invite to use it. It took me couple of minutes to register, then I checked out Buzzword; I must say Buzzword rocks!
It has a usable, fast, responsive and sleek user-interface (UI). Buzzword also allows to save documents in different formats (.doc, office-xml etc).
It allows to insert images, tables, comments, notes etc. I loved the ui-interaction for each of these features. I don’t know how to express in words without showing the screen-shots, so why don’t you check it out 🙂
Just wondering, who designed the user-interface of Buzzword?
Syndication feed formats (RSS/Atom) seems to have support for various kind of metadata (directly or through extensions/modules). However, not all publishers seems to be using it consistently. I also notice, presentation specific markup being mixed with metadata. Is it because feed-publishers assume client to be a web-browser?
Description text is in complex-html (presentation specific).
Inserting advertisements in certain places
With Rich Internet Application platforms (Adobe Flash Player, Adobe Apollo, Microsoft WPE/WPF etc), content can be presented into different metaphor provided it’s easy to get the relevant data and related metadata from feeds. Above example poses a simple problem of extracting description (actual metadata), if it’s semantic-html it’s cool otherwise a problem for client to parse and extract data. Similarly, there could be more problems and inconsistencies in feed-publishing as of today.
Monetization and Advertisement through Syndication are not totally solved problems, most of the solutions available today only work in context of web-browser.
If feed reader(aggregator) is something else (f.ex: Adobe Flash/Apollo client or Microsoft WPF/WPE) than Web-Browser:-
How to take care of branding?
How to show advertisements?
I am sure, these can be solved using syndication formats it’s just we need to do it consistently. Also, while publishing feeds it’s good idea to think of all kind of clients that would be consuming it.
Note: I am fairly new Syndication/Aggregation, whatever I talk here is based on my experiences and understanding in last a few years. Problems, I faced while writing aggregators, clients or feed-publishing-engines.
Most of video sites are providing Media RSS feeds but not all of them provide URL of Flash Videos or Audio. Some (YouTube, Brightcove etc) use <media:player /> element to point to their player (or page) and some provide videos in different formats (mov, wmv etc) and some (Revver etc) have videos encoded in Flash-Video-Format (flv) but their Media RSS contains (different formats mov, wmv etc). Due to various reasons (monetization purpose, traffic-statistics, advertisement, not enough resources to of transcode media etc), these sites are not providing the link to Flash Videos (.flv files) in syndication-feeds. I understand the concern and problems but there is solution that would probably:-
Increase traffic i.e. monetization
Solve Usability problem – discussed later
Allow third-party developers to get a clean way of integrating things instead of hacking f.ex: YouTube FLV URL hacks/workarounds
Let me give an example, look at following YourMinis! widget for Brightcove:-
Context Change: User can’t see the videos within widget, it requires to go to Brightcove’s site.
Provide a shorter duration (10 secs) preview/sample Flash Video file (.flv) in feeds.
Media RSS spec suggests that <media:content/> has an “expression” attribute that determines if video (media) is a sample or full version. Why aren’t publisher using it for sample videos also? Now imagine, if Brightcove had provided a link of preview-flv-url in their RSS feed or API, this YourMinis! widget could have provided a better experience by helping user to see preview before deciding to watch full video. There are various open-source tools to transcode, process, split and merge Flash Video Files. All these sites can automate the process of creating preview-flash-video-files and also provide their users a tool to create previews using online-front-end (made in Flash/Flex). We all know that Adobe Flash Player is not only most-ubiquitous browser-plugin but also most-ubiquitous Video-player on the web ( and hopefully on desktop once Apollo is there), so why not use it? Everyone (Google, Microsoft etc) is talking about widgets that can consume distributed-data. But it seems publishers are little reluctant and doing what their competitors are doing. I believe, this is time to solve the problem of monetization over syndication/distributed-data (APIs etc) irrespective of content-type (text, images, videos, audios etc).
Update (March 24, 2009): Adobe announced support for some more video and audio formats in Flash Player in August 2007. By now, most of us have Flash Player with those new capabilities installed on our machines. So the idea of this post, where Flash applications can consume vidoes in media-rss feeds, seem to have gone easier.