Category: TheProject


imagesThis is the penultimate post to this blog about “The Project.” It’s been fun talking about a lot of the work going in, but being vague has been annoying and it’s time to start letting the work stand up on its own. Today, I am refining the web site, putting up a blog (very similar to this one), and getting ready to open the doors.

Granted, we have no product yet. We’re getting really close but we want to make sure it’s ready before we actually put anything out. (About a month for the first thing)

So, I’m going to keep this short, but keep an eye on this blog. Hopefully by the end of the day we’ll have something to show.

Unbelievable initial research

Unbelievable initial research

The past month has been fairly quiet online for “The Project”

There’s been a lot of work going on behind the scenes. I suppose the scenes would be the people following the blog. Last weekend was the first major on site research done. There’s been a lot of pre-planning and idea development. Last weekend went very well.

So to bring readers up to speed here’s what the last three weeks have been:

Software:

The backend system seems to have a fairly finished “Proof of concept” in place. The back end is the database and the JSON/REST APIs into the data for consumption. All data seems to be going in and coming out as expected. The entire system is also currently locked down behind Tomcat’s firewall system. The backend is also now protected via a VPN for my alpha testers.

Data Entry: There is now a client that works to more easily enter data than creating hard data and importing or worse composing SQL. Currently this client is native to the desktop systems that we are using but enhancing this to a web based system should be a fairly trivial next step.

User client: The client is now working in a very rough form. It is pulling about 70% of the data we want from the backend and displaying it quite nicely. There is more to be done there, but it is beginning to move more quickly again.

Business:

This was my primary focus of the past two weeks. Over this time we have secured the name, the web domain, a post office box and other electronic contact information. This week we have ironed out a lawyer and filed the DBA as well as the LLC. Currently the Business plan is under development and going along well. We received initial seed funding through about the middle of 2014Q2 so we’re getting close to the grand announce and pray for support. A kickstarter for phase 1 is under development and there’s a very promising logo design (for what little that is worth)

Research:

Last weekend a survey was opened in the name of the business. So far we’re up to about 40% of the respondents we’d like to see. But this is again not even a week in on a 3 week survey. So I think things are going well. The responses so far have been absolutely what we were hoping to see to validate the business idea. Some fantastic first contacts were made for potential partners/contracts for our opening foray.

 

So, what does this all mean?

Next week we’ll be lifting the veil on the initial part of the project. This will also include priming people for a Kickstarter. This of course is an early warning to tell readers to help us plug the fundraiser.

Please help out “The Project” as you hear more and subscribe to the blog, give us feedback, and tell others to subscribe as well.

Thanks for reading. The vague ends on Monday!

uploadingThe first image upload API is now finished. This API will now take images in any format and save it tied to a relevant record in a web neutral format to the archive. This work took more effort than I expected, but it’s making things move very well. I’ve also fixed several links so that development and production environments work exactly the same. The client is now pulling entirely from the new APIs and works when used over the VPN. For some useless statistics I now have over 100 active source files with about 110 lines of code on average per source. This seems very short but the reality is that there are several subclasses that are very tiny working off nicely complex but not obfuscated super classes. I am likely missing a tonne of material. There are also several test apps that are folded in there whose entire purpose is to test APIs. Once they are removed the numbers will be a little more realistic. However, the important thing in development is not the size of the work but the results.

On the downside I’ve been fighting a bad back for the past 3 days. I will likely be calling my doctor tomorrow to take a look and see what is going on there. On the upside, however, the only chair I find any comfort and support in is the one in my home office. So, as long as I discipline myself to work… the pain isn’t as bad. (Granted, a good bit of Aleve® helps quite a bit)

Tomorrow’s goals are to call the doctor. Implement the location uploader in the DataUploader utility, And make sure that I blog for the day.

 

OfficeDesk-smTime at the desk has been limited this week. The extreme cold has listed Pittsburgh as one of the 20 coldest cities hit by the arctic polar vortex. As a result, My 7 yr old has been out of school both Tuesday and Wednesday and my over/under guess is that he will also be out on Thursday. We are due for another sub-zero with windchill morning. My time in the office has been limited. I have however, had time to finish doing some cleaning to my work desk. I’ve been trying to do a full clean and organise over the past month due to the fact that this is now my 24/7 work place. (If only I were getting paid)

But onto the progress. Software design is often an experience of two steps forwards one step back. Sadly, the one step back also usually consists of several O’Reilly manuals, a bunch of gSearchs, and of course documentation and answers found on StackOverflow. Today was no exception. Finally back on my desktop app for entering data I realised that I wasn’t just doing SQL puts to the database. I was also uploading graphic resources. These however were going into a directory with references being added to the database. Sigh, back down to the API level.

So today, I had to learn in Java (and to some extent on the Client level) how to compose programmatically an upload post and then correctly save it to my server. Now, I (as always) realise that there are probably simple libraries to do this and experienced Java, JSP, and LAMP folks will scoff at the likely banal process this is. I however hadn’t done it before so I had to teach myself. Happily, info was available in the form of a few StackOverflow questions, a couple of nice online tutorials, and a few hours later; my Poster test app is sending the requisite info and it’s causing a file to be saved. This isn’t finished. I haven’t actually put in some of the path and file directives and I’m not sure that the file is storing up in clean shape. But considering the fact that I have only gotten about an hour at the desk today; and that before that hour I didn’t know how to do this at all; I’m kind of happy about the results so far.

Tomorrow, I hope to have more time at the desk (even though the child is home again) and I hope to finally be done on the API level… for a while. Also, I will be having a conference with one of my “volunteers for credit counting.” What this means is that they’ve agreed to volunteer time in exchange for tracking hours and converting it to value once we see more funding. I’m incredibly excited to have this person working on the team because they have great business depth, incredible sense of organization, and a great working relationship with me to call me on stupidity when needed without taking a response of NO personally.

Things trudge, but I think we’re on track to keep moving forwards.

As always, if people are interested on helping out.. I’ve got plenty of work to go around.

I don’t get nearly that much done on the weekend with The Project. Sadly my back went out today so I found myself enjoying the comfort of my home office chair.

I managed to finish up the last of my API calls that allow me to start crawling back up the stack. As a reminder, I started on the end client with hard coded data. Then I went down and created an SQL based relational database to hold the data. Then I realised I needed an app to enter data. Then I realised I needed an API for the Apps to use.

So, thus began my love-hate relationship with Java and Tomcat. Both of which I knew next to nothing about.

Fast forward about 3 weeks.

The first version of the APIs are done. However, in checking the logs for the Tomcat server, I discovered some sites had been snooping around. I had hits from Wichita  Kansas, Brooklyn NY, and several hits from places in China. Needless to say, this made me just a little cranky.

So today, I got up close and personal with two technologies. Tomcat Addr Valves (which is like a Tomcat Firewall) and VPN. After a bunch of minor testing, I can say with (unlearned and naive) assurance; the net-facing service is now accessible by VPN only.

I wish I had more of a choice here; but I don’t. Until I’m ready to open the floodgates, I need to have access for people helping me who aren’t on my internal network while still having the resource accessible remotely. This seems to be the best approach.

Where does this put me? On Monday the first thing I do is gut the old client’s APIs in favor of the new ones. Then I start fixing up the data entry program. Then I start entering about two month of newer data.

Then we can start pushing on that client full speed again. Whee!