• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Ig1   Mashups
 

Ig1 Mashups

on

  • 919 views

Way back in the day, BASIC was a hobby programming language of choice. Anyone would program in BASIC because it was fairly easy to do. After Apple succeeded with Hypercard and AppleScript, Microsoft ...

Way back in the day, BASIC was a hobby programming language of choice. Anyone would program in BASIC because it was fairly easy to do. After Apple succeeded with Hypercard and AppleScript, Microsoft countered with Visual Basic. Once again, UI design and programming was within reach of ordinary people and programmers alike. Fast forward to now...do regular people ever think about making a web mashup? Why is it a hodgepodge of technologies that are generally difficult to piece together? Microsoft Popfly and Yahoo Pipes are valiant attempts to make it work, but they still seem limiting and awkward. If Twitter is getting more press than these mashup makers, well, they have not succeed in their mission.

My presentation will address what needs to be done to make this a reality: (1) a simple programming language that connects feeds, web services and databases together; (2) a user friendly HTML widget builder; (3) a user-friendly schema-free/freeform database...ding...fresh from the oven in 5 minutes :)

Statistics

Views

Total Views
919
Views on SlideShare
919
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Ig1   Mashups Ig1 Mashups Presentation Transcript

    • Mashups for Everyone
      • Allan 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 = 5 hackysackers = 5 turns = 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 3 rd party libraries
      Want to learn more? Come to the Chicago Python Users Group: 2 nd 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
    • References
      • http://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