<?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>Echysttas</title>
	<atom:link href="http://www.echysttas.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.echysttas.org</link>
	<description>Software Development and Game Design with Axonn Echysttas</description>
	<lastBuildDate>Fri, 27 Jan 2012 03:36:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Mobile Shop Assistant Video Demo</title>
		<link>http://www.echysttas.org/2012/01/mobile-shop-assistant-video-demo/</link>
		<comments>http://www.echysttas.org/2012/01/mobile-shop-assistant-video-demo/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 15:58:25 +0000</pubDate>
		<dc:creator>Axonn</dc:creator>
				<category><![CDATA[Portfolio :: Videos]]></category>

		<guid isPermaLink="false">http://www.echysttas.org/?p=380</guid>
		<description><![CDATA[In this 907 x 664 Video Demo, I will present the Mobile Shop Assistant, a Project I built in 2009-2010 for a Dutch customer. It presents the two Applications which make up the Project: a Client Application and a Server Application. The video&#8217;s duration is 7 minutes and 16 seconds. When you&#8217;re done with the <a href=http://www.echysttas.org/2012/01/mobile-shop-assistant-video-demo/>[... read more ...]</a>]]></description>
			<content:encoded><![CDATA[<p>In this 907 x 664 Video Demo, I will present the Mobile Shop Assistant, a Project I built in 2009-2010 for a Dutch customer. It presents the two Applications which make up the Project: a Client Application and a Server Application. The video&#8217;s duration is 7 minutes and 16 seconds.</p>
<p>When you&#8217;re done with the video, feel free to go back to the <a title="Mobile Shop Assistant Presentation" href="http://www.echysttas.org/2012/01/mobile-shop-assistant/">Mobile Shop Assistant Presentation Page</a> or to my <a title="Portfolio Category" href="http://www.echysttas.org/category/portfolio/">Portfolio</a>.</p>
<p><strong>Usage Instructions: please wait for the Video Player to load. It should not take long. Then, press the gray &#8220;Play&#8221; button in the middle of the Video Player. Don&#8217;t forget to scroll down so that you see the entire video.</strong></p>
<p>Note: since I don’t own a top-notch microphone, the quality of the audio recording is not stellar.</p>



        <script type="text/javascript" src="http://www.echysttas.org/Visual/Demos/swfobject.js"></script>
        
        <script type="text/javascript">
            swfobject.registerObject("csSWF", "9.0.115", "http://www.echysttas.org/Visual/Demos/expressInstall.swf");
        </script>
        <style type="text/css">
            #media
            {
                margin-top: 0px;
                margin-left: 0px;
                width: 907px;

                border-style:groove;
                border-width:5px;

            }
            #noUpdate
            {
                margin: 0 auto;
                font-family:Arial, Helvetica, sans-serif;
                font-size: x-small;
                color: #2b3c47;
                text-align: left;
                width: 210px; 
                height: 200px;	
                padding: 40px;
            }
        </style>

        <div id="media">
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="907" height="664" id="csSWF">
                <param name="movie" value="http://www.echysttas.org/Visual/Demos/2011-01-MSA/MSAVid_controller.swf" />
                <param name="quality" value="best" />
                <param name="bgcolor" value="#2b3c47" />
                <param name="allowfullscreen" value="true" />
                <param name="scale" value="showall" />
                <param name="allowscriptaccess" value="always" />
                <param name="flashvars" value="autostart=false&thumb=http://www.echysttas.org/Visual/Demos/2011-01-MSA/FirstFrame.png&thumbscale=45&color=0x2b3c47,0x2b3c47" />
                <!--[if !IE]>-->
                <object type="application/x-shockwave-flash" data="http://www.echysttas.org/Visual/Demos/2011-01-MSA/MSAVid_controller.swf" width="907" height="664">
                    <param name="quality" value="best" />
                    <param name="bgcolor" value="#2b3c47" />
                    <param name="allowfullscreen" value="true" />
                    <param name="scale" value="showall" />
                    <param name="allowscriptaccess" value="always" />
                    <param name="flashvars" value="autostart=false&thumb=http://www.echysttas.org/Visual/Demos/2011-01-MSA/FirstFrame.png&thumbscale=45&color=0x2b3c47,0x2b3c47" />
                <!--<![endif]-->
                    <div id="noUpdate">
                        <p>The Camtasia Studio video content presented here requires a more recent version of the Adobe Flash Player. If you are using a browser with JavaScript disabled please enable it now. Otherwise, please update your version of the free Flash Player by <a href="http://www.adobe.com/go/getflashplayer">downloading here</a>.</p>
                    </div>
                <!--[if !IE]>-->
                </object>
                <!--<![endif]-->
            </object>
        </div>
    
]]></content:encoded>
			<wfw:commentRss>http://www.echysttas.org/2012/01/mobile-shop-assistant-video-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Shop Assistant</title>
		<link>http://www.echysttas.org/2012/01/mobile-shop-assistant/</link>
		<comments>http://www.echysttas.org/2012/01/mobile-shop-assistant/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 11:05:04 +0000</pubDate>
		<dc:creator>Axonn</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.echysttas.org/?p=382</guid>
		<description><![CDATA[Hours: ~700. Produced: 2009 &#8211; 2010. The Mobile Shop Assistant is one of the largest projects I ever built. I was contracted by a Dutch company which wanted to give its Web Shop Framework a great degree of interaction with actual physical locations (partner shops). I was fully responsible for the architecture and coding of <a href=http://www.echysttas.org/2012/01/mobile-shop-assistant/>[... read more ...]</a>]]></description>
			<content:encoded><![CDATA[<p>Hours: ~700. Produced: 2009 &#8211; 2010.</p>
<p>The Mobile Shop Assistant is one of the largest projects I ever built. I was contracted by a Dutch company which wanted to give its Web Shop Framework a great degree of interaction with actual physical locations (partner shops). I was fully responsible for the architecture and coding of both the Desktop platform and the Mobile platform of their new system.</p>
<p>I also made a <a href="http://www.echysttas.org/2012/01/mobile-shop-assistant-video-demo/">video presentation available</a>, featuring a hands-on demonstration of working with the two Applications which make up this Project.</p>
<p>These two Applications are: the Desktop Shop Assistant (in short, the DSA), which is the Server Application, and the Mobile Shop Assistant (MSA), which is the Client Application.</p>
<p>The purpose of this system is to provide a Shop with a connection to its web front-end. Furthermore, through the use of the MSA, changes can be made to the web front-end directly from between the shelves of the store.</p>
<h2>The Desktop Shop Assistant</h2>
<p>This acts as the Server Application. All the Mobile Shop Assistants in the Shop connect to it via WiFi. This is a .Net Framework 3.5 C# Application.</p>
<p>There is only one DSA in each Shop and dozens if not hundreds of Windows Mobile Devices which run the Mobile Shop Assistant. All those devices connect to various WiFi antennas in the Shop and communicate with the DSA.</p>
<p>The Desktop Shop Assistant can initiate data synchronization events whenever the Shop&#8217;s supervisor considers it necessary. This usually happens after the Shop closes or before it opens. The data synchronization events are used for maintenance and updates to all the Mobile Shop Assistant devices operational in the shop.</p>
<div id="attachment_383" class="wp-caption aligncenter" style="width: 523px"><a href="http://www.echysttas.org/wp-content/uploads/2012/01/MSA01_DSAMain.jpg" target="_blank"><img class=" wp-image-383     " title="Desktop Shop Assistant Sync Screen" src="http://www.echysttas.org/wp-content/uploads/2012/01/MSA01_DSAMain.jpg" alt="Desktop Shop Assistant Sync Screen" width="513" height="360" /></a><p class="wp-caption-text">Desktop Shop Assistant Sync Screen (CLICK to see this Image at FULL SIZE - New Window)</p></div>
<p>This (below) is the Reports screen of the DSA. We&#8217;re looking at the Products section. This section is used whenever the Shop&#8217;s supervisors or cashiers have to print a detailed invoice to any of the customers.</p>
<p>The DSA also has reports about Barcode reading failures on the MSA devices in the Shop, order Delivers and more.</p>
<div id="attachment_384" class="wp-caption aligncenter" style="width: 523px"><a href="http://www.echysttas.org/wp-content/uploads/2012/01/MSA02_DSAReports.jpg" target="_blank"><img class=" wp-image-384 " title="Desktop Shop Assistant Reports" src="http://www.echysttas.org/wp-content/uploads/2012/01/MSA02_DSAReports.jpg" alt="Desktop Shop Assistant Reports" width="513" height="360" /></a><p class="wp-caption-text">Desktop Shop Assistant Reports (CLICK to see this Image at FULL SIZE - New Window)</p></div>
<p>And this is how a detailed invoice (Invoice Report) looks like. The difference between a cash register invoice and a DSA-issued invoice is that the DSA-issued invoice is more official and can be stamped and used in public institutions such as banks.</p>
<div id="attachment_385" class="wp-caption aligncenter" style="width: 545px"><a href="http://www.echysttas.org/wp-content/uploads/2012/01/MSA03_DSAInvoiceReport.jpg" target="_blank"><img class=" wp-image-385  " title="Desktop Shop Assistant Invoice Report" src="http://www.echysttas.org/wp-content/uploads/2012/01/MSA03_DSAInvoiceReport.jpg" alt="Desktop Shop Assistant Invoice Report" width="535" height="854" /></a><p class="wp-caption-text">Desktop Shop Assistant Invoice Report (CLICK to see this Image at FULL SIZE - New Window)</p></div>
<p>Charts are an important aspect of any Application which deals with a lot of data. Since the Desktop Shop Assistant is a nexus through which hundreds of Shop Products pass every hour, it is only natural for it to have a wide selection of data representation methods, such as this Product Delivery Slots Chart.</p>
<div id="attachment_386" class="wp-caption aligncenter" style="width: 523px"><a href="http://www.echysttas.org/wp-content/uploads/2012/01/MSA04_DSACharts.jpg" target="_blank"><img class=" wp-image-386 " title="Desktop Shop Assistant Charts" src="http://www.echysttas.org/wp-content/uploads/2012/01/MSA04_DSACharts.jpg" alt="Desktop Shop Assistant Charts" width="513" height="360" /></a><p class="wp-caption-text">Desktop Shop Assistant Charts (CLICK to see this Image at FULL SIZE - New Window)</p></div>
<p>But enough about the DSA. Let&#8217;s talk about the Application where the real action takes place ::- ).</p>
<h2>The Mobile Shop Assistant</h2>
<p>In every Shop where our system is installed, we have a large number of Windows Mobile (6) devices, which run the Mobile Shop Assistant. This is a .Net 3.5 Compact Framework C# Application.</p>
<p>The Login system is only used by Shop employees when they use the MSA for administrative purposes, such as modifying Shop Product Information or processing orders submitted to the Shop&#8217;s web page.</p>
<div id="attachment_387" class="wp-caption aligncenter" style="width: 299px"><img class="size-full wp-image-387 " title="Mobile Shop Assistant Login" src="http://www.echysttas.org/wp-content/uploads/2012/01/MSA05_Login.jpg" alt="Mobile Shop Assistant Login" width="289" height="460" /><p class="wp-caption-text">Mobile Shop Assistant Login</p></div>
<p>In the Orders Review screen, a Shop employee can see what orders have been submitted to the Shop&#8217;s web page, categorized by delivery moment.</p>
<p>This is important because the collection of some orders can begin two days prior to delivery, but fresh products must only be collected on the delivery day.</p>
<div id="attachment_388" class="wp-caption aligncenter" style="width: 306px"><img class="size-full wp-image-388" title="Mobile Shop Assistant Order Review" src="http://www.echysttas.org/wp-content/uploads/2012/01/MSA06_OrderReview.jpg" alt="Mobile Shop Assistant Order Review" width="296" height="460" /><p class="wp-caption-text">Mobile Shop Assistant Order Review</p></div>
<p>Here in the Order Details screen (below), various statistical details about the Order can be seen. The employees of the shop, like cashiers or delivery personnel can use this to complete the order, while the people in charge with picking up items from the order can see if they are ready to submit the order back to the Desktop Shop Assistant.</p>
<p>Normal customers of the shop can also use the handheld device to view their current shopping list. In this screen, they can see how much they spent so far.</p>
<div id="attachment_389" class="wp-caption aligncenter" style="width: 311px"><img class="size-full wp-image-389" title="Mobile Shop Assistant Order Details" src="http://www.echysttas.org/wp-content/uploads/2012/01/MSA07_OrderDetails.jpg" alt="Mobile Shop Assistant Order Details" width="301" height="473" /><p class="wp-caption-text">Mobile Shop Assistant Order Details</p></div>
<p>This is how the Order Products screen looks like. It&#8217;s a list of all Products which have to be collected.</p>
<p>When Products are collected, the red flags visible now, turn green. When a Product has not been completely collected, we use blue flags, or if it&#8217;s unavailable on the Shop&#8217;s shelves, we use black flags. Yellow flags are used if there are price differences between what we scanned and what the Order had in its listing.</p>
<div id="attachment_390" class="wp-caption aligncenter" style="width: 320px"><img class="size-full wp-image-390" title="Mobile Shop Assistant Order Products" src="http://www.echysttas.org/wp-content/uploads/2012/01/MSA08_OrderProducts.jpg" alt="Mobile Shop Assistant Order Products" width="310" height="469" /><p class="wp-caption-text">Mobile Shop Assistant Order Products</p></div>
<p>While collecting an Order, the employee (or customer) can see pictures with the Product, along with name, quantity, price and other statistical data (such as discounts and offers).</p>
<p>The four numbers in the left and right corners represent gathered and required number of items for the currently viewed Product and for the entire Order.</p>
<div id="attachment_391" class="wp-caption aligncenter" style="width: 320px"><img class="size-full wp-image-391" title="Mobile Shop Assistant Order Product Info" src="http://www.echysttas.org/wp-content/uploads/2012/01/MSA09_OrderProductInfo.jpg" alt="Mobile Shop Assistant Order Product Info" width="310" height="467" /><p class="wp-caption-text">Mobile Shop Assistant Order Product Info</p></div>
<p>Naturally, since this is a multi-user Application, we got ourselves a nice little permissions system. Here, the Shop&#8217;s supervisor or IT responsible can set up permissions for various employees and can also modify global permissions for the customers of the Shop.</p>
<p>The permissions are divided into four categories. Each of these categories influences a number of different actions which the Mobile Shop Assistant can perform.</p>
<div id="attachment_392" class="wp-caption aligncenter" style="width: 309px"><img class="size-full wp-image-392" title="Mobile Shop Assistant Administration" src="http://www.echysttas.org/wp-content/uploads/2012/01/MSA10_Administration.jpg" alt="Mobile Shop Assistant Administration" width="299" height="463" /><p class="wp-caption-text">Mobile Shop Assistant Administration</p></div>
<p>This screen below, while similar to the Order Product Details screen above, is quite different in functionality. This is an employee-only screen where Shop Products can be edited. They can also be pulled from the Shop&#8217;s web page from here.</p>
<div id="attachment_393" class="wp-caption aligncenter" style="width: 320px"><img class="size-full wp-image-393" title="Mobile Shop Assistant Product Info" src="http://www.echysttas.org/wp-content/uploads/2012/01/MSA11_ProductInfo.jpg" alt="Mobile Shop Assistant Product Info" width="310" height="462" /><p class="wp-caption-text">Mobile Shop Assistant Product Info</p></div>
<p>At last, this is the Customer selection &amp; editing screen. This screen is featured prominently whenever new orders are created by the Shop&#8217;s employees in the name of a Customer (for example if the Customer called the Shop&#8217;s hotline). Customer data can also be modified here.</p>
<div id="attachment_394" class="wp-caption aligncenter" style="width: 313px"><img class="size-full wp-image-394" title="Mobile Shop Assistant Customer Selection" src="http://www.echysttas.org/wp-content/uploads/2012/01/MSA12_CustomerSelection.jpg" alt="Mobile Shop Assistant Customer Selection" width="303" height="464" /><p class="wp-caption-text">Mobile Shop Assistant Customer Selection</p></div>
<h2>Technical Aspects</h2>
<p>Since this is a customer application which is still in use, I cannot reveal too many of its inner workings. It runs on Motorola devices with 2D or 3D bar code scanners and it uses Motorola&#8217;s framework for interacting with the hardware of the device.</p>
<p>The update system is of particular interest because I used an evolution of my <a title="The Wildcard Updater" href="http://www.echysttas.org/2011/12/the-wildcard-updater/">Wildcard Updater</a>. The new system is capable of installing, rolling back and doing maintenance for any device in the world. Literally. We got a nice register with every Desktop Shop Assistant running at any of our client Shops.</p>
<p>Using this register, we can do preferential updates and per-Shop customizations to any DSA or any of the MSA clients of that DSA. There were cases when we were asked to perform a certain modification for the device used by Argentinean driver of a certain shop.</p>
<p>As it&#8217;s probably obvious by now, our Framework is a 3-level System. The Mobile Shop Assistant connects to the Desktop Shop Assistant which, in turn, connects to the Shop&#8217;s web page. The Shop&#8217;s web page is in fact an implementation of our Web Shop Framework.</p>
<p>More details about the Mobile Shop Assistant Project are available in its <a href="http://www.echysttas.org/2012/01/mobile-shop-assistant-video-demo/">video presentation</a> which I mentioned earlier.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.echysttas.org/2012/01/mobile-shop-assistant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eTimeKeep Admin Video Demo</title>
		<link>http://www.echysttas.org/2011/12/etimekeep-admin-video-demo/</link>
		<comments>http://www.echysttas.org/2011/12/etimekeep-admin-video-demo/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 01:11:54 +0000</pubDate>
		<dc:creator>Axonn</dc:creator>
				<category><![CDATA[Portfolio :: Videos]]></category>

		<guid isPermaLink="false">http://www.echysttas.org/?p=284</guid>
		<description><![CDATA[During this emotional HD quality (1000 x 977 of awesome pixels) video, I will present the Administration Side of my 2007-2008 creation, eTimeKeep. The video is 4 minutes and 45 seconds long, but people usually replay it hundreds of times because they love it so much. Or so I tell myself. When you&#8217;re done with <a href=http://www.echysttas.org/2011/12/etimekeep-admin-video-demo/>[... read more ...]</a>]]></description>
			<content:encoded><![CDATA[<p>During this emotional HD quality (1000 x 977 of awesome pixels) video, I will present the Administration Side of my 2007-2008 creation, eTimeKeep. The video is 4 minutes and 45 seconds long, but people usually replay it hundreds of times because they love it so much. Or so I tell myself.</p>
<p>When you&#8217;re done with the video, feel free to go back to the <a title="eTimeKeep Presentation" href="http://www.echysttas.org/2011/12/etimekeep/">eTimeKeep Presentation Page</a> or to my <a title="Portfolio Category" href="http://www.echysttas.org/category/portfolio/">Portfolio</a>.</p>
<p><strong>Usage Instructions: please wait for the Video Player to load. It should not take long. Then, press the gray &#8220;Play&#8221; button in the middle of the Video Player. Don&#8217;t forget to scroll down so that you see the entire video.</strong></p>
<p>Note: since I don’t own a top-notch microphone, the quality of the audio recording is not stellar.</p>



        <script type="text/javascript" src="http://www.echysttas.org/Visual/Demos/swfobject.js"></script>
        
        <script type="text/javascript">
            swfobject.registerObject("csSWF", "9.0.115", "http://www.echysttas.org/Visual/Demos/expressInstall.swf");
        </script>
        <style type="text/css">
            #media
            {
                margin-top: 0px;
                margin-left: 0px;
                width: 1000px;

                border-style:groove;
                border-width:5px;

            }
            #noUpdate
            {
                margin: 0 auto;
                font-family:Arial, Helvetica, sans-serif;
                font-size: x-small;
                color: #2b3c47;
                text-align: left;
                width: 210px; 
                height: 200px;	
                padding: 40px;
            }
        </style>

        <div id="media">
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1000" height="977" id="csSWF">
                <param name="movie" value="http://www.echysttas.org/Visual/Demos/2007-11-eTimeKeepDmin/ETKAdVid_controller.swf" />
                <param name="quality" value="best" />
                <param name="bgcolor" value="#2b3c47" />
                <param name="allowfullscreen" value="true" />
                <param name="scale" value="showall" />
                <param name="allowscriptaccess" value="always" />
                <param name="flashvars" value="autostart=false&thumb=http://www.echysttas.org/Visual/Demos/2007-11-eTimeKeepDmin/FirstFrame.png&thumbscale=45&color=0x2b3c47,0x2b3c47" />
                <!--[if !IE]>-->
                <object type="application/x-shockwave-flash" data="http://www.echysttas.org/Visual/Demos/2007-11-eTimeKeepDmin/ETKAdVid_controller.swf" width="1000" height="977">
                    <param name="quality" value="best" />
                    <param name="bgcolor" value="#2b3c47" />
                    <param name="allowfullscreen" value="true" />
                    <param name="scale" value="showall" />
                    <param name="allowscriptaccess" value="always" />
                    <param name="flashvars" value="autostart=false&thumb=http://www.echysttas.org/Visual/Demos/2007-11-eTimeKeepDmin/FirstFrame.png&thumbscale=45&color=0x2b3c47,0x2b3c47" />
                <!--<![endif]-->
                    <div id="noUpdate">
                        <p>The Camtasia Studio video content presented here requires a more recent version of the Adobe Flash Player. If you are using a browser with JavaScript disabled please enable it now. Otherwise, please update your version of the free Flash Player by <a href="http://www.adobe.com/go/getflashplayer">downloading here</a>.</p>
                    </div>
                <!--[if !IE]>-->
                </object>
                <!--<![endif]-->
            </object>
        </div>
    
]]></content:encoded>
			<wfw:commentRss>http://www.echysttas.org/2011/12/etimekeep-admin-video-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eTimeKeep Client Video Demo</title>
		<link>http://www.echysttas.org/2011/12/etimekeep-client-video-demo/</link>
		<comments>http://www.echysttas.org/2011/12/etimekeep-client-video-demo/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 22:38:43 +0000</pubDate>
		<dc:creator>Axonn</dc:creator>
				<category><![CDATA[Portfolio :: Videos]]></category>

		<guid isPermaLink="false">http://www.echysttas.org/?p=269</guid>
		<description><![CDATA[Pump up the volume, grab the popcorn, call your friends, phone your family, &#8216;cos today&#8230; we got a new show in town! It&#8217;s a HD quality (1000 x 977 sexy pixels) video of my 2007-2008 creation, eTimeKeep. During the 9 minutes and 32 seconds, prepare for a wonderful story, emotion, empathy and unexpected plot twists! <a href=http://www.echysttas.org/2011/12/etimekeep-client-video-demo/>[... read more ...]</a>]]></description>
			<content:encoded><![CDATA[<p>Pump up the volume, grab the popcorn, call your friends, phone your family, &#8216;cos today&#8230; we got a new show in town! It&#8217;s a HD quality (1000 x 977 sexy pixels) video of my 2007-2008 creation, eTimeKeep. During the 9 minutes and 32 seconds, prepare for a wonderful story, emotion, empathy and unexpected plot twists!</p>
<p>When you&#8217;re done with the video, feel free to go back to the <a title="eTimeKeep Presentation" href="http://www.echysttas.org/2011/12/etimekeep/">eTimeKeep Presentation Page</a> or to my <a title="Portfolio Category" href="http://www.echysttas.org/category/portfolio/">Portfolio</a>.</p>
<p><strong>Usage Instructions: please wait for the Video Player to load. It should not take long. Then, press the gray &#8220;Play&#8221; button in the middle of the Video Player. Don&#8217;t forget to scroll down so that you see the entire video.</strong></p>
<p>Note: since I don’t own a top-notch microphone, the quality of the audio recording is not stellar.</p>



        <script type="text/javascript" src="http://www.echysttas.org/Visual/Demos/swfobject.js"></script>
        
        <script type="text/javascript">
            swfobject.registerObject("csSWF", "9.0.115", "http://www.echysttas.org/Visual/Demos/expressInstall.swf");
        </script>
        <style type="text/css">
            #media
            {
                margin-top: 0px;
                margin-left: 0px;
                width: 1000px;

                border-style:groove;
                border-width:5px;

            }
            #noUpdate
            {
                margin: 0 auto;
                font-family:Arial, Helvetica, sans-serif;
                font-size: x-small;
                color: #2b3c47;
                text-align: left;
                width: 210px; 
                height: 200px;	
                padding: 40px;
            }
        </style>

        <div id="media">
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1000" height="977" id="csSWF">
                <param name="movie" value="http://www.echysttas.org/Visual/Demos/2007-11-eTimeKeepClient/ETKVid_controller.swf" />
                <param name="quality" value="best" />
                <param name="bgcolor" value="#2b3c47" />
                <param name="allowfullscreen" value="true" />
                <param name="scale" value="showall" />
                <param name="allowscriptaccess" value="always" />
                <param name="flashvars" value="autostart=false&thumb=http://www.echysttas.org/Visual/Demos/2007-11-eTimeKeepClient/FirstFrame.png&thumbscale=45&color=0x2b3c47,0x2b3c47" />
                <!--[if !IE]>-->
                <object type="application/x-shockwave-flash" data="http://www.echysttas.org/Visual/Demos/2007-11-eTimeKeepClient/ETKVid_controller.swf" width="1000" height="977">
                    <param name="quality" value="best" />
                    <param name="bgcolor" value="#2b3c47" />
                    <param name="allowfullscreen" value="true" />
                    <param name="scale" value="showall" />
                    <param name="allowscriptaccess" value="always" />
                    <param name="flashvars" value="autostart=false&thumb=http://www.echysttas.org/Visual/Demos/2007-11-eTimeKeepClient/FirstFrame.png&thumbscale=45&color=0x2b3c47,0x2b3c47" />
                <!--<![endif]-->
                    <div id="noUpdate">
                        <p>The Camtasia Studio video content presented here requires a more recent version of the Adobe Flash Player. If you are using a browser with JavaScript disabled please enable it now. Otherwise, please update your version of the free Flash Player by <a href="http://www.adobe.com/go/getflashplayer">downloading here</a>.</p>
                    </div>
                <!--[if !IE]>-->
                </object>
                <!--<![endif]-->
            </object>
        </div>
    
]]></content:encoded>
			<wfw:commentRss>http://www.echysttas.org/2011/12/etimekeep-client-video-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NeverFail Messenger Video Demo</title>
		<link>http://www.echysttas.org/2011/12/neverfail-messenger-video-demo/</link>
		<comments>http://www.echysttas.org/2011/12/neverfail-messenger-video-demo/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 21:32:20 +0000</pubDate>
		<dc:creator>Axonn</dc:creator>
				<category><![CDATA[Portfolio :: Videos]]></category>

		<guid isPermaLink="false">http://www.echysttas.org/?p=253</guid>
		<description><![CDATA[This is a nice, big, fat (1000 x 818) Video Demo of The NeverFail Messenger. It showcases all the important features of the program. In 4 minutes and 58 seconds, you&#8217;ll be taken on the tour of your life. Or, maybe not. But anyway, I hope you&#8217;ll like it. When you&#8217;re done with the video, <a href=http://www.echysttas.org/2011/12/neverfail-messenger-video-demo/>[... read more ...]</a>]]></description>
			<content:encoded><![CDATA[<p>This is a nice, big, fat (1000 x 818) Video Demo of The NeverFail Messenger. It showcases all the important features of the program. In 4 minutes and 58 seconds, you&#8217;ll be taken on the tour of your life. Or, maybe not. But anyway, I hope you&#8217;ll like it.</p>
<p>When you&#8217;re done with the video, feel free to go back to <a title="The NeverFail Messenger Presentation" href="localhost/Echysttas/2011/12/neverfail-messenger/">The NeverFail Messenger Presentation Page</a> or to my <a title="Portfolio Category" href="http://www.echysttas.org/category/portfolio/">Portfolio</a>.</p>
<p><strong>Usage Instructions: please wait for the Video Player to load. It should not take long. Then, press the gray &#8220;Play&#8221; button in the middle of the Video Player. Don&#8217;t forget to scroll down so that you see the entire video.</strong></p>
<p>Note: since I don’t own a top-notch microphone, the quality of the audio recording is not stellar.</p>



        <script type="text/javascript" src="http://www.echysttas.org/Visual/Demos/swfobject.js"></script>
        
        <script type="text/javascript">
            swfobject.registerObject("csSWF", "9.0.115", "http://www.echysttas.org/Visual/Demos/expressInstall.swf");
        </script>
        <style type="text/css">
            #media
            {
                margin-top: 0px;
                margin-left: 0px;
                width: 1000px;

                border-style:groove;
                border-width:5px;

            }
            #noUpdate
            {
                margin: 0 auto;
                font-family:Arial, Helvetica, sans-serif;
                font-size: x-small;
                color: #2b3c47;
                text-align: left;
                width: 210px; 
                height: 200px;	
                padding: 40px;
            }
        </style>

        <div id="media">
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1000" height="818" id="csSWF">
                <param name="movie" value="http://www.echysttas.org/Visual/Demos/2008-08-NeverFail/NVF_controller.swf" />
                <param name="quality" value="best" />
                <param name="bgcolor" value="#2b3c47" />
                <param name="allowfullscreen" value="true" />
                <param name="scale" value="showall" />
                <param name="allowscriptaccess" value="always" />
                <param name="flashvars" value="autostart=false&thumb=http://www.echysttas.org/Visual/Demos/2008-08-NeverFail/FirstFrame.png&thumbscale=45&color=0x2b3c47,0x2b3c47" />
                <!--[if !IE]>-->
                <object type="application/x-shockwave-flash" data="http://www.echysttas.org/Visual/Demos/2008-08-NeverFail/NVF_controller.swf" width="1000" height="818">
                    <param name="quality" value="best" />
                    <param name="bgcolor" value="#2b3c47" />
                    <param name="allowfullscreen" value="true" />
                    <param name="scale" value="showall" />
                    <param name="allowscriptaccess" value="always" />
                    <param name="flashvars" value="autostart=false&thumb=http://www.echysttas.org/Visual/Demos/2008-08-NeverFail/FirstFrame.png&thumbscale=45&color=0x2b3c47,0x2b3c47" />
                <!--<![endif]-->
                    <div id="noUpdate">
                        <p>The Camtasia Studio video content presented here requires a more recent version of the Adobe Flash Player. If you are using a browser with JavaScript disabled please enable it now. Otherwise, please update your version of the free Flash Player by <a href="http://www.adobe.com/go/getflashplayer">downloading here</a>.</p>
                    </div>
                <!--[if !IE]>-->
                </object>
                <!--<![endif]-->
            </object>
        </div>
    
]]></content:encoded>
			<wfw:commentRss>http://www.echysttas.org/2011/12/neverfail-messenger-video-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome!</title>
		<link>http://www.echysttas.org/2011/12/welcome/</link>
		<comments>http://www.echysttas.org/2011/12/welcome/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 05:31:59 +0000</pubDate>
		<dc:creator>Axonn</dc:creator>
				<category><![CDATA[Admin :: News]]></category>

		<guid isPermaLink="false">http://www.echysttas.org/?p=119</guid>
		<description><![CDATA[This website serves a double purpose. To assist me in presenting some of my portfolio and to introduce a few discoveries and theories which might help my readers, whoever they are (software developers, writers, gamers, etc.). It&#8217;s not a Blog, even if it has WordPress behind it. I don&#8217;t like the idea of a Blog. <a href=http://www.echysttas.org/2011/12/welcome/>[... read more ...]</a>]]></description>
			<content:encoded><![CDATA[<p>This website serves a double purpose. To assist me in presenting some of my portfolio and to introduce a few discoveries and theories which might help my readers, whoever they are (software developers, writers, gamers, etc.).</p>
<p>It&#8217;s not a Blog, even if it has WordPress behind it. I don&#8217;t like the idea of a Blog. It&#8217;s probably because (during the Web 2.0 &#8220;revolution&#8221;) a lot of people started Blogging about tons of personal (and usually useless) crap. I prefer to keep personal stuff on my own storage devices. That&#8217;s why it&#8217;s called &#8220;personal&#8221;. So you don&#8217;t smudge it all over the &#8216;net.</p>
<p>On the other hand, there are A LOT of wonderful Blogs out there. People who really have something valuable to say, who provide solutions, ideas, valuable insight and so on. I can&#8217;t forget Product and Company Blogs either. So I&#8217;m not saying &#8220;blogging is evil&#8221;. It&#8217;s just that I prefer to avoid the association. And this is the last time I&#8217;ll mention the word Blog around here.</p>
<p>I created this website in December, 2011. It is my first hands-on experience with WordPress and, I must say, I am positively impressed by it.  My friend DiAngelo planned to use it for our <a title="Gamaddiction" href="http://www.gamaddiction.com/" target="_blank">Gamaddiction website^</a>, and, since I needed a &#8220;portfolio website&#8221; anyway and my echysttas.org domain was rotting unused since 2008, I said, what the hell, let&#8217;s see what this baby can do.</p>
<p>So, while DiAngelo was resting in the weekend, I used the two days to whip this site up into existence. I used a non-standard Theme, so I had quite a bit of tweaking, debugging and swearing to do ::- ).</p>
<p>All things considered (namely that I am not a PHP developer), I managed to emerge victorious on Tuesday, the 13th of December, in the evening, after two more days of struggle. Luckily for me, I got a lot of coding experience in other languages, and I had quite a few encounters with PHP in the past. For example, back in 2008 I had a few run-ins with SilverStripe, which I used for my <a title="Axonn Software Development" href="http://www.axonnsd.org" target="_blank">AxonnSD website^</a>. Even earlier, I used PHP for my <a title="ASD Clock" href="http://axonnsd.org/ASDClock/" target="_blank">ASD Clock project^</a>, where it powered the program&#8217;s alarm synchronization featured (a sort of primitive &#8220;Cloud&#8221; storage which I created back in 2007 &#8211; although I first thought about it in 2004).</p>
<p>So, welcome to my website. I&#8217;ll try to keep it helpful and concise. Hopefully I won&#8217;t pollute the &#8216;net with any useless horseshit ::- D. And if I do, please, feel free to <a title="Contact" href="http://www.echysttas.org/contact/">flame me</a> :;- ).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.echysttas.org/2011/12/welcome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eTimeKeep</title>
		<link>http://www.echysttas.org/2011/12/etimekeep/</link>
		<comments>http://www.echysttas.org/2011/12/etimekeep/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 17:48:11 +0000</pubDate>
		<dc:creator>Axonn</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.echysttas.org/?p=26</guid>
		<description><![CDATA[Hours: ~600. Produced: 2007 &#8211; 2008. eTimeKeep is one of my largest personal projects. It&#8217;s an employee management application for small-to-medium companies. It features a people-friendly approach to project management, while in the same time offering a great degree of task progress supervision for managers. I built eTimeKeep for Wildcard Technologies, a company which I <a href=http://www.echysttas.org/2011/12/etimekeep/>[... read more ...]</a>]]></description>
			<content:encoded><![CDATA[<p>Hours: ~600. Produced: 2007 &#8211; 2008.</p>
<p>eTimeKeep is one of my largest personal projects. It&#8217;s an employee management application for small-to-medium companies. It features a people-friendly approach to project management, while in the same time offering a great degree of task progress supervision for managers.</p>
<div id="attachment_173" class="wp-caption alignright" style="width: 260px"><img class="size-full wp-image-173 " title="Screenshot of eTimeKeep Users Window" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETK1.jpg" alt="Screenshot of eTimeKeep Users Window" width="250" height="621" /><p class="wp-caption-text">The eTimeKeep Users Window</p></div>
<p>I built eTimeKeep for Wildcard Technologies, a company which I started with a partner and in which I had a 50% ownership stake. Since our company featured a highly flexible schedule (especially because we worked with American customers and we had plenty of student employees), we required a way to correctly track the time each employee spends inside the company.</p>
<p>Even more, I wanted to add a system through which employees could write their status reports. I took the idea further and further away and literally poured 3 months of my life in it. I tried to make things very easy and intuitive for everybody, presenting a wealth of data as clearly as possible. I really loved working at it and I am proud of what it is, even today, 3 years later.</p>
<p>So, without further delay, let&#8217;s take this baby for a spin! You can continue to read this post if you&#8217;re interested in the text &amp; images approach, or, if you prefer videos, check my <a title="eTimeKeep Videos" href="http://www.echysttas.org/resources-etimekeep-videos/">eTimeKeep Videos Page</a>. You can even install eTimeKeep yourself! I got a nice clean NSIS installer ready for demo purposes. <a title="Contact Axonn Echysttas" href="http://www.echysttas.org/contact/">Contact me</a> if you want access.</p>
<p>As you can see, eTimeKeep puts a focus on people, rather than boring task screens. The first thing you will see when eTimeKeep starts are the (hopefully happy) faces of your (hopefully loved) colleagues. If you don&#8217;t like somebody, you can always collapse their picture though, *grin*.</p>
<p>eTimeKeep features a User Interface built using DevExpress controls, which enrich the UI experience and provide a wealth of functionality to .Net Developers, speeding up development time. I&#8217;m no DevExpress evangelist, but they really do rock ::- ).</p>
<h2>Technical Aspects</h2>
<p>I used MySQL as the database engine, a decision I am very happy about: I can now host the eTimeKeep back-end on any kind of server, including very cheap collocated Linux machines. In order to use it in .Net, I used components provided by MySQL and, to speed up my development, I used Strong Typed Datasets.</p>
<p>One of the strong points of eTimeKeep is that it&#8217;s very secure. And I mean, VERY secure. I&#8217;m not paranoid, but I wanted to see how far I can go with .Net from a security standpoint, without having to obfuscate any source code.</p>
<p>eTimeKeep uses the following forms of encryption:</p>
<ul>
<li>Asymmetric Key RSA</li>
<li>256 bit Rijndael keys</li>
<li>SHA keys</li>
</ul>
<p>I won&#8217;t list the full details about how the encryption mechanism works, but I may reveal it to you if you pay me lots of money and give me a nice cup of hot black tea ::- D. Earl Gray is preferred.</p>
<p>So. I already said that eTimeKeep focuses on people. But that doesn&#8217;t mean it&#8217;s not, after all, a project management tool. eTimeKeep is based on the well known, tested&amp;trusted Project-&gt;Task-&gt;User structure.</p>
<h2>(Really) Short Presentation</h2>
<p>All eTimeKeep users are permanently assigned to a task. If they&#8217;re working at nothing, they&#8217;re assigned to a &#8220;Generic Task&#8221;. That task can be used to determine how much &#8220;idle&#8221; (read &#8220;wasted&#8221;) time is the company &#8220;making&#8221;. Usually, all eTimeKeep users will try to stay away from the Generic Task. And they do that by picking themselves a Task to work at, using the screen below, which lists Tasks in a nice hierarchical grid. The user will only see the Tasks they have been assigned to.</p>
<div id="attachment_174" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-174 " title="Screenshot of eTimeKeep Pick A Task Window" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETK2.jpg" alt="Screenshot of eTimeKeep Pick A Task Window" width="550" height="300" /><p class="wp-caption-text">eTimeKeep Pick A Task Window</p></div>
<p>At the end of the day, all employees are required to submit an activity report. If they don&#8217;t do that, they will start having &#8220;Missing Reports&#8221;, as you can see in the User List image above. Employees with a missing report were reprimanded with 50% of their salary. At the second missing report, they were fired and sent to labor camps.</p>
<div id="attachment_188" class="wp-caption aligncenter" style="width: 488px"><img class="size-full wp-image-188 " title="Screenshot of eTimeKeep Report Completion Screen" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETK3.jpg" alt="Screenshot of eTimeKeep Report Completion Screen" width="478" height="300" /><p class="wp-caption-text">eTimeKeep Report Completion Screen</p></div>
<p>Users with administrative privileges, team leaders, project managers or project clients can add new tasks to the projects they have permissions to. The company managers, of course, have full access everywhere. The permission system is very flexible. Users can be arranged in Groups, Teams or Departments. Furthermore, projects may be lead by a user or by an entire team. Teams can also be led by users. Groups and Departments are used for further segregation.</p>
<div id="attachment_189" class="wp-caption aligncenter" style="width: 446px"><img class="size-full wp-image-189 " title="Screenshot of eTimeKeep Task Creation Screen" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETK4.jpg" alt="Screenshot of eTimeKeep Task Creation Screen" width="436" height="365" /><p class="wp-caption-text">eTimeKeep Task Creation Screen</p></div>
<p>There is also a very handy Task Management screen. Here, you can set, approve and review Task Progress and add or remove users from Tasks. To keep things clean &amp; tidy, completed tasks are gradually removed from the list. There is no &#8220;version&#8221; filter: things are obscured from view so that its never cluttered without the user needing to do much.</p>
<p>The grid can be filtered by any field simply by clicking on its columns, when a custom filter builder will pop up. It can also be grouped in all imaginable ways by dragging the columns to its header. Whenever you wish to view pruned tasks, there is a checkbox that allows that too.</p>
<div id="attachment_190" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-190 " title="Screenshot of eTimeKeep Task Inspection Screen" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETK5.jpg" alt="Screenshot of eTimeKeep Task Inspection Screen" width="550" height="300" /><p class="wp-caption-text">The eTimeKeep Task Inspection Screen</p></div>
<p>The Add Users screen can be seen in many places in eTimeKeep: when you assign users to a Task (either at creation or later), when you want to add more recipients to a message, when you want to see the charts or reports only for a certain person and so on.</p>
<div id="attachment_191" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-191 " title="Screenshot of eTimeKeep User Selection Screen" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETK6-e1323830632581.jpg" alt="Screenshot of eTimeKeep User Selection Screen" width="550" height="182" /><p class="wp-caption-text">The eTimeKeep User Selection Screen</p></div>
<p>And since we just talked about reports, here is the nice screen which allows managers, team leaders, project managers and clients pull reports from the system. It supports all kinds of filters and can even export data to common formats such as Excel, text and CSV.</p>
<div id="attachment_199" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-199 " title="Screenshot of eTimeKeep Reports Screen" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETKD.jpg" alt="Screenshot of eTimeKeep Reports Screen" width="550" height="303" /><p class="wp-caption-text">eTimeKeep Reports Screen</p></div>
<p>Here&#8217;s a snap of the messaging system too. It shows a message sent by the system to a user, once he has been assigned to a task. This same message window is also used for inter-user communication. This is not an instant messaging solution, for that, we got <a title="The NeverFail Messenger" href="http://www.echysttas.org/2011/12/neverfail-messenger/" target="_blank">The NeverFail Messenger^</a>, which, at a certain point, I wanted to integrate with eTimeKeep.</p>
<div id="attachment_192" class="wp-caption aligncenter" style="width: 508px"><img class="size-full wp-image-192 " title="Screenshot of eTimeKeep Task Notification Message" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETK7.jpg" alt="Screenshot of eTimeKeep Task Notification Message" width="498" height="305" /><p class="wp-caption-text">An eTimeKeep Task Notification Message</p></div>
<p>As I said, eTimeKeep features some very nice data presentation systems. Let&#8217;s see how clients, team leaders or project managers track progress.</p>
<p>Well, first of all, we got charts such as the User Presence chart, where you can see the exact number of worked hours, per user, per day, in a nice 3D graphic which can be rotated &amp; zoomed using the mouse. Of course, filters are ready to help narrow down the results and explore them more easily.</p>
<div id="attachment_193" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-193 " title="Screenshot of eTimeKeep User Presence 3D Chart" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETK8.jpg" alt="Screenshot of eTimeKeep User Presence 3D Chart" width="550" height="353" /><p class="wp-caption-text">eTimeKeep User Presence 3D Chart</p></div>
<p>Want more details? No problem. The Daily Presence Chart offers highly precise details about a user&#8217;s day, including time when the user left the computer for whatever reason, when the user switched tasks, when he arrived at the company and when he left. We got all this data without using systems such as electronic cards installed at every door. eTimeKeep is able to determine when the user is not at the computer using hardware monitoring of keyboard and mouse movements (without logging anything, of course).</p>
<div id="attachment_203" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-203 " title="Screenshot of eTimeKeep Daily Presence Screen" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETKE.jpg" alt="Screenshot of eTimeKeep Daily Presence Screen" width="550" height="200" /><p class="wp-caption-text"> eTimeKeep Daily Presence Chart</p></div>
<p>But enough with the users. Let&#8217;s look at some tasks. We do that using charts such as the Effort Per Task, which lists the exact number of hours worked at a certain task, together with a nice chart showing each user&#8217;s contribution.</p>
<div id="attachment_194" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-194 " title="Screenshot of eTimeKeep Task Effort Chart" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETK9.jpg" alt="Screenshot of eTimeKeep Task Effort Chart" width="550" height="353" /><p class="wp-caption-text">The eTimeKeep Task Effort Chart</p></div>
<h2>The Administration Application</h2>
<p>eTimeKeep is not only about the database and the Client-side which I just presented. It also has an administration tool, which is a completely separate application. This application is VERY important.</p>
<p>The Admin Application is used to generate the very important encrypted fingerprints, signatures and other secret sauces. Again, I won&#8217;t go into much detail here, because I&#8217;m afraid of the CIA and the Mossad. Suffice to say that the eTimeKeep client can&#8217;t even connect to a database without the vital files generated by its Admin.</p>
<div id="attachment_195" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-195 " title="Screenshot of eTimeKeep Admin Tool Login" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETKA.jpg" alt="Screenshot of eTimeKeep Admin Tool Login" width="550" height="250" /><p class="wp-caption-text">eTimeKeep Admin Tool Login</p></div>
<p>Naturally, only company managers have access here.</p>
<p>Besides generating the keys, this Application is also responsible with approving users. This is another highly secured process which is based on scanning a user machine&#8217;s hardware configuration, down to the hard disk serial number, ethernet MAC and other highly explosive stuff I won&#8217;t say because I&#8217;m afraid of the NSA and the MI6.</p>
<div id="attachment_196" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-196 " title="Screenshot of eTimeKeep Admin Tool User Validation Page" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETKB.jpg" alt="Screenshot of eTimeKeep Admin Tool User Validation Page" width="550" height="369" /><p class="wp-caption-text">eTimeKeep Admin Tool - User Validation Page</p></div>
<h2>To be continued?</h2>
<p>I think that&#8217;s enough eTimeKeep for now.</p>
<p>I don&#8217;t know if I will ever work at the project again. I packed it carefully, with extra perfume and lots of comments in the code, so I know that when I will, I&#8217;ll at least have a nice environment waiting for me. For now, however, time simply doesn&#8217;t allow me to deviate from my present course, one which is quite different than what I was doing back in 2008.</p>
<p>See you on the Login Page! ::- ).</p>
<div id="attachment_197" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-197 " title="Screenshot of eTimeKeep Login Screen" src="http://www.echysttas.org/wp-content/uploads/2011/12/ETKC.jpg" alt="Screenshot of eTimeKeep Login Screen" width="550" height="324" /><p class="wp-caption-text">The eTimeKeep Login Screen</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.echysttas.org/2011/12/etimekeep/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The NeverFail Messenger</title>
		<link>http://www.echysttas.org/2011/12/neverfail-messenger/</link>
		<comments>http://www.echysttas.org/2011/12/neverfail-messenger/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 16:32:24 +0000</pubDate>
		<dc:creator>Axonn</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.echysttas.org/?p=29</guid>
		<description><![CDATA[Hours: ~300. Produced: 2008. I was, am, and probably will be always DISGUSTED by all Instant Messaging solutions! Yahoo is horrible and full of bugs, Skype and Pidgin lack important features, Trillian is not free, MSN&#8217;s message delivery system is buggy, etc! So, as any good critic, I took my words and put them where <a href=http://www.echysttas.org/2011/12/neverfail-messenger/>[... read more ...]</a>]]></description>
			<content:encoded><![CDATA[<p>Hours: ~300. Produced: 2008.</p>
<div id="attachment_215" class="wp-caption alignright" style="width: 256px"><img class="size-full wp-image-215 " title="Screenshot of The NeverFail Messenger Contacts List" src="http://www.echysttas.org/wp-content/uploads/2011/12/NVF1.jpg" alt="Screenshot of The NeverFail Messenger Contacts List" width="246" height="800" /><p class="wp-caption-text">The NeverFail Messenger Contacts List</p></div>
<p>I was, am, and probably will be always DISGUSTED by all Instant Messaging solutions! Yahoo is horrible and full of bugs, Skype and Pidgin lack important features, Trillian is not free, MSN&#8217;s message delivery system is buggy, etc! So, as any good critic, I took my words and put them where my Visual Studio was!</p>
<p>Continue to read this post if you&#8217;re interested in the text &amp; images approach, or, if you prefer videos, check the <a title="The NeverFail Messenger Video Presentation" href="http://www.echysttas.org/2011/12/neverfail-messenger-video-demo/">NeverFail Messenger Presentation Video</a>. You can even install NeverFail yourself! I got a nice clean NSIS installer ready for demo purposes. <a title="Contact Axonn Echysttas" href="http://www.echysttas.org/contact/">Contact me</a> if you want access.</p>
<p>The NeverFail (Instant) Messenger is my attempt to even the score with some of the horrible products out there. Naturally, since I didn&#8217;t have a team or any investors behind me, I was only able to take this product to a &#8220;Proof Of Concept&#8221; stage. It&#8217;s a very advanced proof of concept, mind you, but it&#8217;s still not complete enough to be used comfortably. However, the roots are solid, I believe, as, so much hate against the IM programs out there was very motivating! ::- D.</p>
<p>So, &#8220;what&#8217;s with the name&#8221; you ask? I named it like this because of the biggest problem with a lot of IMs out there: failure to deliver the messages! For fuck&#8217;s sake, a messenger is supposed to DELIVER MESSAGES, how the hell is it that most of them fail exactly in that regard!? I will tell you how: because of (extremely) poor coding and (horribly) misguided server architecture.</p>
<p>Excuse my harsh language, but I&#8217;m still enraged against all IM solutions. There isn&#8217;t a single IM that has it all right. Yahoo has very nice features (custom invisibility settings comes to mind) but they dumb it down version by version. Lately, they started storing the archive on their already broken servers. Don&#8217;t get me started how completely screwed any Yahoo archives are now.</p>
<p>That being said, the &#8220;NeverFail&#8221; name has a very important reason behind it: this Messenger should Never Fail ::- ). And it doesn&#8217;t. The NeverFail Messenger works on the assumption that the entire Universe is conspiring so that your messages fail to reach their destination. And it is prepared to do battle with said Universe ::- D.</p>
<h2>Technical Aspects</h2>
<p>The bulletproof and meteorproof armor of the NeverFail Messenger is a a redundant database system: server-side *and* client-side. Once a message is written, it will first go to a client-side repository: in case the internet connection dies, the message will never get lost. Not even if you lose power as soon as you hit your &#8220;Send Message&#8221; key (Enter by default).</p>
<p>Then, the message goes to the server, where it is stored in a database together with a unique SSH hash of the message and a UTC timestamp. It is then sent to its intended destination. If the receiver does NOT confirm receiving the message by returning the unique SSH hash, the message will CONTINUE to be sent AGAIN and AGAIN until the receiver confirms it or disconnects from the system (in which case, any messages will wait for the receiver&#8217;s return).</p>
<div id="attachment_217" class="wp-caption alignleft" style="width: 258px"><img class="size-full wp-image-217 " title="Screenshot of The NeverFail Messenger Contact List 2" src="http://www.echysttas.org/wp-content/uploads/2011/12/NVF3.jpg" alt="Screenshot of The NeverFail Messenger Contact List 2" width="248" height="629" /><p class="wp-caption-text">The NeverFail Messenger Contact List</p></div>
<p>If the receiver somehow receives the same SSH/UTC stamp message twice (due to network lags or problems), it will again tell the server that it has received it, but will not duplicate the message on the screen.</p>
<p>The SSH hash makes sure that not even a single letter of your messages is corrupted by an internet transfer. The entire system is made so that it&#8217;s almost impossible to lose a message you typed. The only narrow case is if your computer has a complete hardware failure after you pressed your &#8220;Send Message&#8221; key. Complete hardware failure = unrecoverable hard disk with no further hope of connecting to the Internet.</p>
<p>All this is built on a custom Socket Server, written in C# which runs as a Windows Service. The database is MySQL, a solution I picked for its cheap hosting alternatives. More redundant database nodes can be established across the network.</p>
<p>Since the target demographic of NeverFail is very wide, I had to make sure it has a nice User Interface. I achieved this in two ways. First of all, I used DevExpress controls, which enrich the UI experience and provide a wealth of functionality to .Net Developers, speeding up development time. I’m no DevExpress evangelist, but they really do rock ::- ).</p>
<p>Secondly, I added a highly flexible Skinning system, combined with full Internationalization support. Skins and Languages can be swapped during runtime, without any restart required. All modifications are applied instantly on all opened windows.</p>
<p>I&#8217;m not such a great designer, my talent is with the keyboard. That aside, the NeverFail Messenger is one of the prettiest projects I ever built. And you wanna know why? Because it was a gift for my girlfriend ::- ). I hated how we sometimes had communication issues because of crappy commercial software, so I built this one just for us. I presented it to her on her birthday in 2008. She loved it ::- D.</p>
<h2>Short Presentation</h2>
<p>Now that I&#8217;ve told you a bit about NeverFail&#8217;s insides, let&#8217;s take a look at how it looks and what functionalities it provides the user. I already shown you the Skins (aka Themes). The Skins are XML files which describe what colors, images and User Interface style to apply to the Application. New Skins can be created by anybody and NeverFail will read them as soon as it starts up. No installation is required. And here is how you select your themes.</p>
<div id="attachment_219" class="wp-caption aligncenter" style="width: 525px"><img class="size-full wp-image-219 " title="Screenshot of The NeverFail Messenger Themes Selection" src="http://www.echysttas.org/wp-content/uploads/2011/12/NVF5.jpg" alt="Screenshot of The NeverFail Messenger Themes Selection" width="515" height="332" /><p class="wp-caption-text">NeverFail Messenger Themes Selection</p></div>
<p>And, to quote my own words: what good is a Messenger without friends? This is how you add them. Invitations can be refused or ignored by the invited party. Even more, taking a decision can be delayed for the next time the invited party starts the program, when the Server will remind them about the invitation.</p>
<div id="attachment_216" class="wp-caption aligncenter" style="width: 548px"><img class="size-full wp-image-216 " title="Screenshot of The NeverFail Messenger Add Friends Screen" src="http://www.echysttas.org/wp-content/uploads/2011/12/NVF2.jpg" alt="Screenshot of The NeverFail Messenger Add Friends Screen" width="538" height="419" /><p class="wp-caption-text">The NeverFail Messenger Add Friends Screen</p></div>
<p>Another aspect I wanted to improve on in the field of Instant Messaging software is grouping. First of all, like with any respectable IM (not Skype), you can create any number of Groups in which to add your Contacts. However, one improvement over any other IM is that you can have duplicates in your groups. You can have a friend both in your &#8220;Programmers&#8221; group as well as in the &#8220;Close Friends&#8221; group and in the &#8220;Stockholm&#8221; group.</p>
<p>I had in plan to even implement a Group organization based on &#8220;Jobs&#8221;, &#8220;Locations&#8221;, &#8220;Relation&#8221; or any kind of customizable tab. I haven&#8217;t had the time to code that though.</p>
<div id="attachment_218" class="wp-caption aligncenter" style="width: 548px"><img class="size-full wp-image-218 " title="Screenshot of The NeverFail Messenger Group Management Screen" src="http://www.echysttas.org/wp-content/uploads/2011/12/NVF4.jpg" alt="Screenshot of The NeverFail Messenger Group Management Screen" width="538" height="524" /><p class="wp-caption-text">The NeverFail Messenger Group Management Screen</p></div>
<p>I managed only to add basic Preferences to the NeverFail Messenger. By the way, you might have noticed the pretty icons everywhere. Those are not DevExpress. It&#8217;s the IconShock library, the Lumina series to be precise. I bought the library in 2008, an investment that helps me even today.</p>
<div id="attachment_220" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-220 " title="Screenshot of The NeverFail Messenger Preferences Screen" src="http://www.echysttas.org/wp-content/uploads/2011/12/NVF6.jpg" alt="Screenshot of The NeverFail Messenger Preferences Screen" width="550" height="328" /><p class="wp-caption-text">The NeverFail Messenger Preferences Screen</p></div>
<p>But how does the actual Instant Messaging looks like? I guess after all you&#8217;ve seen, it&#8217;s going to be rather anti-climatic when you see the simple IM window. But that is by design. I could have added lots of &#8220;rich&#8221; design to the chat window, but I chose to keep it ultra-clean and simple. It doesn&#8217;t even have emoticons, but I admit that this was purely a time constraint rather than a design choice.</p>
<p>The chat window uses IEFrame, the well-known Windows OS browser control. So everything that goes on is in HTML. I used C#-generated CSS classes to customize the browser&#8217;s control scrollbar, and C#-injected JavaScript to create smooth scrolling and other nice features.</p>
<div id="attachment_229" class="wp-caption aligncenter" style="width: 453px"><img class="size-full wp-image-229 " title="Screenshot of The NeverFail Instant Message Window" src="http://www.echysttas.org/wp-content/uploads/2011/12/NVF8.jpg" alt="Screenshot of The NeverFail Instant Message Window" width="443" height="281" /><p class="wp-caption-text">The NeverFail Instant Message Window</p></div>
<h2>The End?</h2>
<p>I never got to implementing the archive, but I can say this: it would have been, by default, stored on the local storage media or, by user choice, 7zip-encrypted and ultra-compressed and sent to the server in a binary format. Also, it would include Export and Import functionalities and a decent Archive browser. This is something not a single IM has. All archive functionalities are apalling.</p>
<p>Even more, I wanted to implement basic white-board and syntax coloring functionalities for programmers. And if I don&#8217;t stop writing soon, I might come up with too many new ideas, I&#8217;ll over-enthuse myself and I&#8217;ll start work at The NeverFail Messenger again &#8211; something I don&#8217;t have time for.</p>
<p>But who knows, maybe someday, we&#8217;ll all be using NeverFail Messengers, *grin*, isn&#8217;t that a scary thought? Hehe. See you!</p>
<div id="attachment_221" class="wp-caption aligncenter" style="width: 256px"><img class="size-full wp-image-221 " title="Screenshot of The NeverFail Messenger Login Screen" src="http://www.echysttas.org/wp-content/uploads/2011/12/NVF7.jpg" alt="Screenshot of The NeverFail Messenger Login Screen" width="246" height="614" /><p class="wp-caption-text">The NeverFail Messenger Login Screen</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.echysttas.org/2011/12/neverfail-messenger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Wildcard Updater</title>
		<link>http://www.echysttas.org/2011/12/the-wildcard-updater/</link>
		<comments>http://www.echysttas.org/2011/12/the-wildcard-updater/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 15:12:59 +0000</pubDate>
		<dc:creator>Axonn</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.echysttas.org/?p=49</guid>
		<description><![CDATA[Hours: ~60. Produced: 2008. I created the Wildcard Updater in 2008, for updating various applications I built for Wildcard Technologies, a company which I started with a partner and in which I had a 50% ownership stake. Even though we were working mostly at offshore projects, I dedicated a fair amount of time to in-house <a href=http://www.echysttas.org/2011/12/the-wildcard-updater/>[... read more ...]</a>]]></description>
			<content:encoded><![CDATA[<p>Hours: ~60. Produced: 2008.</p>
<p>I created the Wildcard Updater in 2008, for updating various applications I built for Wildcard Technologies, a company which I started with a partner and in which I had a 50% ownership stake. Even though we were working mostly at offshore projects, I dedicated a fair amount of time to in-house products.</p>
<p>Two of those in-house products have grown large enough to require and feature the Live Updates insured by the Wildcard Updater System. As a matter of fact, they are featured on this website: <a title="eTimeKeep" href="http://www.echysttas.org/2011/12/etimekeep/">eTimeKeep </a>and <a title="The NeverFail Messenger" href="http://www.echysttas.org/2011/12/neverfail-messenger/">The NeverFail Messenger</a>.</p>
<p>I mentioned the &#8220;Wildcard Updater System&#8221;. That&#8217;s because this is not simply an application-specific updater. I am a huge fan of code re-usability, so I created a system which I could use in all my applications.</p>
<h2>Technical Aspects</h2>
<p>The system relies on the Wildcard Update Builder, which you can see in the screenshot below. This is the Administration-side of the Wildcard Update System. It downloads a binary-serialized Update Data File from a certain Update Website (configurable) and allows us to set up the currently used version for any of our products. The file can then be saved and uploaded back to the Update Website.</p>
<div id="attachment_147" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-147 " title="Screenshot of the Wildcard Updater Admin Screen" src="http://www.echysttas.org/wp-content/uploads/2011/12/WildcardUpdater2.png" alt="Screenshot of the Wildcard Updater Admin Screen" width="550" height="295" /><p class="wp-caption-text">The Wildcard Updater Admin Screen</p></div>
<p>Any Applications which use the Wildcard Updater System will usually check the Update Website on startup or during their execution. The Wildcard Updater Class Library will be used to decode the data found in the Update Data File. This data will tell the Application what version is currently set as Active. This way, we can even roll back to previous versions whenever we wish to.</p>
<p>When the Application determines that an update is required, it will download the Update Archive from the Update Website and then shut itself down, but not before launching the Wildcard Updater File Installer. This is a separate application which takes care of unpacking the Update Archive and updating the required files. The system uses the 7Zip SDK for superb compression rates and a File System Specification Structure for very detailed operations, including the patching of files.</p>
<div id="attachment_148" class="wp-caption aligncenter" style="width: 538px"><img class="size-full wp-image-148 " title="Screenshot of Wildcard Updater File Installer" src="http://www.echysttas.org/wp-content/uploads/2011/12/WildcardUpdater3.png" alt="Screenshot of Wildcard Updater File Installer" width="528" height="270" /><p class="wp-caption-text">The Wildcard Updater File Installer</p></div>
<p>The system is highly redundant. It can use multiple Update Servers: in case a server is down, connection to another one will be attempted. The Update Data file can be disseminated to all websites at once using the Update Builder. Furthermore, strict hash-checks are employed to safe-guard the update process.</p>
<p>And of course, to ensure no unauthorized persons can bust into our update system, the Update Builder requires login before allowing access to the modification of the Update File.</p>
<div id="attachment_146" class="wp-caption aligncenter" style="width: 342px"><img class="size-full wp-image-146 " title="Screenshot of the Wildcard Updater Login Screen" src="http://www.echysttas.org/wp-content/uploads/2011/12/WildcardUpdater1.png" alt="Screenshot of the Wildcard Updater Login Screen" width="332" height="217" /><p class="wp-caption-text">The Wildcard Updater Login Screen</p></div>
<h2>Other Aspects</h2>
<p>Like with any project, there are still many features which I would like to implement. But alas, like with any project (again), time is unforgiving. Greater priorities have pulled me away from C# in the recent years, so I haven&#8217;t had much use for the Wildcard Updater lately.</p>
<p>I wanted to Open Source it, but even that takes a bit of time, especially with systems of greater complexity (which rely on several applications &amp; layers), mostly because of the functional diagrams and documentation I like to write when releasing something into the wild. Even so, I think it&#8217;s quite possible that the Wildcard Updater has a (glorious?) future ahead of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.echysttas.org/2011/12/the-wildcard-updater/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Literata</title>
		<link>http://www.echysttas.org/2011/12/literata/</link>
		<comments>http://www.echysttas.org/2011/12/literata/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 14:33:49 +0000</pubDate>
		<dc:creator>Axonn</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.echysttas.org/?p=54</guid>
		<description><![CDATA[Hours: ~30. Produced: 2010. Literata is a Vocabulary Analysis Tool. It is used to compare the vocabulary richness of two or more texts. I created it because I like writing; I see it as one of my biggest hobbies. And because I like writing, I begun work at my first book in 2010, during the <a href=http://www.echysttas.org/2011/12/literata/>[... read more ...]</a>]]></description>
			<content:encoded><![CDATA[<p>Hours: ~30. Produced: 2010.</p>
<p>Literata is a Vocabulary Analysis Tool. It is used to compare the vocabulary richness of two or more texts. I created it because I like writing; I see it as one of my biggest hobbies. And because I like writing, I begun work at my first book in 2010, during the NaNoWriMo literary marathon. Although I liked how the book was shaping up, I felt unsure about the richness of my vocabulary, since English is not my mother tongue. Thus, Literata was born.</p>
<div id="attachment_101" class="wp-caption aligncenter" style="width: 410px"><img class="size-full wp-image-101 " title="Screenshot of Literata: Literata Text Input Window" src="http://www.echysttas.org/wp-content/uploads/2011/12/Literata1.jpg" alt="Screenshot of Literata: Literata Text Input Window" width="400" height="301" /><p class="wp-caption-text">Literata Text Input Window</p></div>
<p>The purpose of Literata is simply to show somebody how their vocabulary measures up in relation with others, or even one&#8217;s previous works. For example, two earlier works can be compared with a newer work. In this case, Literata should be able to make one strive for a better, more extensive use of the vocabulary.</p>
<p>Literata is one of my smaller projects. Since it&#8217;s (very) niche, I didn&#8217;t continue development past version 0.1, due to time constraints.</p>
<p>Literata is Open Source Software, available under the GPL license. It can be downloaded <a title="Literata Download" href="https://sourceforge.net/projects/literata/files/latest/download" target="_blank">here^</a> or you can visit its <a title="Literata @ SourceForge.Net" href="https://sourceforge.net/projects/literata/" target="_blank">SourceForge page^</a>.</p>
<h2><strong><span style="text-decoration: underline;">Technical Aspects<br />
</span></strong></h2>
<p>On the technical side, DevExpress controls are used to enhance the functionality and graphical aspect of the Application. The greatest advantage taken from using DevExpress is the nice charts which I was able to create.</p>
<div id="attachment_104" class="wp-caption aligncenter" style="width: 410px"><img class="size-full wp-image-104  " title="Screenshot of Literata: Literata New Words Chart" src="http://www.echysttas.org/wp-content/uploads/2011/12/Literata4.jpg" alt="Screenshot of Literata: Literata New Words Chart" width="400" height="280" /><p class="wp-caption-text">Literata New Words Chart</p></div>
<p>Literata employs simple threading during text analysis, which is quite fast. The Application does not save the text it analyzes, only the results. However, as part of the results, new words in the text are indeed saved.</p>
<div id="attachment_102" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-102    " title="Screenshot of Literata Recorded Results Window" src="http://www.echysttas.org/wp-content/uploads/2011/12/Literata2.jpg" alt="Screenshot of Literata Recorded Results Window" width="550" height="302" /><p class="wp-caption-text">Literata Recorded Results Window</p></div>
<p>It uses a few of my standard C# practices such as: binary serialization of the settings file and saving window position &amp; state between sessions (laugh all you want, but huge names manage to mess this up, and I feel very strongly about this basic feature).</p>
<h2><strong><span style="text-decoration: underline;">Other Aspects</span></strong></h2>
<p>The Application comes with several pre-defined Analysis Results created with it, based on the work of other authors (such as Kafka, Herbert, Pratchett), which can be used to start comparisons as soon as its installed. These results have been extracted from the English versions of those books. In case the user&#8217;s language is NOT English, Literata can still be used, but the user should add some reference works written in the targeted language, to serve as a base for comparisons. The longer the text is, the more accurate the results are. Recommended text size is between 50k words and 200k words.</p>
<p>Of course, vocabulary and &#8220;new words count&#8221; are NOT what makes a work stand out. It&#8217;s just a number. But it&#8217;s a number that COULD, indicate problems. For example, that the user&#8217;s vocabulary is too narrow, words are repeated too often, etc..</p>
<div id="attachment_103" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-103  " title="Screenshot of Literata Word Density Chart" src="http://www.echysttas.org/wp-content/uploads/2011/12/Literata3.jpg" alt="Screenshot of Literata Word Density Chart" width="500" height="351" /><p class="wp-caption-text">Literata Word Density Chart</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.echysttas.org/2011/12/literata/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Rift Experiment</title>
		<link>http://www.echysttas.org/2011/12/the-rift-experiment/</link>
		<comments>http://www.echysttas.org/2011/12/the-rift-experiment/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 13:33:49 +0000</pubDate>
		<dc:creator>Axonn</dc:creator>
				<category><![CDATA[Portfolio :: Exploits]]></category>

		<guid isPermaLink="false">http://www.echysttas.org/?p=317</guid>
		<description><![CDATA[These are a few screenshots from the specifications of a game I dreamed up in January 2007, five years ago. I actually hoped I will develop the game with an indie budget, an EXTREMELY optimistic belief. But then again, 10 months later, somebody developed a game called Mass Effect^ ::- D. Heard of it? Well, <a href=http://www.echysttas.org/2011/12/the-rift-experiment/>[... read more ...]</a>]]></description>
			<content:encoded><![CDATA[<p>These are a few screenshots from the specifications of a game I dreamed up in January 2007, five years ago. I actually hoped I will develop the game with an indie budget, an <span style="text-decoration: underline;"><strong>EXTREMELY</strong></span> optimistic belief.</p>
<p>But then again, 10 months later, somebody developed a game called <a title="Mass Effect" href="http://en.wikipedia.org/wiki/Mass_effect" target="_blank">Mass Effect^</a> ::- D. Heard of it? Well, if you would compare my specs to the way Mass Effect turned out to be, you&#8217;d be amazed just how much they&#8217;re alike. And trust me, I had no contact with Bioware, other than the fact that they might have subliminally made me a better game designer through the hundreds of hours I played Baldur&#8217;s Gate 2 or other of their fantastic games.</p>
<p>And by no means will I compare the 26 years old I was in 2007 with Bioware <span style="text-decoration: underline;"><strong>Corporation</strong></span>. What I&#8217;m trying to show is just that, I believe, I got what it takes. What it takes to do what? That depends on the situation and who&#8217;s reading this :;- ).</p>
<p>But I&#8217;ll let you look at a few of my works from the beginning of 2007. My greatest-detail game specification ever (since then, I scaled down a bit. Okay, a bit more).</p>
<p><span style="text-decoration: underline;"><strong>Note:</strong></span> you will have to <span style="text-decoration: underline;"><strong>click the images</strong></span> to see them in full size. The Images will open in a new tab (or window).</p>
<div id="attachment_324" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO1.png" target="_blank"><img class="size-medium wp-image-324 " title="TRE_KRO1" src="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO1-300x191.png" alt="" width="300" height="191" /></a><p class="wp-caption-text">Specification Sample 1</p></div>
<p>&nbsp;</p>
<div id="attachment_325" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO2.png" target="_blank"><img class="size-medium wp-image-325" title="TRE_KRO2" src="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO2-300x210.png" alt="" width="300" height="210" /></a><p class="wp-caption-text">Specification Sample 2</p></div>
<p>&nbsp;</p>
<div id="attachment_326" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO3.png" target="_blank"><img class="size-medium wp-image-326" title="TRE_KRO3" src="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO3-300x196.png" alt="" width="300" height="196" /></a><p class="wp-caption-text">Specification Sample 3</p></div>
<p>&nbsp;</p>
<div id="attachment_327" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO4.png" target="_blank"><img class="size-medium wp-image-327" title="TRE_KRO4" src="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO4-300x194.png" alt="" width="300" height="194" /></a><p class="wp-caption-text">Specification Sample 4</p></div>
<p>&nbsp;</p>
<div id="attachment_328" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO5.png" target="_blank"><img class="size-medium wp-image-328" title="TRE_KRO5" src="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO5-300x198.png" alt="" width="300" height="198" /></a><p class="wp-caption-text">Specification Sample 5</p></div>
<p>&nbsp;</p>
<div id="attachment_329" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO6.png" target="_blank"><img class="size-medium wp-image-329" title="TRE_KRO6" src="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO6-300x198.png" alt="" width="300" height="198" /></a><p class="wp-caption-text">Specification Sample 6</p></div>
<p>&nbsp;</p>
<div id="attachment_330" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO7.png" target="_blank"><img class="size-medium wp-image-330" title="TRE_KRO7" src="http://www.echysttas.org/wp-content/uploads/2011/12/TRE_KRO7-300x194.png" alt="" width="300" height="194" /></a><p class="wp-caption-text">Specification Sample 7</p></div>
<p>If you have questions about what the hell was I blabbing about in these samples, I&#8217;ll be glad to answer them. If you have 2 million dollars to spend, <a title="Contact Axonn Echysttas" href="http://www.echysttas.org/contact/">contact me</a> ::- D.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.echysttas.org/2011/12/the-rift-experiment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wildcard Technologies</title>
		<link>http://www.echysttas.org/2011/12/wildcard-technologies/</link>
		<comments>http://www.echysttas.org/2011/12/wildcard-technologies/#comments</comments>
		<pubDate>Sat, 10 Dec 2011 14:33:49 +0000</pubDate>
		<dc:creator>Axonn</dc:creator>
				<category><![CDATA[Portfolio :: Exploits]]></category>

		<guid isPermaLink="false">http://www.echysttas.org/?p=298</guid>
		<description><![CDATA[This was my first management experience, and one of the most inspiring periods of my life. During the two years the company existed, we completed several projects and participated at the CeBit and Systems international IT fairs. I learned invaluable lessons and witnessed the entire life cycle of a company, until the painful moment I <a href=http://www.echysttas.org/2011/12/wildcard-technologies/>[... read more ...]</a>]]></description>
			<content:encoded><![CDATA[<p>This was my first management experience, and one of the most inspiring periods of my life. During the two years the company existed, we completed several projects and participated at the CeBit and Systems international IT fairs. I learned invaluable lessons and witnessed the entire life cycle of a company, until the painful moment I had to say goodbye.</p>
<p>I founded Wildcard Technologies in April 2007, together with a good friend of mine, Silviu Andrei. I poured my idealism and enthusiasm into this young start-up, a tactic which sometimes made me err. Even if I made plenty of mistakes, I am now proud to say that I was one of the few lucky ones who got to found and lead a company, learn from the experience, and, most importantly: be able to tell the tale with a smile on my face. This probably stems from the fact that, in the end, nobody lost money ::- ).</p>
<p>If I could go back in time, I would do things much differently, but back then, our high ideals numbed our senses, and the predators of the IT jungle showed no mercy.</p>
<p>We started Wildcard Technologies with an &#8220;utopian&#8221; philosophy of &#8220;invest everything back into the company, get nothing for ourselves&#8221;. We both had day jobs so we got our money from there. We invested back into the company every last cent of profit, and, ultimately, this contributed to our demise. But, let&#8217;s take it from the beginning.</p>
<h2>Foundation</h2>
<p>It happened almost by mistake. Through a stroke of luck / a twist of life, we ended up taking over a 4-men-strong offshore PHP project, for a North-American customer. &#8220;Friend of a friend&#8221; type of scenario. In this case, it was a good friend of mine, whose boyfriend managed the American project.</p>
<p>At that time, both me and Silviu were engaged in day jobs. We were doing maintenance on an ITIL project (<a title="ITIL @ Wiki" href="http://en.wikipedia.org/wiki/Information_Technology_Infrastructure_Library" target="_blank">see what ITIL means @ Wikipedia^</a>) for a Romanian-German offshore company, who, in turn, had a contract with the German owner of the project. It was a very small company (just 3 programmers, me and Silviu included) and we occupied a rather large headquarters for our needs: 3 rooms at the first floor in a house in downtown Brasov. Due to the high risk of starting a new company, especially since neither of us had a solid financial background, we decided to keep our day jobs and maintain Wildcard Technologies &#8220;on the side&#8221;.</p>
<p>Luckily, our employer at the time was a very pragmatic businessman, who agreed to share the current headquarters with our fledgling company, as long as we paid 50% of the rent. So, Wildcard Technologies coexisted with our day jobs and responsibilities in the same headquarters. It was a sweet match. Naturally, we had to invest quite a bit in the beginning: buying hardware, forming the company, etc.. We needed 4 months just to break even. But after that, we were in the green.</p>
<h2>Growing Up</h2>
<p>Things were looking very optimistic in the beginning. As soon as we started our business, we got another project from somewhere, so we hired one more person to handle it. Our American customer also added 2 more people to the team. Because of the Wildcard Technologies management responsibilities, both me and Silviu sometimes had to work 12-hour days, but we thought it was worth it (and we still do).</p>
<p>Our profits increased all through 2007. During this period, we decided to go the Systems IT fair in Munich, Germany. We couldn&#8217;t afford a booth, plus, it was too late to get one anyway. So we participated in a rather&#8230; unofficial quality. To be precise: we just levitated around other IT company booths and spread out fliers with a bit of marketing about our company. We made a few contacts. This &#8220;affair&#8221; cost us a few thousand Euro, and, ultimately, earned us nothing back. Nothing except the experience, of course.</p>
<p>Still, things were working well and by the end of 2007, I brought a good friend of mine into the company, to finance his 3D Engine. My number 1 dream was to develop a game, and Wildcard Technologies was the key to achieving that dream. At least that&#8217;s how I saw it. I wanted to keep our offshore projects going well, so that we could grow in-house products, as that was (and still is) my philosophy about making a real future for a company. Companies which rely purely on offshore are dead the moment they take that route. If not economically, at least intellectually. And besides, I never wanted to lead a &#8220;rent-a-brain&#8221; farm.</p>
<p>In 2008, things started to go awry in the USA, with the financial crisis looming. Still, we invested everything in our company. Taking care of our employees, helping the ones who didn&#8217;t seem to adapt, trying to be good guys. That was a mistake: you can only be a good guy with other good guys, and even then, you must exercise caution.</p>
<p>We then went to CeBit, which cost us our profit for a whopping three months. But at least now, we had a booth, in the Romanian pavilion (with about another 15 companies). I&#8217;m proud to say that we were the best looking booth, represented not by clueless delegates or pretty girls, but by the company leadership and our best programmers. We talked sense and managed to make quite a few contacts! Actually, my first job after Wildcard Technologies was for one of those contacts!</p>
<p>Unfortunately, at CeBit we committed another mistake: trusting a company without having a signed contract. SoftProject is the name of the company, and what they did to us was to steal one our employees. We just wanted to be nice guys and allow the first leg of the collaboration proceed freely, without wasting time with paperwork (I still despise paperwork). But, the much larger German company lied to us and, eventually, put another nail in our coffin.</p>
<h2>Products, Products, Products</h2>
<p>As I said, I don&#8217;t believe in offshore software development. I see it as the lowest tier of the software industry (and it probably is). I&#8217;ve worked in plenty of offshore companies in Romania (3 to be precise), and in each of them, after I while, the feeling I had was the same: dead end! The lack of a well established goal, of a company future, of unique company philosophy, are just the top of the iceberg of problems in such firms. Not to mention that doing things &#8220;by the hour&#8221; is a recipe for disaster.</p>
<p>I&#8217;m not saying offshore is bad (hell, we did it too!), but simply that it must never be the &#8220;ends&#8221;. It must be the &#8220;means&#8221;. The means to grow. Otherwise, you simply become a temporary blip on the economic radar.</p>
<p>I was even more fiery in these assessments back in 2007, so, I pushed with all my power towards making new products. I started all by myself two such products: <a title="eTimeKeep" href="http://www.echysttas.org/2011/12/etimekeep/">eTimeKeep</a> and <a title="The NeverFail Messenger" href="http://www.echysttas.org/2011/12/neverfail-messenger/">The NeverFail Messenger</a>, where I did all the software architecture, design and work. I lead the <a title="Fun For All" href="http://www.funfoll.com" target="_blank">FunFoll^</a> team, a project which lives on to this day and produces a modest amount of profit via Google Ads . Silviu, my friend and partner, also created a project of his own.</p>
<p>And, of course, how could I not mention the 3D engine we had brewing. We wanted to develop a RPG-style First Person Shooter, for which I wrote a massive specifications document, which went into incredible details about the game. Want to see exactly how crazy I was 5 years ago? <a title="The Rift Experiment" href="http://www.echysttas.org/2011/12/the-rift-experiment/">Check this page</a>.</p>
<p>Of course, the game was a mistake: it was too big an undertaking for a company of our size, a fact that I grossly neglected (because even if our company would&#8217;ve been 10 times its size, it would still have been insufficient). But then again, such was my fiery, enthusiastic nature. The Wildcard Technologies experience taught me to temper that.</p>
<h2>The Painful End</h2>
<p>Our company went down when our (American) main customer decided to go ahead with some budget cuts, due to the turmoil of the 2008 financial crisis in the USA. Our worsening situation escalated even further when we were also forced to vacate our headquarters. Our employer had merged with a larger offshore company, one with whom we actually shared the Romanian pavilion at CeBit. Naturally, that company wasn&#8217;t at all friendly towards us, as managers. They just wanted to milk the project we worked at.</p>
<p>So, threatened with losing our day jobs, without our main customer, with none of our products having matured enough to make some money, we had to close shop. It was one of the most painful moments in my life. My greatest chance yet to achieve my dream of developing games, had just went down in flames.</p>
<p>I was depressed for weeks. But it was the Axonn kind of depression: the kind where I am angry and trying to find solutions, when I just can&#8217;t accept defeat. At least four projects ran out of any hope for a solid development effort and marketing strategy. I had just pitched eTimeKeep at CeBit, and now, I saw all my hopes of bringing a team behind the project, gone, just like that.</p>
<p>But once I did accept the defeat, it was with the knowledge that a battle does not lose the war (well, at least not normally ::- D). So, I just turned the page, picked up my weapons&#8230; um&#8230; keyboard, and headed back to battle!</p>
<p>And that&#8217;s because my life&#8217;s motto is: <span style="text-decoration: underline;"><strong>Success is the ability to go from one failure to another with no loss of enthusiasm</strong></span> (by Sir Winston Churchill). And I do live by it! It&#8217;s 2011 now, and I already released my first game in January 2010. Even more, I got another, much better one, in the works. And if that doesn&#8217;t say enough, then maybe this will:</p>
<p>I will never, EVER give up once I set my mind on something. I will fight to the bitter end, explore all possibilities, and when all possibilities have been explored, I will invent new ones. If none can be invented, I will change the rules so that they can.</p>
<p>For me, Wildcard Technologies was a baptism by fire, a trial which forged me and prepared me for the future. Since then, my management experiences went much better, although I didn&#8217;t yet have the chance to lead a team larger than 3, since my projects are still in the &#8220;indie&#8221; sector.</p>
<p>And, since I&#8217;m feeling a bit melancholic, here&#8217;s what I pulled out from the Chest Of Wonders I keep on my SSD: a back-up copy of <a title="Wildcard Technologies Website" href="http://echysttas.org/WebData/Misc/WT/" target="_blank">the website I created for Wildcard Technologies^</a> back in 2007. A nice piece of raw JavaScript, PHP &amp; HTML.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.echysttas.org/2011/12/wildcard-technologies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

