<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Josh Berry &#187; Dynamic Web Development</title>
	<atom:link href="http://jberry.net/category/dynamic-web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://jberry.net</link>
	<description>summer mittens, design, development, and more</description>
	<lastBuildDate>Fri, 03 Sep 2010 16:16:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Poll: Live or Die?</title>
		<link>http://jberry.net/poll-live-or-die/</link>
		<comments>http://jberry.net/poll-live-or-die/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 19:23:26 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Dynamic Web Development]]></category>

		<guid isPermaLink="false">http://itp.nyu.edu/blogs/jkb315/2008/12/14/poll-live-or-die/</guid>
		<description><![CDATA[Sure it&#8217;s morbid, but so is sitting down and writing a pretty bland voting form. This is a voting form done with PHP/MySQL/HTML that lets you answer a question and view the results. Consider it a template for any poll for which you need a vote. This form takes into account multiple votes from the [...]]]></description>
			<content:encoded><![CDATA[<p>Sure it&#8217;s morbid, but so is sitting down and writing a pretty bland voting form. This is a voting form done with PHP/MySQL/HTML that lets you answer a question and view the results. Consider it a template for any poll for which you need a vote. This form takes into account multiple votes from the same IP address for a bit of additional honesty.</p>
<p><a href="http://itp.nyu.edu/~jkb315/dwd/liveordiepoll.php">Try it </a></p>
<p><a href="http://www.summermittens.com/docs/liveordie.txt">Source </a></p>
]]></content:encoded>
			<wfw:commentRss>http://jberry.net/poll-live-or-die/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Notes about Working with XMPP, SamePlace and Firefox Extensions</title>
		<link>http://jberry.net/some-notes-about-working-with-sameplace-jabber-and-firefox-extensions/</link>
		<comments>http://jberry.net/some-notes-about-working-with-sameplace-jabber-and-firefox-extensions/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 18:45:00 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[ChattyTime]]></category>
		<category><![CDATA[Designing Around Place]]></category>
		<category><![CDATA[Dynamic Web Development]]></category>
		<category><![CDATA[Live Web]]></category>

		<guid isPermaLink="false">http://itp.nyu.edu/blogs/jkb315/2008/12/11/some-notes-about-working-with-sameplace-jabber-and-firefox-extensions/</guid>
		<description><![CDATA[This may serve as a rough guide for working with Jabber and Firefox. Right now I believe the only option for doing so &#8211; unless you want to build your own Jabber client &#8211; is to build upon SamePlace. SamePlace is a great extension, and even though it&#8217;s relatively new, I wish I discovered it [...]]]></description>
			<content:encoded><![CDATA[<p>This may serve as a rough guide for working with Jabber and Firefox. Right now I believe the only option for doing so &#8211; unless you want to build your own Jabber client &#8211; is to build upon <a href="http://www.sameplace.cc/">SamePlace</a>. SamePlace is a great extension, and even though it&#8217;s relatively new, I wish I discovered it sooner. Since installing it my browser has basically been my desktop. The interface is really nice and you can use it with a bunch of instant messaging services.</p>
<p>Firstly, if you have never built a Firefox extension, use the <a href="http://ted.mielczarek.org/code/mozilla/extensionwiz/">wizard</a>. I went through hell doing my Hello World extension using Mozilla&#8217;s <a href="https://developer.mozilla.org/en/Building_an_Extension">instructions</a>. Also, the Hello World example is a far cry from making an extension that has even the most limited functionality. Ted&#8217;s extension wizard gives you the framework and outlines the components perfectly.</p>
<p>Secondly, this may be common knowledge to JavaScript pros, but as someone who is relatively new to JavaScript, I discovered quite quickly that <a href="https://developer.mozilla.org/En/DOM/Element.addEventListener">event listeners</a> are my friends. Mozilla&#8217;s documentation was the best I found for a high level description of their purpose and parameters, and adding browser event listeners will add robustness to your extension.</p>
<p>With Jabber you trigger events on channels. You need one channel per event type and direction. Channels exist for incoming and outgoing messages, presence, and listening for iq packets, among others. According to SamePlace creator Massimiliano Mirra, &#8220;&lt;iq&gt;&#8217;s are used when you have to carry out a &#8216;conversation&#8217; with a server or other entity following a predefined sequence, such as updating your profile or requesting a roster (contact list).  With iq events you listen to those packets, although you&#8217;d usually not set a listener for them and instead use the one-time listener given as third argument to send(), as in:</p>
<p><strong>XMPP.send(account, &lt;iq to=&#8221;some-entity&#8221;&gt;&#8230;&lt;/iq&gt;, function(reply) {<br />
alert(reply.stanza) })</strong></p>
<p>Remember that since your Jabber Firefox extension lives only on the client, events that affect both clients (chat partners) should be handled by both directions &#8211; &#8216;in&#8217; and &#8216;out&#8217; &#8211; of an event type. This means that if you are processing the text of a message in the same way for the sender and receiver, you must have two channels and two events &#8211; message &#8216;in&#8217; and message &#8216;out.&#8217;</p>
<p>Play around with these ideas to get a feel for developing for Jabber. Also, don&#8217;t forget to download <a href="http://www.chattytime.com">ChattyTime</a>, a very exciting and brand new extension by <a href="http://www.andreadulko.com">Andrea Dulko</a> and I. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://jberry.net/some-notes-about-working-with-sameplace-jabber-and-firefox-extensions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ChattyTime 1.0 is Here at Last!</title>
		<link>http://jberry.net/chattytime-10-is-here-at-last/</link>
		<comments>http://jberry.net/chattytime-10-is-here-at-last/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 18:16:47 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[ChattyTime]]></category>
		<category><![CDATA[Designing Around Place]]></category>
		<category><![CDATA[Dynamic Web Development]]></category>
		<category><![CDATA[Live Web]]></category>

		<guid isPermaLink="false">http://itp.nyu.edu/blogs/jkb315/2008/12/11/chattytime-10-is-here-at-last/</guid>
		<description><![CDATA[A labor of love for many weeks, ChattyTime is here. You should try it, it&#8217;s a lot of fun and it&#8217;s practical. Something of a technical write up will follow, but for now here&#8217;s some more info about ChattyTime. You can download the class presentation too. *** ChattyTime adds some exciting new features to SamePlace, [...]]]></description>
			<content:encoded><![CDATA[<p>A labor of love for many weeks, <a href="http://www.chattytime.com">ChattyTime</a> is here. You should try it, it&#8217;s a lot of fun and it&#8217;s practical. Something of a technical write up will follow, but for now here&#8217;s some more info about ChattyTime. You can download the <a href="http://www.summermittens.com/docs/chattytime.pdf">class presentation</a> too.</p>
<p>***</p>
<p>ChattyTime adds some exciting new features to <a href="http://www.sameplace.cc/">SamePlace</a>, the award-winning, extensible instant messaging client and Firefox extension based on the XMPP (Jabber) protocol. It is compatible with AIM/ICQ, GMail, MSN, Jabber, and Twitter, and it has a Jabber service of its own.</p>
<p>ChattyTime allows you to <strong>open “gift” pages</strong> right in your friend’s browser. Search news, Google, the dictionary, YouTube, and translate English/Spanish for your friend. Now there’s no excuse to say, “Just Google it,” because this feature is quicker to type! You might also like the location-based search feature, which will give your chat buddy search results in his or her zip code.</p>
<p>The other major feature that we here at ChattyTime are pretty excited about is the ability to <strong>browse the web <em>with</em> your friends</strong>. It’s ubiquitous browsing. By turning the feature on, no matter who clicks on what, you and your buddy will browse the same web pages. Use this feature for conferencing, YouTube, holiday shopping, or whatever you want.</p>
<p>Special characters determine the type of gift page to be sent. For example:</p>
<p><strong>~economy</strong> opens the Spanish translation for “economy”<br />
<strong>=pterodactyl </strong>opens Google results for “pterodactyl”<br />
<strong>@pizza</strong> opens results for pizza in your friend’s zip code*</p>
<p>Here’s the current list of special characters (also available in the <strong>ChattyTime</strong> option under Firefox “Tools”):</p>
<p>= for <a href="http://google.com/">Google</a> search<br />
; for <a href="http://youtube.com/">YouTube</a><br />
@ for location-based <a href="http://google.com/">Google</a> search<br />
# for <a href="http://dictionary.com/">dictionary</a><br />
~ for <a href="http://www.spanishdict.com/">Spanish/English translations</a><br />
! for <a href="http://nyt.com/">New York Times</a><br />
- plus any URL to send any web page you want</p>
<p>To browse the web with friends:</p>
<ol>
<li>Each user sends :1 to begin session.</li>
<li>One user sends :0 to end session.</li>
</ol>
<p>Some notes on group browsing with this version of ChattyTime:</p>
<ol>
<li>You will send links to any opened chat window, so close the windows of the buddies that are not participating.</li>
<li>You will share all your browser activity with your buddy. Of course your buddy will not have access to your password protected sites, but you will still direct him or her to those pages.</li>
</ol>
<p>*To use location-based search function, friends much have <a href="http://loki.com/">Loki</a> installed.</p>
<p><a href="http://www.chattytime.com">www.chattytime.com </a></p>
]]></content:encoded>
			<wfw:commentRss>http://jberry.net/chattytime-10-is-here-at-last/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Craigslist Event Ticket Finder</title>
		<link>http://jberry.net/craigslist-event-ticket-finder/</link>
		<comments>http://jberry.net/craigslist-event-ticket-finder/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 15:31:49 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Designing Around Place]]></category>
		<category><![CDATA[Dynamic Web Development]]></category>

		<guid isPermaLink="false">http://itp.nyu.edu/blogs/jkb315/2008/12/11/craigslist-event-ticket-finder/</guid>
		<description><![CDATA[Here&#8217;s a recent project: the user enters his or her name, an event for which the user would like tickets, a maximum price, and a phone number. In return this site will send up-to-the-minute results in a SMS to your cell phone. You can remove an event from your list at any time by simply [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a recent project: the user enters his or her name, an event for which the user would like tickets, a maximum price, and a phone number. In return this site will send up-to-the-minute results in a SMS to your cell phone. You can remove an event from your list at any time by simply entering your phone number, which returns a list of your events. Select the event to remove and you&#8217;re done. SMS commands to achieve the same goal are on the way along with email and instant message updates. This concept is also easily extended to all of Craigslist to cover jobs, furniture, free stuff, etc, so look for site-wide updates very shortly! This service works quite nicely. I haven&#8217;t received a bad result and it doesn&#8217;t miss any. <a href="http://itp.nyu.edu/~amd471/tickets/ticket_search.php">Try it out here!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jberry.net/craigslist-event-ticket-finder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Live Web/DAP/DWD Final Project Proposal</title>
		<link>http://jberry.net/live-webdapdwd-final-project-proposal/</link>
		<comments>http://jberry.net/live-webdapdwd-final-project-proposal/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 20:32:04 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[ChattyTime]]></category>
		<category><![CDATA[Designing Around Place]]></category>
		<category><![CDATA[Dynamic Web Development]]></category>
		<category><![CDATA[Live Web]]></category>

		<guid isPermaLink="false">http://itp.nyu.edu/blogs/jkb315/2008/11/20/live-webdapdwd-final-project-proposal/</guid>
		<description><![CDATA[Andrea and I have been experimenting with updating online chat. Using AJAX among other things, we were able to allow users on one web page send search results to each other by opening a new window on each client&#8217;s side containing the results. Users will be able to open links for one another and browse [...]]]></description>
			<content:encoded><![CDATA[<p>Andrea and I have been experimenting with updating online chat. Using AJAX among other things, we were able to allow users on one web page send search results to each other by opening a new window on each client&#8217;s side containing the results. Users will be able to open links for one another and browse and navigate the web as a group. For the prototype we added the use of Loki to produce location-based search results. If you and your chat partner both have Loki installed on your browser, you should try <a href="http://asterisk.itp.tsoa.nyu.edu/~amd471/chat/andrea/">our prototype</a>.</p>
<p>For the final project, we are going to create a Firefox extension with these principles on top of, to my knowledge, the only existing Jabber Firefox extension <a href="http://www.sameplace.cc/">SamePlace</a>. It is quite good. Here is a screenshot of how it looks in the browser:</p>
<p><img src="http://farm4.static.flickr.com/3022/3046688934_60992eca36.jpg?v=0" width="500" align="middle" height="343" /></p>
<p>If you are having trouble understanding how this works, imagine that this screenshot is your desktop. When you navigate to a different page, your chat partner automatically goes to that page as well. If you are planning your evening, you can both be on the same page without having to send links back and forth. The location-based search feature is activated right in the chat window by use of a special character. For example, @restaurants would produce search results for restaurants in my area, and #restaurants would produce search results in your area.</p>
<p>When our extension-upon-extension is complete, you and your chat partner will be able to pull up links for each other for group research, entertainment, or basically whatever you want. Of course we&#8217;ll keep the Loki feature, so even if you don&#8217;t know where your chat partner is, you can still give them search results based on their current location.</p>
<p>The project will be coded pretty much entirely in Javascript. There needs to be a database that will most likely need to contain a chat id or some other identifier that will be used to access the location info.</p>
]]></content:encoded>
			<wfw:commentRss>http://jberry.net/live-webdapdwd-final-project-proposal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BarTalk in Development</title>
		<link>http://jberry.net/bartalk-in-development/</link>
		<comments>http://jberry.net/bartalk-in-development/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 18:55:21 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[BarTalk]]></category>
		<category><![CDATA[Dynamic Web Development]]></category>
		<category><![CDATA[Human-Centered Design]]></category>
		<category><![CDATA[Live Web]]></category>

		<guid isPermaLink="false">http://itp.nyu.edu/blogs/jkb315/2008/10/28/bartalk-in-development/</guid>
		<description><![CDATA[BarTalk is a new service that allows you to chat anonymously with other patrons at the bar. Every message sent will be distributed to every other phone logged into the service at that time. You can challenge others to shots, divulge your crush, or let everyone know that your pal is passed out in the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>BarTalk</strong> is a new service that allows you to chat anonymously with other patrons at the bar. Every message sent will be distributed to every other phone logged into the service at that time. You can challenge others to shots, divulge your crush, or let everyone know that your pal is passed out in the corner so everyone can get their picture with him, or her, it could easily be a her too. Gossip all you want. What the hell, it&#8217;s anonymous right?</p>
<p><strong>Here&#8217;s how it works:</strong></p>
<p>Text &#8216;oscar&#8217; (no quotes) followed by your message to 41411. For example:</p>
<p align="center"><em>oscar happy bday!</em><br />
<em> oscar you&#8217;re late<br />
</em></p>
<p><em> </em>Send your text anytime tomorrow, and you&#8217;ll automatically be logged in for the evening. You can easily unsubscribe at any time via a reply (simple instructions included in message), but we don&#8217;t recommend that because you&#8217;ll be missing out on a crazy underground gossip convention. You will be unsubscribed automatically and forever the following morning anyway. If people use it and like it we&#8217;ll do it for every future TNO too.</p>
<p>Only one disclaimer: please don&#8217;t hurt anyone, just have fun with it!</p>
<p>Also, to whomever is actually hosting TNO, bartenders can get in on this too. They can offer a free beer to the next idiot who takes his shirt off, beer specials for first person to recite the contents of a message, and so on. Bartenders might want to participate too!</p>
<p>Ok everyone, please try this out, for real, cuz we think it&#8217;s cool and fun. We will appreciate your feedback after the night is over. Thanks and have fun!</p>
<p><em><strong>A few questions answered</strong><br />
</em><br />
<strong>Q:</strong> <strong>How does this work?</strong><br />
<strong>A:</strong> Well it&#8217;s built on a service called Textmarks (<a href="http://www.textmarks.com/">www.textmarks.com</a>). It&#8217;s free and great for prototyping mobile applications</p>
<p><strong>Q:</strong> <strong>Is it really anonymous?</strong><br />
<strong>A:</strong> Well it is assuming that you are not already a member of Textmarks, where you&#8217;d have a username associated with your phone number. Even then people would have to know what your username is.</p>
<p><strong>Q:</strong> <strong>Is this spam?</strong><br />
<strong>A:</strong> It&#8217;s an opt-in service, so no. Be aware that while we are testing this version, you will receive every message from every subscriber. In the future we hope to have more filtering options. You can unsubscribe at any time using instructions provided in messages you receive, and tomorrow morning we will manually forever unsubscribe anyone who has not already done so.</p>
<p><strong>Q:</strong> <strong>What&#8217;s up with the ads? Are you clowns cashing in on this?</strong><br />
<strong>A:</strong> We wish. Since Textmarks is free, we have to give something back in the form of letting them put some stupid ads in the bottom of the messages. On this issue, Josh says, &#8220;Whatevs.&#8221;</p>
<p><strong>Here is a screenshot of our mySQL message database. It&#8217;s clear that our service was being used as intended.</strong></p>
<p><a title="bartalk.jpg" href="http://www.summermittens.com/wp-content/bartalk.jpg"></a></p>
<p><a title="bartalk.jpg" href="http://www.summermittens.com/wp-content/bartalk.jpg"><img src="http://www.summermittens.com/wp-content/bartalk.jpg" alt="bartalk.jpg" /></a></p>
<p><strong>You can try it out for yourself using this <a href="http://www.summermittens.com/docs/bartalk.txt">sample script</a>. </strong></p>
<p>You&#8217;ll want to auto-subscribe users just to take out a step of the process. Just make sure they know they are being subscribed. To broadcast all messages to all subscribers, set up your Textmarks configuration something like this:</p>
<p><img src="http://farm4.static.flickr.com/3017/3108360430_80f4f09be1.jpg?v=0" alt="" width="430" height="467" align="middle" /></p>
]]></content:encoded>
			<wfw:commentRss>http://jberry.net/bartalk-in-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Examples of Google Maps and Loki</title>
		<link>http://jberry.net/examples-of-google-maps-and-loki/</link>
		<comments>http://jberry.net/examples-of-google-maps-and-loki/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 00:11:01 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Designing Around Place]]></category>
		<category><![CDATA[Dynamic Web Development]]></category>
		<category><![CDATA[Live Web]]></category>

		<guid isPermaLink="false">http://itp.nyu.edu/blogs/jkb315/2008/10/01/examples-of-google-maps-and-loki/</guid>
		<description><![CDATA[I&#8217;ve been working with the Google Maps API and the Loki API to practice mapping applications. Here are a few examples of what I&#8217;ve accomplished: This example is specific to New York City, and you can type in as little as just a cross street to get your address: Intersection Map If you have the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working with the Google Maps API and the <a href="http://www.loki.com">Loki</a> API to practice mapping applications. Here are a few examples of what I&#8217;ve accomplished:</p>
<ul>
<li>This example is specific to New York City, and you can type in as little as just a cross street to get your address: <a href="http://itp.nyu.edu/~jkb315/joshberry/dap/masters/intersectionmap.php">Intersection Map</a></li>
</ul>
<ul>
<li>If you have the Loki <a href="http://loki.com/download">plugin</a> installed, you&#8217;ll be able to see where you are, and your approximate address, upon hitting this link: <a href="http://itp.nyu.edu/~jkb315/joshberry/dap/masters/shows_exact_address_by_ipaddress.php">Loki example</a></li>
</ul>
<ul>
<li>This example simply plots multiple markers on a map, pulling address or latitude and longitude info from a database: <a href="http://itp.nyu.edu/~jkb315/joshberry/dap/masters/plot_multiple_points_from_db.php">mySQL Example </a></li>
</ul>
<ul>
<li>This is my favorite, but for now it only works if you have a Mac and the Loki <a href="http://loki.com/download">plugin</a> installed. This example shows you where you are on a map, and depending where you are, it plays a song about the area or by an area artist! Only NYC is included at the moment, so if you do not live in NYC and click the link you won&#8217;t hear a song yet, but more areas are coming soon: <a href="http://itp.nyu.edu/~jkb315/joshberry/dap/quicktimeloki.php">Loki with Quicktime </a></li>
</ul>
<p>These were done mainly with PHP and Javascript, neither of which I knew very much about more than 3 weeks ago. I&#8217;m really starting to enjoy working on web related projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://jberry.net/examples-of-google-maps-and-loki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Form is Funny</title>
		<link>http://jberry.net/the-form-is-funny/</link>
		<comments>http://jberry.net/the-form-is-funny/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 19:35:33 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Dynamic Web Development]]></category>
		<category><![CDATA[Live Web]]></category>

		<guid isPermaLink="false">http://itp.nyu.edu/blogs/jkb315/2008/09/18/the-form-is-funny/</guid>
		<description><![CDATA[Combining an assignment for Live Web and Dynamic Web Development and possibly Election 2008, I created this form to gather feedback about how people feel about the two candidates. Don&#8217;t hit submit because that button doesn&#8217;t take you anywhere yet. Be careful though! The form is funny. Link]]></description>
			<content:encoded><![CDATA[<p>Combining an assignment for Live Web and Dynamic Web Development and possibly Election 2008, I created this form to gather feedback about how people feel about the two candidates. Don&#8217;t hit submit because that button doesn&#8217;t take you anywhere yet. Be careful though! The form is funny. <a href="http://www.summermittens.com/docs/form.php">Link</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jberry.net/the-form-is-funny/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
