All posts tagged ‘Programming’

File Under: Glossary

Routine

Routines are instructions written in programming code interpreted to perform a particular task in the course of the program’s operation.

Several routines make up modules. A routine can also be referred to as a procedure, function or subroutine.

File Under: Glossary

Hexadecimal

The hexadecimal (base 16) number system used for Web-page design consists of 16 unique symbols:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F.

For example, the decimal number 15 is equal to the hexadecimal number F. In HTML, an RGB color can be designated by
RRGGBB
with the first two numerals representing the amount of red, the second two the amount of green, and the last two the amount of blue. If you wanted your background to be red, you could write the code for a body background color as
<body bgcolor="#FF0000">
Black is the absence of all color and white is the presence of all color, so in hexadecimal, black is at the bottom of the system (no red, green, or blue:
#000000
and white is at the top (the maximum amount of red, green, and blue:
#FFFFFF
File Under: Glossary

API

The application program interface (API) is a set of building blocks for programmers.

APIs are made up of routines, protocols, and tools. Most operating environments provide an API so that programmers can write applications consistent with that environment. For example, developing software using the Windows API ensures that your user interface will be consistent with other Windows applications, making it easier for users to learn your new programs.

Use on the Web

Web APIs provide simple ways to interact with websites. Using an API, you can extract public data from sites like del.icio.us, Flickr and Digg to create mashups, reuse data or just about anything else you can imagine.

APIs are also useful for extracting your own private data from a web service so that you can back it up elsewhere or display it on another site.

When talking about APIs you’ll here the following terms quite a bit.

Common Web API Related Terms

  • Web service/API — These terms are largely interchangeable and simple refer to the ways you can interact with the data on your favorite websites.
  • Method — A method is just one aspect of an API; you might also see methods refered to a functions. For instance, if you’re interacting with Flickr, you might want to get your public photos. To do so you would use the get_user_photos method.
  • Response — The information returned by the API method that you’ve called.
  • REST — Short for Representational State Transfer. REST treats data as a web document that lives at a specific URL. REST APIs use standard HTTP requests such as GET, PUT, HEAD, DELETE and POST to interact with data.
  • XML-RPC — This older API scheme formats method calls and responses as XML documents which are sent over HTTP.
  • SOAP — Simple Object Access Protocol. A W3C standard for passing messages across the network. SOAP is the successor to XML-RPC. It’s complexity has led many to disparage SOAP and with more APIs leaning toward REST, SOAP’s future is uncertain.
  • Ajax — Asynchronous JavaScript and XML. Technically it has nothing to do with APIs, however many sites using APIs send their queries out using Ajax which is partially responsible for the popularity of JSON.
  • JSON — JavaScript Object Notation. JSON’s main advantage is that it is easy to convert from JSON to nearly any other programming language. JSON uses key-value pairs and arrays, something common to PHP, Python, Perl, Ruby and most other languages. The portability of JSON has made it an increasingly popular choice for sites developing APIs.


Popular Web APIs

File Under: Glossary

Operator


An expression tells JavaScript what to do with the data it gets, and within each expression are operators and operands. Operands are the data or data types the expression gets, and operators are the shorthand characters that tell the expression what to do with the operand. JavaScript has arithmetic (+,-,*,/), assignment (=), bitwise (&, |), comparison (>, <,), logical (&, ||, !), special (., []), and string (+) operators. Operators are a feature of many programming and scripting languages. At first there were a relatively limited menu of operators to use in JavaScript, but version 1.2 allowed for the support of regular expressions and a group of operators large enough to compare to other scripting languages.

File Under: Programming, Software, Web Apps

Forget Perfection, Release Your App to the World

fail whaleMost developers are probably familiar with Linux founder Linus Torvalds’ motto: “release early, release often.” The reason is quite simple: Shipping something useful is better than withholding that usefulness until it’s reached perfection.

Of course, there are exceptions. If you’re developing flight control software or a heart monitor interface, we sincerely hope you do not ship imperfect software. But when it comes to web applications, getting your software to the public is often more important than making sure it’s absolutely perfect.

The reason shipping a flawed version is often better than shipping nothing is summed up nicely by blogger Jeff Atwood, who recently wrote a post entitled, Version 1 Sucks, But Ship It Anyway.

As Atwood writes, “instead of spending three months fixing up this version in a sterile, isolated lab, you could be spending that same three month period listening to feedback from real live, honest-to-god, dedicated users of your software.”

The result in that scenario is that you end up with not the software as you dreamed it, but as users really want it. There’s actually a third sentence in Linus’ motto: “Release early. Release often. And listen to your customers.” And it’s impossible to listen to your customers if you don’t have any.

While it’s become something of a joke in Google’s hands, this is where the “beta” moniker serves a real purpose — to let users know that you have something, but it isn’t perfect.

The tradeoff for users is (or should be anyway) that they have some influence on the product’s future. In this scenario, “release early, release often” means your app gets feedback when you need it most — before it’s fully baked. The end result might not be your application as you imagined it — the internet is littered with web apps that started out as one thing but became quite another in the hands of users — but you’ll have delivered something people find useful. It might be hard to let go of your vision, but sometimes your users are smarter than you are.

As Atwood puts it, “it’s saner to let go and realize that when your software crashes on the rocky shore of the real world, disappointment is inevitable… but fixable!”

See Also: