a guide to impure the human-internet interface “Unlocking, transforming, storin

a guide to impure the human-internet interface “Unlocking, transforming, storing, distributing, and switching about are ways of revealing.” from The Question Concerning Technlogy Martin Heidegger Impure is an internet application that allows people to be part of the information revolution. With impure is possible to get information from very different sources; from user owned data to diverse feeds in internet, including social media data, real time or historical finan- cial information, images, news, search queries and many more. Impure is a tool to be in touch with data around internet, to deeply understand it. Within a modular logic interface you can quickly link information to operators, controls and visualization methods, bringing all the power of the comprehension of information and knowledge to the not programmers that want to work with information in a professional way. Among other possibilities, impure allows you to: - easily read data from diverse sources and repositories - load your own data (text files, excel, xml...) - visualize it in a wide range of ways (more than 100 visualization methods so far) - process it.. compare it... mix it.. filter it... (more than 300 controls and operations so far) - publish and share your projects impure is intuitive; you don´t have to type any code. Instead, you will link modules to cre- ate information flows, that begins with feeds or inputs and ends with processed data or visualizations. In the middle, interactive controls allow you to choose or modify parameters and to see the results immediately. impure makes sense of internet / impure is your brain inside internet / the internet tool / talk with internet / the knowledge tool Basic functionality Impure is about modules that can be connected. Each module have receptors and some have an emitter. Each receptor or emitter receives or sends an specific type of data, repre- sented by in icon. Data types are also called data structures. Among the most simple data structures that can be shared between modules are: String, Number, List and NumberList. These are also the most common. There are different types of modules: data structures, operators, controls and visualizators. You can search them on the library, and drag them to the impure space. You can search modules in the library by selecting tags. Modules that are more related with the selection (because they have all or some of the selected tags) will appear in first positions. data structures modules A module that contain information. They only have an emitter. Though there exists many data structures, only some basic data structures can be placed as modules on an impure space. In the library you will recognize them by a small arrow on their icons. operators Modules with one or more receptors that perform some operations and return the result on one emitter. controls (under the tag control) Modules that allow some kind of interaction or executes some complex task (such a download data). Among controls a very useful type of modules are the apis, that search information in different places on internet and create data structures. visualizators Modules that receive information and visualize it. They can also allow interaction and some visualizators have an emitter. An impure file have modules that bring information (loaders, apis, data structures with typed information), modules that process information (operators, controls), and modules that visualize information (visualizators). inheritance Some data structures inheritate from other. For instance NumberList inheritate from List. That means that NumberList its also a List, and each receptor that works with List will also accept NumberList (and StringList, DateList, Table, ...) The example of the image shows how a NumberList is reversed. The operator reverseList receive a List and off course it can reverse any kind of List, including a NumberList, a StringList or a Table. That´s why sender and receiver icons doesnʼt match. impure code Each impure file has a code that you can copy to clipboard by clicking the blue C button (top right). You can also open the code editor with the red C button. This is useful to easily share impure files. You can send the code by mail. To compile a code paste it into the code editor and click the compile arrow on the top. Some examples presented here come with code, so you can compile them easily. universal operators (aka polymorphism) Some operators receive and give Object as data structure. It actually means that the op- erator allow different types of data structures, and the data structure it receives determines the data structure it returns. The best example is the operator addition which is able to operate a lot of different data structures combination. Among them: Number ⊕ Number ▶ Number Number ⊕ NumberList ▶ NumberList (adds the first number to all values on the NumberList) String ⊕ String ▶ String (concatenation) String ⊕ StringList ▶ StringList (concatenates the first String to all the Strings on the StringList) Point ⊕ Polygon2D ▶ Polygon2D (vector sum of the Point to all the Points on the Polygon2D) etc... Another interesting universal operator is interpolation that will try to create an interpolated object with two objects and a number between 0 to 1. The data structure of the obtained object is off course the same that the two given objects. required and optional parameters Modules with receptors may have required and optional parameters. Only when required parameters are fulfilled the module will be able to work. Otherwise operators will return null value, and visulizators will not depict nothing. Optional parameters have grey icons. remarkable tags Some tags group interesting and useful modules and worth a look: ! api Modules under this tag allow communication with internet services such as google, twitter, wikipedia, xignite (finance and market info), delicious, etc... These modules are crutial be- cause they are the main interface between impure and internet. ! generator Operators with this tag creates complex structures from simple parameters. They are use- ful to quickly introduce data to the space without needing of load it. ! coder and decoder ! filter Operators that take an structure and creates a new one that contains less information without transformation. ! conversion Operators that transforms structures preserving information. ! advanced Operators that perform advanced tasks. ! universal Operators, controls and visualizator that deal with any (or many) data structures. ! vector Data structures under this tag are vectors. Under this tag you find operators and controls that deal with vectors. Vectors are a special type of data structure, often numerical, and which allow operations such as multiplication of a vector by a number, or addition between vectors. Some vectorial operators are very useful such as interpolation. If an structure is a vector (a Rectangle or NumberList, for instance) you can take two of them and calculate a data model in between. You can also use the ExponentialConvergence to create continual transformation over data. That´s´particular useful when applied to visualizators that read vectors. How to quickly bring data to impure There are three main ways to bring data to an impure space: # - using an api (under the tag api) Using an api is one of the fastest ways to obtain rich structured information from internet. For instance, you can download a delicious account, all the images -with their tags- from a flickr set, the historical market behavior of a company, the occurrences of some word on twitter accounts last month, etc... # - generating data (under the tag generator) Some operators under the tag “generator” build data structures, such a ran- dom network (you choose the number of nodes and relations), a NumberList with the same repeated number. Generators are useful to do quick tests. # - loading data from files (FileLoader module) Perhaps you have tables in excel files or csv format, or some text you want to analyze. Impure allows you to load the file using the FileLoader module and then you might decode it. If the text file you loaded is in csv format you have to link the FileLoader module to the decoder operator How to quickly visualize data If you already have placed data into an impure space, chances are that you can visualize it immediately. You have only to put in space the appropriate visualizator and link the data to it. Of course the visualizations you can choose depends on the type of data you bring to the impure space. Some visualizators require more than one data structure. Lets see some common information structures and some linkable visualizators. NumberList # ! Histogram two NumberLists # ! ColorScatter NumberTable # ! SimpleNumberTableVisualizator Network # ! Oracle Tree # ! ZoomableTreeMap How to process information Sometimes you want to go further than picking a data file and visualize it using a specific visualization method. Impure allows much more complex processes with more interesting results: - to transform data (by operations, normalizations, filtering, parsing, comparing or combin- ing different sources...) - to use interactive controls that allow parameters or data changes - to combine controls and visualizators uploads/Ingenierie_Lourd/ impure-guide.pdf

  • 17
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager