Ig1 Mashups
-
Upload
ignitechicago -
Category
Technology
-
view
1.011 -
download
1
description
Transcript of Ig1 Mashups
Mashups for EveryoneAllan Spale
IgniteChi.org
Is Programming That Hard?๏ Abstractions
๏ Flow control
๏ Lots of numbers and symbols
๏ Weird errors
๏ Etc.
IgniteChi.org
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
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
Programming for Everyone: HyperCard๏ Early hypermedia authoring system
๏ Website design program minus the internet
IgniteChi.org
HyperCard was Useful
IgniteChi.org
Porgramming for Some: Visual Basic๏ Easy to make a user interface
๏ Somewhat cumbersome to write code
IgniteChi.org
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
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
Mashups Defined๏ Wikipedia definition:
- “[C]ombines data or functionality from two or more sources into a single integrated application.”
๏ A web program
IgniteChi.org
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
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
Traditional Database Model
IgniteChi.org
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
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
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
Widget Builder๏ Similar style, but make it work in a web
browser
IgniteChi.org
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
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
Thanks for Listening!
Learn more at:
http://my-kaleidoscope.org/platform.html
IgniteChi.org
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