Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Saturday, 31 October 2020

The 2020s promise better tech solutions to humanity’s biggest problems

Editor’s note: Get this free weekly recap of TechCrunch news that any startup can use by email every Saturday morning (7 a.m. PT). Subscribe here.

Let’s think beyond Monday, for a minute, to the trends playing out in technology this coming decade. While humanity’s problems have never been greater, our tools have never been better. Here’s more, from Danny Crichton:

The 2010s were all about executing on the dreams of mobile, cloud, and basic data. Those ideas had historical antecedents going back in some cases decades or more (Vannevar Bush’s description of the internet dates to the 1940s, for instance). But for the first time, we had the infrastructure and the users to actually build these products and make them useful. It was quite possibly the most extensive greenfield opportunity in the history of technology.

Yet, that greenfield is increasingly fallow. Business has cycles and seasonality as much as media reporting does. The easy stuff has been done. Building an app to text people has been done by dozens before. There are a multitude of analytics packages, and payroll providers, and credit card issuers, and more. What’s required this decade is to start to encroach on the harder questions, topics like how we build a better society, make people more empowered to do deep and creative work, and how we can build a more resilient and sustainable planet for all.

None of these topics have pure point solutions — but that is what is going to make this coming decade so damn interesting. It’s going to take intense collaboration, multiple inventions and products, as well as legal and cultural changes, to realize these next improvements. If you have grown sick (as I have) of the latest apps and SaaS products du jour, this decade is going to be an amazing one to experience and build.

In a companion article for Extra Crunch, he explores five key areas of the future, that he calls: Wellness, Climate, Data Society, Creativity and Fundamentals. Here’s an excerpt from the Data Society part:

Data may be ubiquitous, but it’s amazing how much work it can still be to calculate an LTV, or the return on an advertising campaign. No-code tools solve some of these problems, but what we need is a whole revolution in our data tools. We need to be able to sketch out lines of inquiry and have our tools augment our thinking from data. What are we missing? What gaps in our thinking should we be filling in? What data am I lacking to make a fully-formed decision? Am I overly biased toward one statistic versus a more holistic depiction of my situation? From personal decisions to business strategy, we need better tools to abstract the complexity of today’s modern society.

We also need better thinking around how to network knowledge. Roam Research and some other tools are starting to get better at helping users think in terms of a knowledge graph, but there is an incredible amount of potential if these ideas can be democratized and packaged into easier-to-use interfaces. How do we handle the increasing depth of most fields of knowledge and allow more people to get to the frontiers as quickly as possible?

Finally, we need to further our understanding of complexity and chaos and build those theories into the fundamental structures of our society. How do we make governance more adaptable and resilience, so that when massive crises like COVID-19 happen, we don’t see a complete breakdown in our society? Can we create more flexible systems around ownership and property that can create more diverse housing, or material ownership, or intellectual property? Empowering technology (“blockchain!” but could be all kinds of things) coupled with legal changes could dramatically evolve these core elements of our society.

Even today, we are still locked into a mental model built around paper, titles, and maybe if you are lucky, an Excel spreadsheet. There is so much work to be done to empower each of us through data this decade.

Data education

The building blocks of the Data Society concept are getting remade faster than ever this year, as the pandemic has shuttered traditional commerce and education, and forced open alternative approaches. For example, somebody starting a small business today basically has to use a lot of software. But crossing this initial barrier means they can do things like automatically track the lifetime value of each customer. Previous generations of small businesses simply did not have the resources and skills to do such things with the low-tech options available.

That’s the generational power of no-code, as Danny detailed separately on TechCrunch:

In business today, it’s not enough to just open a spreadsheet and make some casual observations anymore. Today’s new workers know how to dive into systems, pipe different programs together using no-code platforms and answer problems with much more comprehensive — and real-time — answers.

It’s honestly striking to see the difference. Whereas just a few years ago, a store manager might (and strong emphasis on might) put their sales data into Excel and then let it linger there for the occasional perusal, this new generation is prepared to connect multiple online tools to build an online storefront (through no-code tools like Shopify or Squarespace), calculate basic LTV scores using a no-code data platform and prioritize their best customers with marketing outreach through basic email delivery services. And it’s all reproducible, as it is in technology and code and not produced by hand.

There are two important points here. First is to note the degree of fluency these new workers have for these technologies, and just how many members of this generation seem prepared to use them. They just don’t have the fear to try new programs, and they know they can always use search engines to find answers to problems they are having.

Second, the productivity difference between basic computer literacy and a bit more advanced expertise is profound. Even basic but accurate data analysis on a business can raise performance substantially compared to gut instinct and expired spreadsheets.

How do we realize this future? Zooming in from the generational perspective, Natasha Mascarenhas takes a closer look at how school teachers are adapting to the pandemic — and the emerging online education world they are entering. Some, at least, seem to be moving into supplemental part-time teaching. While the educational experience is not the same as in-person, it clearly has its own value. Here’s one company as an example:

Outschool is a platform that sells small-group classes led by teachers on a large expanse of topics, from Taylor Swift Spanish class to engineering lessons through Lego challenges. In the past year, teachers on Outschool  have made more than $40 million in aggregate, up from $4 million in total earnings the year prior.

CEO Amir Nathoo estimates that teachers are able to make between $40 to $60 per hour, up from an average of $30 per hour in earnings in traditional public schools. Outschool itself has surged over 2,000% in new bookings, and recently turned its first profit.

Outschool makes more money if teachers join the platform full-time: teachers pocket 70% of the price they set for classes, while Outschool gets the other 30% of income. But, Nathoo views the platform as more of a supplement to traditional education. Instead of scaling revenue by convincing teachers to come on full-time, the CEO is growing by adding more part-time teachers to the platform.

Maybe one day soon, a class about online business will be a graduation requirement for a high school diploma. And we’ll see that sort of education drive more success in the next generation of your local Main Street.

The problems of the coming decade might be harder than ever, but the solutions are there for the making.

Isometric Business data analytics process management or intelligence dashboard showing sales and operations data statistics charts and key performance indicators concept. (Isometric Business data analytics process management or intelligence dashboard

Image Credits: Intpro / Getty Images

How to execute a bottom-up SaaS growth plan

The combination of consumer tech product skills and enterprise revenue models fueled this decade’s explosion of SaaS success stories. This week, Caryn Marooney and David Cahn of Coatue management distilled the lessons of this model into a popular how-to article for Extra Crunch. Here’s an excerpt, showing how market leaders approach key metrics and pricing:

The MAP customer value framework:

Metrics: What are the key metrics the customers care about? Is there a threshold of value associated with this metric? Metrics can include things like minutes, messages, meetings, data and storage. Examples:

  • Zoom — Minutes: Free with a 40-minute time limit on group meetings.
  • Slack — Messages: Free until 10,000 total messages.
  • Airtable — Records: Free until 1,200 records.

Activity: How do your customers really use your product? Are they creators? Are they editors? Do different customers use your product differently? Examples:

  • Figma — Editors versus viewers: Free to view, starts changing after two edits.
  • Monday.com — Creators versus viewers: Free to view, creators are charged $30+/month.
  • Smartsheet — Creators versus viewers: Free to view, creators are charged $10+/month.

People: How do your customers fit into a broader organization? Are they mostly individuals? Groups? Part of an enterprise? Examples:

  • Superhuman — Individuals only: No free version, $30/month.

  • Asana — Small team versus bigger teams: Teams of <15 people can use the product free.

  • Atlassian — Free versus team versus enterprise: Pricing scales with size of team.

Root keeps the IPO market warm

The stock market was off this week, but not entirely. Root Insurance was the big IPO this week, ending at $24 per share. That’s a bit below its aggressive $27 opening price per share, but is still in the range of its target pricing from the other week. It is, in other words, a success already for the company  — and we’ll see what happens when the entire market stops gyrating around the elections.

“For the Midwest, Ohio-based Root’s IPO is a win,” Alex Wilhelm wrote for Extra Crunch. “The company shows that it is possible to build high-growth technology companies worth billions of dollars far from coastal hubs. For the broader insurtech space, Root’s IPO is a win. The company follows Lemonade to the public markets, setting a strong valuation mark again for the neo-insurance startup market. For similar companies like Clearcover, MetroMile and all startups that related to Root and Lemonade, it’s a good day.”

It’s still looking good for any software company with a growth story, as Alex goes on to say, and it’s looking good for more IPOs this year. Like Airbnb.

But enough about IPOs this year — Alex also built on previous coverage to explore Databricks going public next year, which sounds quite likely at this point.

Across the week

TechCrunch

Why you have to pay attention to the Indian startup scene

Yale may have just turned institutional investing on its head with a new diversity edict

Cloud infrastructure revenue grows 33% this quarter to almost $33B

We need new business models to burst old media filter bubbles

Former Facebook and Pinterest exec Tim Kendall traces ‘extractive business models’ to VCs

Extra Crunch

Good and bad board members (and what to do about them)

New GV partner Terri Burns has a simple investment thesis: Gen Z

As venture capital rebounds, what’s going on with venture debt?

In the ‘buy now, pay later’ wars, PayPal is primed for dominance

Dear Sophie: Any upgrade options for E-2 visa holders interested in changing jobs?

#EquityPod

From Alex:

Hello and welcome back to Equity, TechCrunch’s venture capital-focused podcast (now on Twitter!), where we unpack the numbers behind the headlines.

A few notes before we get into this. One, we have a bonus episode coming this Saturday focused on this week’s earnings reports. And, second, we did not record video this week. So, if you like watching the show on YouTube, this is not the week for that!

Right, here’s what NatashaDanny and your humble servant got into this week:

We capped off with the latest from r2c, and then got the hell off the mics. Catch you all Saturday, and then back to regular programming on Monday morning.

Equity drops every Monday at 7:00 a.m. PDT and Thursday afternoon as fast as we can get it out, so subscribe to us on Apple PodcastsOvercastSpotify and all the casts.



from TechCrunch https://ift.tt/2Gj9x4w
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support