<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><style type="text/css"><!--
blockquote, dl, ul, ol, li { padding-top: 0 ; padding-bottom: 0 }
 --></style><title>Tomorrow Night ** MacTechGroup Meeting Wednesday
May 6 - R</title></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><x-html class="">


<div class=""><h1 style="text-align: center; " class=""></h1><h1 style="color: black; font-family: Verdana, sans-serif; font-weight: normal; font-size: 19px; text-align: center; " class="">MacTechGroup</h1><p style="color: black; font-family: Arial; font-weight: normal; font-size: 16px; " class="">The MacTechGroup holds meetings for Macintosh programmers on the first Wednesday of each month at MIT in Cambridge, Massachusetts, USA.</p><h3 style="color: black; font-family: Verdana, sans-serif; font-weight: normal; font-size: 14px; text-align: center; " class="">Next Meeting:<br class="">Nov 4 2015 7:00 PM Building E51 Room 315 MIT Sloan School </h3><div style="color: black; font-family: Times; font-weight: normal; font-size: inherit;" class=""><br class=""></div><div style="color: black; font-family: Times; font-weight: normal; font-size: inherit;" class="">NOTE THAT OUR OFFICIAL ROOM IS 315 - but check the other rooms in that corridor!!!!!</div><div style="color: black; font-family: Times; font-weight: normal; font-size: inherit;" class=""><br class=""></div><div style="color: black; font-family: Times; font-weight: normal; font-size: inherit;" class=""><div style="font-family: Helvetica; font-size: 18px; font-weight: bold; margin: 0px;" class=""><br class=""></div></div><h2 style="text-align: center; " class=""><div style="text-align: left; " class=""><p style="margin: 0px 0px 18px; padding: 0px; background-color: rgb(230, 230, 230); position: static; z-index: auto;" class=""><span style="color: rgba(0, 0, 0, 0.670588); font-family: Whitney, helvetica, arial, sans-serif; font-size: 16px; font-weight: normal; line-height: 22px;" class="">Topic: </span><font color="rgba(0, 0, 0, 0.6705882352941176)" face="Whitney, helvetica, arial, sans-serif" size="3" class=""><span style="font-weight: normal; line-height: 22px;" class="">Bridging the Data Divide - Mapping JSON and XML to Objects in iOS Software (Objective-C)</span></font></p><p style="margin: 0px 0px 18px; padding: 0px; color: rgba(0, 0, 0, 0.670588); font-family: Whitney, helvetica, arial, sans-serif; font-size: 16px; font-weight: normal; line-height: 22px; background-color: rgb(230, 230, 230); position: static; z-index: auto;" class="">Speaker: Steve Caine</p><br style="font-size: 12px; font-weight: normal;" class=""><span style="font-size: 15px; font-weight: normal;" class="">Most mobile apps have a requirement to access data from remote web services in order to present information derived from that data to users. </span><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span style="font-size: 15px; font-weight: normal;" class="">To support multiple hardware platforms, text-based encodings of this data for transmission are generally preferred over binary formats. Among these, the most common are JSON (JavaScript Object Notation) and XML (eXtensible Markup Language). </span><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span style="font-size: 15px; font-weight: normal;" class="">But then this text must be translated back into binary data for use by the apps’ software, generally using object-oriented languages such as C++, Objective-C, or Java. Sending data back to web services requires a reverse translation.</span><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span style="font-size: 15px; font-weight: normal;" class="">Common problems generally lead to common solutions. </span><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span style="font-size: 15px; font-weight: normal;" class="">A search on ‘json xml’ on </span><a href="http://GitHub.com" style="font-size: 15px; font-weight: normal;" class="">GitHub.com</a><span style="font-size: 15px; font-weight: normal;" class=""> (home to a vast trove of all kinds of open-source software) returns over 1,800 repositories offering solutions to this challenge. </span><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span style="font-size: 15px; font-weight: normal;" class="">A search on ‘JSON’ on </span><a href="http://CocoaPods.org" style="font-size: 15px; font-weight: normal;" class="">CocoaPods.org</a><span style="font-size: 15px; font-weight: normal;" class=""> (site of a popular dependency manager for iOS and OS X software) returns 591 such open-source libraries, plus another 172 for a search on ‘XML’.</span><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span style="font-size: 15px; font-weight: normal;" class="">I’ll be describing what I learned in researching three such offerings for use in my own and clients’ apps: </span><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span class="Apple-tab-span" style="font-size: 15px; font-weight: normal; white-space: pre;">        </span><span style="font-size: 15px; font-weight: normal;" class="">RestKit - </span><a href="https://github.com/RestKit/RestKit" style="font-size: 15px; font-weight: normal;" class="">https://github.com/RestKit/RestKit</a><span style="font-size: 15px; font-weight: normal;" class=""> (which also provides networking code to access web services)</span><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span class="Apple-tab-span" style="font-size: 15px; font-weight: normal; white-space: pre;">     </span><span style="font-size: 15px; font-weight: normal;" class="">RZImport - </span><a href="https://github.com/raizlabs/RZImport" style="font-size: 15px; font-weight: normal;" class="">https://github.com/raizlabs/RZImport</a><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span class="Apple-tab-span" style="font-size: 15px; font-weight: normal; white-space: pre;">      </span><span style="font-size: 15px; font-weight: normal;" class="">Mantle - </span><a href="https://github.com/Mantle/Mantle" style="font-size: 15px; font-weight: normal;" class="">https://github.com/Mantle/Mantle</a><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span style="font-size: 15px; font-weight: normal;" class="">As part of my research, I’ve created three open-source repositories of my own illustrating the use of each to access data on the operations of the Metropolitan Boston Transit Authority (MBTA):</span><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span class="Apple-tab-span" style="font-size: 15px; font-weight: normal; white-space: pre;">   </span><a href="https://github.com/SteveCaine/MBTA-RestKit" style="font-size: 15px; font-weight: normal;" class="">https://github.com/SteveCaine/MBTA-RestKit</a><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span class="Apple-tab-span" style="font-size: 15px; font-weight: normal; white-space: pre;">      </span><a href="https://github.com/SteveCaine/MBTA-RZImport" style="font-size: 15px; font-weight: normal;" class="">https://github.com/SteveCaine/MBTA-RZImport</a><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span class="Apple-tab-span" style="font-size: 15px; font-weight: normal; white-space: pre;">    </span><a href="https://github.com/SteveCaine/NextBus-Mantle" style="font-size: 15px; font-weight: normal;" class="">https://github.com/SteveCaine/NextBus-Mantle</a><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span style="font-size: 15px; font-weight: normal;" class="">These use either data drawn from the MBTA’s own web service </span><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span class="Apple-tab-span" style="font-size: 15px; font-weight: normal; white-space: pre;"> </span><a href="http://realtime.mbta.com/portal" style="font-size: 15px; font-weight: normal;" class="">http://realtime.mbta.com/portal</a><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span style="font-size: 15px; font-weight: normal;" class="">or from that of NextBus Inc</span><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span class="Apple-tab-span" style="font-size: 15px; font-weight: normal; white-space: pre;">   </span><a href="https://www.nextbus.com/xmlFeedDocs/NextBusXMLFeed.pdf" style="font-size: 15px; font-weight: normal;" class="">https://www.nextbus.com/xmlFeedDocs/NextBusXMLFeed.pdf</a><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span style="font-size: 15px; font-weight: normal;" class="">a California company that delivers web-service access to such data from the MBTA as well as from dozens of other public transit agencies throughout North America.</span><br style="font-size: 15px; font-weight: normal;" class=""><br style="font-size: 15px; font-weight: normal;" class=""><span style="font-size: 15px; font-weight: normal;" class="">Hear which of the three I finally decided to use for my own software, and why.</span></div><div style="text-align: left; font-size: 21px;" class=""><br class=""></div><div style="text-align: left; " class=""><br style="font-size: 12px; font-weight: normal;" class=""><p style="margin: 0px 0px 18px; padding: 0px; color: rgba(0, 0, 0, 0.670588); font-family: Whitney, helvetica, arial, sans-serif; font-size: 16px; font-weight: normal; line-height: 22px;" class="">P.S. If you're coming, rsvp at <a href="http://Meetup.com" class="">Meetup.com</a>.  People decide they're coming based on how many others say Yes!</p><div class=""><br class=""></div><font class="Apple-style-span" face="Helvetica"><div style="margin: 0px; " class=""><span style="font-size: 12px; font-weight: normal;" class="">************************</span></div></font></div></h2></div></x-html><x-html class=""><div class=""><span class="Apple-style-span" style="font-family: Times;"><h1 style="font-family: Verdana, sans-serif; color: black; text-align: center; " class=""><span class="Apple-style-span" style="font-family: Times; font-weight: normal; "><div style="font-size: 12px;" class=""><font class="Apple-style-span" face="Arial, sans-serif" size="4"><div style="font-size: 12px; font-family: Helvetica;" class="">You can get a map showing building E51 at<br class=""><<a href="http://whereis.mit.edu/bin/map?oldstate=2&off.x=4620&off" class="">http://whereis.mit.edu/bin/map?oldstate=2&off.x=4620&off</a>.<span class=""></span>y=1640&hi=bldg_e51&zoom.x=89&zoom.y=38><br class=""><br class=""><br class="">The MacTechGrp always meets the first Wednesday of the month. (Sometimes I screw up the date of the notice, but it's always the first Wednesday)<br class=""><br class="">You can get more information on the MacTechGrp and directions at <a href="http://www.mactechgroup.org/" class="">http://www.mactechgroup.org</a>.  We're also on <a href="http://Meetup.com" class="">Meetup.com</a> now - check it out.  Please sign up for our group on Meetup, and swell our ranks.  It's free to sign up.  I'm paying the bill.<br class=""><br class="">To contact the unindicted co-conspirator irresponsible for this group,<br class="">email <a href="mailto:owen@clipboardinc.net" class="">owen@clipboardinc.</a>com<br class=""><br class=""></div></font></div></span></h1></span></div>


</x-html>
_______________________________________________<br class="">MacTechGroup-annouce mailing list<br class=""><a href="mailto:MacTechGroup-annouce@lists.mactechgroup.org" class="">MacTechGroup-annouce@lists.mactechgroup.org</a><br class=""><a href="http://lists.mactechgroup.org/mailman/listinfo/mactechgroup-annouce" class="">http://lists.mactechgroup.org/mailman/listinfo/mactechgroup-annouce</a><br class="">_______________________________________________<br class="">MacTechGroup-annouce mailing list<br class=""><a href="mailto:MacTechGroup-annouce@lists.mactechgroup.org" class="">MacTechGroup-annouce@lists.mactechgroup.org</a><br class=""><a href="http://lists.mactechgroup.org/mailman/listinfo/mactechgroup-annouce" class="">http://lists.mactechgroup.org/mailman/listinfo/mactechgroup-annouce</a><br class=""></body></html>