Archive for the ‘Programming’ Category

iPod touch, iPhone 3G, App Store

Saturday, July 19th, 2008

Everyone who has a blog has written about the new iPhone 3G and the App Store so I decided to add my two cents.

I wanted to get an iPhone 3G so I can have access to my email wherever I was. But, AT&T decided to increase the monthly cost and I decided that it was not worth it to me. I barely use my current cell phone so I doubt I’d use the iPhone for talking. I’d mostly use it for internet, email, and I’d get a lot of use out of the GPS.

I decided to buy a 16 gig iPod touch so I can have my email, browser, and music all in one place. I had actually bought Jess and I iPod nanos and Nike+ sport kits for running but that wouldn’t hold all of my music anyway. They’re just for running. But I digress…

Besides the release of the iPhone 3G, another big event was the launch of the App Store. After Apple released the iPhone SDK, developers were hard at work building applications, most of them compliments to their existing desktop applications. The App Store, I think, is the perfect solution for developers who want to sell and distribute their applications. There is a huge market of iPhone and iPod touch owners and it’s growing exponentially. To run these applications, Apple released the iPhone 2.0 firmware which also updates the iPod touch. Other software enhancements were included but the biggest thing is running 3rd party applications.

From a developer standpoint, we just submit our apps and Apple does the rest. Apple will wrap the app with DRM when it is purchased so they can’t be pirated. Apple will keep 30% of each sale but I think that is fair considering that Apple is taking care of the distribution and payment system.

When the App Store launched, there were some hiccups but I’m sure Apple will smooth those problems out in the coming weeks. For now, my time is spent between web projects like CiteScribe and my Mac apps. Stay tuned for updates on those.

Web stores

Wednesday, June 25th, 2008

Over the past few weeks, I’ve been thinking of how I’ll be distributing my software and accepting money for them. There are several solutions out there but choosing one has been very difficult. So, I was able to narrow my search down to two options: Golden%Braeburn and Potion Store.

Golden%Braeburn:

I’ve been waiting almost a year Golden%Braeburn to be released and see what it would offer. G%B is the open source in-app store framework that was created by Wil Shipley for his application Delicious Library. The great thing about the G%B framework is that it will accept credit cards within your application, send them to a server, process them, and return a software license if cleared. Localization for your application for different countries/languages is also a benefit to using the framework. Unfortunately, this is going to be a little pricey.

G%B needs to have a dedicated back-end “server” running Mac OS X “Leopard” that is always connected to the internet to accept orders. I could dust off my old G4 Power Mac and use that at my house to save on hosting costs but my Comcast internet isn’t 100% reliable, especially in the winter. Power outages are also a problem. So the only solution is dedicated Mac hosting. I could the Power Mac in a data center but that costs hundreds of dollars. Then I saw Mac Mini Colo. You can buy a Mac Mini and send it to this company for them to host. You have to pay for the space and the bandwidth and could cost around $60 per month. Add that to the $600 it would take just to buy the machine.

G%B requires PayPal’s PayFlow Pro which will do the credit card processing. This costs $60 per month with a $249 setup fee. On top of that, PayPal takes 10 cents per purchase. Then G%B takes 5% for itself for providing this framework (which I think they should). So in the end, no matter how you look at it, it will cost a LOT of money per month to implement this solution. For me, I can’t afford to do this because, for example, I’d have to sell at least 20 copies of my software just to break even for the month.

Potion Store:

The Potion Store is an open source application that was written in Ruby on Rails by Andy Kim of the Potion Factory. There are no fees to use the store. All I have to do is implement a script to generate licenses and put in my PayPal Website Payments Pro merchant account information and start selling my software. The store can accept credit cards, PayPal, and can also be used with Google Checkout. This will appeal to lot a lot users by saving time with their saved information. The Potion Store comes complete with an admin interface so you can look at sales, history, receipts, and even create coupons for discounts. Also included is a way for customers to find their licenses if they lose them.

I’ve read in the discussion group on Google Code for this project and there are a lot of users on their that have little experience with Ruby on Rails and have had almost no trouble getting the store up and running. The Potion Store is actively being developed and have very few open bugs.

The Potion Store uses PostgreSQL as the database back-end. This will hold all of the customer data used at checkout and keep track of the software licenses produced by the script. The database, however, will not record financial information. This is a HUGE liability if the database is hacked and someone steals credit card numbers. Because PayPal is going to process credit cards, they will hold the credit card information and I won’t see it. All PayPal or Google Checkout tells my store is if the credit card purchase was accepted or denied.

Since I do consulting, I need a way to send invoices to my customers and have them payment directly through my web store. Currently, my customers send money to my PayPal account. I want to be able to send them an email with the invoice attached as well as a link to a payment section of my site where they can log in with an existing account and be presented with their current bill. They can then fill proceed to pay using a credit card, PayPal account, or Gmail Checkout.

So, I’m taking the less expensive route and will implement Potion Store as my means of accepting money for my software and consulting services. Why reinvent the wheel when there is perfectly good solution already out there?

CiteScribe.com

Monday, May 19th, 2008

I have no idea how I came up with the idea for CiteScribe. I think it was when I was in the MBA program and had to make a bibliography for a book I used for research in one of my classes. I think it’s safe to say that making bibliographies can be a real pain in the neck. There are so many ways to format a bibliography and I thought there could be a much easier way of making them. I started writing some ideas down and I basically came up with a website where people can enter an ISBN number, title of a book, or author and be presented with a formatted citation for that item. Where does this information come from? For now, Amazon.

Amazon has had an open system for several years now where developers could make their own web store and obtain item information in XML and show that information on their own site. People can purchase items from them and the website makes a commission through Amazon’s Affiliate program.

I’m not really interested in starting a store though. I am however interested in the Affiliate program to monetize the site in some way and perhaps adding Google AdWords later. After choosing the format of their bibliography (MLA or ABA) and they submit their request, the request then gets the required information from Amazon to make a bibliography (i.e. Author, Title, Publisher, etc.). The information for that book is then returned to CiteScribe and formated in the selected format and displayed to the user according. I plan on displaying any cover art that is available and making it an Affiliate link to Amazon. If the user follows through and buys it, I get a 4% commission.

For a while, I thought how I would accomplish getting the XML requests from Amazon and displaying the data to the user. I though I’d make all of this from scratch but it turns out there are several developers who have already done most of the work for me. I can do it using boto written in Python, Amazon Products Feed - Associates Script written in Perl, or Project TinA written in PHP which is derived from the Perl scripts. I’m mostly leaning towards Perl because it’s the most complete solution for what I want to do. I can wrap the Perl scripts into my own site design and create the code that would return a bibliography in MLA or APA format. This is just to get started.

Later on, I’d like to incorporate user accounts where users can store their references that they’ve created and then enable them to share this information with other users. It would also be handy for users to look up others based on the types of research they are doing and collaborate that way and share information. I would also like to enable users to reference all other kinds of media that is used today. Making references for digital media, music, PubMed, journals, newspapers, magazines, etc. This site, however, is not my baby. More of a pet project for fun. I have something else in the works that should be very lucrative if I can pull it off. More on that later…

I can haz Vonage API?

Monday, April 28th, 2008

For about a year, I’ve wanted to make an application that could connect to my Vonage account, play my voicemail, save them to my computer, and delete them from the account when done. I first wanted to make it a Dashboard Widget but would need to incorporate Keychain access for storing the account username and password securely. That would be easy but accessing the local disk for storing the files when downloaded would be very difficult, if not impossible. Scratch that. Then, I thought I’d build it as a Cocoa application. That would work nicely but there’s one tiny problem. There is no way for me to access Vonage’s internal services for authenticating and retrieving account information. In a nutshell, there is no Vonage API to do this.

I sent Vonage Customer Service an email asking them about an API that they may be using internally. I think I got a response later in the day with a completely stupid answer. They first gave me the definition of API (Application Programming Interface) and then tried to convince me to sign up for their affiliate program. WTF?!?! They also managed to include in the email that they didn’t offer an API. Okay, that’s fine. But did they have to include that other crap?

There is, however, a way to initiate calls using your account through web services but that just sounds like a stupid function to me. Phones today can store phone numbers and can be dialed by pressing two buttons. My approach to using the service is a lot more useful but Vonage doesn’t provide the information for anyone to actually build an application to access their services. This also seems to be a trend with most VoIP phone companies. I don’t think there is an API for Comcast Digital Voice and AT&T VoIP. So switching wouldn’t benefit me in any way. So, this screws me out of making an iPhone app as well for this service. I’ll put this on the back shelf and wait and see if API’s are released in the near future. Now, on to my other apps. The first one being “Eject!”.

Kinetic Code, LLC

Friday, March 28th, 2008

After months of thinking of a name for my independent Mac development and consulting business, I have finally come up with something I like. Say hello to Kinetic Code, LLC. I thought of this name the other night and it took me about an hour. I registered the domain with (mt) Media Temple which also hosts this blog. The process was quick, easy, and cheap. I own two domains now and will cost $30 a year for both. I got email up an running quickly also. Now, I need to get a website.

I want to do the website myself to save money but I am a terrible designer. I’ve been looking at products such as RapidWeaver and Sandvox. These applications are template-based website generators which have CSS and the graphics already built in. You can customize the pages as much as you want to suit your needs. I’ve been using the demos of both and I’m not too thrilled with the standard templates that come with them. However, there are a lot of 3rd party templates out there that I have looked at and really like. So, I may use one of these apps to make my site and when I start making some money, I can pay a professional to design a site for me later down the road.

Another thing that I would like done is to have a logo designed for my site. I am aware of several graphic artists out there, especially those who specialize in making logos and application icons for other indy Mac developers. I’ve read several reviews for designers and two have really stood out. The first is Bryan Bell who has designed the icons for MarsEdit (which I use to post to this blog) and BBEdit 8.7. The other designer that I really like is Jordan Langille from OneToad Design. He has made the icons for Black Ink and Changes.

I will also need to set up a web store to sell my applications and a way for clients to pay me when I consult for them. I have been looking at Potion Store written by Andy Kim that will enable customers to purchase my apps and distribute serial numbers to them. I will be using PayPal Payments Pro to process credit cards. For now, I will be using Billable made by Clickable Bliss to make invoices for clients. I will implement the online store once my first application is ready for sale.

There are some other things I’d like to do. Setup up a business checking account, maybe a PO box at the post office. It may take a month for my business to be registered with the State of New Hampshire but there’s a lot of stuff I can do in the meantime. After it’s registered, I’ll need to get a tax ID and then buy QuickBooks or some other program to keep track of my expenses for tax purposes. So far, it’s been an amazing ride and I’ve barely gotten started. Stay tuned…

——————–
UPDATE
I ended up purchasing RapidWeaver. Got it for $34 with a discount code.

The iPhone SDK

Friday, March 7th, 2008

Yesterday, Apple released the iPhone SDK that will allow developers to finally write native applications to run on the iPhone. The SDK has received just as much hype as the iPhone introduction itself. Many people thought they’d be underwhelmed but Apple has delivered. The biggest feature that people requested was for the iPhone to be able to interact with Microsoft Exchange. For the enterprise, this is huge. For regular users like myself, it’s not a big deal.

I’m excited about the SDK because it gives developers another outlet to sell software. I might be getting ahead of myself though. I don’t even have applications shipping on Mac OS X, let alone am ready to write applications for the iPhone. Heck, I don’t even own an iPhone (yet). Most independent Mac developers that sell their applications have home-grown web stores. I am waiting for Golden-Braeburn to release their framework for a complete store and serialization API that will be entirely incorporated into my applications. This will save a lot of time on my part.

iPhone applications will be hosted and sold through Apple’s App Store. This new software will be included in the 2.0 release in late June (we hope). Developers get to keep 70% of the sales and Apple keeps the rest to pay for bandwidth, payment processing, etc. To me, this is a fantastic deal for the developer. Apple has, I think, a rock-solid distribution model that has been proven with the iTunes Music Store and then did it again with the Wi-Fi Music Store which lets the user download music directly to your computer or iPhone and iPod touch. The App Store will act the same way. You can purchase an application in your computer and install it through iTunes onto your iPhone or iPod touch or do all of this directly from the devices.

This type of distribution is beneficial to developers because everyone with an iPhone is a potential customer for your app. With a central hub for your applications, everyone with an iPhone or iPod touch can browse by category this gives the developer lots of exposure. With potentially millions of users looking at your iPhone app, if they like what they see, they will most likely go to your website and look at your other applications that you’re selling on the Mac. I think a lot of developers will see increases in sales on their desktop applications from customers who are buying their iPhone applications.

Working for “The Man” vs. working for myself

Friday, January 11th, 2008

I started thinking about working for myself for the past two years now. Why does this appeal to me? For starters, I’m very frustrated with where I am in my career. I don’t share the same vision and enthusiasm of my current employer. Right now, I’m just “paying the bills”. I’ve always wanted to be my own boss and work for myself. The thought of calling the shots excites me to no end. My dad was self-employed and has recently retired after running his successful business for 27 years. He didn’t have to answer to no one but himself! How cool is that?!?!

So, what am I going to do about it?. I want to start a software business where I will most likely be the only employee. I don’t want to be just any software developer, I want to be an indie Mac developer! I want to write programs for the Macintosh. I also want to write apps and services for the web. I have so many ideas in my head and on paper, I think that I can really make something that can sustain Jessica and I.

How am I going to do this? Where will I find the time? I have no time! Working full time and being in school leaves little for anything else. Getting an MBA is my “back up plan”. If all else fails, I can still find a management position where I can at least call some of the shots but still have to report to someone. So, I’m thinking of extending my studies to give me more time to work on my ventures. I was planning on taking two classes per term but I feel like I’m stretched too thin. So, I’m going to finish this term and next term and then take one class per term after that. It’ll take me about a year longer to get my MBA but it’ll still be worth it in the long run.

What do I want to start first? I would like to start my indie Mac software business first until it generates enough income to allow me to leave my current job. I have several ideas that I think can generate some income quickly. More on that later. As for my web business(es), I have a few ideas kicking around that are mostly based on ad revenue models. Subscription based models are a little tougher to sustain but I might investigate that later. What I plan on doing first is making a compliment to an existing service from another company and hopefully having them incorporate it into their site. I will put advertising on my pages and share any ad revenue. This will also be applied to other sites at later dates.

So there you have it. Sorry I didn’t go into too much detail but I want to develop the apps a little more before I let the cat out of the bag. I’ll definitely do some previews when it comes close to launching to hopefully drive interest and traffic. When that’ll be, I hope it’s soon. Stay tuned…

Why my job sucks

Wednesday, November 21st, 2007

I have a CS degree. I should be a programmer but I’m not. My job title is “User Support Specialist II”. They have different levels which only differentiates your salary. I don’t even know if there’s a level III but I don’t want to stick around to find out.

Just last week, I was passed over on a possible promotion. I could have been working on a database/programming project that would be a lot more exciting than what I’m doing now. Instead, someone else was hired fresh out of college to take over that project. I’m not too happy with that.

My dissatisfaction for this job was the final nail in the proverbial coffin. This job has pushed me over the edge. In a way, I am grateful to have this job because it made me realize that being almost 26 years old, I haven’t accomplished anything professionally. This job jump-started my decision to go back to school for my MBA. I knew I’d go back to school, but if I didn’t hate my job so much and want a change, I don’t think I would’ve gone back so soon.

I don’t think I’ll be working here much longer. I don’t think I could tolerate it here for the next year and a half while going to school. I need something less stressful and something that is a little more challenging. On the side, I have been programming. I have begun on a few Mac apps as well as some Dashboard Widgets that I will be blogging about later. Some of the apps will be free, the others will be paid apps. I’ll start a separate site and incorporate. I’m hoping to get this accomplished by next summer if not sooner. Stay tuned…

What’s “Roddypod”?

Thursday, November 8th, 2007

“Roddypod” is what my mother called me when I was a kid. She will occasionally let it slip now and then to this day. I didn’t mind her calling me that until she started doing it in public. I don’t even know how she came up with that name. My parents are weird in that way I guess. My sister Andrea also had a nickname. She was called “Andy-Panda” growing up. Don’t know where that came from either. For my oldest sister Amity, I don’t even think she had a nickname.

I feel like I’m getting a late start to this considering my age, almost 26. Why am I even bothering doing this? Well, I want to start a software/internet company and I feel that a blog can help promote my business as well as network with other people/businesses. I am also about to start graduate school at Plymouth State University for an MBA and I will talk about my studies and experience on this blog.

I have always had an interest in software development and running a company. I have been interested in making easy to use applications for the Mac as well as useful tools and services on the web. I already have a CS degree and programming experience, now I need the business knowledge to complete the puzzle and get my ventures started. You can read all about it here.