Apr 27, 2008

A Key Enabler of anyInput: The Symfony Framework

In Fall of 2007, I decided it was time to stop wasting my time on the job and try to develop a product that might be useful to people. The product would be called anyInput, free online data collection. As a requirement, the product needed to use free technologies, the LAMP Stack (Linux, Apache, MySQL, PHP).

Apr 20, 2008

Useful Features of Our Products: anyInput and anyAssets

One of the subjects I have not talked about so far is our products. After all, this is our company blog, which should be used for marketing purposes! As of now, our products are anyInput and the upcoming anyAssets. The core features of the two products will be the same but will diverge with time as customer feedback is collected. The core features that users may find useful are the following:

  • Multiple Categories Can be Defined
  • Categories can be Nested
  • The Fields in Each Category Can be Customized
  • Different Types for Each Field can be Chosen
  • Searching through the Items of a Category
  • Sorting the Items of a Category
  • Relationships (links) between Items from different Categories can be Defined
  • Multiple Users With Different Privileges can be Setup
  • Alerts on Individual Items can be Specified
  • Importing of Your Data From a Spreadsheet (csv)

The following lists additional community related features on anyInput:

  • Mailbox for Accounts
  • Forum for Discussion
  • Creating Links to an Account Page on an External Site
  • Global Search Engine
  • Tagging System

I will explain more about these features in later posts. If you are interested in learning more about these features, please see our How To’s and FAQ.

Apr 15, 2008

My 2nd Reason for Entrepreneurship: Develop a product that is useful to people (Part III)

In a previous post, I called co-workers on the job and the job itself mediocre. While that statement is true, I am NOT saying that employement is a bad thing. Having a job is useful since you gain experience and may learn a thing or two. Sure, the learning may be slow, but you still learn a few useful things. After all, I did and still am!

I once was told by a seasoned entrepreneur to “continue working at your job and you will see many unresolved problems. These problems spaw ideas, potentially ideas that you can start a business from.” On the job, while learning about many aspects surrounding a device, I noticed that my company still uses paper records to log information about indivdual devices. Often times they need to search through large file cabinets to find a particular device’s history. Sometimes, they are unable to find the records.

Well, the solution to their problem is obvious. A database of some sort should be used in place of paper records. There are many software solutions that they could use. On the more complex and expensive end could be software from SAP, Microsoft and Oracle. On the less complex end they could use an Access database with a simple GUI on it.

Knowing my company and the speed of which they do things, I would say that they prefer incremental change that is less obtrusive. So my idea for anyInput was re-enforced again!

Useful Things I Learned On The Job And Apply To anyInput

In my last post, I talked about how work reinforced my an idea. I saw a problem and dreamed of a solution. The job is also useful for other learnings as well. On the technical end, work taught me about the tools and techniques I applied to the development of anyInput. For example:

  • Source Control - Essentially, you check out a file, modify the file and check the file in. For small projects the usefulness of source control is in seeing what other people changed and reverting back to a previous version just in case you screw things up. At work we use, Rational ClearCase.
  • Issue Tracking - I know you probably have a great memory that can remember more than 7 things at a time. However, most people cannot remember more than 7 things at one time. Often you need to remember 100s of issues for your project. Whenever you have thought of an enhancement or notice a defect you should enter it in your issue tracking system so you can address it in the future. We use Rational ClearQuest at work customized for each project.
  • Test Methodologies - My first software product was built in Visual Basic 6 and was not tested at all. anyInput was tested very throughly. Testing at work taught me how to identify the weak points in the software using requirements as a guide. At work the testing is still done with manual test cases so we just use Microsoft Word. Eventually, I hope they move to automated tools such as Silktest or WinRunner.

Sure, any of these tools or techniques may slow you down. However, in the end, they benefit you greatly especially as the amount of people working on the project grows.

I know there is a lot of other useful tools and techniques out there. Have any in mind?

Free And Low Cost Software For Developing a Small Software Project

The company I work at is a huge, so they don’t mind spending hundreds of thousands of dollars a year for IT stuff. Us small guys do not even have an IT budget. ClearCase and ClearQuest and anything Microsoft are simply to costly! Anything dealing with PHP, Linux, MySQL and SVN is probably cheaper or free and best way to go!

Since, I had to spend quite a bit of time seeking out the below software tools and services, I thought it may be handy to list the tools we used for anyInput. The below tools are free or low cost.

Version Control

  • DevGuard ($8 / mo) - Our SVN host. We use an SVN provider since we do not want to worry about setting up an redundant in house SVN server. Also, DevGuard is relatively cheap.
  • TortoiseSVN (free) - The best Winblows SVN client out there. When you enter commit comments, it auto-suggests functions from the modified source files. Also, the diff and the conflict resolution functionality are awesome. Unfortunately, I migrated to Linux Ubuntu, which does not have Tortoise. I end up using SmartSVN or the command line SVN client now. I do use Tortoise from work sometimes though.

Issue Tracking

  • Mantis (free) - Mantis is not the best issue tracking system out there but the price is right. Anytime I discover a bug or think of a new feature then I enter it into Mantis for addressing later. You can cycle the issues through stages such as Submitted, Acknowledged and Resolved. You can also enter notes for each issue. Mantis is multi-user so it is useful for our small team of two people. Sometimes, I am lazy and do not enter thoughts into Mantis so I end up forgetting them. Mantis is basically a place to unload your brain.

Development

  • LAMP Stack (free) (Linux, Apache, MySQL, PHP) - We use Debian for the production environment and Ubuntu for development environments. Ubuntu is Debian based. What’s really cool about Debian is that it already has a boat load of packages suck LAMP stack and a plethora of other useful programs (phpMyAdmin, Bluefish, Symfony and etc). All that you need to do is issue a command and the software is downloaded and installed. Enough said about the LAMP stack.
  • phpMyAdmin (free) - I do not like using the command line interface to MySQL. phpMyAdmin a GUI to all of the functionality of the MySQL database. For instance, If you want to insert or alter data in a table, phpMyAdmin builds the SQL for you and executes it!
  • Bluefish (free) - An linux editor that supports many programming languages such as PHP. Bluefish is not as good as NuSphere PhpED ($200), the PHP editor for Windows that I used previously, but it does the job and the price is right.
  • Symfony Framework (free) - An awesome PHP5 framework. It simplifies the development process by generating code and having commonly used web functionality built in. More on Symfony in a later post.
  • ORM (Object Relational Mapping) (free) - The Symfony Framework has the Propel ORM built in. Propel essentially is another layer of code that sits above the database. Propel basically generates objects based on your schema so that you do not need to write SQL for non-complex queries. It handles INSERTs, SELECTs, UPDATEs and DELETESs all in the generated objects. I am sure you know how tedious it is to write and debug SQL queries in your code!

If there are any tools I should be aware of then please let me know about them! Would you like me to go more into detail about setting up some of the above software?

Apr 14, 2008

KISS Principle (Keep It Simple Stupid): Is it really simple?

A wise woman once told me about the KISS principle that she learned while in the Navy. She wanted software that could help her keep track of documents while on the job. She only needed the software to have a certain set of core features. All other “nice to have” features such as reporting and complex sorting were not needed according to her. Why was this?

Upon further probing, she stated that she wanted a system that worked for her immediate need of tracking documents. She did not want a system that was confusing, complex and bloated with features that she would probably not use.

My interpretation of the KISS Principle is that you are at point A. You need to get to point B. Just choose the simplest path to reach point B. Sure this sounds easy, but when you apply the principle to a particular type of customer or coding problem, the solution may become less obvious. Let’s examine the principle more:

  • From the customer perspective, it means making the GUI interface as simple and easy to understand as possible so the customer will not be confused. For anyInput, I had a web designer come up with a simplistic and usable design with visual cues. I truly believe that the interface is simple. What do you think? I am also confident that technical users can understand the product. But not the non-technical users who we are targeting.
  • From the developer perspective, it means implementing code elegantly and as straightforward as possible. I was the main developer and took significant time to come up with the best, simplistic, most elegant way to solve each programming problem. I am not a the type of programmer who only comes up with one solution and starts implementing it.

Applying the KISS Principle to all aspects of anyInput required a long time. There were many permutations of a solution. And often times the chosen solution may not be the best. Designing software for simplicity is not such an easy thing.

anyInput Launch

Nov. 16 2007 — anyInput, LLC, announces the launch of the beta version of a new web portal, anyInput.com. anyInput.com is the world’s first free online service for the storing and sharing of organized information.

With anyInput you can:

STORE ANY INFORMATION THAT YOU WANT
Do you have a movie collection? Maybe a large music collection or comic books or coins, stamps, wines, toys, anything that you want. Now you can catalog and store it all in one place.

SHARE THE INFORMATION THAT YOU’VE STORED
You can share your collections with others and they can share theirs with you. Connect with other users and tag their collections.

DISCOVER THE INFORMATION OTHERS ARE SHARING
Discover other collections similar to your own or maybe something totally new. Use the tag cloud to browse for what’s
popular on the site or use the search engine to find something specific

———————————–
See collections on anyInput
See a movie collection on anyInput

See business equipment on anyInput
See an item of business equipment on anyInput

———————————–

Do you have anyInput?

http://www.anyInput.com

Marketing Adventures: Mass Marketing Pondering

Sometimes I ponder. Often times, the thoughts are about common sense subjects. Further, these thoughts arise because of daily experiences. Nevertheless, I need to convince myself about these ponderings. On a side note, knowing business is about having common sense and intuition. Business is not about smarts, but having smarts helps!

Anyway, I look at statistics for anyInput on a daily basis in Google Analytics. One of the statistics is “bounce rate.” The bounce rate is the percentage of visitors that entered anyInput on the same page that they left on. So if a browser visits the anyInput homepage and leaves, the bounce rate increases. A high bounce rate indicates that many browsers are not interested in your site.

The fact is, not everyone will be interested in your product. If you engage in mass marketing, then you are targeting everyone. What percentage of those people will be interested in your product? For anyInput, I can say that the maximum percentage is 2%. So at max 2 / 100 visitors are interested enough in anyInput to sign up for a free account.

Mass marketing is probably not effective for anyInput. The alternative to mass marketing is using targeting advertising. There are many ways to target advertising such as Search Engine Optimization of PPC search engine ads. Just remember, you need to know what your customers are searching for if you use targeted advertising!

Marketing Adventures #2: E-mail Marketing Vacillation

I was about to engage in e-mail marketing. There are two methods to go about mass e-mailing people:

* Purchase a e-mail list from a company of people who are interested in a subject for X dollars.
* Use another companies opt-in e-mail list to send out information about your company for a fee.

In general, I believe that mass e-mail is not an effective means of advertising:

* Firstly, the messages you send may go to SPAM. When a message is in SPAM, readers pay little attention to it, if at all.
* Secondly, the click through rate is very low. Back in my masters program, I took a class titled E-Marketing. The teacher stated that the response rate is 1%. So that means 1/100 people that receive the e-mail actually take some action. Then you need to consider what percentage of that 1% actually turn into customers.
* Thirdly, if a recipient did not opt-in, some of the people may complain. This is a big no no because your ISP may disable your domain name. ISPs have very strict policies against unsolicited e-mails. So buying an e-mail list from a company for thousands and mass e-mailing those people who have not opted-in may be detrimental to your website.

Let’s look at one case study. Thembid spent $3000 to use the LA Times to mass e-mail 20,000 people on its opt-in e-mail list. They received 120 hits to the Thembid site or a 6% click through rate, which is higher than 1%. 3 of those visitors signed up or 0.015% of 20,000 e-mails sent. The cost per click is $25.00 ($3000 / 120 clicks). Google PPC is way better at 30 cents per click.

In all, is e-mail marketing effective? Thembid does not think so and neither do I.

Useful Features of Our Products: anyInput and anyAssets

One of the subjects I have not talked about so far is our products. After all, this is our company blog, which should be used for marketing purposes! As of now, our products are anyInput and the upcoming anyAssets. The core features of the two products will be the same but will diverge with time as customer feedback is collected. The core features that users may find useful are the following:

Multiple Categories Can be Defined
Categories can be Nested
The Fields in Each Category Can be Customized
Different Types for Each Field can be Chosen
Searching through the Items of a Category
Sorting the Items of a Category
Relationships (links) between Items from different Categories can be Defined
Multiple Users With Different Privileges can be Setup
Alerts on Individual Items can be Specified
Importing of Your Data From a Spreadsheet (csv)
The following lists additional community related features on anyInput:

Mailbox for Accounts
Forum for Discussion
Creating Links to an Account Page on an External Site
Global Search Engine
Tagging System
I will explain more about these features in later posts. If you are interested in learning more about these features, please see our How To’s and FAQ.

Marketing Adventures: Mass Marketing Pondering

Sometimes I ponder. Often times, the thoughts are about common sense subjects. Further, these thoughts arise because of daily experiences. Nevertheless, I need to convince myself about these ponderings. On a side note, knowing business is about having common sense and intuition. Business is not about smarts, but having smarts helps!

Anyway, I look at statistics for anyInput on a daily basis in Google Analytics. One of the statistics is “bounce rate.” The bounce rate is the percentage of visitors that entered anyInput on the same page that they left on. So if a browser visits the anyInput homepage and leaves, the bounce rate increases. A high bounce rate indicates that many browsers are not interested in your site.

The fact is, not everyone will be interested in your product. If you engage in mass marketing, then you are targeting everyone. What percentage of those people will be interested in your product? For anyInput, I can say that the maximum percentage is 2%. So at max 2 / 100 visitors are interested enough in anyInput to sign up for a free account.

Mass marketing is probably not effective for anyInput. The alternative to mass marketing is using targeting advertising. There are many ways to target advertising such as Search Engine Optimization of PPC search engine ads. Just remember, you need to know what your customers are searching for if you use targeted advertising!

Free Online Storage - anyInput online data collection

Featured anyInput Accounts

Since anyInput’s launch last November, many people have signed up for an anyInput account. Many of those people use anyInput but there are some people that do not use their anyInput account. I don’t really know why. Maybe they are just curious and exploring. Perhaps they are just remotely interested in what anyInput is. Or maybe using anyInput is too hard for most users. This needs some investigation in the near future! If you are one of those users, please post a comment here.