Montage – An Idea

Long long time back, (at least 2 years I guess) – I came up with an idea of how we can create software for creating a montage of images. I mean not just a montage, but a montage that would looks like some picture in a bigger perspective. So, the steps for this would be something like this..

  • You would pick a end result picture. For example – a close up of your favorite movie star.
  • Then you would go ahead and pick all the photo’s from your personal collection.
  • Then you would tell the software – what would be the size of the image you want to create.
  • Then the software would re-arrange all the images depending on the lightning and colors etc, in such a way that the bigger picture would look like your end result image.
  • The software can tune up the colors a bit if it can’t find an image that would match a corner of the montage, but it’s changes to the photos should be minimal.
  • You can take it up a bit if you want to get the images from public domain or from Flickr
  • The final Montage can be saved and printed at any print shop like Ink2

Just to give you a perspective of what I have in mind, if you have seen the movie – “Dream Girls” in there somewhere there is a scene which shows Beyonce’s picture on the wall. The whole wall is covered with her picture. Imagine, if we collected all our photographs and created Beyonce’s photo instead of lowing up a regular photo.

Update: What a coincidence? The day I blog about Montage creating idea, I come across something that does what I described. http://imagemosaicgenerator.click42.com/

Dynamic Affirmation Maker

Listening to The Secret has changed my life. The whole idea how “The Secret” came to me was mystical. My brother-in-law talked about it to my wife and then I never heard of it till we were visiting one of our friends in SF and plan to spend an afternoon with them. They happen to have the movie and they invited us to watch it with them. I was immediately drawn to it. I bought the audio book and since then it has changed my life so much.

It’s a little bit difficult to follow it on a daily basis. It takes time and discipline. But as my day gets busier and crazier, I often lose perspective and get pulled into the day. I get controlled by circumstances instead controlling them. I was thinking on those lines as to how I can fix that. How can I be always aware? I need to tie that up with something which I do all the time. I work all my day on my laptop and I listen to my music collection all the time. Bingo! I know how I can be aware at least when I am working on my laptop.

So, the idea is to create a online affirmation generator. So, you basically build a site with pre-populated affirmations. You can pick one of the affirmations and then you can say whether you like a male or female voice. You can also pick a celebrity’s voice saying your affirmation. This needs to worked out and I am sure there are celebrities out there would lend their voices for such a nice thing. Then you can pick up your background music – this could be classical, guitar strings or some mantras – something mellow not over powering the affirmation. Pick a duration – how long you want your affirmations to last? 10 mins, 20 mins.

Then once you submit it – this would generate a .mp3 file dynamically with all the affirmations you picked and with all the settings you selected. Then I can save this mp3 on my iPod and listen to it whenever I want and reinforce my affirmations!

I have a sample screen grab, if you have no idea what I am talking about.

Affirmation Form

Offline GMail

Update: Almost 2 years after I blogged about this – Google came up with an offline version. Check it out here

On the Memorial day I went to Chicago to attend a conference on Microfinance( I want to write about this, sometime soon) and also to see my in-laws who live there. I happen to take my laptop along with me thinking that I would spend some time to read my e-books or at least work on some ideas I have been playing with. The Southwest flight was packed and I got sit between two hefty people. That was not at a problem as I had my own entertainment for the next 4 hours. But when I saw my neighbors using their laptops, I was intrigued to see that they are using their spare time to reply all the email they have got and probably catching up with the missed emails.

As of now in my GMail I have 61 unread emails (only Inbox) there are at least couple of hundred in unread email in my other folders. I could have used those 4 hours to read my unread email and probably reply to couple of my friends. But I couldn’t do that because I use GMail. Well, I know I can get my Gmail into my outlook/Thunderbird and read it offline and be happy with it. But I don’t use any other applications as much as I use my browser. With Web 2.0, the browser is the platform. All the earlier application which don’t have any web interface are turning into one because people like to use only browsers and most of them will.

So, I was toying with an idea of how cool it would be if we can have a browser extension which would make GMail access available offline. It wouldn’t be very tough to do something like that. I have known people using Apache Derby for a lightweight database written in Java, which could be used on the client side. All you need to do is to have a local server (Google Desktop already does this) which would check for internet connection and fetch the top 100 (may be inbox only?) and put them under local Derby database. When offline, you still can access the emails and there would be a wrapper around this which would basically use GMail API to send all the offline written emails.

This would solve my problem of being able to see my emails offline and responding to them. Also if you look at the latest technologies – the focus is getting more and more towards “highly intelligent local systems” which can operate both with a internet connection or not. It makes life so easy. And Adobe has taken a step towards that and calls it – Apollo. But you know how Adobe can lock you in their technology platform.

But what was such a sweet surprise was – only couple of days back – Google released something called – Google Gears. I was so surprised to see something coming out exactly when I was thinking about it. Now with Google Gears, what Google has made possible is – it created a framework for creating offline applications just using Javascript. What an amazing idea. It would be matter of days, before there would be applications popping out for GMail, Maps, Google Docs – imagination is your limitation. I know it may not sound as cool as I am describing it here, but believe me when I say as a developer – I don’t have to learn any new Adobe’s proprietary language to do this. I can use my good old Javascript skills to do just this. That’s empowering and liberating for a application developer.

I am waiting for my offline Gmail access now!

Intelligent Skills Recruiter – An Idea

As I was talking to my colleague about how a modern job site should be like – the conversation moved into a very innovative direction. We have seen regular job search sites like, Monster, Dice which cater to a wide array of needs. But if you see ads on those sites, you would observe they mostly deal with full time jobs. That too, they consider a ‘person’ as an entity. Wouldn’t it be cool if you drill it down to a ‘skill’ rather than a person? Let me explain. On the other end of the spectrum, you would find Craigslist which also has job openings, but more informal and cheap options. There too, a lowest level you can drill down to is a ‘person’.

So, here is an idea about a job search engine which would treat ‘skills’ as an exchange commodity. And looking at how fast Globalization is changing the world, I really don’t care if the skills are from India, Estonia, or Ukraine. So, a person who wants to get a project done will approach this ‘job site’ and go through a step by step process to describe his needs. So, for example – I need a project to be done in 2 months – the skill sets I am looking at are: C++, Oracle, Javascript and Adobe Photoshop. Now to find a person who has these skills would be very difficult. But to find people who have these skills individually is easy. So, I can also select my budget for the project and how much share I am willing to give it to C++ skills when compared to Javascript skills.

The second step would be – the intelligent job search agent would look at all the skilled people registered at the site and look at their conditions. Like if I am a developer then I would say – I can only work for 30$/hour rate and I can only spend 20 hours per week. So, look at the project – the site would intimate all the relevant skills people and show them how much share of monies they would get for that gig.

It’s like you are assembling a dynamic team which is based in any part of the world and who can spend certain amount of their time for that particular skill set.  An intelligent algorithm would also keep other candidates(developers) in queue, in case the first round of people default or say No.

Using this site, a Javascript programmer can spend all his time just doing a Javascript on different projects and make money out of it. I kinda vaguely remember that I sort of have come across something like this – but can’t put my finger on it now. But I do think, it’s about time we look at job market rather as skills than people. I am pretty sure that this won’t work out in a full time employee job situation. This is cool and useful to people like me who wants to be traveling and  still keep making money through computer gigs.

Learning a new Language – An Idea

Here is an idea I was thinking about. I am planning on to have a creative idea every day of my life. A major one every week and a minor small improv every day. So, the idea goes. It’s for people who are learning a new language like me (learning Arabic). It would be a site which would create a visual flash cards for the words you want to get translated. It’s not what you imagine, let me explain.

  1. The user types in a word he wants it to be translated in some foreign language she is learning. For example, “Book” and I am trying to create a visual flash card for me.
  2. The program would then fetch the translation for that word. Which would be “kitab”. Or in Arabic – كتاب
  3. Then the program would go and fetch a CC licensed images for “book” from Flickr. This is what you would be seeing.
  4. Now the user can associate this Arabic word with the image she would pick.
  5. And it gets saved into the user’s learning queue, which they can look at it anytime they want to.
  6. To add a community touch to it, you can pick out the most selected image for any given word by other people. Something like what Amazon would do suggesting a book.
  7. So, over a period of time, with enough users – the site would have established a very certain amount of images which represent a word in any particular language.
  8. Now to take it to a next level – Say I have collected these 200 words with best images that match them and I want to print them and carry them so that I can read it on my commute to my work. Bingo, the site would generate a “xml” of your learning queue and you can take it to Ink2 (disclaimer – I work at Ink2) and upload your xml and get a print of all your flash cards.
  9. Now let’s take it to another step. You must have heard about Google Gears. So what you can do is to make this app offline and sync it to the main server when it connects online. Meaning a user can create his own visual flash cards queue locally with her own photos and then sync it up with the server.

Now, I need to get back to put this idea into action and convince my boss to see gold in this! 😉