+ All Categories

Download - Ig1 Mashups

Transcript
Page 1: Ig1   Mashups

Mashups for EveryoneAllan Spale

IgniteChi.org

Page 2: Ig1   Mashups

Is Programming That Hard?๏ Abstractions

๏ Flow control

๏ Lots of numbers and symbols

๏ Weird errors

๏ Etc.

IgniteChi.org

Page 3: Ig1   Mashups

It Depends…๏ Harder languages

- Java- C++- Lisp

๏ Easier Languages- Basic- Python

def debugPrint(x): if debug:print x

debug = 5hackysackers = 5turns = 1

def runit(hs=5,ts=5,dbg=1): global hackysackers,turns,debug hackysackers = hs turns = ts debug = dbg hackysacker.counter = 0 circle = [] one = hackysacker('1',circle)

for i in range(hackysackers): hackysacker(`i`,circle)

one.channel.send(one)

try: stackless.run() except TaskletExit: pass if __name__ == "__main__": runit()

IgniteChi.org

Page 4: Ig1   Mashups

Programming for Everyone: BASIC๏ 10 FOR X=1 TO 3

๏ 20 PRINT “IT’S FUN TO STAY AT THE…”

๏ 30 PRINT “Y”

๏ 40 PRINT “M”

๏ 50 PRINT “C”

๏ 60 PRINT “A”

๏ 70 NEXT X

๏ 80 INPUT “ARE YOU HAVING FUN? ”; I$

๏ 90 PRINT I$

IgniteChi.org

Page 5: Ig1   Mashups

Programming for Everyone: HyperCard๏ Early hypermedia authoring system

๏ Website design program minus the internet

IgniteChi.org

Page 6: Ig1   Mashups

HyperCard was Useful

IgniteChi.org

Page 7: Ig1   Mashups

Porgramming for Some: Visual Basic๏ Easy to make a user interface

๏ Somewhat cumbersome to write code

IgniteChi.org

Page 8: Ig1   Mashups

Programming for Motivated People: Python๏ Has a feel of “old” BASIC; easy to learn

๏ Modern functionality

๏ Open source, lots of 3rd party libraries

Want to learn more?

Come to the Chicago Python Users Group:

2nd Thursday each month

http://www.chipy.org/

IgniteChi.org

Page 9: Ig1   Mashups

Now What?๏ People figured desktop programming

- It is well-understood- People that want to do it can do it well- Mature tools

๏ How to program for the web?- People (social networks)- User interface design- Distributed data- Distributed media- Distributed functions

IgniteChi.org

Page 10: Ig1   Mashups

Mashups Defined๏ Wikipedia definition:

- “[C]ombines data or functionality from two or more sources into a single integrated application.”

๏ A web program

IgniteChi.org

Page 11: Ig1   Mashups

Why Is Web Programming Hard?๏ There is no one single

environment/technology that puts it all together

๏ Look at all the parts…- Social networks- Databases- Remote functionality- Web design- Traditional programming languages with web

functionality

IgniteChi.org

Page 12: Ig1   Mashups

Parts for a Successful Mashup Maker๏ Easy-to-use database

- Freestyle entity model

๏ Simple programming language- Process data- Connect resources and people together- Multi-modal communication

๏ HTML widget builder- Display data- Interface actions process data

IgniteChi.org

Page 13: Ig1   Mashups

Traditional Database Model

IgniteChi.org

Page 14: Ig1   Mashups

Freestyle / Free-form Model๏ Entity / “Barcode” / Unique ID

- Assign to a category- Container of stuff

- Assign to a property- Relation between two entities

๏ Semantic web- Microformats- Dublin Core

IgniteChi.org

Page 15: Ig1   Mashups

Programming Language๏ Very concise

๏ Mostly symbolic, but not cryptic- Use conventions from other languages

๏ Magic words- Certain variables trigger system functions

๏ Very parallel- Lots of stuff happening at once…safely

IgniteChi.org

Page 16: Ig1   Mashups

Programming Language๏ Entity creation + usage

- usa.illinois.cities << chicago- favorite.cities#1 = usa.illinois.cities.chicago

๏ Property assignment- usa.illinois.cities.chicago:name = ‘Chicago’

๏ Query + Send: List cities in the USA starting with the letter C send results to Twitter user allan031

- usa.{*}.cities.{[cC]*} >> @twitter.allan031.direct

IgniteChi.org

Page 17: Ig1   Mashups

Widget Builder๏ Similar style, but make it work in a web

browser

IgniteChi.org

Page 18: Ig1   Mashups

Why Is This Good?๏ Customized search

๏ Your very own widgets

๏ Interact with data over the web

๏ Have your local data mix with web data- E-mails, photos, text messages, etc.

๏ Break through the walled gardens of Web 2.0

IgniteChi.org

Page 19: Ig1   Mashups

Programming is About Empowerment๏ Don’t be intimidated by technologies

๏ Programming is about process, not math

๏ Lots of ideas are waiting for implementation

๏ Think small first

IgniteChi.org

Page 20: Ig1   Mashups

Thanks for Listening!

Learn more at:

http://my-kaleidoscope.org/platform.html

IgniteChi.org

Page 21: Ig1   Mashups

Referenceshttp://members.verizon.net/olsongt/stackless/why_stackless.html#stackless

http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/01/trek-flowchart.jpg

http://www.lyricsondemand.com/onehitwonders/ymcalyrics.html

http://en.wikipedia.org/wiki/Hypercard

http://en.wikipedia.org/wiki/File:Hypercard.png

http://en.wikipedia.org/wiki/File:Hypercard_stack_on_Beethoven%27s_Ninth_1.png

http://msdn.microsoft.com/en-us/library/Aa260644.vb6tovbdotnetfig2a(en-us,VS.60).gif

http://www.symbian-freeware.com/img2/python_logo.jpg

http://www.instantdjango.com/images/cc.jpg

http://pipes.yahoo.com/pipes/pipe.edit?_id=bMhn4X_72xGHJf_1zKky6g

http://l.yimg.com/a/i/us/pps/logo_sm_1.gif

http://www.adeptscience.co.uk/products/mathsim/mathcad/images/excel.gif

IgniteChi.org


Top Related