Categories
Platforms Tools

The battle: Tensorflow vs Pytorch

Which framework should you use? An answer from 3,000 developers. Who hasn’t heard about the Tensorflow vs Pytorch battle between Facebook’s PyTorch and Google’s Tensorflow?  A quick search will reveal the intensity of this clash of frameworks. Here is one great article by Kirill Dubovikov.

And here is your chance to defend the framework you believe in the most.

At its core, the duel is fuelled by the similarity of the two frameworks. Both frameworks:

  • Are an open source libraries for high performance numerical computation
  • Are supported by a large tech company (Facebook and Google)
  • Have a strong and active supporting community
  • Are Python based
  • Use graphs to represent the flow of data and operations
  • Are well documented.

Taking all of this into account we can say that almost anything created in one of the frameworks can be replicated in the other at a similar cost. Therefore, the question stands. Which framework should you use? What is the main difference between each community?

At /data we are constantly surveying the developer community to track the trends and predict the future of different technology sectors. For machine learning in particular this clash is critical. The prevailing framework, if there is one, will have a huge impact on the path that the machine learning community will take in the years to come.

With this in mind, we asked the developers who said that they are involved in data science (DS) or machine learning (ML) which of the two frameworks they are using, how they are using them and what else they do in their professional life.

Tensorflow is winning the game, but is PyTorch playing on the same console?

From the 3,000 developers involved in ML or DS we saw that 43% of them use PyTorch or Tensorflow.

This 43% is not equally distributed between the two frameworks. Tensorflow is 3.4 times bigger than PyTorch. A total of 86% of ML developers and data scientists, said they are currently using Tensorflow, while only 11%, were using PyTorch.

Moreover, PyTorch has more than 50% of its community also using Tensorflow. On the other hand, only 15% of the Tensorflow community also uses PyTorch. It would seem like Tensorflow is a must but PyTorch is a nice-to-have.

tensorflow pytorch

Who is using PyTorch and who is using Tensorflow? What is each framework being used for the most?

Here are the things that really stood-out from the rest:

tensorflow vs pytorch

 

It is conclusive. In comparison to PyTorch, Tensorflow is being used in Production and most probably deployed to the cloud, as implied by the significantly higher backend experience of Tensorflow users (4.8 years vs. 3.8 of PyTorch users). As compared to PyTorch, Its community is composed more of professional machine learning developers (28%), software architects (26%) and programmers within a company (58%). This is most likely due to Google’s focus on deployment through APIs such as Tensorflow serving which has become a key motivator for the adoption of Tensorflow for many developers who are trying to push data products into production environments.

On the other hand, PyTorch is being used more than Tensorflow for data analysis and ad-hoc models within a business context (10%). In the PyTorch community there are far more Python-first developers (i.e developers using Python as a primary language) who work on web applications (46%). Moreover, the versatility of this Pythonic framework allows researchers to test out ideas with almost zero friction and therefore it’s the go-to framework for the most advanced cutting edge solutions.

Do you use any of these frameworks?

Have your say in our bi-annual survey currently running and let us know how you are building those convolutions – and win some awesome prizes in the process.

                                                     take_the_survey_button_

Categories
Business Platforms

Virtual reality: Where did it all go wrong?

In this article, I’m going to talk about how I perceive the mainstream consumer audience to have rejected virtual reality, and suggest that its child, augmented reality, may be the Slope of Enlightenment that convinces us to buy in. While these are my views alone, towards the end of the piece, I’ve dug out some data from software developers around the world who are working with AR and VR. Even if you don’t care about my views, you may find what they have to say interesting. And, if you’d like to express your own thoughts, I’ve included a link to a survey that’s open right now, which will help key players in the industry to  draw their own conclusions.

Virtual reality: Tomorrow’s world, today

I worked in the smartphone industry before it came of age. Our mission was “a smartphone in every pocket” at a time when simple feature phones like the Motorola RAZR were the must-have communications device. Within a few years of our early projects, the competitor, Apple, launched the iPhone. The rest is history. The App Store opened its doors, the stars aligned, the technology dream was realised and smartphones went on to rule the world.

I grew up in a time of change. We had a BBC microcomputer before I was ten years old. As a teenager, I sashayed along to the sounds of the eighties on a tape Walkman, and later mobile CD players and minidiscs. Then Napster, now Spotify. Change. The cadence of technological evolution was a rapid heartbeat, sounded out by the Internet, mobile phones and a maturing software development industry, which I joined enthusiastically.

Maybe I just got used to an unrealistic pace of change? But whatever happened to virtual reality (VR)? Its heartbeat seems to have flatlined. Nothing much has changed in the years that have passed since the “year of VR” (pick your year, we’ve had a few of them), which turned out to be nothing much of the sort. When I look at my mobile phone of a few years ago, or my website developed in 2004, I think how clunky and quaint they look compared to the sleek form factor and execution possible today. But when I look at the VR headsets of yesteryear and today and compare what they deliver? Not so much.

Take a look at this slideshow of legacy VR hardware. Sure, we’ve come some way since the Sensorama, but the Sega VR of 1993 wasn’t significantly more dorky than today’s HTC Vive Cosmos, was it?

Does anybody really want to strap a heavy, nerdy headset on that makes you suffer motion sickness after a few minutes use, tethers you to a PC, dulls your senses to the real world outside the headset and causes you to trip over your furniture?

Sure, expensive and shiny, next generation VR devices, are coming. But much of the hardware available is unchanged from when it came to the stores two or more years ago, which means hard-core early adopter audiences aren’t shelling out again.  While availability of more cost-accessible hardware for casual users has increased, e.g. the Oculus Go, the handsets are still expensive enough to give mainstream consumers pause, and typically compromise on aspects of quality that mean the VR experience is somewhat flawed.

Convince people that you’ll change their lives

In the consumer world, expectations for VR were raised early and sadly led to disappointment as it became clear that the ambitions went far beyond what was possible given the technology available. Overpromised, VR lost the attention of mainstream audiences, as it simply could not deliver. In part, this was down to problems with the hardware, such as cumbersome headsets, inadequate processors, poor displays and weak audio. Then there’s the secondary reason: there is no “must-have” killer app that convinces sufficient people that you’ll change their lives.

The two issues go hand in hand (the ‘chicken and egg’ situation) since if technology is inadequate, the content creators see no justification for investing heavily in VR. In turn, this means insufficient buyers and revenue to justify the investment in improving the technology. (It’s worth pointing out that secondary uses for VR, such as in industry, education, healthcare, have a very different uptake/content model, and as such, I’m considering just the mainstream here).

And, as such, entertainment content is the key to unlocking adoption by persuading consumers that VR devices are a must-have item. Like 3D TV, VR has thus far failed to deliver a sufficiently convincing experience that sends people rushing to shops to buy the hardware, despite its costs and the limitations involved.

What’s more, VR content isn’t coming along as fast it used to. Hollywood used it for marketing, e.g. to promote films such as 2016’s Fantastic Beasts and Where to Find Them and TV shows including Game of Thrones. But this has dropped back as consumer uptake and gratification was found to be negligible.

Venture funding for consumer VR software companies may drop by more than half this year, to $265 million from $576 million a year ago, SuperData says. And this isn’t surprising. According to the SiliconANGLE. VR headset sales have dropped nearly 34% since Q2 2017. Even committed hardware manufacturers are showing signs of taking their foot off the gas. Samsung, which was one of the first to market with its Gear VR mobile headset, didn’t say anything about VR in its major announcements at CES this year.

Is AR the way out of the trough of despair?

Experts predict that new kids on the block, Augmented Reality (AR) on smartphones and Mixed Reality (MR) headsets, such as Microsoft’s HoloLens. will pick up the audience that VR failed to serve. In terms of the Gartner Hype Cycle, AR and MR — the children of VR — look to serve as the Slope of Enlightenment.

AR can be delivered by the hardware already in your pocket. It doesn’t need the level of resolution or processor power demanded by VR. AR is also far less cumbersome than VR and can be used on the go since it doesn’t require total immersion in the experience. The software brings in a virtual element without losing the real world.  

Certainly, analysts report adoption of augmented reality and mixed reality to be on the up, with earnings expected to come from mobile AR apps, particularly games. Google and Apple have strongly embraced this market with ARCore and ARKit, enabling developers to access AR services on more than 500 million devices in the wild today. Both Apple and Google envisage third-party apps and services that use AR as valuable additions to their app stores. Successful apps add billions to the top line (Apple was expected to make $3 billion revenue over 2 years from in-app purchases within the best known AR title to date, Pokémon Go) and high-profile AR apps also strengthen the ecosystems of both companies, boosting other revenue streams.

The smart money is now shifting to companies working on AR and MR. Apple have a rumoured research project to build a headset for delivery next year. Investment in companies working on MR is expected to jump by nearly 50 percent this year, according to SuperData, with sales of MR headsets expected to ramp up significantly and surpass earnings of VR headsets within the next two years.

The above is purely my opinion, based on observations of the tech industry over a number of years and a healthy degree of skepticism when it comes to inflated expectations. It’s uninformed by experience at the coalface of development however. So, what do software developers working with AR and VR, have to say?

Software developers working in VR and AR told us…

Here at SlashData we run regular surveys of software developers around the world to uncover valuable insights from those working in mobile, desktop, IoT, cloud, web, game, AR/VR, data science and machine learning.

In our Developer Economics 14th edition report, which is based on a large-scale online developer survey that ran over a period of eight weeks between November and December 2017, we reached over 21,700 respondents in 169 countries. We studied the data returned from developers working in AR/VR and found the following:

  • 25% of professional game developers say they are targeting AR and/or VR. This figure falls slightly to 19% across the entire corpus of developers surveyed.
  • Dedicated VR hardware, such as Oculus Rift, is attractive to games developers (61% report using it), but across all developers working on VR projects, we see a much lower uptake (33%), reflecting its early adopter status in fields other than games.
  • Across all developers working on VR projects, 32% are targeting smartphone hardware using Google’s Cardboard, and 19% are using Daydream View, built into Android Nougat and beyond, reflecting that developers, and consumers, are still experimenting with the technology on their existing hardware.
  • A similar picture emerges for AR, with Android and iOS taking the lead in most popular AR platforms across all developers targeting AR.
  • Of the dedicated AR hardware available, Microsoft HoloLens leads the pack, with Google Glass at Work and MagicLeap trailing behind when the survey ran in late 2017.

We are currently running another survey and we would value your input. If you’re a software developer working in the field of AR or VR, or considering doing so, please consider answering the questions. If you’re not a developer but are working in the AR/VR field, pass the link on to your developer friends and colleagues.

Every survey completed has a chance to win Oculus Rift +Touch Virtual Reality System to test your creations (or simply play around), Samsung S9 PLus$200 towards the software subscription of your choice, or other prizes from the prize pool worth $12,000!

Plus, if you refer other developers to take the survey, you may win up to $1,000 in cash. Just don’t forget to sign up before you take the survey, so that we know you want to be included in the prize draw!

What do you say, are you in?

Categories
Business

Evolving technology helps game developers make money

Game economics are changing with streaming

Before gaming consoles hit the market in the 80’s, gamers had to visit the arcade and wait for a machine to be available for their turn to play. This created a sense of community and players watched more games than they played, especially if their supply of coins was low. The emergence of streaming is bringing this experience back and watching games has become its own form of entertainment. But how has it affected game developers?

What will working on game development look like in 2019 and beyond? Where should you brush up your skills? Take the Developer Economics survey and get to shape the future of game development.

One of the reasons Fortnite has become so popular is because it is so watchable. Streaming is creating a new channel for developers to promote their games and generate revenues. Gamers can actually watch experts play a game before trying it themselves. The trend is also bringing new capital into the space. Streamers can make big money attracting subscribers to follow them on their channels and sponsors are paying to promote to these audiences. Ninja, the most successful streamer, is reported to make $500,000 a month from his streams. While this revenue does not go directly to developers it does bring a new source of capital into the ecosystem, introducing new opportunities.

This new revenue source is helping spread more money across the industry. In the first half of 2017 only 29% of game developers were making more than $100 a month. In the first half of 2018 that jumped to 48%. While many factors may be influencing revenue growth, streaming is providing a new way to engage with video games, passively, providing opportunities to innovate new business models.

game developers generate more revenue

One dominant trend in game developer business models is that developers are focusing on a fewer number of them, and the more popular ones such as advertising and in-app purchases are getting significantly less popular. Presumably this is due to developers focusing only on revenue sources that are producing for their apps. However, the use of a few less popular approaches is growing. This can be traced back to a growing communal and collaborative environment in the gaming space. Symbiotic relationships are emerging among streamers, developers and gamers that are beginning to change the economics of the industry.

The challenge of developing a game and attracting users has proven too expensive for small developers so they are focusing on leveraging ecosystems and platforms that enable them to help each other instead of relying on launching their own game. Our data shows a small but steady increase in the

number of developers making money through selling services, assets and plugins to other developers. The communal effect fueled by streaming is also leading to increases in subscription games such as World of Warcraft which keep players engaged in the community. Developers are also making money through subscriptions to their own live streams of their development process.

As the rock stars of streaming create a new entertainment experience, development and streaming platforms are innovating new ways to provide opportunities. Twitch has launched extensions which enable viewers to engage with the game stream through web overlay extensions developed by third parties. Developers can create stats views or side games and split profits with the streamers who are attracting the audience. Unity content store is providing a channel for developers to deliver plugins to other developers, another channel for delivering game software. As games are passively consumed, it also provides more opportunity to sell merchandise. We are seeing an uptick in developers generating revenues this way.

Cryptocurrencies are another trend that is helping spread the wealth across the industry by enabling developers, streamers and gamers to make micropayments to influence behaviours. Gamers can tip streamers when they are entertained and developers can pay streamers to promote their games, all through cryptocurrencies. Bits, the cryptocurrency within the Twitch platform which allows viewers to tip streamers, generated $12 million in the service’s first 10 months.

game developers business models

Game developers are moving to the web

As developers promote and distribute games outside of app stores through streams, they are also moving to the web. This fact and the constantly improving performance of JavaScript is reducing the percentage of developers focusing on mobile, desktop and tablets.

As gamers congregate in communities around streamers, developers can reach these prospects without having to go through an app store. Moreover, smaller developer teams don’t have to build for each platform and can have more control of their app and engagement with their audience via the web. New Twitch extensions are also web based, providing a new product category for web developers.

The improving performance enabled by JavaScript JIT compiling engines and frameworks such as React are enabling web developers to create superior game performance over what was possible in the past. With greater performance and distribution options, it is not surprising that the web is becoming more popular with game developers.

game developers moving to web

As the opportunity to make money becomes more democratised, the chance for real innovation grows. When more resources are spread around the industry, fledgling ideas have the economic viability early on and stand a better chance to get out of the starting gate.

We are currently running another survey and we would value your input. If you’re a software developer working in the field of game development, or considering doing so, please consider answering the questions.  Plus, if you refer other developers to take the survey, you may win up to $1,000 in cash.

Categories
Community

The largest developer community: a critical view

When developers evaluate new technologies, one of the elements they often look at is the size and strength of the developer community surrounding that technology. “Can I get help and support from peers when needed?” It’s one of the reasons why open source technologies tend to be so popular. Conversely, technology vendors regularly signal their virtue with community numbers: “Our product is used by millions of developers, choose us!”

However, there is reason to be critical of this line of thinking. The activity of a core group, or indeed the vendor itself, may matter more to get great support than the sheer number of users. Most technologies are not subject to network effects: they don’t become inherently more valuable when more developers adopt them. Even in open source projects, there is often only a small number of core contributors. Furthermore, vendors may bloat the numbers they report: deliberately, or simply because they don’t have good data available.

At /Data, we’ve been maintaining and publishing estimates on the global developer community for a few years now. Our biannual survey also gives us a solid idea of how those developers are spread across various communities. So let’s see where some of the largest developer communities can be found and how powerful those communities may really be.

What do you mean by: community?

The largest regions in terms of developer population are North America, with an estimated 4 million active software developers in mid 2018, and Europe (3.8M in the EU28). However, calling these communities is a bit of a stretch. Developers in these regions are fragmented across countries and cities, as well as technologies and languages. North America includes the relatively homogenous USA, but also various Latin American countries. Europe includes software powerhouses like the United Kingdom, but also smaller Eastern European countries. From the perspective of finding peers to support you (or talent to recruit), looking at small groups gathered in cities around specific technologies is more useful than considering the wider geography.

The largest developer program in our research, with over 10 million active users globally, is Google. Google is great at empowering and supporting their community through forums and the likes. This said, they also have excellent developer satisfaction scores when it comes to vendor-driven support of developers with documentation, tutorials and training, tooling, and so on. Google is the default choice for many developers; it’s not clear whether that is due to the strength of their community or due to the value they provide themselves. They of course offer a multitude of technologies, where experience in one product doesn’t necessarily translate into another. Perhaps it’s more correct to view them as a collection of communities.

What about different sectors of the software industry? More than 14 million developers are involved in creating web apps. Once again, we can wonder about the fragmentation in this community across technologies. A sector view may not be the right level of analysis.

Finally, we can look at a technology. There are over 10 million active Javascript developers, making it the most popular programming language in the world today. Here we may see a stronger sense of community, with forums, real-life groups, learning institutions and more being organised specifically around the language.

In short, when we say “community”, it’s not trivially clear what we mean by that. (Neither is “developer” for that matter, but that’s a story for another blog post). Community size is not necessarily an indicator of homogeneity, coherence or level of activity. That makes it less than straightforward to assess the value of a developer community.

largest developer community

How (not) to count developers

If you’re interested in estimates of developer communities, you will have no doubt seen very high numbers being floated. Developer tools routinely reports user numbers in the millions; communities who claim a broad reach, like Stack Overflow or Github, will report tens of millions of developers. At /Data, we are skeptical of such numbers, in particular if you intend to use them to make adoption decisions.

First, because it is not clear where each source draws the line in what they consider to be an (active) developer. Are IT professionals, DevOps, or sysadmins included? What about people who once made an account, but never actively used the product?

However, the bigger issue seems to be where such numbers are sourced. Most estimates floating around the internet are based on (unique) pageviews, downloads, IP addresses, and the likes. All of these are susceptible to a multiplier effect, not in the least due to multi-machine and multi-browser software testing, frequent cleaning of caches and cookies for testing, repeat downloads of developer tools, and development automation (e.g. build servers). Abandoned accounts may significantly skew the estimates as well. Sometimes, numbers we’ve come across seem to be based on nothing at all.

Measurements like that are only a vague indication of the number of actual active developers and therefore of the strength of the community. They tend to be not comparable across vendors. Not to mention that it is in the self-interest of the vendor to report the biggest number they can find. Indicators that indicate actual developer activity, like Monthly Active Users, are exceedingly rare.

Conclusion

Whether you’re a developer thinking about the direction of your career, or someone who is deciding on which technology to adopt, the question of how strong the supporting community is, is perfectly legitimate. To asses the true benefit of community, however, make sure to use the right scope and reliable, meaningful numbers.

On our part, we will continue to provide you with our best estimates of active software developers, using sources that are direct evidence of recent coding activity. To do that, we would value your input. We are currently running another survey in our Developer Economics series. If you’re a software developer, please consider answering the questions. If you’re not a developer but are working in the software industry, pass the link on to your developer friends and colleagues.

Every survey completed has a chance to win Oculus Rift +Touch Virtual Reality System to test your creations (or simply play around), Samsung S9 PLus, $200 towards the software subscription of your choice, or other prizes from the prize pool worth $12,000!

Plus, if you refer other developers to take the survey, you may win up to $1,000 in cash. Just don’t forget to sign up before you take the survey, so that we know you want to be included in the prize draw!

We’ll also donate $2,000 to Raspberry Pi Foundation, helping young ones learn how to code, so the more developers take the survey, the closer we are to helping the community grow!

What do you say, are you in?