Tuesday, April 28, 2015

ideas: "SmartWare" (Force.com is the next Visual Basic)

Dan Appleman is well known in Windows development community,
and is now mostly focused on (Sales)Force.com platform.
In his Pluraslight course he made a case that "higher abstraction level" of force.com
is equivalent to productivity of early Visual Basic (before VB.NET).

Force.com and Apex Fundamentals for Developers – Pluralsight Training
Dan Appleman: Kibitzing and Commentary » Blog Archive » Force.com is the next Visual Basic
The Salesforce Platform: The Return of the Citizen Programmer

At the same time, Microsoft has reduced focus on VB.NET,
and only under community pressure keeps it present in latest tools, such as ASP.NET 5

Visual Basic: Back by Popular Demand @ InfoQ

At the same time complexities of platforms keep increasing, and need to patch them.

C# Futures: Nullability Tracking

This calls a question, are there "next abstraction levels" on the horizon?
  • HardWare: in the electronics, mostly fixed
  • FirmWare: platforms, usually controlled by third-party, could include OS and frameworks
  • SoftWare: "classic" hand-crafted code, mix of GUI, algorithms, domain knowledge etc.
  • "AppWare": could be a transition to focused, task-oriented solutions
  • "APIWare": (micro) service interfaces, for distributed systems (that is all systems today)
  • "SmartWare": using more expressive but specific languages, that could be transformed to various platforms based on mapping semantic concepts, i.e. for NUI Agents etc.  
In a way, web development tools and languages are quickly but haphazardly evolving to elements of "transformations" out of necessity to support older web browsers. This is very low level compared to possibilities of expressing domain knowledge by higher-level abstractions. 

In "SmartWare" there should not be a strong distinction from language constructions and building blocks (APIs), to allow natural expansion, in a style of Lisp, but preferably with "fluent" syntax, like human languages. This kind of (r)evolution usually happens when there is a need that can't be addressed well with current techniques.  "Brute force" unfortunately goes long way in maintaining status quo... In the meantime, SalesForce's quick progress is helped by slightly "higher abstraction level" platform. 


economy: Two-sided market

This concept is refereed by Stanford futurist  Paul Saffo
as a key concept for upcoming new-new economy.
DraganSr: ideas: Future "Creator Economy" by Paul Saffo (!)

idei.fr/doc/wp/2005/2sided_markets.pdf
Two-Sided Markets: A Progress Report

Two-sided market - Wikipedia, the free encyclopedia
"Two-sided markets, also called two-sided networks, are economic platforms having two distinct user groups that provide each other with network benefits. The organization that creates value primarily by enabling direct interactions between two (or more) distinct types of affiliated customers is called multi-sided platform (MSP)... 
Example markets include credit cards, composed of cardholders and merchants; HMOs (patients and doctors); operating systems (end-users and developers); yellow pages (advertisers and consumers); video game consoles (gamers and game developers); recruitment sites (job seekers and recruiters); search engines (advertisers and users); and communication networks, such as the Internet."

2sidedmarketdiagram.svg
"Traditional pricing logic seeks the biggest revenue rectangle (price × quantity) under each demand curve. In two-sided networks, such pricing logic can be misguided. If firms account for the fact that adoption on one side of the network drives adoption on the other side, they can do better. Demand curves are not fixed: with positive cross-side network effects, demand curves shift outward in response to growth in the user base on the network's other side. "

2sidedmarketdeveloper.png