Archive for the ‘micro-isv’ Category

AgileDash SP Being Delayed

Monday, August 2nd, 2010

So after some hard thinking and business decisions I decided to go ahead and delay AgileDash SP and focus solely on Windows Phone 7 Application development.  I am going to release about 6 applications for Windows Phone 7, one of them being completely free with Source Code available and even a video cast showing how it was all done.  I think this is a huge decision and a pretty big change in direction with where Elucidsoft is going, but I think it opens up new opportunities as well.  I definitely and absolutely plan to finish AgileDash SP, after the launch in October of Windows Phone 7 I will begin focusing again on AgileDash SP and getting it out the door.

I seriously believe Windows Phone 7 will be an important and huge platform, I also believe it will overtake Android eventually simply due to the rich developer toolset that Microsoft has to offer the apps for Windows Phone 7 will be higher quality, richer, and just typically more functional.  Stay tuned for some more info on the apps I am going to release!

Our new face!

Sunday, May 16th, 2010

Well after lots of hardwork, mockups, drafts, discussions, and creative soul searching the new Elucidsoft site is up and running.  There were a couple of goals for this site, it had to be fresh, incorporate the companies color of green all while maintaining simplicity.  I believe we pulled it off beautifully!  Let me know if you have any issues with styling or such with the site.

In addition I have setup a beta program that you can join for AgileDash SP, the plan is to release Beta 1 beginning of August to garner additional feedback and user perception.  After which depending on feedback a release date will be scheduled.  The beta form is utilizing a rather simple subscription service my hosting provider offers and it can be kind of slow at times.  If it becomes to much of a nuisance I will switch it out for something a bit better!

Thanks everyone for your help on the new site!!

New Site Design and WordPress Theme

Saturday, May 8th, 2010

Been working on a new site design and WordPress theme for a couple months now with a really talented designer and I am excited to say it is almost ready! It should be up in about 1-2 weeks.  It’s an entire site design, and a WordPress theme that matches.  I believe this is a huge step in laying our foundation as a startup, the face of the company says a lot and transparency says even more!

Here are some of the final designs for your viewing pleasure:

Amazon Cloud vs. Rackspace Cloud

Friday, March 5th, 2010

Recently I have been doing some research into cloud hosting, it has become this new craze and for a very good reason.  It makes perfect sense to pay for what you use, and be able to scale your architecture in an affordable fashion.  I originally started my research with Windows Azure, and I would like to mention there are a couple of reasons I am not going to include in my comparison.  The primary reason is that Azure is a different animal, it is designed entirely different from all other cloud offerings.  You write your software against their application model, when you need to scale you aren’t actually scaling a server, you are scaling your application model.  In the case of Amazon or RackSpace you are scaling a server, if its a virtual server or not.  The second reason I am not including it is that it does not compare well to other services, it offers a bunch of different services but they all wrap it up under the same pricing structure.  I believe they made a mistake doing it this way, as it makes it prohibitively expensive for startups, or hobbyists, and these are the two markets that tend to push cloud the hardest.

A little disclaimer before I start.  I, Eric Malamisura, or Elucidsoft LLC. are not related to or affiliated with either Amazon, or RackSpace in any way shape or form.  All opinions, data, and thoughts are expressed solely as my own.  Additionally all data posted here is recent as of this posting, all prices are subject to change as each company may change their pricing structure to be more competitive.  I suggest you check out the site directly and do a true comparison yourself.

So to begin the comparison, let me detail the benchmark.  The benchmark website was taken from a popular internet website and was scaled down by 85% for the sake of sanity and not to scare the living daylights out of peoplewith huge numbers.  Here is the following benchmark:

I am using two different models for requests since each site handles it differently, for Rackspace I am taking the above numbers, and combining them, and then reducing them due to the way Rackspace splits them up.  For that number we have 27500 requests under 250KB, the remaining 7500 are free.

So lets start off with Amazon, which appears to be the de-facto standard for cloud hosting right now, they are the most popular choice and the one with the best track record. Then we will move on to Rackspace, they certainly have a name brand for themselves. Everyone knows who they are, that they have a known track record for being very high quality.  They have recently gotten into the cloud market, offering several solutions through their RackspaceCloud suite.  I am going to be comparing RackspaceCloud Servers and RackspaceCloud Files.

I tried to double and triple check these numbers, if I made a mistake or looked over something please kindly point it out in the comments.

Benchmark Site

Platform: Windows

Bandwidth:

In: 480/GB a month
Out: 180/GB a month
Requests: PUT/COPY/POST/LIST: 15000, GET/*.*: 12500

Usage:

CPU Usage: 100% a month (732 hours = 30.5 * 24)

Storage:

175/GB a month
In: 20/GB a month
Out: 1,000/GB a month

Amazon EC2 (Windows)

With the Amazon EC2 service, to my understanding you basically get a virtual server and you can install or do whatever you wish with it.  Below are the 3 tiers for Northern Virginia, USA on a Standard On-Demand Instance for Windows.  The AmazonEC2 service is primarily used for hosting your site and not for storage.  As you can see there is not a ton of local storage for your use, and the storage is not persistent.  That means when the instance is reset/reboot or whatever anything stored on it will vanish.

Bandwidth:

In: $0.10/GB a month
Out: $0.15/GB a month

Usage (CPU/Memory/HD non-persistent/cores):

Tier1: 1.2Ghz/ 1.7GB/160GB/1 virtual core = $0.12/hr
Tier 2: 4.8Ghz/7.5GB/850GB/2 virtual cores = $0.48/hr
Tier 3: 9.6Ghz/15GB/1,690GB/4 virtual cores  = $0.96/hr

Total price based on benchmark site for tier 1: $114.84/month

Amazon S3

Bandwidth:

Out: $0.15/GB a month
In: $0.10/GB a month

Storage:

50/TB a month = $0.15/GB
if above exceeded, 50/TB a month $0.14/GB
if above exceeded they continue this stepping model, see site for more info…

Requests:

PUT/COPY/POST/LIST $.01/1000 requests
GET/*.* $.01/1000 requests

Total price based on benchmark site: $176.43/month

Amazon EC2 + Amazon S3

The complete Amazon solution would be to combine Amazon EC2 with Amazon S3, it is worth mentioning that any bandwidth costs between EC2 and S3 are free as well.  But everything else is still the same, you do have another option for storage that I did not compare.  Amazon EBS, which is designed to act as a permanent file system for your EC2 instance, it differs from S3 because EBS can be directly attached to your EC2 instance and it can be used for storage of your DB files, etc.  It is not meant for public consumption to my understanding but more to be used as a static file system since EC2 lacks such.

With that said, the total price of Amazon EC2, and S3 above is: $291.27/month

RackspaceCloud Server (Windows BETA)

A couple of things about RackspaceCloud Server, first thing that is substantially different is that storage on their server IS persistent.  This is probably why you get less, because you can use it for storage, and this also may prevent you from purchasing an additional service for local storage up front.  Also each virtual instance gets 4 Virtual CPU’s as opposed to Amazons EC2 where they use a tier based model.  RackSpace Cloud also uses a different model for CPU power, they “weight” each instance so you are guaranteed a certain degree of CPU power, but you are also guaranteed burst capability in case you get a spike and need it.  You are also given much more flexibility on choosing your pricing tier, they offer a wider degree of choices.

Bandwidth:

Out: $0.22/GB a month
In: $0.05/GB a month

Usage (CPU/Memory/HD persistent/cores):

Tier 1:  at least 2Ghz/512MB/20GB/4 virtual cores = $.04/hr
Tier 2: at least 2Ghz/1 GB/40GB/4 virtual cores = $.08/hr
Tier 3:  at least 2Ghz/2 GB/80GB/4 virtual cores = $.16/hr
Tier 4:  at least 2Ghz/4 GB/160GB/4 virtual cores = $.32/hr
more tiers are offered, see their site for more information…

For proper comparison I want to mention that tier 3 is the closest match to the tier 1 Amazon EC2 version.

All prices are based on the benchmark site mentioned above:

Total price for tier 1: $107.28/month
Total price for tier 2: $137.56/month
Total price for tier 3: $195.12/month

RackspaceCloud Files

Bandwidth:

Out: $0.22/GB a month
In: $.08/GB a month

Storage:

Unlimited space/$0.15/GB a month

Requests:

Files over 250KB/Free
File under 250KB/$.01/500
HEAD/GET/DELETE Free

Total price based on benchmark site: $110.95

RackSpace Server + RackSpace Files

So the RackSpace Server + RackSpace Files solution seems pretty attractive, and from my research it really is pretty attractive.  Especially since they offer a substantially more compelling offer if you want to start small and move up as needed. Amazon kind of starts you off more medium to enterprise, while RackSpace you can go micro to enterprise, which is pretty compelling for a micro-isv in my opinion.  I want to also mention something that is kind of important, with Amazon if you want good support you need to purchase their “Gold” support.  With RackSpace you get their fanatical support for entirely free with your package.  There are some disadvantages although IMO minor, RackSpaceCloud is all based in Texas, USA.  The Amazon solution will allow you to setup servers around the world at various locations, however Amazon does charge quit the premium for those as well so it might not be worth it.

Total price for the whole RackSpaceCloud package with tier 3, Server + Files is  $206.07

Conclusion

The choice all depends on your needs, for my personally I am going to go with RackSpaceCloud I think.  This may change in the future but it costs me nothing to setup an account, and give it a go and see if it fits my needs or not.  For more information check out Amazon Cloud, or RackspaceCloud and compare for yourself.

Update: I ended up going with Amazon Cloud, and wrote a post about why I made that decision.

What to Post?

Saturday, February 6th, 2010

Early on when creating this blog I was unsure as to what topics to keep this blog isolated to, typically in the past my blog posts are pretty technical. I normally would cover for instance a problem I encountered in code and would post a solution, or a code snippet. Now I am trying to decide if this blog should also contain this type of information, should it be a mix of the two? Should I create another blog and separate it all out? Well I have thought about it for a while and I think I will keep it all on the same blog, for a couple of reasons.

  1. A central place to subscribe for feeds.
  2. You can filter based on the category depending on interests.
  3. To keep this blog active and to keep the posts going.

So from this point on this blog will cover everything, from technical, down to the code itself to topics discussing managing Elucidsoft.  I think this is the right approach, and in the future if it turns out to be working negatively I will alter my approach based on feedback.

With that said, on to the next post…

Micro-ISV Backup Strategy

Saturday, February 6th, 2010

A backup strategy for a micro-ISV is one of the most important things you could have, you are not typically working in an enterprise environment, you do not have the hardware, tools, or money to afford expensive backup solutions.  You also need a solution that is more redundant and automatic than the typical home user backup strategies.  I am going to discuss a couple of solutions, and ultimately the solution I chose to take, and future plans I intend to take.

On Site Backup (keeping it simple, and free)

First and foremost, getting a backup solution in place is very simple.  If you are using Windows you can simply use the built in back up tool, point it at a USB drive and be on your way. If you are using OSX you can use Time Machine.  I have a pretty good experience with Time Machine,  but a horrible experience with the Windows Backup Utility, even the one that comes with Windows 7 fails for me about 75% of the time.  So I chose not to use it, I still use my Time Machine for my mac computers.

On Site Backup (keeping it moderately simple)

The next choice is to use a server setup, you can buy a very cheap Windows Home Server for around 400 bucks, about 1TB of space.  It has an easy to use web interface, allows you to plugin more hard drives that it will automatically add to its virtual disk space.  It also comes with a nice set of backup tools, I have many friends that use this solution and it works great for them.  I however, do not have enough space at the moment to use it but I plan to implement this shortly.

Read more about Windows Home Server

HP EX475 MediaSmart Home Server 1TB (Amazon.com)

Off Site Backup

Next up is off site backup strategies, these are often used by enterprises in the event of a catastrophe, such as a fire, etc.  For a micro-ISV this is essential to have mainly because the hardware you are using to do your backups on is not going to be very redundant.  Redundancy is expensive, not only in hardware but in electricity to power all the extra hardware to implement it.  That is why it is more cost effective, in fact free in some cases to use an online backup strategy.

I chose a very popular online backup company to do this, that offers 2 GB for free.  They also encrypt your data using 448 bit encryption before it gets sent up the wire to protected your intellectual property.  They have a tool that you can download, it will run a backup every 12 hours and sync with their server.

They also have a Pro version that lets you get more involved, backing up servers, multiple computers, etc.

Read more about Mozy

Online File Storage

Not really a backup solution, but a way to protect your important documents.  Using an online file storage mechanism will let you keep your files on a server in the cloud that is running on redundant hardware, they also tend to have pretty serious disaster recovery plans in place to protect your data.  The most popular one I use is called DropBox, not only does it protect your file but it lets you keep these files in sync on all of your computers.  It installed a folder on your computer, you put file in it, and they get synced automatically to the cloud, and to any other computers you have DropBox installed.  It works seamlessly behind the scenes, and its awesome!

Read more about DropBox

Protecting Non-Documents

Last but least, and something that is often overlooked in backup strategies is notes.  Lets say you jot down a note, a phone number or something important.  This information is often lost by getting tossed, misplaced, or if you use your computer to save your notes off you may overlook that location when doing backups.  The best way to protect this is to store them in the cloud, much like DropBox, but more focused on less formal documents.  I use Evernote for this process, its easy, simple and they have support for it in multiple forms.  They have an iPhone Application, OSX App, Windows App, WebApp, etc.  so that at any time, any place, you can quickly save a note into the cloud.  These notes also get synced to all your other devices that have Evernote installed so its a seamless experience.

Read more about EverNote

Additionally if you need to protect your email, calendars, and documents in one central place you can use Google Apps for Business.  They offer GMail, Google Calendar, Google Docs, and more for your domain.  There is a free and a pay version, the free version is a little bit difficult to find on their site but its there with a couple of small limitations.  The pro version offers much more space, among other things.

Read more about Google Apps for Business

Color Choices

Thursday, February 4th, 2010

It is often difficult to differentiate yourself from others in the great wide web, and one of the key ways to do this is to choose a layout and color scheme for your products and web site that are distinguishable. The typical hues of blue you see everywhere are so yesterday.

Background

In selecting a background you will typically want to go with a soft color, such as a pastel of some sort. But you can also, and carefully chosen go with another color. With the site design for my site I chose a shade of green, for a couple of reasons.

  1. Green is not used that often on the web so it will stand out a bit more.
  2. I like the look, and it doesn’t scream blue, or white, or gray.
  3. It goes with Orange which leads on to my next topic, the forecolor I chose to use…

Fore-color

The fore-color, it needs to match the background color or compliment it accordingly.  You need to limit them to three or less according to most guidance although this can obviously be violated to good taste.  It needs to be easily readable and high contrast.  For this I chose white on black, and orange on green.

  1. White on Black is easily readable, high contrast and the normal reading colors for most sites.
  2. Orange on Green, if done carefully can compliment each other quite nicely and is high contrast and catchy.
  3. Uniqueness again, orange is not over used like blue and can be done while maintaining a clean look and feel.

Layout

The layout is probably the most important aspect of your site, you need to catch and keep the readers attention as quick as possible.  That is why there has been many studies on this very topic, their are levels to a page when you are designing them.  Each level represents priority that the typical human eye will look at first, second, third, etc.  You want your ‘Lead’ to be in the first level to catch the readers eye, then in the second level you want to expand upon that lead further, and then third tier you want to give the user something visual such as a video or gallery in order to maximize their attention.  After that you will want to continue your levels of importance down the page.  This is all documented in multiple books on how to maximize your site for reading potential.  You are not trying to be illusive, or trick the reader, you simply want to harness maximum potential the best way possible.

You also want to clearly define your intentions, especially if you plan to hire a professional web designer.  Typically I do this by using Paint.NET or Photoshop, I throw something together fairly quick with some notes in it and some ideas and send it to them.  Below is an example of a site design I had in mind that I threw together in under 45 minutes.  I will most likely compose another one with a different design, and maybe one more after that depending on the situation.

Trust

Under all circumstances you want to avoid a ‘spammy’ looking site, this accrues distrust and this is the opposite of your goals.  You want trust, trust, trust, be as transparent as possible, put ALL of your contact information on the site, your phone number, address, full name, company tax information, a picture of yourself, your bio, your curriculum vitae or your resume.

If you ensure trust with the reader, than they are willing to buy your product.  This is much more difficult than you would think, the internet is a risky place, and people are cautious, rightfully so, and in order to get trust you must open your arms and embrace transparency.  I find it no coincidence that Agile project methodology also embraces this as one of its key tenants to getting your customer buy in, if your customer does not trust the team than you have a bad situation.  You will delivery the wrong thing, communication will be poor and everyone may lose their jobs.

Generating User Stories in a micro-ISV

Sunday, January 31st, 2010

As micro-ISV it is often hard to generate new ideas, you lack the ability to bounce things off of large teams.  It is often difficult to make important decisions on what features are important and which ones are just “nice to have”.  That is why I chose to take a rather interesting approach to generating user stories for my software.  First off, this is not SCRUM I am talking about here, but I am borrowing a concept from Agile methodologies for managing software requirements such as User Stories.  The reason I chose this approach is because it has worked the best for me in the past, it is easier to prioritize, and thirdly I believe Agile methodologies can work on a single person team as long as you adapt and use only the pieces you need.  Typically when I do Agile coaching the main thing I tell teams is to use the parts of Agile that work for you, and don’t worry about what Agile “is”, as that is not productive.

Generating User Stories

So how do you generate user stories without a team?  Well you need to organize your thoughts in a relational, visual, and meaningful way.  If you do not accomplish this task you will have a very difficult time generating and prioritizing your user stories.  Instead you will get caught up in brainstorming your ideas using your user stories, you want to avoid this as its not useful.  Typically I create what I like to call “Epic User Stories”, these are the first stage of user stories I create.  These stories will either get migrated down into the product backlog or they will remain epics only to be further broken down at a later time.  If I deem a story epic and I cannot break it down immediately into more clear low level stories and tasks then it is by its nature a low priority story.

Organizing Your Thoughts

So how do you organize your thoughts into a relational, visual, and meaningful way?   Well a new tool that is gaining popularity is MindMapping.  What is MindMapping?  Well the Wikipedia definition is:

mind map is a diagram used to represent wordsideas, tasks, or other items linked to and arranged around a central key word or idea. Mind maps are used to generatevisualizestructure, and classify ideas, and as an aid in study,organizationproblem solvingdecision making, and writing.

How do you generate a mind map?  Well you could simply pull out a piece of paper and draw your own mind map.  The concepts for mind mapping are very simple, however, a more robust and productive way of doing this is to utilize a mind mapping software tool.

There are many out there, as seen below the length of trial and price as of this writing:

There are a ton more but those are the ones worth mentioning in my opinion.  Which one did I choose? Well I have a friend who was able to get me a promotional free copy of ConceptDraw MINDMAP 5 Professional, otherwise I was using xMind before and it was more than adequate for my needs.  I highly recommend any of the above solutions, they all accomplish the same goal.  Once you have your “mind on paper”, you can begin generating user stories from those relationships and ideas.

Time Management for a micro-ISV

Friday, January 29th, 2010

Your pushing hard to release your new product, you have a mortgage bill, an electricity bill, you need to spend time with your family, etc.  How do you manage all of this successfully?  Well there are entire books written on that topic, and I am going down this path right now. As you know starting a micro-ISV is no easy task.  Today my 18 hour work days caught up with me,which made me very ill earlier in the day.  I should have no excuse, I did not follow my time guide.  What is this time guide?  Well over at the MentalProcreation Blog, Tarek Demiat, the owner of Sun Softworks has come up with an excel spreadsheet that will slice your time up and show you how a typical day is broken down.

Funding a micro-ISV is typically done through a full time job, working for somebody else, this is not uncommon.  This obviously puts quite a strain on your life, so it is essential to learn how this time is being used, and to schedule time for the micro-ISV.   This is the pitfall I ran into, I tried to work too many hours, and my body told me I needed some rest.

My Time

As you can see it’s not too bad, and in reality I do actually work more than what is sliced up in the chart.  Now that may be the problem, because I will burn myself out and then take a whole day off.  If I sustain a constant stream of time towards the micro-ISV instead of going overboard and burning myself out and losing 8-12 hours from that whole day then I may be able to get more done.  I will continue to do some self improvement on this, work on my schedule some more.  I already have my iPhone tell me to do work from 8pm – 12am every workday, that gives me about 2 hours to eat, and wind down after my job.

I recommend you download the excel sheet from Tareks’ blog and give it try yourself.  I would be interested in how others compare to my own.

Logo Design

Wednesday, January 27th, 2010

Been working with Logo Design Guru on getting an Elucidsoft logo for the site put together.  Today was the first round of drafts.  Hopefully it will get better because currently the first set of drafts are very simple.  If this service doesn’t work out I will have to go with my designer which is much more expensive but I am sure will product a substantially higher quality logo.  So it is too early to tell at this time, I received 7 drafts, took a poll with a bunch of friends and received back the consensus of a choice out of those 7 drafts.

Below is the draft that was ultimately chosen:

Will be working on the colors, maybe changing them to orange and some more glossy effects, making the text a bit thicker, etc.  Will keep working on tweaking this until we get something that I am happy with, or to the point where I feel like I may need a new approach.  Not every business decision pays off after all, sometimes you just need to know when to cut your losses and try again.  There is still hope, hopefully I can get this to work.