<?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>New Media Labs</title>
	<atom:link href="http://www.newmedialabs.co.za/feed" rel="self" type="application/rss+xml" />
	<link>http://www.newmedialabs.co.za</link>
	<description></description>
	<lastBuildDate>Mon, 17 May 2010 11:09:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Collaboration between NML and Urban Ninja, Raoul De Jongh</title>
		<link>http://www.newmedialabs.co.za/new-media-labs/collaboration-between-nml-and-urban-ninja-raoul-de-jongh</link>
		<comments>http://www.newmedialabs.co.za/new-media-labs/collaboration-between-nml-and-urban-ninja-raoul-de-jongh#comments</comments>
		<pubDate>Fri, 30 Apr 2010 12:01:32 +0000</pubDate>
		<dc:creator>Paul Cartmel</dc:creator>
				<category><![CDATA[New Media Labs]]></category>

		<guid isPermaLink="false">http://www.newmedialabs.co.za/?p=1020</guid>
		<description><![CDATA[I’ve been acting as NML’s MD, Sales Person, Software Architect (occasionally), developer (even more occasionally) and a bunch of other roles for two and a half years now [typical entrepreneur stuff]. NML has always been a lean outfit made up almost entirely of software developers. If there was one role I’ve wanted to fill during [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve been acting as NML’s MD, Sales Person, Software Architect (occasionally), developer (even more occasionally) and a bunch of other roles for two and a half years now [typical entrepreneur stuff]. NML has always been a lean outfit made up almost entirely of software developers. If there was one role I’ve wanted to fill during this time it has been the one of sales person. I honestly think I didn’t fill the role simply because I didn’t believe I had found the right person &#8211; someone who really understood the Web, Social Media and the platforms NML enjoys building.</p>
<p>Well I’m happy to say I’ve, sort of, found the person I want to help me sell NML and our skills. I say sort of because a) this person can’t be constrained to a rigid job, so we have a relatively informal yet mutually beneficial arrangement and b) because he isn’t really a sales person. He is a connector, a deal maker, a bit of hustler (in the nicest possible way) and a full time urban ninja. Yes, Raoul De Jongh, Mr <a href="http://www.urban-ninja.co.za/">urban-ninja.co.za</a> and NML are going to be working together. Having realised that we share a mutual work hard/play hard ethic we’ve been talking about combining NML’s platforms and platform building abilities with Raoul’s sales and marketing abilities for a while – now it is a reality.</p>
<p>Definitely such an exciting time for all of us digital people.   #BOOM</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newmedialabs.co.za/new-media-labs/collaboration-between-nml-and-urban-ninja-raoul-de-jongh/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Looking Back to Project Forward &#8211; A two and a half year retrospective</title>
		<link>http://www.newmedialabs.co.za/new-media-labs/looking-back-to-project-forward-a-two-and-a-half-year-retrospective</link>
		<comments>http://www.newmedialabs.co.za/new-media-labs/looking-back-to-project-forward-a-two-and-a-half-year-retrospective#comments</comments>
		<pubDate>Mon, 08 Mar 2010 14:12:37 +0000</pubDate>
		<dc:creator>Paul Cartmel</dc:creator>
				<category><![CDATA[New Media Labs]]></category>

		<guid isPermaLink="false">http://www.newmedialabs.co.za/?p=895</guid>
		<description><![CDATA[So much hard work has gone into NML and so much has been achieved. This is a reflection on some of the highlights, I needed to do this for myself and the NML team.
Recently NML’s shareholding changed and I am now the only shareholder, this has freed me up to make other exciting decisions which I will be announcing in [...]]]></description>
			<content:encoded><![CDATA[<p>So much hard work has gone into NML and so much has been achieved. This is a reflection on some of the highlights, I needed to do this for myself and the NML team.</p>
<p>Recently NML’s shareholding changed and I am now the only shareholder, this has freed me up to make other exciting decisions which I will be announcing in due course.</p>
<p>Surviving two and a half years of tech start-up during these very difficult times defies the odds, building up an amazing team, powerful Intellectual Property and having a healthy pipeline is an amazing achievement and something I am proud of.</p>
<h3 style="text-align: justify;">2008</h3>
<p style="text-align: justify;">NML was started in January of 2008 with an abundance of ideas and energy.  The sub-prime credit crisis was something that we thought would only affect the USA and we certainly didn&#8217;t conceive the pending global recession.</p>
<p>Usually it is intelligent dynamic people who are keen to take a risk.  So it wasn&#8217;t surprising that Richard Schroder and Debbie Derman were the first employees to join NML in April 2008 &#8211; both truly brilliant, they are hired knowing that in two months time they will be leaving on a three-month trip through Africa.  Their skills and the hope of them being long-term NML employees can&#8217;t be ignored.  The risk paid off.</p>
<p>NML commences work on Windows CE/Mobile GPS triggered tourist information software for Smartguide.co.za.</p>
<p style="text-align: justify;">NML develops a custom niche social network in ASP.Net for Brandhouse.  Similar in complexity to Facebook (no jokes), the system allows for media uploads (video/photo), community, notifications, tagging, events, rating, commenting, FAQs and polls.  The system is fully integrated into the metrics and segmentation engine Eureka.  Eureka is Global Vision&#8217;s marketing automation engine used by Diageo.</p>
<p style="text-align: justify;">Rogan Flitton, Gareth Saul, Yves Bamani and Gugulethu Ntombela join NML as permanent employees.  Cara Knight Dawson joins as my PA.</p>
<p style="text-align: justify;">Mark Derman (founder of Safarinow.com) and Ernst Kuscke (Microsoft MVP) join NML as long-term contractors.</p>
<p style="text-align: justify;">NML develops a financial services platform for a leading bank.  We develop the service layer, database and front end in Silverlight together with Global Vision.  Stonewall+ provides the front end designs.   The application is integrated into the banking backend and adds social software elements to their traditional business.</p>
<p style="text-align: justify;">NML developers work on the Silverlight front end, middle tier and database for Global Vision&#8217;s next generation marketing automation engine, Adora. Read about the development process here &#8211; <a href="http://www.newmedialabs.co.za/silverlight/creating-the-adora-crm-with-global-vision " target="_blank">Adora Development Process</a></p>
<p style="text-align: justify;"><a href="http://www.newmedialabs.co.za/archives/855" target="_blank" class="broken_link"><img class="alignnone size-full wp-image-911" title="Adora - Global Vision" src="http://www.newmedialabs.co.za/wp-content/uploads/2010/02/adora_01-31.png" alt="Adora - Global Vision" width="389" height="249" /></a></p>
<p style="text-align: justify;">NML starts a junior developers program.  We give part-time work to students who are mentored and paid to develop applications for NML.</p>
<p style="text-align: justify;">The NML juniors develop a Facebook competition portal that we re-skin and re-utilise as a framework for digital art, photographic or copywriting competitions &#8211; we reskin this for our clients and rent the framework.  A Facebook application called &#8220;My African Bucketlist&#8221; and a number of other web and mobile applications are also developed.</p>
<p style="text-align: justify;">NML develops a giving portal <a title="The Trust" href="http://thetrust.org.za" target="_blank">TheTrust.org.za</a> at cost as part of our corporate social responsibility initiative.  We aggregate charities into charity sectors and allow for payments using credit card, MiMoney, Ukash and EFT.  We also generate certificates of giving and a recurring monthly payment system.  TheTrust is sponsored by Pick n Pay, IBurst and Vodacom.</p>
<p style="text-align: justify;"><a title="The Trust" href="http://www.newmedialabs.co.za/archives/92" target="_blank" class="broken_link"><img class="alignnone size-full wp-image-912" title="The Trust" src="http://www.newmedialabs.co.za/wp-content/uploads/2010/02/thetrust3.png" alt="The Trust" width="389" height="336" /></a></p>
<p style="text-align: justify;">NML also develops a variety of micro-sites and applications during the course of 2008.</p>
<p style="text-align: justify;">NML did not lose a single client in 2008.</p>
<h3 style="text-align: justify;">2009</h3>
<p style="text-align: justify;">Christian Bamani and Ashraf Vanker are hired out of the juniors program &#8211; the juniors programme pays payback.</p>
<p class="MsoListParagraph">Finance Honours graduate Elsie Verheye joined New Media Labs<span style="color: #1f497d;" lang="EN-GB"><span style="color: #000000;"> as Operations Manager.  In addition to managing the finance, accounts and assisting with audits, Elsie’s expertise also extends to being NML’s qualified SCRUM Master.  Her exceptional organizational skill puts her in the forefront of what’s going on at New Media Labs.</span></span></p>
<p style="text-align: justify;">NML releases the first iteration of the Google Earth, Flickr, YouTube and Smartguide content portal. Read about the development process here &#8211; <a href="http://www.newmedialabs.co.za/mapping/smartguide-tourism-information-portal " target="_blank">Smartguide Development Process</a> and view the application here &#8211; <a href="http://www.africantourismportal.com/" target="_blank">African Tourism Portal</a>.</p>
<p style="text-align: justify;"><a title="Smartguide" href="http://www.newmedialabs.co.za/archives/173" target="_blank" class="broken_link"><img class="alignnone size-full wp-image-913" title="Smartguide" src="http://www.newmedialabs.co.za/wp-content/uploads/2010/02/tip11.png" alt="Smartguide" width="389" height="212" /></a></p>
<p style="text-align: justify;">NML develop a Silverlight CMS for Smartguide.  Smartguide is integrated into our first client&#8217;s tourism portal &#8211; Southern Destinations. NML invests in Smartguide and becomes a 20% shareholder.</p>
<p style="text-align: justify;"><a title="Smartguide" href="http://www.newmedialabs.co.za/archives/546" target="_blank" class="broken_link"><img class="alignnone size-full wp-image-914" title="Tourism Information Portal" src="http://www.newmedialabs.co.za/wp-content/uploads/2010/02/tip91.png" alt="Tourism Information Portal" width="389" height="212" /></a></p>
<p style="text-align: justify;">Andrei Dimitriu joins NML as an intermediate developer.</p>
<p style="text-align: justify;">NML develops the CMS to illustrate Nedgroup Investments&#8217; business model of fund management. Read about the development process here &#8211; <a href="http://www.newmedialabs.co.za/scrum/nml-builds-content-management-system-and-new-website-for-nedgroup-investments " target="_blank">Nedgroup Investments Development</a>.</p>
<p style="text-align: justify;"><a title="Nedgroup Investments" href="http://www.newmedialabs.co.za/archives/400" target="_blank" class="broken_link"><img class="alignnone size-full wp-image-915" title="Nedgroup Investments" src="http://www.newmedialabs.co.za/wp-content/uploads/2010/02/fundsdomesticclose1.png" alt="Nedgroup Investments" width="389" height="549" /></a></p>
<p style="text-align: justify;">NML modularises and productises the CMS developed for Nedgroup Investements.</p>
<p style="text-align: justify;">NML, together with <a href="http://www.aurecongroup.com/" target="_blank">Aurecon</a>, develops the web-based incident management software.  All CCTV footage is monitored and the Silverlight web application is used to log incidents.  This product is nominated for an innovation award by Microsoft (Redmond).  Read about the development process here &#8211; <a href="http://www.newmedialabs.co.za/mapping/aurecon-emergency-response-and-incident-management-application" target="_blank">Aurecon Dev Process.</a></p>
<p style="text-align: justify;">Videos of the applicaiton can be viewed at <a href="http://www.youtube.com/newmedialabs">http://www.youtube.com/newmedialabs</a>.</p>
<p style="text-align: justify;"><a title="Aurecon" href="http://www.newmedialabs.co.za/archives/694" target="_blank" class="broken_link"><img class="alignnone size-full wp-image-916" title="Aurecon" src="http://www.newmedialabs.co.za/wp-content/uploads/2010/02/2009-07-03_133625.jpg" alt="Aurecon" width="389" height="241" /></a></p>
<p style="text-align: justify;">NML develops a mapping application for the<a href="http://www.peaceparks.org/Home.htm" target="_blank"> Peace Parks Foundation</a> using ESRI mapping and Silverlight.</p>
<p style="text-align: justify;"><a title="Peace Parks" href="http://www.newmedialabs.co.za/archives/885" target="_blank" class="broken_link"><img class="alignnone size-full wp-image-917" title="Peace Parks Esri map" src="http://www.newmedialabs.co.za/wp-content/uploads/2010/02/esri-map.png" alt="Peace Parks Esri map" width="389" height="117" /></a></p>
<p style="text-align: justify;">Andrei Dimitriu develops the backend for <a href="http://www.gloworld.com/" target="_blank">GloMobile</a> utilising NML&#8217;s base CMS.  <a href="http://www.stonewall.co.za/" target="_blank">Stonewall+</a> provides the front end designs, Global Vision provide PM, development and testing skills.</p>
<p style="text-align: justify;"><img class="alignnone size-full wp-image-918" title="Navigation" src="http://www.newmedialabs.co.za/wp-content/uploads/2010/02/navigation1.jpg" alt="Navigation" width="389" height="286" /></p>
<p style="text-align: justify;">NML and Ilan Copelyn develop a bursary management system for the <a title="HCI Foundation" href="http://www.hcifoundation.co.za/" target="_blank">HCI Foundation</a>.  The system engine ensures the accurate apportionment of funds across institutions (universities, technikons and FETs) and courses (medicine, law, engineering etc.) to the people who are deemed most needy and most deserving of a bursary.  This is calculated according to parents&#8217; salaries, grades at school or in the previous year and number of applications per course per institution.  More than two thousand applications are managed through the system.</p>
<p style="text-align: justify;"><img class="alignnone size-full wp-image-919" title="HCI Foundation" src="http://www.newmedialabs.co.za/wp-content/uploads/2010/02/uctoverview.png" alt="HCI Foundation" width="389" height="309" /></p>
<p style="text-align: justify;">NML releases the WordPress site for the <a title="Vrede Foundation" href="http://www.vredefoundation.co.za/" target="_blank">Vrede Foundation</a> &#8211; a foundation in tribute to a friend of mine from way back when.  A charismatic legend.</p>
<p style="text-align: justify;">NML starts developing in partnership with Heath Wallace, a leading user experience agency based in the UK.  Their services include research, information architecture, design and development.  Together with Heath Wallace, NML develops aspects of the websites for one of the top 5 banks in the world.  A second and third project in partnership with Heath Wallace starts shortly thereafter.  A good sign for our proposed long-term partnership.</p>
<p style="text-align: justify;">At the end of 2009 each client has returned for at least a second or third phase of development.</p>
<h3>2010</h3>
<p>Most of our projects are still in development for this year and thus can’t be discussed yet.</p>
<p>Watch out for the launch of NML&#8217;s background project <a href="http://welove.co.za" target="_blank">WeLove.co.za </a>. We have utilise our service-oriented architecture framework to develop a front end that is re-usable across a number of niche social networks.  Multiple applications run off a single database, thus each service call is made with a unique application ID.  WeLove.co.za will be used to launch a number of our own social network applications all based on groups that share a common interest or passion.  Expect to see niche sites hosting WeLove communities such as WeLove coffee, WeLove our children, WeLove Healthy Bodies, WeLove Running etc.  You name it, where there is passion there could be a WeLove community!  The amazing thing about this project is the collective energy shared for it by all of the NML team.  We believe in this product and how it can facilitate relevant and engaging communal conversations around each of our own interests.</p>
<p><a href="http://coffee.welove.co.za/City/Show/Cape_Town" class="broken_link"><img class="alignnone size-full wp-image-1052" title="welove coffee" src="http://www.newmedialabs.co.za/wp-content/uploads/2010/03/welove.png" alt="" width="450" height="367" /></a></p>
<p>We have delivered a virtual itinerary for Smartguide. The software is integrated into the traditional itinerary building software used by a number of tourism operators. The virtual itinerary gives the client a map based view of their holiday and a day by day breakdown with routing drawn on the map. Over 100 tour operator commence integration of the virtual itinerary into their traditional systems.</p>
<p>NML assists Heath Wallace with the development of software for two of the top five global banks.</p>
<p>NML continues development with Aurecon on a number of projects that can’t be discussed.</p>
<p>NML continues to develop software in partnership with a number of the top digital agencies in South Africa.</p>
<p>Raoul De Jongh, the <a href="http://www.urban-ninja.co.za" target="_blank">urban-ninja</a> has joined us as a sales person. Read more about his joining NML here &#8211; <a href="http://www.newmedialabs.co.za/new-media-labs/collaboration-between-nml-and-urban-ninja-raoul-de-jongh" target="_blank">Collaboration between NML and Urban Ninja, Raoul De Jongh</a></p>
<p>To receive future NML news please subscribe here - <a href="http://www.newmedialabs.co.za/contact-us" target="_blank">http://www.newmedialabs.co.za/contact-us</a></p>
<p>Please follow NML on Twitter - <a href="http://twitter.com/newmedialabs" target="_blank">http://twitter.com/newmedialabs</a></p>
<p>Please become a fan of NML on Facebook &#8211; <a href="http://www.facebook.com/newmedialabs">http://www.facebook.com/newmedialabs</a></p>
<p>Thank you for taking the time to read this post. These are exciting times, we would love you to be with us for the journey.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newmedialabs.co.za/new-media-labs/looking-back-to-project-forward-a-two-and-a-half-year-retrospective/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Peace Parks Foundation SharePoint experience</title>
		<link>http://www.newmedialabs.co.za/new-media-labs/the-peace-parks-foundation-sharepoint-experience</link>
		<comments>http://www.newmedialabs.co.za/new-media-labs/the-peace-parks-foundation-sharepoint-experience#comments</comments>
		<pubDate>Mon, 14 Dec 2009 07:24:49 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[New Media Labs]]></category>

		<guid isPermaLink="false">http://www.newmedialabs.co.za/?p=885</guid>
		<description><![CDATA[“The Peace Parks Foundation is a non-profit organisation that facilitates the establishment of transfrontier conservation areas (peace parks) and develops human resources, thereby supporting sustainable economic development, the conservation of biodiversity and regional peace and stability.” (http://www.peaceparks.org)
 
I was really happy when I was received with open arms by the people of Peace Parks &#8211; they [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify;"><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">“<em style="mso-bidi-font-style: normal;">The Peace Parks Foundation is a non-profit organisation that facilitates the establishment of transfrontier conservation areas (peace parks) and develops human resources, thereby supporting sustainable economic development, the conservation of biodiversity and regional peace and stability.</em>” (</span><a href="http://www.peaceparks.org/"><span style="font-size: small; color: #0000ff; font-family: Calibri;">http://www.peaceparks.org</span></a><span style="font-size: small; font-family: Calibri;">)</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify;"><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify;"><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">I was really happy when I was received with open arms by the people of Peace Parks &#8211; they made me feel like I belonged with their friendly and welcoming ambience and working in peaceful environment made my work that much easier.<span style="mso-spacerun: yes;">  </span>The work that they do is inspirational and I support them all the way.</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify;"><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify;"><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">The Problems:</span></span></p>
<p class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 36pt; text-indent: -18pt; text-align: justify; mso-add-space: auto; mso-list: l0 level1 lfo1;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;" lang="EN-GB"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">1.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">Peace Parks Foundation wanted a SharePoint site that would assist them with their document management, since they are always travelling and have many departments.</span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; text-indent: -18pt; text-align: justify; mso-add-space: auto; mso-list: l0 level1 lfo1;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;" lang="EN-GB"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">2.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">The SharePoint site had to have the exact style as their actual website to facilitate the users&#8217; comprehension and usage.</span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; text-indent: -18pt; text-align: justify; mso-add-space: auto; mso-list: l0 level1 lfo1;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;" lang="EN-GB"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">3.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">The site had to be fully searchable.</span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; text-indent: -18pt; text-align: justify; mso-add-space: auto; mso-list: l0 level1 lfo1;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;" lang="EN-GB"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">4.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">When a new page or site is created within the SharePoint site, the theme had to be the same across all pages.</span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; text-indent: -18pt; text-align: justify; mso-add-space: auto; mso-list: l0 level1 lfo1;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;" lang="EN-GB"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">5.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">Some pages had to add the voyager GIS that they always use for their work.</span></span></p>
<p class="MsoListParagraphCxSpLast" style="margin: 0cm 0cm 0pt 36pt; text-indent: -18pt; text-align: justify; mso-add-space: auto; mso-list: l0 level1 lfo1;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;" lang="EN-GB"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">6.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">Each department had to be able to add staff pictures of their respective department.</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify;"><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify;"><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">The Solutions:</span></span></p>
<p class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 36pt; text-indent: -18pt; text-align: justify; mso-add-space: auto; mso-list: l1 level1 lfo2;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;" lang="EN-GB"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">1.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">A strong knowledge of SharePoint, C# and Aspx was required.</span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; text-indent: -18pt; text-align: justify; mso-add-space: auto; mso-list: l1 level1 lfo2;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;" lang="EN-GB"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">2.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">I modified a pre-existing site, which with all due respect required a lot of alterations – firstly, I had to modify the template which required changing the many style sheets and making one big one to which all the pages connect to, thereby ensuring style unity across all the pages.<span style="mso-spacerun: yes;">  </span>Secondly, I had to modify all the images to suit the style – I used Adobe Photoshop.<span style="mso-spacerun: yes;">  </span>The standardisation of the pages allowed for greater speed as all images are now optimised for web and only one CSS is accessed.</span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; text-indent: -18pt; text-align: justify; mso-add-space: auto; mso-list: l1 level1 lfo2;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;" lang="EN-GB"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">3.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">The search engine was one of the most challenging sections to create.<span style="mso-spacerun: yes;">  </span>The biggest problem was that the installation of MOSS 2007 was not implemented properly and therefore quite a few functions were not working as they should have been. <span style="mso-spacerun: yes;"> </span>A few modifications to the installations and to the registry files fixed that.<span style="mso-spacerun: yes;">  </span>Thereafter, I had to create content sources that crawled (indexed) the whole site.<span style="mso-spacerun: yes;">  </span>And then it was just a matter of creating scopes for the search and ensuring that the search centre connected to those scopes.</span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; text-indent: -18pt; text-align: justify; mso-add-space: auto; mso-list: l1 level1 lfo2;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;" lang="EN-GB"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">4.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">*View point 2*</span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; text-indent: -18pt; text-align: justify; mso-add-space: auto; mso-list: l1 level1 lfo2;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;" lang="EN-GB"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">5.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">Adding the voyager GIS was one of the easiest requirements to implement.<span style="mso-spacerun: yes;">  </span>All it required was the addition of a page viewer web part and the voyager GIS link!</span></span></p>
<p class="MsoListParagraphCxSpLast" style="margin: 0cm 0cm 0pt 36pt; text-indent: -18pt; text-align: justify; mso-add-space: auto; mso-list: l1 level1 lfo2;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;" lang="EN-GB"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">6.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span lang="EN-GB"><span style="font-size: small; font-family: Calibri;">To allow for the ability to add departmental staff photos, I created a content editor web part and inside that web part I added a few html and J-query codes that showed the staff photos and allowed emailing the staff in question just by clicking on a button right below the picture.</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.newmedialabs.co.za/new-media-labs/the-peace-parks-foundation-sharepoint-experience/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Creating the Adora CRM with Global Vision</title>
		<link>http://www.newmedialabs.co.za/silverlight/creating-the-adora-crm-with-global-vision</link>
		<comments>http://www.newmedialabs.co.za/silverlight/creating-the-adora-crm-with-global-vision#comments</comments>
		<pubDate>Tue, 01 Dec 2009 08:46:22 +0000</pubDate>
		<dc:creator>Richard Schroder</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Content Management Systems]]></category>
		<category><![CDATA[Custom Development]]></category>
		<category><![CDATA[New Media Labs]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.newmedialabs.co.za/?p=855</guid>
		<description><![CDATA[Adora is a marketing CMS platform that is currently being developed by Global Vision and is being built to replace their highly successful current offering, Eureka.  The driving force behind Adora is communication, not just marketing, through all effective communications channels.  Using Adora, marketers will be able to communicate effectively with consumers and be able [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Adora is a marketing CMS platform that is currently being developed by<a href="http://www.globalvision.co.za"> Global Vision</a> and is being built to replace their highly successful current offering, Eureka.  The driving force behind Adora is <em>communication</em>, not just marketing, through all effective communications channels.  Using Adora, marketers will be able to communicate effectively with consumers and be able to maintain a complete picture of consumer relationships to their respective brands.</p>
<p class="MsoNormal" style="text-align: justify;">As <a href="http://www.globalvision.co.za">Global Vision</a> made the decision to develop the Adora front-end using Microsoft Silverlight (at the time a very brave move – Silverlight 1.1 was VERY limited compared to Silverlight 3!), New Media Labs was asked to provide some assistance in the development process.  With full-time in-house User Experience (UX) designers and interface designers from Stonewall+, this project has really brought to light the power and flexibility of the Silverlight platform.</p>
<h2>Design of Adora</h2>
<p class="MsoNormal" style="text-align: justify;">The application is built along a classic Model-View-ViewModel (M-V-VM) architecture and utilises a custom-built framework for this that supports all the required elements.  We had a number of technical challenges to overcome along the way, mainly related to data storage and using the same Domain model on both the Client- and Server-side.  Most of these issues are posts in their own right and will be covered in the near future.</p>
<p class="MsoNormal" style="text-align: justify;">Adora consists of many layers, each with its own set of technologies.  Starting from the client and working our way to the backend:</p>
<ul style="text-align: justify;">
<li><strong>Client</strong><br />
Silverlight 3, utilising the Silverlight Toolkit and numerous custom-built controls.</li>
<li><strong>Services<br />
</strong>The<strong> </strong>application services are provided by WCF services that are hosted on the server.  These are communicated with using a custom-built data-contract serialiser.<strong> </strong></li>
<li><strong>Data storage<br />
</strong>Data storage is provided by SQL Server 2008 and data goes through many stages of filtering and matching to ensure maximum data integrity.</li>
<li><strong>Messaging<br />
</strong>A messaging and scheduling engine resides on the server side to handle all email and SMS communications with consumers.  Messages received are linked to the consumer’s profile.</li>
</ul>
<h2>The Development Process</h2>
<p class="MsoNormal" style="text-align: justify;">The goal is to deliver a product that is not only scalable, flexible and fast but is also pleasant to use with minimal or no user training.  With a team consisting of UX designers, developers, graphic designers and QA testers, we are continuously and iteratively tweaking the design.  Using an Agile approach has allowed us to make fast-paced design changes whilst ensuring that the end result not only looks good, feels good and performs well but also matches the expectations of the Product Owner.</p>
<p class="MsoNormal" style="text-align: justify;">We currently employ a mix of various established practices – test driven development, peer reviews, daily stand-ups and whiteboard sessions are some of the things that we do every day.</p>
<h3>Interface Design</h3>
<p class="MsoNormal" style="text-align: justify;">Adora’s interface borrows heavily from concepts used by Windows Explorer to allow users to work in a familiar environment.  For example, “folders” represent brands and “files” represent elements such as email lists, creatives or even communication schedules. </p>
<div id="attachment_854" class="wp-caption alignleft" style="width: 310px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/12/explorer.png" rel="lightbox[855]"><img class="size-medium wp-image-854 " title="Adora Explorer" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/12/explorer-300x179.png" alt="Adora Explorer interface" width="300" height="179" /></a><p class="wp-caption-text">Adora Explorer interface</p></div>
<p style="text-align: justify;">Wireframe designs are created by our UX designers and the initial development work to implement functionality is done by the developers and testers.  Whilst this is taking place, the interface design is UAT-tested by the UX designers – the interface is then sent to Stonewall+ for “polishing” and styling.  Due to Silverlight’s dynamic binding model, it is simple for the developers to drop the finished interface on top of the functional elements built.</p>
<p class="MsoNormal" style="text-align: justify;">All work with consumer populations is graphical – that is, instead of reams of confusing numbers that may not appear to have any significant proportions or relationships, Adora presents interactive graphs.  A user with little or no SQL knowledge is able to build up complex queries very quickly with this system and it provides a “quick-glance” overview of the consumers that the user is currently communicating with. </p>
<div id="attachment_856" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/12/list_builder_03_portlet_options.jpg" rel="lightbox[855]"><img class="size-medium wp-image-856" title="List Builder Interface" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/12/list_builder_03_portlet_options-300x210.jpg" alt="list_builder_03_portlet_options" width="300" height="210" /></a><p class="wp-caption-text">Marketing List builder interface design</p></div>
<h3>Adora Query Language</h3>
<p class="MsoNormal" style="text-align: justify;">Central to Adora’s success is our own query language that we have developed: Adora Query Language, or AQL.  With a syntax that is similar to SQL, AQL allows developers to retrieve consumer related information using queries that are <em>business oriented</em>.  If that doesn’t excite you, how about this:</p>
<p class="MsoNormal" style="margin-left: 36pt;"><span style="font-family: &quot;Courier New&quot;;">SELECT firstname, lastname, age FROM brandname WHERE gender=’male’ AND age&gt;25</span></p>
<p class="MsoNormal" style="text-align: justify;">The result of this query is a list of consumers within the “brandhouse” brand that are male and over 25 years of age.  A complete subset of SQL is supported, including ORDER BY, GROUP BY, INTERSECT, UNION and many more.  On top of this, we have our own extensions to the language that allow us to apply pagination to data results or to even group data into ranges.  The result?  Our developers can focus on <em>working</em> with data, not on <em>retrieving</em> data.  It is envisioned that future versions of Adora will allow 3<sup>rd</sup> party vendors to create add-ins to the Adora system using AQL.</p>
<h3>What’s next?</h3>
<p class="MsoNormal" style="text-align: justify;">Still to come – details on the technical challenges faced and more screenshots!  Beta 1 is scheduled for release in January 2010. </p>
<div class="wp-caption aligncenter" style="width: 570px"><object width="560" height="340" data="http://www.youtube.com/v/1p4Tm25SmrY&amp;hl=en_GB&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/1p4Tm25SmrY&amp;hl=en_GB&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object><p class="wp-caption-text">An introduction to Adora</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.newmedialabs.co.za/silverlight/creating-the-adora-crm-with-global-vision/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>“When Clever Gets Stupid” or “Not Understanding How the Advertising World Works” or “WTF is a BOT?“ or “Make Sure You Have a Revenue Model!” or &#8220;If You Don&#8217;t Do It Anyway&#8221;</title>
		<link>http://www.newmedialabs.co.za/software_development/%e2%80%9cwhen-clever-gets-stupid%e2%80%9d-or-%e2%80%9cnot-understanding-how-advertising-works%e2%80%9d-or-%e2%80%9cwtf-is-a-bot%e2%80%9c-or-%e2%80%9cmake-sure-you-have-a-revenue-model%e2%80%9d</link>
		<comments>http://www.newmedialabs.co.za/software_development/%e2%80%9cwhen-clever-gets-stupid%e2%80%9d-or-%e2%80%9cnot-understanding-how-advertising-works%e2%80%9d-or-%e2%80%9cwtf-is-a-bot%e2%80%9c-or-%e2%80%9cmake-sure-you-have-a-revenue-model%e2%80%9d#comments</comments>
		<pubDate>Sun, 29 Nov 2009 19:56:25 +0000</pubDate>
		<dc:creator>Paul Cartmel</dc:creator>
				<category><![CDATA[New Media Labs]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.newmedialabs.co.za/?p=825</guid>
		<description><![CDATA[In 2007 when facebook was huge (well it is still huge, but 2007 was a time when we talked about our Crackbook Addictions and we got a huge kick out of getting wallposts and we were as proud of our facebook &#8220;friends&#8221; count and our wallpost count as some twits are about the number of [...]]]></description>
			<content:encoded><![CDATA[<p>In 2007 when facebook was huge (well it is still huge, but 2007 was a time when we talked about our Crackbook Addictions and we got a huge kick out of getting wallposts and we were as proud of our facebook &#8220;friends&#8221; count and our wallpost count as some twits are about the number of twitter followers they have now days [I'm one of them!]) Vodaspam hadn&#8217;t smelt SMS integration into Facebook and I figured it would be an awesome idea to build and application that would send your wallpost to you as an sms.</p>
<p>Realisation 1 &#8211; facebook API didn&#8217;t expose the wallpost (obviously this was what got people coming back to facebook)</p>
<p>I&#8217;m determined and so we (Willem Odendaal and I) resorted to an old favourite technique of mine &#8211; Screen scraping or Indexing as google call it. Basically we made what is called &#8220;A Bot&#8221;.</p>
<p>Realisation 2 &#8211; you can only see the wall if you&#8217;re someone&#8217;s friend. No worries the Bot would be a Facebook user &#8211; enter Peter Lear (who Leared at your wall).</p>
<p>Peter (The Bot) had to login to facebook, check all his friends walls and screen scrape the html, check if there was a new post (the old highest value post was already loaded in the Database) pick up the new post and then bang it out to the &#8220;friend&#8221; as an SMS. The idea was that this would be about as prolific as Please Call Me&#8217;s &#8211; adverts [possibly contextual] would be attached and I would make lots of money. Boom.</p>
<p>Easier said than done. Attached is some of the code. The app worked a treat and within a week Peter had lots of friends - problem.</p>
<p>Realisation 3 &#8211; this could cost me a lot of money in SMSes (sent from a clickatell account) as some &#8220;friends&#8221; were getting 10 posts a day&#8230;</p>
<p>And so I tried to find an agency that would like to use it. But advertising doesn&#8217;t work like that. It is much slower and less dynamic than you may realise. Advertisers are often scared to try something new. If it isn&#8217;t in the strategy that was set x months ago - they won&#8217;t touch it was the message I got back. And so it wasted me money for a couple of months and I took it offline&#8230; only to see Vodacom integrated the wall into facebook 18 months later. Hmmm maybe I just didn&#8217;t sell it well enough or maybe it just wasn&#8217;t such a great idea.</p>
<p>Of course Peter Lear is still on facebook, he only has 17 friends, he plays Farmville now (Frances &#8211; my daughter &#8211; begged me) and when facebook is feeling kind they recommend that I make facebook better for him. Please write on his wall &#8211; http://www.facebook.com/profile.php?id=534167080</p>
<p>Attached is some of the code from Peter &#8220;The Bot&#8221; Lear. The login, the scrap, the send&#8230;</p>
<p>Interesting aside though &#8211; it was one of the things I showed Jon Jacobson that made him believe that he should invest in my company &#8220;New Media Labs&#8221; and that my ideas would slot into their marketing automation engine &#8211; Adora. And so it goes&#8230; everything for a reason &#8211; just do it.</p>
<p> ps. Warning. The hot girl that&#8217;s following you on twitter and spamming naked pictures of herself at you &#8211; this is what she looks like! She also beats you at poker, chess, etc. She&#8217;s also tried to login to this wordpress site and take control if it over a thousand times. &#8230; just a thought.</p>
<p>pps. This is what geeks do for fun.</p>
<div id="attachment_826" class="wp-caption alignnone" style="width: 513px"><img class="size-full wp-image-826  " title="Get a list of his friends..." src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/z1.png" alt="Get a list of his friends..." width="503" height="226" /><p class="wp-caption-text">Get a list of his friends...</p></div>
<div id="attachment_827" class="wp-caption alignnone" style="width: 516px"><img class="size-full wp-image-827 " src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/z2.png" alt="Login..push. " width="506" height="195" /><p class="wp-caption-text">Login..push. </p></div>
<div id="attachment_828" class="wp-caption alignnone" style="width: 523px"><img class="size-full wp-image-828  " title="Scrape...aka Index" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/z3.png" alt="SMS Send" width="513" height="451" /><p class="wp-caption-text">Scrape...aka Index</p></div>
<div id="attachment_829" class="wp-caption alignnone" style="width: 528px"><img class="size-full wp-image-829 " title="SMS Send" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/z4.png" alt="SMS Send" width="518" height="435" /><p class="wp-caption-text">SMS Send</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.newmedialabs.co.za/software_development/%e2%80%9cwhen-clever-gets-stupid%e2%80%9d-or-%e2%80%9cnot-understanding-how-advertising-works%e2%80%9d-or-%e2%80%9cwtf-is-a-bot%e2%80%9c-or-%e2%80%9cmake-sure-you-have-a-revenue-model%e2%80%9d/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aurecon &#8211; Emergency Response and Incident Management Application</title>
		<link>http://www.newmedialabs.co.za/mapping/aurecon-emergency-response-and-incident-management-application</link>
		<comments>http://www.newmedialabs.co.za/mapping/aurecon-emergency-response-and-incident-management-application#comments</comments>
		<pubDate>Tue, 03 Nov 2009 15:28:44 +0000</pubDate>
		<dc:creator>Rogan Flitton</dc:creator>
				<category><![CDATA[Custom Development]]></category>
		<category><![CDATA[Mapping]]></category>
		<category><![CDATA[New Media Labs]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[SCRUM]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.newmedialabs.co.za/?p=694</guid>
		<description><![CDATA[Aurecon is a new, innovative, global group created by the recent coming together of 3 world-class companies - Africon, Connel Wagner and Ninham Shand.  They focus on providing professional technical services across a broad spectrum of proficiencies from engineering to information technology.
Aurecon is developing a whole suite of new Incident Management/Emergency Response Software for clients in [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft size-full wp-image-707" title="aurecon" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/aurecon.png" alt="aurecon" width="210" height="57" /><strong><a href="http://www.aurecongroup.com/" target="_blank">Aurecon</a></strong> is a new, innovative, global group created by the recent coming together of 3 world-class companies - Africon, Connel Wagner and Ninham Shand.  They focus on providing professional technical services across a broad spectrum of proficiencies from engineering to information technology.</p>
<p style="text-align: justify;">Aurecon is developing a whole suite of new Incident Management/Emergency Response Software for clients in areas such as Emergency Services, Disaster Management and Policing.</p>
<p style="text-align: justify;"><strong><span style="text-decoration: underline;">The Problem</span></strong></p>
<p style="text-align: justify;">New Media Labs came on board specifically to design, develop and implement a system that:</p>
<ul style="text-align: justify;">
<li>can capture all the necessary information needed by an emergency response unit in order to respond to an incident more quickly and efficiently.<img class="alignright size-medium wp-image-755" title="homer" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/homer-300x225.png" alt="homer" width="240" height="180" /></li>
<li>has an easy to understand and operatable Graphical User Interface.  The more “Minority Report” it looked the better, and as the client once put it, &#8220;<em>if we had to put <strong>Homer Simpson</strong> in front of it, he’d know how to operate it.</em>&#8220;</li>
<li>is GIS enabled, so that operators can pinpoint locations easily and relay co-ordinates to responding units.</li>
<li>is easily deployed across various control stations across the country, and ultimately the world.</li>
</ul>
<p style="text-align: justify;">It just so happened that one of Aurecon’s existing clients operates a large CCTV control centre in the City of Cape Town and was in the market for such an application.</p>
<p style="text-align: justify;"><strong><span style="text-decoration: underline;">The Solution</span></strong></p>
<p style="text-align: justify;">Designed for a call centre/control station environment, our system presents the user with a graphically rich, simple and easy to use User Interface.  Aurecon was adamant that not only should the system work well, but it should also look great, as this would be a large selling point over competing systems.</p>
<p style="text-align: justify;">We implemented a container based UI where functionality is broken up and grouped into several independent, movable, expandable containers/panels.  These panels allow the user to view and work on multiple aspects at once, as well as the ability to drill into one specific section and focus all their attention on that one task.</p>
<p style="text-align: justify;"><object width="560" height="340" data="http://www.youtube.com/v/GNlcMcGbnXE&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/GNlcMcGbnXE&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<p style="text-align: justify;">One of the key aspects to the system is a map - the map gives the user the ability to quickly navigate to a street, intersection, and popular landmark or CCTV camera location.  Designed specifically for a CCTV control station, the system contains a list of hundreds of operational CCTV cameras in and around the City of Cape Town region.  If an operator identifies something on one of their camera monitors, they then pinpoint the location on the map and capture necessary information about the incident so units can be dispatched accordingly.  Ultimately, the information captured in the system is also reported on.  Existing incidents are indicated by a coloured dot on the map depending on the priority of the incident.  CCTV cameras are marked by camera icons.</p>
<p style="text-align: justify;"><object width="560" height="340" data="http://www.youtube.com/v/chYwEgx2O20&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/chYwEgx2O20&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object><strong></strong></p>
<p style="text-align: justify;"><strong><span style="text-decoration: underline;">How did we do it?</span></strong></p>
<p style="text-align: justify;">In a nut shell, <strong>Start Lite</strong>, as the system is called, has a 3 tier architecture comprising of:</p>
<ul style="text-align: justify;">
<li>a SQL Server 2008 backend</li>
<li>WCF SOA middle tier</li>
<li>Silverlight UI</li>
</ul>
<p style="text-align: justify;"><img class="alignright size-medium wp-image-709" title="scrum" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/scrum-269x300.jpg" alt="scrum" width="129" height="144" />Working closely with a newly established Aurecon Development Team, we were on site full time for the duration of the project.  We introduced their team to the <strong>SCRUM</strong> methodology and went from initially running all morning stand ups and sprints to SCRUM being fully integrated into the Aurecon staff and their project management processes.  With SCRUM, New Media Labs were able to keep up with the demanding deadlines of the project and finish Start Light on time and successfully.</p>
<p style="text-align: justify;"><strong><span style="text-decoration: underline;">Database and Web services</span></strong></p>
<p style="text-align: justify;">At New Media Labs, we believe that applying tried and tested patterns and practices is key when building software.  Not only does this accelerate design and development, but it reduces potential risk by ensuring that you’re applying industry standards that other software developers out there are doing as well.</p>
<p style="text-align: justify;">On this particular project we decided to use 2 Microsoft Patterns and Practices: <strong><a title="Repository Factory" href="http://www.codeplex.com/RepositoryFactory" target="_blank">Repository Factory</a></strong> and Web Service <strong><a title="Web Service Software Factory" href="http://www.codeplex.com/servicefactory" target="_blank">Software Factory Modeling Edition</a></strong>.</p>
<p style="text-align: justify;">The Repository Factory is a guidance package that automates creation of entity classes that map to database tables and repository classes to read and write those entity classes.  With it we were able to quickly build our data access and business logic layers.  The Repository Factory creates Business Entity classes from your database schema, generates CRUD (Create, Read, Update and Delete) stored procedures, and ultimately links the two together into ode that is easy to understand and maintain.</p>
<p style="text-align: justify;">With the Web Services Software Factory Modeling Edition, we were able to sit with the project owner and business analysts and graphically model the web services in full view with the use of a projector.  These sessions added incredible value as the whole team (not only developers) was involved and we could brainstorm and discuss more freely.  Once Modeled, the service contracts, message contracts and data contracts are all generated into code that is easily understandable.</p>
<div class="mceTemp" style="text-align: justify;">
<dl id="attachment_759" class="wp-caption alignnone" style="width: 160px;">
<dt class="wp-caption-dt"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/datacontracts.png" rel="lightbox[694]"><img class="size-thumbnail wp-image-759 " title="datacontracts" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/datacontracts-150x150.png" alt="Modelling data contracts for a web service" width="150" height="150" /></a></dt>
<dd class="wp-caption-dd">Modelling data contracts for a web service</dd>
</dl>
</div>
<p style="text-align: justify;">With the Repository Factory and Web Service Software Factory, New Media Labs were able to maintain a high project velocity whilst simultaneously getting the Aurecon Development Team up to speed with the architecture, patterns and practices.  Using the tools is trivial and the resulting code clear and understandable.</p>
<div class="mceTemp" style="text-align: justify;">
<dl id="attachment_760" class="wp-caption alignnone" style="width: 160px;">
<dt class="wp-caption-dt"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/servicecontracts.png" rel="lightbox[694]"><img class="size-thumbnail wp-image-760 " title="servicecontracts" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/servicecontracts-150x150.png" alt="Modelling a web service" width="150" height="150" /></a></dt>
<dd class="wp-caption-dd">Modelling a web service</dd>
</dl>
</div>
<p style="text-align: justify;"><strong><span style="text-decoration: underline;">User Interface</span></strong> <img class="size-medium wp-image-719 alignright" title="microsoft-silverlight1" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/microsoft-silverlight1-300x225.jpg" alt="microsoft-silverlight1" width="180" height="135" /></p>
<p style="text-align: justify;">Why Silverlight?</p>
<ul style="text-align: justify;">
<li>Silverlight is a cross-browser, cross-platform and cross-device web technology, perfect for Aurecon’s need for a system that is quickly, easily and cheaply deployed.</li>
<li>Deployed on an IIS 7 web server - all the client needs to do is download the Silverlight plugin and start using the system.  It’s that simple!</li>
<li>With Silverlight, we were able to rapidly develop a visually rich user interface and experience.</li>
</ul>
<p style="text-align: justify;">Yes, ok but why not Adobe Flash?</p>
<ul style="text-align: justify;">
<li>Aurecon are already heavily Microsoft with various systems and backend processes already built on Microsoft platforms.  With Silverlight leveraging the .NET framework, we were able to create a system that can wield a rich user experience as well as support and easily integrate with other Microsoft back ends.</li>
</ul>
<p style="text-align: justify;"><img class="alignleft size-full wp-image-724" title="esri_logo_large" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/esri_logo_large.jpg" alt="esri_logo_large" width="72" height="86" />As for the Mapping functionality, we used the ESRI ARC GIS API for Silverlight component on top of Aurecon’s very own ESRI Arc GIS Server.  To avoid taking credit where it’s not due, Aurecon own and manage their own GIS data, New Media Labs just got the map to do all the funky things with the data we wanted it to do on screen.</p>
<p style="text-align: justify;"><strong><span style="text-decoration: underline;">Worth Mentioning</span></strong></p>
<p style="text-align: justify;">- <strong><a href="http://blogs.msdn.com/brada/archive/2008/05/03/accessing-the-asp-net-authentication-profile-and-role-service-in-silverlight.aspx" target="_blank">Login with ASP.NET Authentication Services</a></strong></p>
<p style="text-align: justify;"><strong><a href="http://blogs.msdn.com/brada/archive/2008/05/03/accessing-the-asp-net-authentication-profile-and-role-service-in-silverlight.aspx" target="_blank"></a></strong><object width="560" height="340" data="http://www.youtube.com/v/VTQhYG_f_UQ&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/VTQhYG_f_UQ&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<ul style="text-align: justify;">
<li>ASP.NET already comes with a huge array of out-the-box Membership, Role and Profile functionality, so why recreate the wheel?  Start Lite leverages this Membership and Role Functionality.  One can simply expose the ASP.NET Authentication system as a WCF web service with a few configuration settings.</li>
</ul>
<p style="text-align: justify;">- <strong><a href="http://www.codeplex.com/blacklight" target="_blank">Blacklight</a></strong></p>
<table style="text-align: justify;" border="0">
<tbody>
<tr>
<td>
<div id="attachment_742" class="wp-caption alignnone" style="width: 250px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/2009-07-03_133625-1024x635.jpg" rel="lightbox[694]"><strong><strong><img class="size-medium wp-image-742 " title="2009-07-03_133625" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/2009-07-03_133625-300x186.jpg" alt="Multiple Panels Open" width="240" height="149" /></strong></strong></a><p class="wp-caption-text">Multiple Panels Open</p></div></td>
<td>
<p><div id="attachment_743" class="wp-caption alignnone" style="width: 250px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/2009-07-03_133644-1024x635.jpg" rel="lightbox[694]"><strong><strong><img class="size-medium wp-image-743 " title="2009-07-03_133644" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/2009-07-03_133644-300x186.jpg" alt="One Panel Open" width="240" height="149" /></strong></strong></a><p class="wp-caption-text">One Panel Open</p></div></td>
</tr>
</tbody>
</table>
<ul style="text-align: justify;">
<li>For draggable collapsable panelscontainers we utilized the open source Codeplex Blacklight Control suite and customized some of their controls to suit our needs better.</li>
</ul>
<p style="text-align: justify;">- <strong><a href="http://blog.ningzhang.org/2008/11/viewbox-control-in-silverlight-toolkit.html" target="_blank">ViewBox Control</a></strong></p>
<ul style="text-align: justify;">
<li>We decided to use the <strong><a href="http://blog.ningzhang.org/2008/11/viewbox-control-in-silverlight-toolkit.html" target="_blank">ViewBox Control</a></strong> which comes with the <strong><a href="http://silverlight.codeplex.com" target="_blank">Silverlight Toolkit</a></strong> to handle the resizing of our various panel and container contents.  Manually resizing each UI element within a panel’s content when the panel is either maximized or minimized would have been cumbersome to do, and this handy control saved us a lot of time and effort.  It works wonders!</li>
</ul>
<p style="text-align: justify;">- <strong>Announcement and Notifications Engine</strong> <strong></strong></p>
<p style="text-align: justify;">
<p><div id="attachment_731" class="wp-caption aligncenter" style="width: 310px"><strong><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/announcement-1024x518.png" rel="lightbox[694]"><img class="size-medium wp-image-731 " title="announcement" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/announcement-300x151.png" alt="Announcement Functionality" width="300" height="151" /></a></strong><p class="wp-caption-text">Announcement Functionality</p></div>
<ul style="text-align: justify;">
<li>It wouldn’t be New Media Labs style without a social media element to it - we custom built an announcements and notifications engine.  Announcements let a user post important messages for others to see, whilst notifications get fired when important things happen within the system such as the creation of an incident.</li>
</ul>
<p>- <strong><a href="http://silverlight.codeplex.com/wikipage?title=Silverlight%20Toolkit%20Overview%20Part%201&amp;referringTitle=Home&amp;ANCHOR#AutoCompleteBox" target="_blank">AutoCompleteBox Control</a></strong></p>
<ul style="text-align: justify;">
<li>In Start Lite, we tried to guide the user as much as possible when entering information. The <strong><a href="http://silverlight.codeplex.com/wikipage?title=Silverlight%20Toolkit%20Overview%20Part%201&amp;referringTitle=Home&amp;ANCHOR#AutoCompleteBox" target="_blank">AutoCompleteBox</a></strong> control is another cool control that comes with the Silverlight Toolkit (http://silverlight.codeplex.com/).  For Example, when searching for an address, the AutoCompleteBox keeps presenting the user with options based on what they’ve typed in thus far.</li>
</ul>
<p>- <strong>Embedding PDF in Silverlight</strong></p>
<p><strong></strong><object width="560" height="340" data="http://www.youtube.com/v/pRObQbQmy7E&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/pRObQbQmy7E&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<ul style="text-align: justify;">
<li>In Start Lite we implemented some magic to embed a PDF document within the Silverlight.  What&#8217;s actually happening though is with java script, we&#8217;ve actually placed a div tag on top of our Silverlight object and that div tag contains the PDF viewer control.</li>
</ul>
<p><strong><span style="text-decoration: underline;">What is next?</span></strong></p>
<p style="text-align: justify;">As they often say, there is no rest for the wicked, and at New Media Labs, building “wicked” software means once we’re finished with one, we’re onto another!</p>
<p style="text-align: justify;">Utilizing elements and components from Start Lite, we helped Aurecon develop a Back Office Incident Logging System, to be utilized by patrol officers and units, who while on patrol and by their own intervention identify or become involved in emergencies and incidents and ultimately resolve the issue then and there.  Upon their return to the station after duty, they can “back” capture such incidents for reference and reporting.</p>
<p style="text-align: justify;">As with all systems, there is always a phase 2 and with Start Lite we’d like to focus more on modularity and being able to plug in or unplug functionality based purely on a particular clients requirement.  Silverlight is always evolving and with the release of Silverlight 3 there are some awesome new technology advancements we’ll be taking into account, specifically:</p>
<p>- <strong><a href="http://msdn.microsoft.com/en-us/magazine/dd458800.aspx" target="_blank">MVVM</a></strong></p>
<ul style="text-align: justify;">
<li>In the case of Slverlight, you run the risk of ending up with code behind mixed with XAML in varying degrees and ultimately a solution which is difficult to maintain, refactor and test.  As with any large application, it is always a good idea to structure ones User Interface into its own subset of layers.  <strong><a href="http://msdn.microsoft.com/en-us/magazine/dd458800.aspx" target="_blank">MVVM</a></strong> (Model-View-View Model) is a Silverlight specific pattern much like MVC or MVP which separates data (the Model) from the UI (the View), and presents the data in a bindable way for the UI (the View Model).</li>
</ul>
<p>- <strong><a href="http://silverlight.net/learn/videos/silverlight-videos/net-ria-services-intro/" target="_blank">RIA</a></strong></p>
<ul style="text-align: justify;">
<li><strong><a href="http://silverlight.net/learn/videos/silverlight-videos/net-ria-services-intro/" target="_blank">Microsoft .NET RIA Services</a></strong> simplifies the traditional n-tier application pattern by bringing together the ASP.NET and Silverlight platforms.  RIA Services provides a pattern to write application logic that runs on the mid-tier and controls access to data for queries, changes and custom operations.  In a nutshell, with RIA Services, we wouldn’t need to build a WCF layer.</li>
</ul>
<p>- <strong><a href="http://www.codeplex.com/CompositeWPF" target="_blank">PRISM</a></strong></p>
<ul style="text-align: justify;">
<li>Ever heard of a Composite Application Block, well that is what <strong><a href="http://www.codeplex.com/CompositeWPF" target="_blank">PRISM</a></strong> is, a Composite Application Guidance Block specifically for Silverlight and WPF which allows one to modularize the UI and build it in such a way so that one can easily load or unload modules at choice.  Ideal for large, ever changing and ever growing applications.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.newmedialabs.co.za/mapping/aurecon-emergency-response-and-incident-management-application/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NML builds content management system and new website for Nedgroup Investments</title>
		<link>http://www.newmedialabs.co.za/scrum/nml-builds-content-management-system-and-new-website-for-nedgroup-investments</link>
		<comments>http://www.newmedialabs.co.za/scrum/nml-builds-content-management-system-and-new-website-for-nedgroup-investments#comments</comments>
		<pubDate>Mon, 02 Nov 2009 15:22:50 +0000</pubDate>
		<dc:creator>Debbie Derman</dc:creator>
				<category><![CDATA[Content Management Systems]]></category>
		<category><![CDATA[Custom Development]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[New Media Labs]]></category>
		<category><![CDATA[SCRUM]]></category>

		<guid isPermaLink="false">http://www.newmedialabs.co.za/?p=610</guid>
		<description><![CDATA[New Media Labs was chosen to do the development for Nedgroup Investments&#8217; new content management system (CMS) and public-facing website.  Nedgroup wanted a fresh and simple yet informative site, with an intelligent CMS system to replicate and support their business model i.e. fund information, news articles, media etc.



Nedgroup Site Home Page


We chose to use the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">New Media Labs was chosen to do the development for Nedgroup Investments&#8217; new content management system (CMS) and public-facing website.  Nedgroup wanted a fresh and simple yet informative site, with an intelligent CMS system to replicate and support their business model i.e. fund information, news articles, media etc.</p>
<div class="mceTemp" style="text-align: justify;">
<dl id="attachment_613" class="wp-caption alignright" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/home.png" rel="lightbox[610]"><img class="size-medium wp-image-613" title="Nedgroup Home" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/home-300x175.png" alt="Nedgroup Home" width="300" height="175" /></a></dt>
<dd class="wp-caption-dd">Nedgroup Site Home Page</dd>
</dl>
</div>
<p style="text-align: justify;">We chose to use the ASP.Net MVC 1.0 Framework because it satisfied most of our requirements, both for the CMS and the site.  The look and feel for the website was designed and created by Stonewall+ and this HTML was seamlessly plugged into our MVC view as soon as it was supplied.  We used SQL Server and Linq for the data access.</p>
<p style="text-align: justify;"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/navigation.png" rel="lightbox[610]"><img class="alignleft size-thumbnail wp-image-616" title="Navigation management in the CMS" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/navigation-150x150.png" alt="Navigation management in the CMS" width="150" height="150" /></a><strong>Navigation</strong></p>
<p style="text-align: justify;">The navigation for the site was driven by a SiteMapProvider with all the nodes being managed in the CMS.  There were certain rules around the nodes i.e. Certain nodes cannot be removed or unpublished; nodes can only be published if their parent is published etc.  The sidebar and breadcrumb navigation on the site is dynamically generated from the SiteMapProvider.</p>
<p style="text-align: justify;"><strong>CMS Item Workflow</strong></p>
<p style="text-align: justify;">The following content types:</p>
<div class="mceTemp" style="text-align: justify;">
<dl id="attachment_639" class="wp-caption alignright" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/fundsclose.png" rel="lightbox[610]"><img class="size-medium wp-image-639" title="List of Fund Items" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/fundsclose-300x144.png" alt="List of Fund Items" width="300" height="144" /></a></dt>
<dd class="wp-caption-dd">List of Fund Items</dd>
</dl>
</div>
<ul style="text-align: justify;">
<li>Generic Content</li>
<li>Person</li>
<li>Fund</li>
<li>Media</li>
</ul>
<p style="text-align: justify;">incorporate the following features:</p>
<ul style="text-align: justify;">
<li>Publishing workflow
<ul>
<li>Item Creation</li>
<li>Item Approval</li>
<li>Item Publishing</li>
<li>Item Archiving</li>
</ul>
</li>
<li>Email notifications</li>
<li>Versioning</li>
<li>Featured Item</li>
</ul>
<p style="text-align: justify;">Only certain <a href="#users">user roles</a> can perform the different workflow steps, with an over-seeing administrator role which can perform any of the tasks.  Once the item moves to the next status, an email is sent to the relevant parties to inform them and provide a direct link for them to action.</p>
<p style="text-align: justify;">Each item has an Effective From and Effective To date, so you can easily set an item to only appear on the live site from a certain date, or until a certain date.</p>
<p style="text-align: justify;">A versioning system is in place which allows a currently published item to be edited, without affecting the actual live item, until the new version is approved and published, at which stage the &#8220;old&#8221; version will fall away.</p>
<p style="text-align: justify;">Each of these content types also allows for linking to media items such as newsletter PDFs, promotional video clips, fund fact sheets, etc.  Our link selector tool allows you to create an association to already-uploaded media (done via the <a href="#media">Media Manager</a>)</p>
<p style="text-align: justify;">You can also feature an item in the CMS (Fund or Media) and that item will immediately appear on the home page of the website in the featured item boxes.</p>
<p style="text-align: justify;"><a name="users"><strong>CMS User Management</strong></a></p>
<table style="text-align: justify;" border="0">
<tbody>
<tr>
<td>
<p><div id="attachment_644" class="wp-caption alignleft" style="width: 284px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/usercreateclose.png" rel="lightbox[610]"><img class="size-medium wp-image-644" title="Creating a new user" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/usercreateclose-274x300.png" alt="Creating a new user" width="274" height="300" /></a><p class="wp-caption-text">Creating a new user</p></div></td>
<td>A user can either be an Administrator, or any of the other options or combinations thereof.  More roles can obviously be added depending on the business requirement.</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;"><a name="media"><strong>CMS Media Manager</strong></a></p>
<table style="text-align: justify;" border="0">
<tbody>
<tr>
<td>
<p><div id="attachment_647" class="wp-caption alignleft" style="width: 310px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/mediamanagerclose.png" rel="lightbox[610]"><img class="size-medium wp-image-647" title="Media Manager" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/mediamanagerclose-300x190.png" alt="Media Manager" width="300" height="190" /></a><p class="wp-caption-text">Media Manager</p></div></td>
<td>Administrators can upload files via the Media Manager, and these files can then be linked to the content items.The administrator can add and remove folders to allow for easier file storage management.</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;"><strong>Website Screenshots</strong></p>
<div class="mceTemp" style="text-align: justify;">
<dl id="attachment_662" class="wp-caption alignleft" style="width: 265px;">
<dt class="wp-caption-dt"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/domesticfundsclose.png" rel="lightbox[610]"><img class="size-medium wp-image-662" title="Domestic Fund Selector" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/domesticfundsclose-255x300.png" alt="Domestic Fund Selector" width="255" height="300" /></a></dt>
<dd class="wp-caption-dd">Domestic Fund Selector</dd>
</dl>
</div>
<div class="mceTemp" style="text-align: justify;">
<dl id="attachment_663" class="wp-caption alignright" style="width: 222px;">
<dt class="wp-caption-dt"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/fundsdomesticclose.png" rel="lightbox[610]"><img class="size-medium wp-image-663" title="Complete Domestic Fund Listing" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/fundsdomesticclose-212x300.png" alt="Complete Domestic Fund Listing" width="212" height="300" /></a></dt>
<dd class="wp-caption-dd">Complete Domestic Fund Listing</dd>
</dl>
</div>
<table style="text-align: justify;" border="0">
<tbody>
<tr>
<td>
<p><div id="attachment_675" class="wp-caption alignleft" style="width: 310px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/institutionalclose.png" rel="lightbox[610]"><img class="size-medium wp-image-675" title="Investment Principles" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/institutionalclose-300x203.png" alt="Investment Principles" width="300" height="203" /></a><p class="wp-caption-text">Investment Principles</p></div></td>
<td>
<p><div id="attachment_672" class="wp-caption alignright" style="width: 172px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/executivecommitteeclose.png" rel="lightbox[610]"><img class="size-medium wp-image-672" title="Executive Committee Listing" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/executivecommitteeclose-162x300.png" alt="Executive Committee Listing" width="162" height="300" /></a><p class="wp-caption-text">Executive Committee Listing</p></div></td>
</tr>
</tbody>
</table>
<table style="text-align: justify;" border="0">
<tbody>
<tr>
<td>
<p><div id="attachment_671" class="wp-caption alignleft" style="width: 180px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/stablefundclose.png" rel="lightbox[610]"><img class="size-medium wp-image-671" title="Fund Detail" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/stablefundclose-170x300.png" alt="Fund Detail" width="170" height="300" /></a><p class="wp-caption-text">Fund Detail</p></div></td>
<td>
<p><div id="attachment_678" class="wp-caption alignright" style="width: 310px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/newsclose.png" rel="lightbox[610]"><img class="size-medium wp-image-678" title="News" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/11/newsclose-300x263.png" alt="News" width="300" height="263" /></a><p class="wp-caption-text">News</p></div></td>
</tr>
</tbody>
</table>
<table style="text-align: justify;" border="0">
<tbody>
<tr>
<td colspan="2">Go see it for yourself here: <a href="http://www.nedgroupinvestments.co.za">Nedgroup Investments</a></td>
</tr>
</tbody>
</table>
<p style="text-align: justify;"><strong>Things we learned</strong></p>
<p style="text-align: justify;">After the site went live we discovered an <a href="http://www.newmedialabs.co.za/?p=434">interesting Linq bug</a>.  Turns out the Load Testing slipped through our QA&#8217;s net!  We learned very quickly to make sure this doesn&#8217;t happen again&#8230;</p>
<p style="text-align: justify;">Next time we&#8217;ll also make sure we implement the latest and greatest version of the SiteMapProvider for MVC.  The version we used didn&#8217;t seem to refresh the nodes properly and so we spent far too much time on it than it deserved!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newmedialabs.co.za/scrum/nml-builds-content-management-system-and-new-website-for-nedgroup-investments/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NML presents Silverlight to Sanlam</title>
		<link>http://www.newmedialabs.co.za/silverlight/nml-presents-silverlight-to-sanlam</link>
		<comments>http://www.newmedialabs.co.za/silverlight/nml-presents-silverlight-to-sanlam#comments</comments>
		<pubDate>Fri, 23 Oct 2009 14:01:06 +0000</pubDate>
		<dc:creator>ElsieVerheye</dc:creator>
				<category><![CDATA[New Media Labs]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.newmedialabs.co.za/?p=583</guid>
		<description><![CDATA[NML is considered by Microsoft as the leading provider of Silverlight skills in South Africa.
We recently gave a talk at Sanlam on Silverlight. We recorded the presentation and I got Elle to create an abridged transcript of the talk [she wasn't very happy with me].
Gareth Saul &#8211; Why
Rogan Flitton &#8211; What
Debbie Derman &#8211; How
Gareth ( http://twitter.com/garethsaul [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">NML is considered by Microsoft as the leading provider of Silverlight skills in South Africa.</p>
<p style="text-align: justify;">We recently gave a talk at Sanlam on Silverlight. We recorded the presentation and I got Elle to create an abridged transcript of the talk [she wasn't very happy with me].</p>
<p style="text-align: justify;">Gareth Saul &#8211; <em>Why</em></p>
<p style="text-align: justify;">Rogan Flitton &#8211; <em>What</em></p>
<p style="text-align: justify;">Debbie Derman &#8211; <em>How</em></p>
<p style="text-align: justify;"><strong>Gareth ( http://twitter.com/garethsaul )- What is Silverlight? 1/2</strong></p>
<p style="text-align: justify;"><strong><object width="425" height="344" data="http://www.youtube.com/v/Uhici8XzjkE&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/Uhici8XzjkE&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></strong></p>
<p style="text-align: justify;">In order to build rich applications deployed through the browser, you have two options: Flash and Flex or Microsoft Silverlight.</p>
<p style="text-align: justify;">Flash is on 95% of machine today &#8211; if you are predominantly concerned about portability and accessibility then use Flash.</p>
<p style="text-align: justify;">Silverlight is on only about 35% of machines, but Microsoft is heavily pushing to increase this adoption rate and it is now part of updates to Windows machines, but it is still a niche technology &#8211; this is important if looking to build deployable internet applications.</p>
<p style="text-align: justify;"><strong>Gareth &#8211; What is Silverlight 2/2 &#8211; Caching, DataBinding, MVC, MVVM, LinQ, Limitations, Out Of Browser. </strong></p>
<p style="text-align: justify;"><a href="http://www.newmedialabs.co.za/silverlight/nml-presents-silverlight-to-sanlam"><object width="425" height="344" data="http://www.youtube.com/v/_whKtWZCwrY&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/_whKtWZCwrY&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></a><strong></strong></p>
<p style="text-align: justify;"><strong>Why should we care about Microsoft Silverlight?</strong></p>
<ul style="text-align: justify;">
<li>Simple deployment (no installs; web-based accessibility)</li>
<li>Rapid development (abstract web complexities; leveraging existing .NET capabilities)</li>
<li>XAML in the browser</li>
<li>Portability (1 API, 1 platform across all the different browsers)</li>
<li>Easy coding</li>
</ul>
<p style="text-align: justify;"><strong>What do you need to get Silverlight on a machine?</strong></p>
<ul style="text-align: justify;">
<li>Silverlight pluggin (4mb download (Silverlight3); No reboot required)</li>
<li>Silverlight .XAP file(serve from any web server)</li>
<li>Your favourite browser</li>
</ul>
<p style="text-align: justify;"><strong>Where should you use Silverlight?</strong></p>
<ul style="text-align: justify;">
<li>Streaming video (high definition support; supports dynamic bandwidth scaling)</li>
<li>Rich internet applications</li>
<li>Line of business applications (Silverlight has a wide variety of components to assist with this: DataGrid; Charting; WCF; Isolated storage; Databinding; MVVM; LINQ)</li>
</ul>
<p style="text-align: justify;"><strong>Silverlight limitations</strong></p>
<ul style="text-align: justify;">
<li>Browser sandbox (no desktop integration; strict security model)</li>
<li>Bulky XAP files (typical application = 800kb+ &#8211; Silverlight3 helps)</li>
<li>Platform (No support for PowerPC Mac, Windows 98/2000/ME; Limited Linux support via Moonlight)</li>
<li>Local storage (1mb &#8211; 25mb for out-of-browser) &#8211; can be used for anything you can come up with (it&#8217;s not limited to caching) e.g. a whole copy of a database can be brought across the wire and stored on a local machine &#8211; any interactions the clients make with the database are then synchronised backwards and forewards</li>
</ul>
<p style="text-align: justify;">Off-line modes are available &#8211; one of Silverlight3&#8217;s out-of-browser options key features is a network state connection feature so it knows when you are working in an online/offline mode</p>
<p style="text-align: justify;"><strong>Rogan getting started with Silverlight (development environment)</strong></p>
<p style="text-align: justify;"><a href="http://www.newmedialabs.co.za/silverlight/nml-presents-silverlight-to-sanlam"><object width="425" height="344" data="http://www.youtube.com/v/J_S7YW4JN_8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/J_S7YW4JN_8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></a><strong></strong></p>
<p style="text-align: justify;"><strong>Rogan &#8211; Silverlight Hello World and Model/View/View/Model Introduction</strong></p>
<p style="text-align: justify;"><a href="http://www.newmedialabs.co.za/silverlight/nml-presents-silverlight-to-sanlam"><object width="425" height="344" data="http://www.youtube.com/v/la9TndsakLA&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/la9TndsakLA&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></a><strong></strong></p>
<p style="text-align: justify;"><strong>Rogan  &#8211; </strong>Introduction to Model/View/ViewModel pattern<strong></strong></p>
<p style="text-align: justify;"><a href="http://www.newmedialabs.co.za/silverlight/nml-presents-silverlight-to-sanlam"><object width="425" height="344" data="http://www.youtube.com/v/nZq9YZs_-KM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/nZq9YZs_-KM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></a><strong></strong></p>
<p style="text-align: justify;"><strong>What do you need to set up the development environment?</strong></p>
<ul style="text-align: justify;">
<li>Visual Studio 2008/Visual Web Developer</li>
<li>Download and install the Developer tools for Silverlight (including the SDK, Visual Studio project templates, and developer runtimes) from Microsoft website</li>
<li>Download and install Expression Blend = an interactive user interface designing tool for designing XAML interfaces (XAML = Extensible Application Markup Language)</li>
<li>Download and install Silverlight toolkit = collection of extended Silverlight controls, components and utilities &#8211; examples included are: TreeView, AutoCompleteBox, Charting, etc (not a minimum requirement, but highly recommended). Important to note is that this is not a 3<sup>rd</sup> party toolkit, but it is rather fully supported by Microsoft &#8211; as they continuously develop the Silverlight framework they are building a more complex and wider set of user controls in order to support it.</li>
<li>Open Visual Studio &#8211; select &#8220;New Project&#8221; &#8211; Visual Studio now allows you to select &#8220;Silverlight application&#8221;.</li>
<li>Select/Create a folder in which you wish to work &#8211; now you have a XAP file, which goes into the ClientBin folder.</li>
<li>It then asks where you would like to host this application and then in the right hand bar, you will see that is has created a new website along with a default page, a Silverlight application, and a couple of XAML files and some code behinds.</li>
<li>The code behind the application is straight C# code.</li>
<li>For bigger projects it is recommended that you use a model view, view model framework, so your code is a bit neater and easier to work with &#8211; split solution into views, view models, interfaces and implementations</li>
</ul>
<p style="text-align: justify;"><strong>Debbie (http://twitter.com/debbiederman)</strong></p>
<p style="text-align: justify;"><strong>Building a Silverlight UI with Blend (1/3)</strong></p>
<p style="text-align: justify;"><a href="http://www.newmedialabs.co.za/silverlight/nml-presents-silverlight-to-sanlam"><object width="425" height="344" data="http://www.youtube.com/v/0lbk_XGbUVA&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/0lbk_XGbUVA&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></a><strong></strong></p>
<p style="text-align: justify;"><strong>Building a Silverlight UI with Blend (2/3)</strong></p>
<p style="text-align: justify;"><a href="http://www.newmedialabs.co.za/silverlight/nml-presents-silverlight-to-sanlam"><object width="425" height="344" data="http://www.youtube.com/v/D-sLQqf0-Ps&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/D-sLQqf0-Ps&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></a><strong></strong></p>
<p style="text-align: justify;"><strong>Building a Silverlight UI with Blend (3/3)</strong></p>
<p style="text-align: justify;"><a href="http://www.newmedialabs.co.za/silverlight/nml-presents-silverlight-to-sanlam"><object width="425" height="344" data="http://www.youtube.com/v/2R37e3YFWxE&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/2R37e3YFWxE&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></a><strong></strong></p>
<p style="text-align: justify;"><strong>Development and Design</strong></p>
<p style="text-align: justify;">With Blend3 and Silverlight, it is possible for the developers and designers to work simultaneously and seamlessly, as the UI and data models are completely separate elements, which can be fused together through DataBinding at any point.</p>
<p style="text-align: justify;">In order for the designers to create the design, especially for controls, they need to have something to bind to but if the models are not yet ready, then there is nothing for them to load into the data control so there is a concept of Design Time Data.</p>
<p style="text-align: justify;"><strong>Design Time Data</strong></p>
<table style="text-align: justify;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="308" valign="top">
<p align="center"><strong>PROS</strong></p>
</td>
<td width="308" valign="top">
<p align="center"><strong>CONS</strong></p>
</td>
</tr>
<tr>
<td width="308" valign="top">Designers don&#8217;t need a whole development environment/setup</td>
<td width="308" valign="top">Incorrect binding names &#8211; runtime bugs (be very specific with your binding names)</td>
</tr>
<tr>
<td width="308" valign="top">Timing &#8211; development doesn&#8217;t need to have started before the designers begin</td>
<td rowspan="3" width="308" valign="top">Designers may get carried away and create their own data models, which will not match up with the developer models &#8211; probably best for the developer to help the designer create some dummy data to start with</td>
</tr>
<tr>
<td width="308" valign="top">Conditional compilation &#8211; during production, it knows not to use the design time data</td>
</tr>
<tr>
<td width="308" valign="top">Great for quick demos</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;"><strong>Default Basic Project Structure</strong></p>
<p style="text-align: justify;">App.xaml &#8211; very key element because stores application wide resources</p>
<p style="text-align: justify;">Main.xaml</p>
<p style="text-align: justify;">ClientBin folder to host .xap file</p>
<p style="text-align: justify;">Default.html &#8211; contains Silverlight object (can add initParameters to pass parameters to Silverlight object)</p>
<p style="text-align: justify;"><strong>Blend</strong></p>
<p style="text-align: justify;">Each style has a target type property/attribute so you can&#8217;t apply a style made for a text box to anything other than a textbox</p>
<p style="text-align: justify;"><strong>Silverlight Resources on the Web</strong></p>
<p style="text-align: justify;"><a href="http://silverlight.net/"><strong>http://silverlight.net</strong></a><strong></strong></p>
<ul style="text-align: justify;">
<li>- <a href="http://silverlight.net/showcase/"><strong>http://silverlight.net/showcase/</strong></a><strong></strong></li>
<li>- <a href="http://silverlight.net/learn/tutorials/"><strong>http://silverlight.net/learn/tutorials/</strong></a><strong></strong></li>
</ul>
<p style="text-align: justify;"><a href="http://www.codeplex.com/Silverlight"><strong>http://www.codeplex.com/Silverlight</strong></a><strong></strong></p>
<p style="text-align: justify;"><a href="http://blogs.silverlight.net/blogs/msnow/"><strong>http://blogs.silverlight.net/blogs/msnow/</strong></a><strong></strong></p>
<p style="text-align: justify;"><a href="http://weblogs.asp.net/scottgu/"><strong>http://weblogs.asp.net/scottgu/</strong></a><strong></strong></p>
<p style="text-align: justify;"><a href="http://timheuer.com/blog/"><strong>http://timheuer.com/blog/</strong></a><strong></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.newmedialabs.co.za/silverlight/nml-presents-silverlight-to-sanlam/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SmartGuide Tourism Information Portal</title>
		<link>http://www.newmedialabs.co.za/mapping/smartguide-tourism-information-portal</link>
		<comments>http://www.newmedialabs.co.za/mapping/smartguide-tourism-information-portal#comments</comments>
		<pubDate>Fri, 23 Oct 2009 09:41:20 +0000</pubDate>
		<dc:creator>Gareth</dc:creator>
				<category><![CDATA[Content Management Systems]]></category>
		<category><![CDATA[Mapping]]></category>
		<category><![CDATA[Mashups]]></category>
		<category><![CDATA[New Media Labs]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Custom Development]]></category>
		<category><![CDATA[enterprise2.0]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[Tourism]]></category>

		<guid isPermaLink="false">http://www.newmedialabs.co.za/?p=546</guid>
		<description><![CDATA[

The Tourist Problem


See it at www.africantourismportal.com
Tourism is, by its very nature, the act of deliberately taking oneself to somewhere foreign and experiencing the new, the different and the unknown.  That said, most tourists are not interested in stumbling blindly – they want to impose some sort of structure on their journey before they begin.  At [...]]]></description>
			<content:encoded><![CDATA[<h2>
<div class="mceTemp">
<div class="mceTemp" style="text-align: justify;">The Tourist Problem</div>
</div>
</h2>
<p>See it at <a href="http://www.africantourismportal.com">www.africantourismportal.com</a></p>
<p style="text-align: justify;">Tourism is, by its very nature, the act of deliberately taking oneself to somewhere foreign and experiencing the new, the different and the unknown.  That said, most tourists are not interested in stumbling blindly – they want to impose some sort of structure on their journey before they begin.  At the least, they book hotels and accommodation.  Many choose a few particular locations they want to visit.  Some even organise complete itineraries, planning their trips down to the hour.</p>
<p style="text-align: justify;">For all of these people, there is a common problem: what is there to do where I’m going?  Frequently, the primary source of information is a tour book or travel guide – a glossy summary of the most popular attractions.  This information is flat, static, and offers little context.  An improvement is to use a tour operator – an agency who can help to guide you to local attractions and areas of interest, and customise suggestions to your interests and accommodation choices.</p>
<p style="text-align: justify;">Wouldn’t it be even better, then, if you could explore the area yourself?  Whilst map-based products that show hotels or tourist locations have existed for a while, they have until now focused too much on either selling accommodation or on highlighting the tourist attractions.</p>
<h2>Our Solution</h2>
<p><object width="425" height="350" data="http://www.youtube.com/v/891p__0NBYE" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/891p__0NBYE" /></object> </p>
<p style="text-align: justify;">This is where SmartGuide and New Media Labs have collaborated to bring these two worlds together – building a rich, interactive map that shows visitors where they can stay, and pairs it with a wealth of information about the area they are visiting.  As an interactive map product, tourists gain immediate understanding of the spatial relationships between locations.  They can explore at their leisure, consuming images, descriptions, audio and video about points.</p>
<p style="text-align: justify;">The product we have built acts as a hub for a multitude of players in the tourism space.  Information, locations and content feed into it from local tourism agencies and location promoters.  Tourism and accommodation operators feed their own unique images/video/points into it, improving the quality of the content and highlighting features they consider the most valuable.  Tourists use the map to explore, learn and decide where they wish to visit.  They locate accommodation, restaurants and activities in advance, and feed their choices and preferences back to their tour guides or their queries directly to responsible parties.</p>
<div id="attachment_550" class="wp-caption aligncenter" style="width: 578px"><img class="size-full wp-image-550" title="TIP - Point of Interest" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/10/tip1-small.jpg" alt="TIP playing a promotional video" width="568" height="300" /><p class="wp-caption-text">TIP playing a promotional video</p></div>
<p style="text-align: justify;">One of the dominant problems in providing a system like this is in developing and maintaining a high quality repository of information.  This is a task that is poorly suited to tour operators themselves, and individual local tourism bureaus cannot provide either the necessary funding or a wide enough body of information.  Here, a dedicated provider like SmartGuide has the necessary contacts and experience to compile a body of knowledge that can support both the regional agencies and the tour operators.</p>
<p style="text-align: justify;">When dealing with as much content as this, it becomes necessary to manage the volume of information being presented at any one time.  Especially when people are viewing a map, overloading them with points can rapidly becoming intimidating.  SmartGuide and New Media Labs tackled this from a number of directions.  We manage the display of points, making them visible and hiding them at appropriate zoom levels.  This allows us to begin by presenting high-level information and a minimal selection of locations when the zoom is pulled far out, and still have detailed, local content if a visitor chooses to zoom into an area.  We further extended this by allowing visitors to bring categorised content up earlier.  This helps people locate their particular interests quickly &#8211; beaches, golf courses, family attractions, restaurants &#8211; all of these can be highlighted and explored at will.  Lastly, all points on the map have a context-specific icon, which makes it easy to distinguish the general nature of a location at a glance, and without having to click or interact with it.</p>
<div id="attachment_569" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/10/tip7.png" rel="lightbox[546]"><img class="size-medium wp-image-569" title="TIP - Layers" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/10/tip7-300x157.png" alt="Exploring Beaches and Golf Courses" width="300" height="157" /></a><p class="wp-caption-text">Exploring Beaches and Golf Courses</p></div>
<p style="text-align: justify;">This information is fed to tourists through a fully interactive Adobe Flash application, which leverages the exceptional quality of Google Maps for Flash to provide a geospatial display of tourist attractions.  The user interface is built to support simple reskinning by operators, allowing them to imbed the application into their own pages with a fully matching “look and feel”.</p>
<div id="attachment_549" class="wp-caption aligncenter" style="width: 545px"><img class="size-full wp-image-549" title="Customisable Skin" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/10/tip6-strip.jpg" alt="TIP reskinned for Southern Destinations" width="535" height="137" /><p class="wp-caption-text">TIP reskinned for Southern Destinations</p></div>
<div class="mceTemp" style="text-align: justify;"> Together, SmartGuide and New Media Labs made the decision to support as wide a content model as we could.  Thus, the information portal allows any location to have images, videos, YouTube clips, Flickr photo streams, narrated audio, 360o panoramas, textual descriptions, contact numbers, websites URLs, addresses, email links and more.  This is supported by an extensible content model which allows us to grow the feature list as often as we need.</div>
<div id="attachment_553" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/10/tip5.png" rel="lightbox[546]"><img class="size-medium wp-image-553" title="TIP CMS" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/10/tip5-300x157.png" alt="Uploading a path from a KML file" width="300" height="157" /></a><p class="wp-caption-text">Uploading a path from a KML file</p></div>
<p style="text-align: justify;">Obviously, managing all of this content requires tools that are up to the job.  Here, New Media Labs built a complete content management solution that allows SmartGuide and their licensed Operators to update and maintain the ever increasing number of locations.  The content manager is designed to make the job of sorting and filtering through the tens of thousands of locations easy.  It fully supports filtering and sorting, and allows the user to customise the information on display.  This allows SmartGuide and their Operators to &#8220;build their own interface&#8221; for the job at hand.  The content manager uses a combination of direct field editing and custom content-specific editors to always present the most useful interface for the moment.  The content manager allows them to not only monitor points, but also to customise the display of recommendations, guides, routes and layers.</p>
<p style="text-align: justify;">It supports importing content from KML documents and route files, and adding additional regional/location information to points through a reverse geocoding service.  It even allows SmartGuide to generate customised HTML pages for their clients on-the-fly, allowing them to run their business without needing to call on New Media Labs for technical support.</p>
<div id="attachment_570" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/10/tip8.png" rel="lightbox[546]"><img class="size-medium wp-image-570" title="TIP CMS" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/10/tip8-300x156.png" alt="Checking up on Sky Diving" width="300" height="156" /></a><p class="wp-caption-text">Checking up on Sky Diving</p></div>
<p style="text-align: justify;">The content manager isn&#8217;t limited to in-office use, either.  It is fully supported across the internet - and this often leads to SmartGuide consultants taking their laptops with them on the road, and updating content directly from the local offices of tourism agencies.</p>
<h2 class="mceTemp">Underlying Technology</h2>
<p style="text-align: justify;">New Media Labs has a firm belief in using “the right tool for the job”.  As such, a variety of systems were used together to build the tourism portal.</p>
<p style="text-align: justify;">The front-end application was developed using Adobe Flex technology.  Here, our challenge was to deliver a richly interactive application that would behave consistently across the multitude of browsers currently available.  It would need to provide a user experience that set it apart from the majority of Google Maps-based products currently available.  It would need to consume back-end service feeds and orchestrate them to produce a compelling, responsive interactive map.  Lastly, it would need to be customisable and skinnable enough that operators looking to integrate it fully into their websites had the flexibility to do so.</p>
<p style="text-align: justify;">Our decision to use Adobe Flex was informed by all of these aspects.  With Flash penetration at over 95%, we felt comfortable that it had the portability we needed.  ActionScript CSS gave us a good tool to separate the presentation logic from the underlying behaviour, and native support of web services ensured that we could access our back-end content seamlessly.</p>
<p style="text-align: justify;">Even better – it took us only 4 weeks to build the front-end application!  Our initial prototyping efforts using Microsoft Silverlight meant that we could focus on ensuring the user experience was top notch, instead of simultaneously developing the application logic in conjunction with the user interface.</p>
<div id="attachment_557" class="wp-caption aligncenter" style="width: 550px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/10/flexscreenshot-small.jpg" rel="lightbox[546]"><img class="size-full wp-image-557" title="Flex" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/10/flexscreenshot-small.jpg" alt="Developing TIP in Flex Builder" width="540" height="326" /></a><p class="wp-caption-text">Developing TIP in Flex Builder</p></div>
<p style="text-align: justify;">The back end servers run web services hosted inside of IIS 7, running on Windows Server 2008 with SQL Server 2008 databases.  Whilst we investigated building the services with some of the more popular open-source technologies (PHP, Ruby on Rails), we knew that the long-term strategy for the system would require extensive back-end integration with the systems of existing content providers.  Here, we felt that services built using .NET would give us the best combination of performance, flexibility and rapid development on this project.  Especially, we viewed the introduction of the geographic data types within SQL Server 2008 as being important for the ongoing maintenance and development of the system.</p>
<p style="text-align: justify;">The Content Manager was implemented using Microsoft Silverlight (SL3).  Here, we wanted a powerful and responsive interface that would allow the user to perform complex data manipulation quickly.  Microsoft Silverlight was a natural choice – the multitude of user controls provided helped to massively reduce the amount of work necessary to build a content manager.  By allowing the client to work with the data directly in their browser we allowed them to be much more productive than they could have been with a traditional page based CMS system.</p>
<div id="attachment_551" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.newmedialabs.co.za/wp-content/uploads/2009/10/tip23.png" rel="lightbox[546]"><img class="size-medium wp-image-551" title="TIP CMS" src="http://www.newmedialabs.co.za/wp-content/uploads/2009/10/tip23-300x158.png" alt="Browsing and updating point information" width="300" height="158" /></a><p class="wp-caption-text">Browsing and updating point information</p></div>
<p style="text-align: justify;">Obviously, the CMS needed a way to update the primary data store – we evaluated using a traditional web-service based approach, but we wanted something that gave us a good mix between easy extensibility and strong validation and typing.  In the end, we built a generic dynamic update system that relies heavily on shared WCF contracts and reflection.  It allows us to provide continual, as-you-edit updates and synchronisation between the CMS user interface and the backing data store.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newmedialabs.co.za/mapping/smartguide-tourism-information-portal/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Life at Aurecon</title>
		<link>http://www.newmedialabs.co.za/mapping/life-at-aurecon</link>
		<comments>http://www.newmedialabs.co.za/mapping/life-at-aurecon#comments</comments>
		<pubDate>Tue, 20 Oct 2009 09:03:11 +0000</pubDate>
		<dc:creator>Rogan Flitton</dc:creator>
				<category><![CDATA[Mapping]]></category>
		<category><![CDATA[New Media Labs]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Emergency Service Software]]></category>
		<category><![CDATA[EMS]]></category>
		<category><![CDATA[ESRI]]></category>

		<guid isPermaLink="false">http://www.newmedialabs.co.za/?p=438</guid>
		<description><![CDATA[Since April ‘09, Christian and I have been based full time at Aurecon. It is about time for the long overdue update.  Here it is!
In a nutshell, the past few months can be summed up as 2 kick ass applications down and more to come!
Aurecon saw the need to develop a whole suite of new [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Since April ‘09, Christian and I have been based full time at <a href="http://www.aurecongroup.com/" target="_blank"><strong>Aurecon</strong></a>. It is about time for the long overdue update.  Here it is!</p>
<p style="text-align: justify;">In a nutshell, the past few months can be summed up as 2 kick ass applications down and more to come!</p>
<p style="text-align: justify;">Aurecon saw the need to develop a whole suite of new Incident Management Software for existing clients in areas such as Emergency Services, Disaster Management and Policing. Once they decided that immersive, graphical user interfaces were a must and Silverlight was to be at the forefront of delivering such an experience to their clients, it was only a matter of time before New Media Labs’ and Aurecon’s paths would cross.</p>
<p style="text-align: justify;">You’re probably wondering what Incident Management has to do with New Media, well for example, imagine the possibilities of an Incident Management system leveraging off of something as simple as geoRSS.  Suddenly your system can subscribe to hundreds of different feed streams giving an Emergency Services Operation Center a wealth of valuable, visual information on a Map type interface. This opens up the possibilities of police officers, firemen, paramedics or even members of the public to be able to publish incident related information from their mobile phones and ultimately a whole range of operating centers can then subscribe to this real time information aiding them to overcome even the most disastrous of emergencies. This is where Incident Management and Social Media meet and ultimately, it is where New Media Labs can build a long term partnership with an awesome company, and use our knowledge and expertise in web technologies to help build awesome software.</p>
<p style="text-align: justify;"><strong>Start Lite</strong> is the first system we helped develop. Without going into too much detail now, and rather saving more techno talk for the official showcase still to come, a high level definition for Start Lite is a lite, easy to use system that can quickly and effectively capture and initiate the start of an incident. It allows the user to pin point an incident on a fully interactive GIS enabled Map, specify the various details about the incident and manage any people or units that have been dispatched to the incident. Designed, developed and rolled out at a CCTV control centre in Cape Town, Start Lite is primarily (as the name says) a “lite” version of Aurecon’s next planned product called Start, which will cater more fully for other industries and clients in the Incident Management and Emergency Services fields.</p>
<p style="text-align: justify;">Next we developed <strong>Back Office</strong>. Often police officers will be out on patrol and come across incidents that weren’t necessarily initiated by dispatch or a control centre, and therefore there is no digital record of such an occurrence and the resolution of it. Back Office caters for this. It allows the user to capture such incidents once they have finished their patrol and can get back to the station.</p>
<p style="text-align: justify;">Both Systems are web based and were built with Silverlight 2 on top of WCF web services and a SQL 2008 Database. Not only are the systems easily deployed to multiple users, they run in a web browser and also look great!  Some of the components we used on both projects were:</p>
<ul style="text-align: justify;" type="disc">
<li>Draggable collapsible panels/containers. We utilized the open source Codeplex Blacklight Control suite and customized some of their controls to suit our needs better.<a href="http://www.codeplex.com/blacklight" target="_blank"> http://www.codeplex.com/blacklight</a></li>
<li>ESRI Silverlight Map Control, GEO Spatial capabilities of SQL Server and the ESRI Server web services. <a href="http://www.esri.com/silverlight" target="_blank">http://www.esri.com/silverlight</a></li>
<li>Repositoy Factory. <a href="http://www.codeplex.com/RepositoryFactory" target="_blank">http://www.codeplex.com/RepositoryFactory</a></li>
<li>Web Service Software Factory Modeling Edition. <a href="http://www.codeplex.com/servicefactory" target="_blank">http://www.codeplex.com/servicefactory</a></li>
</ul>
<p style="text-align: justify;">Kobus Meyer and the rest of the guys at Aurecon have been extremely kind and accommodating in taking us in and making us feel like members of their team. Chris and I both have enjoyed every minute working with them and have also enjoyed enduring the everyday challenges faced when developing cutting edge Incident Management software. I look forward to the future of this ever growing partnership between Aurecon and New Media Labs.</p>
<p style="text-align: justify;">Check out this awesome video by ESRI on leveraging ArcGIS, geoRSS to create situational awareness.<br />
<object width="425" height="344" data="http://www.youtube.com/v/FdKOxZIIKmQ&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/FdKOxZIIKmQ&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.newmedialabs.co.za/mapping/life-at-aurecon/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
