Reboot (It’s about time!)

I am starting over with this blog, and with the direction I am going.

As I sit on my couch writing this on my shiny new MacBook, I am contemplating my direction. I finally got an iPod Touch for Christmas (2 months ago) and am still enamored by it. After seeing what Apple is doing with the iPad, I really got excited. The iPod Touch is great, I love the apps available for it, but never considered diving in to start developing my own apps. The iPad is a different story. I have so many great ideas for it that I am trying to decide which one to start on.

For all the bad press that Apple gets about the App Store, that is another thing that is pushing me to develop apps. When I was thinking about creating commercial software for Windows, I always had to consider payment processors, shopping carts, etc. Just search on any forum that caters to small software founders and there is usually at least one post a week about which payment processor to use, or someone telling their horror story about how Paypal is screwing them, or that Google Checkout doesn’t show the correct price (because of different currencies). And thinking about collecting sales tax for where I live, and where the buyer lives.

With the App Store, I don’t have to worry about those things. Yes Apple takes 30% off the top. But when you start researching costs for different payment processors vs a merchant account, that 30% doesn’t sound that bad. The App Store keeps track of what the customer bought, so the customer can always reinstall it without emailing you for a new key.

So this is what I am going to do going forward:

    Develop one or more apps for the iPad.
    Adapt those apps to fit the smaller screen of the iPhone/iPod Touch.
    Try my hand at marketing those apps.

Check back soon. I will be posting regular updates on going from a .Net developer to an iPad developer.

Use Cases

I forgot to post this in my last post, so why not another one?

I put together 3 use cases for my web application.  What are use cases?  They are short paragraphs listing your typical users and how they will use the app.  My use cases are for the three primary types of users that I envision.  As I get deeper, I will probably add more cases, but will not be removing any.

What are use cases good for?  They mainly serve to remind me that I have to put the app together in a way that is intuitive for the different types of users.  They may be good at computers, or they may just be the email/surfing type.  So every decision that I make in regards to design and usability have to work for these users.  They are also part of the spec for the app, as the use cases flesh out the different things that the app has to do.

More product ideas

It seems like I am at the same point, no matter what time it is.  I have some great ideas.  Some of them would be great products, some of them are too fuzzy to begin research on, and some of them are not-so-great ideas.  I think that I just need to talk to some people that are not power-users or programmers to see if there would be any interest.

Right now, I have been thinking of two completely different ideas.  Both of them I have some experience with.  The first idea is to write a canasta card game.  Strictly windows only, maybe multiplayer over the internet, maybe just single player.  It would be different than any other canasta program as my family plays canasta differently than you will find in any rule book.  We call it Hollywood Canasta, but the Hollywood portion probably just comes from a version of 500 Rummy that we call Hollywood Rummy.  The rules of Hollywood Canasta are not that much different from American (or Modern) Canasta that they would be difficult for someone already familiar with canasta to learn them.  The playing strategy is different though.  What I would envision doing is release Hollywood Canasta (probably named Windows Canasta or WinCanasta rather than Hollywood Canasta) first, then maybe Hollywood Rum next.  To me, these games are a lot more fun than the original versions.  For Hollywood Rum, my aunt and cousin decided the set hands were too easy, so they added two additional hands that are quite difficult!  But that is part of the fun!

The second idea is for an inventory management app for plumbing companies.  I would probably start out targetting companies doing repair work first, then expand to target companies doing new construction.  This is in reverse to what I first thought of doing, but when I thought about it some more, repair companies have a bit larger profit margin than new construction companies do.  I definitely have the background for this app, as I was a licensed plumber for a few years, working for both types of companies.  From being in the business, I know the similarities and differences between the two types of plumbing companies.  Repair companies have to stock their vehicles with a lot of small parts (or eat the time where their tech has to get parts at the supply house) and keep some inventory in the warehouse.  Since they bill by the hour, they don’t tend to keep a lot of inventory (because the inventory sitting on the shelves eats into their profit margin).  Some of the small 1 or 2 man companies don’t even have warehouses/offices and just have their trucks.  The new construction companies tend to have larger warehouses, because they tend to make their $ on the margins.  For example, I can buy one tee for $4.00 (not real prices).  If I need 6 tees for a house, that is $24.00.  But if I know that I am doing 5 houses this month, I can buy 30 @ $3.25/ea. for a total of $97.50.  If I bought 30 at the local supply house, it would cost $120.00.  So for this one part (with not real prices), I have potentially saved $22.50.  Now if I had the necessary cost supply, and could forecast how many houses I would be doing this year, I could purchase a years worth of supplies and have them on-hand.  Or maybe my supplier will only give me the special discount price for 50 tees.  How long would they sit on my shelf before I could use them all up.  How much lead time would I need to re-order?

I have worked for some companies that would have a year’s worth on hand at all times.  So if their cashflow started to suffer, they could work off of their stock until things improved.  When your profit per house is low (and generally speaking, it is lower than the per hour the repair plumber gets), you need to squeeze all the profit out that you can.

So now I just need to decide which one I want to work on.  I have had one person tell me they would want the canasta game (my mom).  I do not know what kind of market there is for the plumbing app.  So I think that I will need to do some research on that.  I keep going back and forth on which one to do.  Both of them would probably be windows apps, not web apps.  One would be B2C, probably at $25 or $30 price.  The other would be B2B, and I would have to do the research even to come up with a price point.  Well, I guess since I have a friend that owns a plumbing supply house, I will probably be talking to him soon.

Vista Home Premium

I ended up purchasing the upgrade version of Vista Home Premium.  After thinking about it, I am installing it on my laptop.  After having to uninstall a bunch of stuff and deleting stuff from My Documents so that I would have 10Gb free space, I finally got the upgrade started.  Of course it warned me that a bunch of programs probably wouldn’t work when the upgrade was finished (including Visual Studio 2005 and Virtual PC 2004!).  And then it started chugging away, while warning me that it will reboot multiple times and would take hours!

I am installing this on my laptop because there aren’t any files on there that I don’t have backed up.  It will also take less time to blow away than my desktop computer would.

<edit> I am just editing this post for completeness sake.  I ran into a few problems with the install (really, with post-install) on my HP laptop.  HP does not support Vista on my laptop.  But then after trying to find Vista drivers for my HP printers, it doesn’t look like HP supports Vista at all!  On Vista, my touchpad was just listed as a mouse.  So I spent a couple hours trying to find a driver for it.  One thing that has always bugged me about touchpads is the tap-click feature is always enabled by default.  When I type, I tend to rest part of my hand on the touchpad.  Next thing I know, I accidentally tap the touchpad and I am typing somewhere else on the screen.  So getting the driver for the touchpad to disable tap-clicks was essential.  I ended up downloading the Alps touchpad driver from Dell.

The video chipset is an ATI Radeon Mobile 9000igp.  And of course ATI doesn’t have a Vista driver for that (too old?).  I found a driver from Toshiba through one of those driver download sites (sorry, can’t remember which one).  The driver is for XP.  But at least it lets me set the screen resolution higher.

My laptop still has a Win Experience score of 1.0, mainly due to the video card.  That is even with having the video card get a full 128mb of memory (the most that the bios will let me give it).  When I bought the laptop, it had 512mb of RAM for the whole system, and only 16mb reserved for video RAM.  The 512mb was divided into 2 sticks, only one of which is easily replaceable.  Previously I had removed the easily accessable 256mb stick and replaced it with a 1gb stick.  With 128mb reserved for video, that gives me 1.25gb of system ram.

Now if only the video card was replaceable! 

To Vista or not

Vista is being released sometime this week (I can’t really tell if it is today or tomorrow).  And I have been thinking about getting it.  From looking at the different versions, I think that I will be going with Ultimate so that I have all the home options plus can join it to my SBS domain.

But is it worth getting?  Pros: I will need it to test my software, it has more media capabilities than XP Pro, and I can get a new computer.  Cons: $, setting up a new computer.

Even if I get a new computer, I will not get rid of my current desktop computer.  I built this computer.  It has a P4 2.4ghz processor, 2Gb RAM, 4 or 5 hard drives (I can’t remember how many I am up to), one of the drives is in a “cradle” so that I can slide it out and slide another drive in (good for backups!).  It also has a beefy video card driving dual 17″ flat screen LCDs.  But it has been awhile since I have rebuilt XP on it, so it is getting slow.

So I will probably get a new computer.  I will install all my usual programs and games on it, then I will take an image of it, so that rebuilding it will be a lot easier.

Getting started (or kicking yourself to open the IDE)

As I sit here, it is now Monday night.  I don’t have much to show for my free time over the weekend.  No finished product, no finished website, nothing.

Well, I did get the domain name and hosting set up.  That took about 15 mins.  I played around with the IDE, but haven’t finished anything.  Now I looking at refactoring just about all my code to make it prettier and to have it use just one XML file to store everything.  I may just leave it using 2 files, just to save time.

But just managing to get started in the evening is tough.  Right now I am installing Win98SE in Virtual PC 2004.  Between web surfing, playing the PS2 with my son, and playing with my other son, I usually do not sit down at the computer until 8:30pm.  Because this is not my ideal coding time, I have trouble convincing myself to get busy instead of playing games, etc.  My ideal time to code is from 10pm – 2am, but that is not compatible with first shift job that pays the bills!

I remember reading something on Joel’s blog about there being a bug in the process between thinking about opening the IDE and actually opening it.  I definitely suffer from that bug!

So what I have done is download TimeSprite.  Hopefully the fact that I am monitoring my time will provide some incentive.