Employing AI

I plan on writing two blog posts in the coming days.

  1. Hiring My First AI Resource/Employee
  2. Managing a team of AI Resources/Employees

These are not about employing people, but employing AI agents for different business responsibilities. This is an area that I think will grow more relevant as our digital assistants get smarter and more manageable.

First, we employee individual assistants, like Cortana on Windows. I use this assistant to add appointments to my calendar or check the whether. I also use Buffer to schedule tweets for my business. Buffer will let me manually schedule a time or “pick the best time” to send my tweet, based on its own intelligence.

I use MailChimp to send email newsletters for my business. It has similar smarts to Buffer and can tell me the quality of the individuals I am emailing, compared to their interactions with other newsletters also sent through the service.

Now that I’m relying on these AI agents, it’s time for me to raise this abstraction layer up a level and apply intention to managing them individually and as a team. Ultimately, I don’t want my AI agents to be silos of activity, but I want Cortana to interact with Buffer and MailChimp and coordinate Twitter and MailChimp activity. I want these services to monitor my Google Analytics to know when one of the tweets or email newsletters is increasing traffic to my site beyond the original newsletter links being clicked. How can I generate a positive feedback loop?

New 3D Print Clothes Website

3D Print Clothes

3D Print Shoes

I have recently launched a new website for 3D printing clothes. 3DPrintClothes.com has two purposes for consumers and designers.

3D Print Clothes for Consumers – This is a place where anyone with a 3D printer, or someone with access to the many local services (makexyz) that can 3D print items for you, to make their own unique clothes. We use the term clothes loosely, so it might be necklaces, shoes, belt buckles or anything else.

3D Print Clothes for Designers – Talented individuals or organizations that make 3D models for download can distribute their own clothing line through this website. If you give your designs away for free (Creative Commons) or just ask for donations then you can start a shop risk free right now for free. If you want to have a more advanced shop that charges per 3D print or a fixed fee per download then the website also lets you do that for a low monthly charge.

Software and the Advantage of $0 Incremental Cost

Software has the advantage of being able to be written once and distributed millions of times with near $0 incremental costs. For example, if it costs $20,000 to write the software for one customer, then it will cost $20,000 for that software to be produced and distributed to 1 customer or 1000 customers.

A lot of software business owners are aware of this advantage, but I also think a lot of owners think they get this benefit for default just because they are software creators. Just because you produce software does not mean you get $0 incremental cost by default. It takes design, not introducing technical debt and taking analysis of customer wants and needs to the next step, synthesizing solutions to patterns of user goals instead of responding to individual requests.

If it takes 100 man hours to write a piece of software and will require 20 hours for you to re-write it for another customer then you do not have a $0 incremental cost software product. You will have branches of custom software, each with their own customer.

So, it’s important to also do the team activities that find and communicate patterns of user goals to the whole team and design the customization and extensibility points. Customization points are best content, like replacing a string with another string. For example, if customers want their own logo in the app, then this would be a customization point.

Integration points are best when you want hooks that will be invoked with custom processing. For example, if the user goal pattern is people want a notification to be sent when a field in your software has a value entered, then how the notification is sent might be designed as an integration point. This is because one customer might want an email notification and another customer might want a text message.

Why Do Enterprises Treat “Reporting” Differently Than Apps?

I have been programming sense I was 11 and I’ve been a full-time professional software developer for enterprises sense 2008. From Fortune 500 companies to a number of small software companies, they seem to all treat “reporting” separately from the other software they create.

What I mean by this is the team might have software developers to create a web app or mobile app, but then there will always be a separate “reporting guy” who is responsible for “writing reports”. Shouldn’t “writing reports” really just roll up in to “creating software”.

By the business separating reporting out on its own, it usually ends up giving the “reporting guy” direct access to the DB, their own “report viewer” to render the reports, special tooling and more.

The problem in separating it out is now it’s less likely to abide by the same security practices, the same service-oriented practices or the same reactive web UI as the rest of the app. This also tightly couples “reporting” to what can be done with SQL or against the DB.

I think businesses should reconsider creating a report writer position and just get a software developer and work on making reporting or data analytics as synonymous with the app being provided as possible, instead of something different.