A Developer’s Open Letter to RIM

February 26th, 2011 1 comment

Jamie Murai has written an open letter to RIM, the company behind Blackberry and Playbook. Jamie talks about his experience of setting up development environment for Playbook application development.

It seems, RIM has failed to attract developers, the credit goes to broken development process and tool-chain. One has to spend good amount of time (and money?) setting up development environment, building application and deploying the same to marketplaces.

Why would developers bother looking at Playbook development, when they have better options (iOS and Google Android), where  development, deployment and monetization is relatively very-very simpler.

Developer usability is very important. Any company that relies on developer community/ecosystem for their growth, should take some lessons from Jamie Murai’s open-letter, which enlists some important points/issues.

Read Jamie Murai’s Open Letter To RIM’s Developer Relations.

CalDAV and SyncML Resources

January 25th, 2011 No comments

One of our projects requires a calendar application with bi-directional synchronization with any other calendar applications/services such as Microsoft Outlook, Mozilla Thunderbird, Google Calendar, Yahoo! Calendar, iPhone, Nokia or others.

We can export iCalendar file, that would be readonly i.e. client applications can not write back to source calendar

I started looking at CalDAV, which is an extension to WebDAV, and SyncML, which is gaining traction because most of the mobile devices use it for synchronization of data. I yet to find where CalDAV fits when it comes to mobile devices.

I found out some interesting links, which I am still going through. I thought, it would be nice to share these links:

Adobe Flash Platform and I

January 12th, 2011 No comments

It appears to me (and perhaps others), I have distanced myself from Adobe Flash Platform during last couple of years. Not because I don’t like it, actually I love it, rather due to some other priorities here at our company, which does lot more (web-standards and design) than flash/flex stuff.

All this time, I have been keeping very low profile in flash-platform community, literally not talking about anything. I feel bad about it, I don’t know ‘why’.

I have done some trivial stuff (video players, flashlite and air apps) but nothing very cool or useful to everyone else.

My to-do list contains a long-list of applications targeted towards Adobe Flash Platform (desktop and other devices), I am supposed to do; Considering, my plate is full with all other responsibilities, I am not spending even 1/4th of the time writing actionscript.

Meanwhile, I have tried to encourage my team to learn actionscript and flex-framework. I even tried to hire some flash (or flex?) developers. I even managed to hire one flex developer last year.

Unfortunately, this person left the company as soon as when it was time to contribute back after 6 months training (no contribution period). That was big set back, a discouragement to me; I stopped looking for Flash/Flex developers.

I keep on promising myself, that I would do these applications; I keep on forgiving myself when I am not getting those done.

Anyway, there is still hope, I would building applications the on language (ActionScript), I am very good at. There is still hope, this blog would have more posts related to Adobe Flash Platform.

Agilo: Scrum plugin for Trac

January 12th, 2011 2 comments

We use Trac as project collaboration space[1] within our company. We have been trying out agile-methodology (specially Scrum) for projects, but recently we went more formal with the approach using a software to manage the whole process.

I evaluated some software for agile project management and found good ones including ThoughtWorksMingle, but it’s not open-source and I believe, we can’t afford it (licensing, subscription).

We found ‘Agilo‘, a plugin for Trac, is easy to setup and was intuitive enough to get us started, considering our (no) experience with formal agile-methodology.

Do you want to get started with Scrum and don’t want to invest time learning a complicated software? You don’t need a software to do Scrum. However, if you like managing projects using a software and you are comfortable with Trac, try Agilo.

You might want to check Scrum in five minutes [PDF]

BTW! This is yet another post to spread the word about the software and tools, we find useful and have been using.

[1] project management, bug tracking, documentation, wiki and version-control browser

DeltaCopy: Backup software utility for windows

January 12th, 2011 No comments

We have one Windows server, which is there for many reasons. Taking backup on windows can be pain, one has to rely on third-party software. We use DeltaCopy, which relies on rsync (an awesome piece of open-source software), statically linked Cygwin libraries/binaries.

It is easy to setup and doesn’t conflict with any existing Cygwin installation.

DeltaCopy has saved us from many disasters(disk failure, etc.), some of those happened during last one month. Had we not taken daily, weekly and monthly backup snapshots, we would have lost months of work.

Thanks to DeltaCopy and developers/company/community behind it. This post is my way of thanking them, by spreading some words.

Using DeltaCopy is very intuitive, however, feel free to leave comments, if you need any help setting it up.

Hiring Mistakes

January 12th, 2011 No comments

Hiring mistakes hurt us[1] in terms of time, money, cultural-issues and many other things. I have made those, more than one time – that makes me guilty of repeating mistakes (a crime or sin?).

We filtered résumé, screened candidates over phone, interviewed in-person over multiple rounds and discussed among ourselves before extending employment offer. Sounds good to get good candidates? No, it is not. We ended up having some bad hires.

Anyways, most of us know – Resume don't matter anymore; Someone really good at things[2] should have more than résumé to show and talk about

  • bunch of projects done in free time;
    • indicator: passion, love for craft and desire to improve by practicing in free time
  • technical or craft related blog
    • indicator: communication skills; knowledge sharing attitude
  • contribution to open-source projects
    • indicator: love for FOSS; desire to do something beyond self, for others; team player
  • active participation in technical communities[3]
    • indicator: knowledge sharing attitude; mentoring and helping
  • every word on résumé should be justified
    • indicator: modesty and humbleness

I believe, we lacked some discipline in our hiring process and new-hire-orientation process. We were also not strict, at reviewing and monitoring progress, during probation period.

Both pre and post hiring phases are important.

Pre hiring is good time to know about candidate personality wise.

Post hiring is another chance to make sure if hiring decision was really good. Within three months, it should be absolutely clear (binary: 0 or 1), whether one is good match[4]

The one who has potential to be rockstar and great team-player should be given more time and mentoring; This might affect the economy of company in short term, but worth doing for long term benefits. Patience works, I need to get better at this.

I am learning something everyday, often I realize I am not doing something right; I need to bring discipline in my life and the way I do things, hopefully, rest would go very well.

In Kanpur, I am yet to connect to good software developers and designers. I know there are good ones, perhaps they are working outside of Kanpur.

I am curious, how do you hire, train and get people started?

[1] Entrepreneurs and companies
[2] Programming, Software development, Graphic/UI/UX Designing or skill in question
[3] flex_india or alike), forums, etc.
[4] Great Thinker, Technically sound and has emotional-intelligence

Categories: Entrepreneurship

Professional Responsibility and Ethics

November 14th, 2010 3 comments

I would have spent hundreds of hours talking, about professional responsibility, craftsmanship and ethics, to my team. What you would read below, is a summarised version of the same.

If I sign up for something (a job, a project or something else), I am going to do it with responsibility. If I develop disliking for job/project at any point of time, I am going to:

  • reflect (validate, find causes/solutions)
  • communicate promptly and proactively all the times
  • challenge myself to keep myself motivated
  • try changing things around for better
  • find responsible exit strategy, if there is no hope

We live in free country, there is no reason to do wrong, like:

  • being dishonest with myself and others
  • doing anything (moonlighting, sharing confidential information, etc.)
  • being irresponsible towards my work, hence often repeat mistakes which cause loss to my employer/customer
  • being irresponsible towards, in general

Let me give some examples of wrong-doings, based on my experiences:

  • I lie (wrong reasons) while quitting the job
  • I do something, which I agreed not to do, for the sake of extra money
  • I don't spend enough time figuring out solutions of problem, instead I start running away from problems.
  • I don't communicate properly
  • I assume and judge based on rumours/gossips/assumptions
  • I quit without giving any notice and expect my employer to give me all certificates and positive reference
  • I request to be relieved from my duties without serving a required notice period. I promise buy out (i.e. pay money back to company/customer), which I never do
  • I take some days off from work but I never return back to work; I don't communicate and keep my employer posted on status
  • Above all, my actions are irresponsible, unprofessional and unethical

We all make mistakes. If I made one (wrong-doing) intentionally, it's not good. If I made one unintentionally, later realized it as a mistake, however, I keep repeating, what could be worse than this?

No one is perfect in this world, neither is the company/customer I work with nor I am. However, we can work together despite all these imperfections without doing anything wrong (ethically, professionally). There is always a right option, thankfully.

Good communication, at all the times, always help us doing things right and avoiding wrong ones.

I am not sure, if I could express what I want to say; I hope you can understand what I mean.

Please leave your comment and feel free to correct me, if I am wrong somewhere. I am always open to learn about different perspectives and improve myself.

Categories: Entrepreneurship, General

Adobe MAX 2010

October 28th, 2010 No comments

Adobe MAX 2010 is indeed one of the best MAX events, I have noticed. I am probably the last one to write anything about this event, but couldn’t resist; Better late than never.

I am excited about upcoming Flash Player, which would have many things along with 3D API (GPU supported).

Adobe, it’s partners (device companies) and developer-community (pre-release, public) have worked hard to make sure Adobe AIR works smoothly across different devices (pc, mobile, tablet and even a TV).

Everyone has been talking about great stuff in HTML5 and CSS3 for last couple of years; It looks like, Adobe has also been doing a lot of work to bring tools and productivity for HTML5/CSS3 developers.

I am still checking out, what has happened during last two days and what is happening right this moment. However, I found following links very useful. Like me, if you missed being there (at MAX 2010), check out:

BTW! Don’t forget to watch the keynotes, I just finished watching Day-1 keynote (by Kevin Lynch), it’s awesome.

I consider myself as an optimist, I hope, I am going to be there next year :-)

Categories: Adobe, AIR, Apollo, MAX

Entrepreneurship session at IIT Kanpur

September 26th, 2010 6 comments

Entrepreneurship Cell (E-Cell) team at IIT Kanpur invited me to talk about “idea to business-plan” to some students (budding entrepreneurs). I ended up speaking about different things, hopefully I covered what they were looking for.

I mostly iterated what successful leaders, entrepreneurs and businessman have shared over the years.

A very brief and high level outline of my talk:

  • started session with Derek Sivers‘ Ted talk “How to start a movement
    • an entrepreneur is seen as half-naked guy who is dancing alone, different from crowd, in Indian society.
    • it takes courage to start something while you have choice to work for the best companies
    • there would be skeptics but don’t worry about that.
  • what it takes to be an entrepreneur?
    • get going and get your feet wet, enjoy challenges, trust your instincts, get a good mentor, learn from experiences, learn from others)
    • be prepared for uncertainty, rapid growth, quick and drastic changes, limited resources and resource conservation
    • respect time, short cycles and more results
  • some stories
  • YouTube: first in solving problem but very late in figuring out business-model
  • Flickr: their idea and usefulness
  • Bulkr: how Prakaz came up with a useful product, while he is/was in job. Build something that you would use
  • Directi: about two brothers who have built a great company with little or no funding
  • Allies: why we got started, how we do some things, some pains and gains
  • some books
    • Blink: instinct and intuition. what customers do? how they do? avoiding asking what they want because human preferences are unstable
    • The Tipping Point: why certain ideas tip
    • ReWork: a new way of thinking business
    • Freemium: business model. why freemium works? examples: google-apps, e-books, etc.
  • some of my experiences
    • funding: bootstrap on your own, if you can. or take as less as you can from outside. retain control and ownership. go to someone who can not only give you money but also be your mentor
    • hiring: difficult to attract smart folks. share your ideas/vision. give equity instead of high salaries
    • operations: equally important. be ready to take care of things so that your team can execute your ideas
    • challenges: getting ideas executed, getting customers, getting a good team, getting a good accountant, etc.
    • sales/marketing: various market-places, complicated tender process, social-media, word-of-mouth, freemium
    • retaining customers: commitment, think of them before your own personal gains, good process, good support
  • importance of connections
    • keep in touch with everyone you know or would know
    • go and enjoy parties (twitter, linkedin, facebook)
    • follow gurus and interact with them over social-networks (twitter, facebook, linkedin)
    • go out, help others and get helped

After session, couple of teams discussed their ideas with me and wanted my thoughts. I shared what I knew, hope I could be of some help.

Thanks to entire IITK E-Cell team for inviting and giving me an opportunity to share some of things I know. It feels great to give back.

I already know, I need to get better speaking on stage. With every opportunity and effort, I am getting better. Hopefully, I can engage audience and be entertaining in coming years.

I would hopefully elaborate some these items, when I feel like. I am posted these as a record/note to myself, before I forget what I talked about :-)

Ideas: FlashDevelop on OSX and GNU/Linux

September 11th, 2010 4 comments

FlashDevelop is an open-source IDE for Flash Platform development (ActionScript, MXML, HAXE, etc.) on Windows platform. I have extensively used it in past, and still, painfully, use it via windows virtual-machine on OSX host.

Couple of years back, I looked at FlashDevelop code to figure out, if we can port it for other operating-systems, such as Mac OSX and GNU/Linux.

I posted on Flash Develop forum about my experiments:

I have been trying to run FlashDevelop under OSX. In last couple of years, whenever I got sometime, I tried these:-

  1. Run FlashDeveloper with DotGNU: FlashDevelop was running but due to a lot of native (Win32) API calls, lots of components were failing (screenshot: http://pic.im/5Xk)
  2. Run Flash Developer with Mono: I tried to compile FlashDevelop using MonoDevelop and run using Mono for OSX. Most of the problems is one component/library i.e. DockPanelSuite (http://sourceforge.net/projects/dockpanelsuite/), an opensource code that uses a lot of PInvoke calls (Win32 API).

I am really excited about the possibilities, if we can port this one library we can get very closer to run FlashDevelop on OSX using Mono.

Note: pics.im seems to be dead, so I have uploaded new screen-shots
Flash Develop on OSX - ScreenshotFlash Develop on OSX

Some Ideas:

MonoDevelop is good enough and works well on OSX, I guess also GNU/Linux. However, I am yet to look at licensing and possibilities of forking the project (MonoDevelop)?

BTW! I have been lazy to write about such experiments on the blog, but while commenting on Jesse Warden’s post, I thought, it makes sense to post it here, so it lives.

Please let me know, if you have any ideas about making this happen? I would be happy to collaborate, contribute and donate in whatever capacity I can.

Adobe Flash Platform Summit 2010

August 24th, 2010 1 comment

One more day to go for Adobe Flash Platform Summit 2010, I am very excited about this event because of so many good sessions and my team has been busy building some cool stuff using web-standards and lamp-stack.

If you are going to be around, let’s catch up.

List of Indian Online Shopping Websites (Stores)

August 2nd, 2010 8 comments

Everyday I come to know about a new online shopping website (store) from/for India. I have been using some sites from following list:

  • Infibeam

    book store, electronic, toys, computers, lcd monitors (benq, acer), mobile phones, music, movies and gifts.

  • FlipKart

    book store, mobile phones, music, movies and gift vouchers.

  • ITDepot

    computers, laptops, electronic, accessories, computer hardware, laptop bags, etc. It also hosts stores for Belkin, Logitech, etc.

  • Gadgets.in

    computer, electronic, laptop, wires, connectors, cables, laptop accessories, etc.

  • Pringoo

    t-shirts, mugs, stickers, custom printing and corporate gifts.

  • InkFruit

    t-shirts and mugs.

  • 20North

    imported consumer items. This site would calculate custom duty and shipping cost. If you want convenience of getting things (electronic, computer and other things) from USA and don't want to deal with custom and shipping.

  • Rediff

    One of the oldest online stores in India, it hosts stores for different brands. You can pretty much get most of things (books, electronics, movies, computer hardware and accessories) here.

I would keep updating this post to include more stores, as and when I use or get to know any. BTW! Infibeam accepts Paypal, so that's one of the reasons, it's at top of my list .

Disclaimer: I have only used Infibeam, FlipKart, Pringoo, Gadgets.in and Rediff (long time back). Please understand things before you use any of these sites and please don't blame me, if something goes wrong :-)

Categories: General, India

Eclipse Plugins

July 28th, 2010 2 comments

Some Eclipse plugins, I use (with Eclipse Classic SDK), are:

There are bunch of plugins for network monitoring and debugging, don’t remember their names. BTW! I have got two separate installations (32bit Carbon and 64bit Cocoa) of Eclipse. I hope, Adobe would port Flex/Flash Builder to work with 64bit and Cocoa.

Categories: General, Open Source

Beautiful Plogger

July 28th, 2010 1 comment

Plogger is an open-source photo gallery system built using PHP. It successfully maintains the simplicity while providing so many features, it’s just beautiful piece of work.

Withing five minutes, I got Plogger running on my machine. In another hour, I created a new theme with different visualization (CoverFlow) to display thumbnails.

Having worked many different photo gallery management software/scripts, I find, Plogger is the most beautiful. I might be ignorant about other better systems, please share if you know.

I bet, web designers would find it very handy because they can easily customize and deliver solutions without dealing with complex programming required behind file upload/management.

Where is Adobe Store for India?

July 27th, 2010 No comments

Adobe is yet to launch online store for India. More than four years back, I wrote about this issue..

I have changed my work-flow to introduce more and more open-source tools. However, sometimes I have to use Adobe Flash Authoring tool and Flash Builder for some projects.

I hope, Adobe would soon figure out a way to launch an online store in India. I am yet to understand what has been holding Adobe from doing that, I am assuming something with taxes or government policies, if not Adobe’s intentions?

BTW! Some face problems in USA also, check out what Tariq has gone through today, while buying something from Adobe Store.

Categories: Adobe, India