The LED's - they are a-blinking!
Last weekend I took out my old soldering kit, along with a bunch of jumper wires, heat shrink tubing and loads of little resistors: I wanted to make the status-LED for the TANC field Unit work! As the status-LED is just about the only output available on the box which can convey information about the TANC, this thing must be quite versatile. So instead of a single color, I opted for a three-color "RGB" LED. As the visibility of the three colors for a given voltage varies greatly between them, I needed to find the right resistance for each one to work right on 5V and in reasonable balance with the others. By making combinations of resistors in various values on the breadboard, I found a nice mix.
Soldering the resistors to jumper wires and to the LED was straightforward, I added heat shrink tubes to ensure proper insulation and to make it look more professional
Next step was to find the right group of pins on the 40-pin connector on the motherboard for controlled switching of power to the LED's. I found a nice cluster for Ground, Red, Green and Blue, and managed to control these from a C program.
Later on I also found the required libraries to control the signals from a Python program. I intend to write a little REST API so that other processes within the TANC Unit can set their signals internally without competing for control of the GPIO ports. I might even post this API as an open source project.
With the status-LED wired up, connected to the motherboard and glued into the front panel, I was finally able to complete the assembly of the first unit I consider placing at a potential customer's site - I called it "Alfa1" and put a nice sticker on it, including the MAC address (as a QR code) and the hostname.
Later this week I had a product demo (the first live demo where I actually plugged the TANC Field Unit straight into the LAN) - and it worked like a charm: as soon as my LED's started their colorful dance, the unit's registration showed up on my dashboard and I could run some real-world tests online!
During the week I visited several companies which I consider potential buyers or dealers. Without actually having anything for sale at this moment, I was free to talk about features and options, and to find out if there are particular features they would want that I could still develop.
The presentations, demos and discussions went fairly well, but No deals were drawn up yet. I may have to look for other channels for this product - I'm up against tough competition from large-scale PIM systems for Physical Infrastructure Management, even though my system is complementary and of a different scale. I should aim for a separate, distinct niche: Network Performance Management or NPM.
I had lunch with a potential customer who manages a serious number of other companies' networks and infrastructure in the area of Utrecht. The subject was the potential for new business - if we are able to jump on the information security bandwagon. Along with my old colleague Ronald we discussed whether it would be feasible to put a security scanning module on board the TANC Field Unit, to run scans on a regular basis. While it wouldn't be all that simple, it is possible to develop a small form factor system based on a different motherboard. Question is: how to capitalize on the information security worries that seems to be driving this market? We're working on that...
New software modules
As Roman is discovering and cleaning up more and more of the bells, warts and whistles I coded into my TANC prototype scheduler, he suggested we adopt a decent queuing system, e.g. to cope with while/sleep loops inside the scheduler heartbeat and task poll mechanisms. At Roman's suggestion we settled on Python RQ and rq-scheduler, on top of the Redis in-memory storage system. I already installed Redis on a TANC motherboard, and it seems to be running very well.
Contact with AWS
The TiNC Works! system is for a large part dependent on various Cloud services provided by Amazon Web Services. Apparently, AWS has a program to support startups, especially in the hardware business. Last week I met the Benelux representative responsible for this program, and yesterday I submitted TiNC Works! for their consideration. It would mean Amazon orders a large number of units, for delivery later on when they'll sell the units on Amazon. In the mean time I can use the money to increase my production volumes, which drives down the unit cost. I really really hope we can come to an agreement!
New motherboards, new enclosures
Following the success of the first "professional" aluminum enclosure I worked with Daub CNC in Germany to develop an industrial-class enclosure. As I also switched to a new, smaller version of the motherboard we had to modify the design considerably - thanks to mr. Mario Galić and his colleagues this went very quickly and very well. This week, the first batch of enclosures arrived here, for further assembly at home.
The build quality is very high, including the blue finish on the inner edges of the cutouts in the front and rear panels, as well as the laser engraving of text and logo. Now I can produce enough units for alpha customers!
Goodbye Mendix, hello Django
Earlier this summer I visited Mendix World: a showcase symposium concerning this professional development platform. Hoping to be able to produce the customer-facing portal quickly and efficiently with this platform, I arranged a license and started studying and working. The main problem I ran into was that the integration with the Amazon Services I need for this project was severely lacking. Even with the help of very experienced (Java) programmers I couldn't get a clear conversation going. None of the consulting firms I engaged, nor Mendix themselves could really help me out, so after 3 months of work I decided to ditch Mendix.
Based on my experiences with Python in the development of the TANC Field Units (which communicate almost exclusively with the Amazon Services I am now investigating the Django web framework. In addition to its huge native functionality there are many many extensions to help me construct the customer portal. As with the TANC units, I know how to write reasonable Python code which interacts with AWS using the Boto3 library - so I have high hopes.
Over the last few months, the TiNC Works! virtual team has expanded and contracted - just like a real company: Ralf is working on the TANC Operating System, as is JeroenS; Matthijs has been gracious enough to follow the Mendix certification training to prepare for development on that platform - but was quite vocal in the decision to ditch it in favor of Django. Erik has tried to help me with Mendix as well - but to no avail. Leon has been my guide and coach for the past few months in the development of the "official" business plan for TiNC Works, to develop a financial plan and to create the pitch deck I need to convince investors to part with a bit of their money to get this project to market.
And finally Roman, who is more or less my first (remote) employee: through the services of SoftGroup, Roman is working on the quality and stability of the TANC Scheduler application. Later on, he can also work on the Django platform to create the customer portal.
In preparation for presentations to potential business partners in The Netherlands, I found that the official TiNC Works! website couldn't be in English only. While quite logical in view of the presentations at The Next Web in June, many businesspeople in The Netherlands prefer to read this stuff in Dutch.