Tuesday, 18 December 2012

Startup technology demystified | PandoDaily

The story of a cat; (1878)When it comes to technology, it can be confusing out there for the business-minded (read: non-technical) co-founder.

Do those snowboard-loving, flip-flop wearing, EDM-listening, tattoo-having jackanapes-for-developers ridicule you with their fancy words and assault you with offensive acronyms??Do you think that JSON was that guy with the hockey mask and chainsaw in ?Friday the 13th???Thought Ruby was a reference to Grandma?s dear friend at the nursing home?

Take heart, my friend, there is still hope. I am the co-founder and CTO of a startup called Speek, and I am here to help.?Here is a quick guide to some of the popular technologies that today?s startups use to change the world.

1. Node.js

What is it?

Node.js is a platform built on Chrome?s JavaScript runtime designed to easily build fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

Translation: Node.js makes it much easier, faster and efficient for your development team to do cool shit in your app in real-time that will melt your users? faces.

Why should you care?

Historically, it was fairly time-intensive and very resource-intensive to crunch data or logic or to otherwise do stuff in real time within your app. Developers had to either use a request/response pattern via web services, or use crazy AJAX-based black magic. Web services are asynchronous by nature, so this was problematic.?AJAX could make things appear to be happening more real-time, but took a toll on server and/or client resources that made it harder to scale efficiently.

Node.js allows developers to do things in real-time more easily, in way that scales pretty damn well.

What?s it good for?

  • Chat apps
  • Synchronous drawing or note-taking features
  • Collaboration or communication apps
  • Snazzy search and search results manipulation
  • Anything that requires stuff to happen in a synchronous or real-time manner

Who?s using it?

Pretty much everyone is using Node in some way, shape or form these days.?So many companies are using node in some way, shape, or form today that it would be easier to list those not using it. Some notable users are:

  • Best Buy
  • eBay
  • Wal-Mart
  • Google
  • Yahoo
  • Mozilla
  • LinkedIn

2. Ruby on Rails

What is it?

Ruby on Rails is an open-source web framework optimized for programmer happiness and sustainable productivity.?It lets you write beautiful code by favoring convention over configuration.?Ruby on Rails was invented by 37 Signals ? the same folks that make Basecamp, Highrise, Campfire and some other cool products.

Translation:?Ruby on Rails lets your developers build cool shit really, really quickly.?It will also help you recruit developers because they love Ruby on Rails.

Why should you care?

Ruby on Rails should shorten your development cycles to build products and features.?Added bonus: It will let you ?fail fast? with concepts and features, because it makes it very easy to throw prototypes and tests together.

What?s it good for?

Ruby on Rails should be your main programming language for your Web app.

Who?s using it?

  • Basecamp
  • Twitter
  • Github
  • Groupon
  • Yellow Pages
  • Living Social

3. NoSQL

What is it?

In short, NoSQL database management systems are useful when working with a huge quantity of data when a relational model isn?t required. The data can be structured, but NoSQL is most useful when what really matters is the ability to store and retrieve great quantities of data, not the relationships between elements.

Translation: NoSQL databases are great for storing mass amounts of data in a really dumb way.

Why should you care?

Web and mobile products are starting to be expected to do more in real-time or at least very quickly. User expectations are very high. NoSQL, combined with Node, will save you a ton of development time.

What?s it good for?

Your typical relational databases like MySQL, SQL Server and Oracle are great for storing highly-structured and relational data but?are not ideal great at storing up simple data very quickly so that the logic or interface layer of your app can manipulate it.?NoSQL saves the day.

Where can I find it??Some popular NoSQL databases are:

Who?s using it??Pretty much everyone is using NoSQL databases these days, but to name a few:

  • Facebook
  • Yahoo
  • Google
  • AOL

4. Github

What is it?

Github is a cloud-based implementation of the Git source code repository system. Git is a free and open source distributed version control system designed to handle a wide array of projects with speed and efficiency.

Translation: Github gives the source code behind your app a place to live. Since it?s hosted, no setup or maintenance is needed. It also comes with some additional bells and whistles that make automating builds and deployments faster and easier, and is very conducive to distributed development teams. Lastly, developers love Github.

Why should you care?

The days of having your entire development team sitting in the same room together are gone for most startups. Github makes it easier for distributed development teams to avoid source code messes. Further, since Github is a SaaS, you avoid spending precious time on keeping the source code management system up and running.

What?s it good for?

  • Distributed and non-distributed development teams
  • Any kind of source code management
  • Continuous deployment and integration environments
  • Any Web or mobile development efforts

Who?s using it?

  • Rackspace
  • Etsy
  • 37 Signals

5. AWS and/or EC2

What is it?

In 2006, Amazon Web Services (AWS) began offering IT infrastructure services to businesses in the form of web services? ? now commonly known as cloud computing. One of the key benefits of cloud computing is the opportunity to replace up-front capital infrastructure expenses with low variable costs that scale with your business.?EC2 stands for Elastic Cloud Compute and is one of several offerings that make up AWS.

Translation: AWS?allows you to host your Web apps in a highly scalable way yet only paying for the resources you actually use. It also allows your tech team to help themselves in real time when they need to add servers.

Why should you care?

AWS tends to be cheaper and faster than traditional hosting. It is also ?elastic? in nature. ?This means that you can set up your AWS ?servers? to spin up and spin down based on traffic and load so you can theoretically handle infinite load.?AWS also saves you from being blocked, waiting for some low-level network engineer at your hosting company to plug a cord in. AWS has a full-blown API and admin panel that allows your techies to help themselves and change things instantly.

What?s it good for?

AWS is great for variable load or traffic.?It?s also good for sites that get have seasonal spikes. AWS will not save you any real money in the very early days, in terms of hosting.?Nor will it likely AWS will likely not make financial sense when you hit super-high constant load.?However, AWS is great fromor when you first start growing to when you?ve officially made it.

Who?s using it?

AWS is another one being used by that is pretty much being used by everyone these days, including my company Speek, as well as:

Here are some of the more popular examples:

6.?JSON

What is it?

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write., and It is?easy for machines to parse and generate. It is based on a subset of the JavaScript pProgramming lLanguage. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

Translation: You?ve heard of SOAP and REST right? ?JSON is newer and better.?It also plays very nicely with the fancy new UI interactivity that is all the rage these days.

Why should you care?

All of that whiz-bang interactive stuff you want your web or mobile product do will be done faster, easier, better with JSON.

What?s it good for?

JSON is great for exchanging or retrieving data that needs to be manipulated, massaged, mashed up or otherwise tweaked.

Who?s using it?

EVERYONE.

7. Continuous Integration (CI) and Continuous Deployment (CD)

What is it?

In software engineering, continuous integration (CI) is the practice of merging all developer code with a shared mainline/trunk several times a day. Its main aim is to prevent integration problems.

CI intended to be used in combination with automated unit tests written through the practices of tTest- driven development. Initially, meant this was conceived of as running and verifying all unit tests and verifying they all passed before committing to the mainline. Later elaborations of the concept introduced build servers, which automatically run the unit tests periodically ? or even after every commit? and report the results to the developers.

Continuous Deployment is a process by which software is released several times throughout the day ? in minutes versus days, weeks, or months.

Translation: When more than one developer is writing code, it makes itis hell to merge everyone?s code together and ensure shit didn?t break.?Continuous Integration is an automated process that ensures integration hell doesn?t occur.?Continuous Deployment takes CI one-step further and even by automatinges deploymenting stuff to live servers in small chunks so that you avoid the risks of big bang releases that can also break shit.

Why should you care?

Continuous Integration and Continuous Deployment will allow your development team to get more stuff done, break less stuff and push to production very frequently. Also, since CI and CD typically require a suite of unit tests, they indirectly help you save time on regression testing.

What?s it good for?

Everything everywhere.

Who?s using it?

Everyone everywhere who builds software that doesn?t suck.

8. WebRTC

What is it?

WebRTC is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs. The WebRTC components have been optimized to best serve this purpose.

Translation: You know how bad it sucks to try and do real-time audio or video in a web browser using flash? ?WebRTC makes it so that you no longer need to use flash. You can now do things like VoIP and Video Chat natively inside the browser.

Why should you care?

WebRTC is HOT right now and is moving very quickly.?It is already supported in Opera browsers and in Chrome 23. Firefox will likely fully support it next, with Safari to follow.?It may or may not ever support it but who cares about them, anyway?.

There are major players backing WebRTC like Google.?Also, major players in the telephony space have already released WebRTC clients ? like Twilio.

WebRTC is going to be a total game changer.

What?s it good for?

WebRTC will be good for a real-time communications in a web or mobile browser.?It will be specifically good for real-time audio and video communication using nothing more than a browser (no downloads or installs required).

Who?s using it?

[Original image courtesy?CircaSassy]

danny speek full shot headshot

Danny Boice

Danny is the CTO of Speek,?a 500 Startups-funded company that lets users do conference calls with a simple link rather than using phone numbers and PINs. Danny founded his first company, Jaxara in the early 2000s (exited via acquisition), and co-founded Speek (@Speekapp) with John Bracken in 2012. You can find Danny on Twitter.

Source: http://pandodaily.com/2012/12/18/startup-technology-demystified/

lin j.r. smith espn jeremy lin sleigh bells meek sturgis sturgis

No comments:

Post a Comment