This has been a tedious task for every individual who wants to start a company. What do I call it ? This was our problem too before we started out with this blog. The initial idea was to use "oxymorons", but most of them sounded moronic (pun intended). So we started calling out random names and start noting them down, then started with a completely another set of names totally irrelevant to the first set
Then we sat down and started matching these names, tried to figure of which combination sounds good, cool and not too cheezy, but at the same time was also available as a dot.com. Of the names shortlisted, we finally held on to "protonfever".
We found a dot.com and a twitter handle for it, hopefully I can find a facebook page for it too (do I need one??)
So here you reading the blog, and also enlightened with some of its history. The reason I wrote this article was to help some of you guys who are looking for names to follow some ideas. Dharmesh Shah of OnStartups.com has written an interesting article on this subject.
http://onstartups.com/tabid/3339/bid/17702/17-Mutable-Suggestions-For-Naming-A-Startup.aspx
Go ahead read it in detail, interesting and informative.
{proton: fever}
the fever is on!
October 15, 2010
October 5, 2010
Multitenancy: What is it ?
I'm not trying to redefine the concept or write a new white paper on multi-tenancy. Most of the article points you to few of the best articles and white papers on the internet that I've come across. Different companies have different approaches and ideas on how to handle this. I try to handle this from a data separation perspective first and then take it to the application level.
If you are new to the concept of SaaS itself, then you have some reading to do, before you read further. Can I suggest Wikipedia to being with first [http://en.wikipedia.org/wiki/SaaS]
Working on a SaaS model, multi-tenancy plays a major role to allow (their) multiple clients to live on the same system. There are various white papers and articles out there on the internet discussing on strategies on how to implement them. I've listed a few for your bed time reading;
Consider your self as a big rental management firm, who can rent all the apartments in the building, so how's that with a software?
But my problem was how to implement it in my application with minimum effort or interference from other developers. I did not want multi-tenancy code seepage into my regular code. The whole point is to keep is as sanitized as possible. One of the really quick and dirty ways was the make every front end developer pass that as a parameter to the backend, but that is not something any developer would want to introduce in his app.
I'll try to cover the code in the next post, but here is how the flow of logic will occur.
If you are new to the concept of SaaS itself, then you have some reading to do, before you read further. Can I suggest Wikipedia to being with first [http://en.wikipedia.org/wiki/SaaS]
Working on a SaaS model, multi-tenancy plays a major role to allow (their) multiple clients to live on the same system. There are various white papers and articles out there on the internet discussing on strategies on how to implement them. I've listed a few for your bed time reading;
- http://en.wikipedia.org/wiki/Multitenancy
- http://msdn.microsoft.com/en-us/library/aa479086.aspx
- http://wiki.developerforce.com/index.php/Multi_Tenant_Architecture
Consider your self as a big rental management firm, who can rent all the apartments in the building, so how's that with a software?
But my problem was how to implement it in my application with minimum effort or interference from other developers. I did not want multi-tenancy code seepage into my regular code. The whole point is to keep is as sanitized as possible. One of the really quick and dirty ways was the make every front end developer pass that as a parameter to the backend, but that is not something any developer would want to introduce in his app.
- It's an added dependency across the application for every developer to pass the parameter
- If a developer forgets to pass the parameter, the system starts to fail.
I'll try to cover the code in the next post, but here is how the flow of logic will occur.
- When the user logs in, get the "tenant code" and store it in the user's web session
- Next the request when reaches the filter, the "tenant code" is read and stored in a ThreadLocal
- This ThreadLocal is accessible through out the "request roundtrip".
- Use hibernate to set the "tenant" in the Filters and get the filtered data.
June 2, 2010
Own your network, Own your client
Own your network, Own your client. What do we mean by that ?
When building a SaaS based model, companies built strong systems for their clients to use. All the latest web 2.0, 3.0 features and implement the security best practices, but many of them fail to make basic statistics available to them.
I've tried to list a few of the short-comings companies should look at resolving;
When building a SaaS based model, companies built strong systems for their clients to use. All the latest web 2.0, 3.0 features and implement the security best practices, but many of them fail to make basic statistics available to them.
I've tried to list a few of the short-comings companies should look at resolving;
- Usage Statistics: If you bill the client per transaction and the amount of load they use on the system, its always nice to have this information available at the customer information screen of the application.
- Billing Information: Invoices and bills should be readily available in the system. Build a billing engine right into the application, saves the finance team a lot of effort processing invoices on a monthly basis and then following up with the clients.
- Auto-payments: You don't want to be left in the limbo, with the client not paying on time and keeping you stranded without money for months. In this age of advanced e-commerce and online banking, its advisable to go the extra mile and integrate an auto-pay system into your application.
April 8, 2010
iAd for iPhone, what does that mean for Google
Apple just presented a preview of iPhone 4.0. Off all the bells and whistles with multitasking and other features released in this version, the most interesting one is iAds integrated into the iPhone api.
Salient Features;
Salient Features;
- 60% of the revenue is shared with the developers.
- You as a developer can directly embed ads in your app from the api
- The ads will be sold and hosted by Apple.
- They have a limitation on how many ads will be served per-day, per-phone, per-app
March 17, 2010
Annoying Geo Targeting
Ever see those annoying ads on websites you are visiting, which advertise services or locations around where you are currently surfing. How do they figure out where you are??
Such kind of targeting in the online media world is called as "geo-targeting". Every computer or device that connects to the internet gets an IP address assigned to it. These addresses are assigned based on your location, so if you are in North America your IP will start from 63.*.*.* or 64.*.*.*. If you are in Asia, your IP address will range in 202.*.*.* or 212.*.*.*, so on and so forth. These addresses are further drilled to second and third level based on the subnet mask.
Such kind of targeting in the online media world is called as "geo-targeting". Every computer or device that connects to the internet gets an IP address assigned to it. These addresses are assigned based on your location, so if you are in North America your IP will start from 63.*.*.* or 64.*.*.*. If you are in Asia, your IP address will range in 202.*.*.* or 212.*.*.*, so on and so forth. These addresses are further drilled to second and third level based on the subnet mask.
March 16, 2010
Hot Deployment issues
The build always makes it to the staging and production server after a series of rigorous tests. This ensures the build is complaint with the requirement and that none of the old features have been compromised in any way. Once in a while, a rare, but an annoying "Scope Creep" scenario does happen.
Just minutes before the demo some one would realize a missing feature or patch which missed the commit deadline and did not make it to the server. So as a quick temp fix we just deploy that file to ensure the code does not have to go through the grueling tests again. Some of the smart developers don't commit these hot patches to SVN or merge it with the patch branch, losing the feature again.
Just minutes before the demo some one would realize a missing feature or patch which missed the commit deadline and did not make it to the server. So as a quick temp fix we just deploy that file to ensure the code does not have to go through the grueling tests again. Some of the smart developers don't commit these hot patches to SVN or merge it with the patch branch, losing the feature again.
February 17, 2010
Project Management and Issue tracking tools: Redmine vs Trac
I've been beating around the web searching for a good solution, that can scale from a microISV team to a mid sized team. We've been using svnrepository.com for sometime. They provide svn and git as a SCM, also trac with multiple plugins for project management.
Off late they've upgraded to a new system which offers redmine, along with trac and also has support for mercurial. After searching the web for a few minutes, I hit upon this article at stackoverflow;
Trac vs. Redmine vs. JIRA vs. FogBugz for one-man shop? Check through the article, you might find it useful.
If you are looking for online svn hosting, this website might be useful to you. http://www.svnhostingcomparison.com. It provides you with multiple options available in the market. You can filter depending on the cost, disk space and other features.
Off late they've upgraded to a new system which offers redmine, along with trac and also has support for mercurial. After searching the web for a few minutes, I hit upon this article at stackoverflow;
Trac vs. Redmine vs. JIRA vs. FogBugz for one-man shop? Check through the article, you might find it useful.
If you are looking for online svn hosting, this website might be useful to you. http://www.svnhostingcomparison.com. It provides you with multiple options available in the market. You can filter depending on the cost, disk space and other features.
Subscribe to:
Posts (Atom)
