Developer Notes

Notes on the underlying philosophy of Conntects, and the challenges of making it work.

Current Post

Hubris?

Carl Milsted, Jr on Oct 18 21:55:38

If you look at the copyright notice below, you will see one person: me. Conntects is currently a two-person operation with only one of them writing code—me. Considering that social networking is now a pretty mature industry, the idea of one person coding vs. the masses of asses working for Facebook is indeed the height of hubris.

It is. Guilty as charged.

But not as guilty as you might think.

Yes, I have a big ego when it comes to matters intellectual. After all I did win the coveted Big Brain Award back in junior high.

But still, Mark Zuckerberg is one smart space alien.1 And I'm not competing just against him, but the not-so-small corporation he has built. What makes me think I can compete against Facebook?

Over Optimization

For starters, Facebook is in Over Optimization mode. As a public corporation Facebook is supposed to "maximize profits" for its shareholders.

Whether that legal obligation means maximize next quarter's profits or long term profits is ambiguous. But as a user of Facebook, it appears that Facebook has moved into short term profits mode.

Once upon a time, Facebook was a great way to keep in touch with friends. And because Facebook was "firstest with the mostest" in this category, Facebook had network effects on its side. A marginally better social networking site had zero chance of competing since Facebook was where your friends were.

But now Facebook is over monetizing. Facebook is only showing you what your "close friends" are posting plus "high engagement" posts from your other friends. The rest of my feed is ads and "Suggested for You" posts. And a large fraction of the posts suggested for me are posts that make me angry! I am not a gay Marxist atheist, yet Facebook keeps suggesting such posts for my [dis]pleasure.

Is this because Facebook has gone full-on Satanic, or is it because Facebook's artificial [un]intelligence registers any engagement — including anger — as good. I suspect the latter, but the Science isn't Settled.

Either way, Facebook is ripe for competition on this score alone. Who wants to stick with a company which deploys evil robots to make you angry?

The Tech Has Changed

Still, despite the malicious robots, the fact remains that Facebook has useful features far beyond those when Facebook was first made. Mark Zuckerberg got his company off the ground with a crude product, thanks to limited competition. The Bar has been raised.

Because the Bar has been raised, I have been focused on Feature Completeness at the expense of Novice Friendliness. A product with the functionality of the original Facebook (or Wordpress) has no chance.

However, I have some serious advantages over the young Mark Zuckerberg. Facebook was originally coded in PHP, which is a delightful language for adding a bit of dynamism to an HTML page, but is a poor tool for writing Big Code.

I am writing Conntects in Go, a language developed by the crew who created UNIX based on lessons learned. Go is a very strongly typed language so it catches a huge number of bugs at compile time. Go enforces reasonable code standards and—contra Java or Lisp—Go is designed to keep indentation depth to a minimum. And the defer statement takes care of a huge number of bugs related to complicated logic.

Also, the Go standard library is focused on tasks related to to web design. I am drafting off the efforts Google put into their now abandoned Google+ service. (But that's about all I am drafting off of. I have pulled but two packages off of Github: an interface to MySQL and a library for sending email from Go. Conntects is mostly bespoke code, not glueware.)

Finally, the Web has matured. Once upon a time you had to deal with a wide variety of browsers. Today, all the serious browsers comply with the HTML standards. Moreover, those standards are far more complete! Once upon a time, simply doing a two-column web page was an arduous task, involving sneaky tricks to repurpose floats.

Today, the CSS standard is actually designed to support interesting web layouts. There is even support for scalable gradient colors, which I employ perhaps too much...

The Bar has been raised, but there is also a springboard...

But Yes, I Cheat

Conntects is to be a user paid site vs. an advertisement supported site. This reduces the amount of code I have to write immensely!

  • I don't have to write an interface for advertisers. Such an interface would be about as much code as the interface to serve customers!
  • I don't need code to serve the ads.
  • No evil robots to determine user interests for the benefit of advertisers
  • No harsh moderation to keep the site uncontroversial enough for the big brands. (I still intend to keep the site porn free. I am a married man and a Christian. I don't want to be running a porn site – even a soft porn site. Stick to Instagram for the latter service. I leave it as an exercise for the reader to find harder porn.)

Another cheat is that Conntects uses QTML for doing fancy formatting vs. having lots of buttons or automatic scraping of other sites. This imposes a smallish upfront cost to new users. However, do note that Facebook has incredibly limited formatting options! Facebook has no bold, italics, etc. All pictures are placed at the end of a post. And while Facebook does automatically detect links, it only provides link text for one link, and you don't control it.

Conntects' true competitor when it comes to formatting is Wordpress. And yes, for novices Worpress has less overhead—maybe. Personally, I find Wordpress' blocks to be very distracting. Back when I had Wordpress blogs, I would compose in a word processor and then paste into a blog post. Composing a post in Wordpress itself was far more distracting than writing QTML in a second screen in Conntects (which I am doing now! This post was directly typed into Conntects, albeit using the Second Window feature.)

Modern word processors are very distracting. George R.R. Martin still uses Wordstar, as do some other authors.

While the Conntects QTML editor does not have the features of Wordstar, QTML is rather like the Show Codes feature of Word Perfect 5.1. And I do recall many non-coders — lawyers even — who missed the Show Codes feature when they got moved to Microsoft Word.

Finally, Conntects serves pages. It is not a modern "one page application." Instead of loading a gigantic JavaScript framework and having each "page" do a bunch of simple API calls to the server, every page on Conntects has a unique web address and is fully served, using a minimum of JavaScript.

JavaScript is even more bug prone than PHP. Wherever reasonable, I move the logic to the server where I can use a compiled language to do the heavy things.

Moreover, where I do use JavaScript, it is fresh JavaScript! Every memory leak and other hard to find bug is cleared when you move to a new page. I can thus be sloppy and still less buggy than Facebook by serving fresh (but small) pages for every URL.

Is Cheating Enough?

Success is not guaranteed.

  • People are used to "free."
  • A social network which has few people on it is of limited use.
  • People are used to Novice Friendliness over Long Term User Friendliness.
  • I have run out of money.

The last factor is the big one. I am All In, but my all in is not enough. If investors don't show up screaming TAKE MY MONEY in the next couple of weeks, then this project goes on hold and I get a day job. And if I get said day job, development on Conntects will slow to a crawl. For a new job I need to go all in with the Focus, which will mean not only zero development for at least a month; it means pushing knowledge of Conntects out of working memory.

New features will come up at a much slower pace.

And it will stay that way for a while. Once I get a new job, I am going to stick with it long enough to justify my pay (That Christian thing again...). Given that my kind of work involves multiple months of spin-up, this means a minimum of six months (but likely more) before going back all-in on Conntects should investors arrive late. And if I get a really good job, I'll just build up my own pile of capital...

_____________

1See Galaxy Quest.

3 COMMENTS
#1

Chris Price on Oct 19, 2023 1:11 AM


Understood. Is this something you should share platform-wide?


Replies:
#2

Stephen J. Douglass on Oct 20, 2023 6:00 PM

in response to comment_85_1


I thought the same thing. HA! Talkikng to Carl at this very moment and he's asking me the same. :-)

Steve


Replies:
#3

Chris Price on Oct 20, 2023 9:24 PM

in response to comment_85_2


Good! Because there's a larger, meta message that people should see. And Galaxy Quest was a righteous good romp.


Replies:

You need to be logged in to comment


Drag the picture you want to upload into the large box below. You can use the controls to edit the picture to be uploaded. This will not affect the picture on your hard disk.

Or, if you are on a tablet or phone, or don't like Drag and Drop, you can select a picture using this

Get a modern browser to make picture uploads

Rotation:
Up Right Down Left

Brightness:
1.0

Color Balance:
Red: 1.0
Green: 1.0
Blue: 1.0
Gray: 1.0

Contrast:
0.0

Cropping:
Slide the boxes with triangles along the edges of the picture to crop.

(Picture below can be dragged if need be.)