Shop Talk

SiteFinity - Me Likes

12/28/2017 12:16:18 AM by admin

Joomla, DNN and other content management systems, once the high hopes of user experience and company information dispensing, are now just past memories. What they lacked was that ability to present information in a very specific way that only worked for that particular organization. They failed because many were designed as modular components. Yes they quickly changed content and gave more control over the content presentation but still confined the user to a pre-programmed experience.

Then came the SiteFinity CMS. Not long ago, we did a SalesForce integration project with it and were totally taken aback. With its MVC architecture and built in support for just about every protocol, it was just as simple as pie to add custom widgets that integrated with SalesForce via REST. In the past, creating a module not only involved some fancy code registration, but a ton of time to build user interfaces. SiteFinity stays true to object oriented principles. Not only is it easy to extend existing components, ....

Immutability InAction - How To Recognized It

12/28/2017 12:15:51 AM by admin

Object reference is a common topic in software development. I don’t recall ever reading how to recognize it in an actual application outside of the code. So, this is good to add as part of my "Live and Learn" articles. We wrote a custom application for a manufacturer. That application had objects representing factory parts used to assemble widgets. Hand scanners were used to associate specific control numbers to each part and once the part objects got all of their properties populate they were sent off to another part of the application for migration into the Account and QA applications.

Because the same part was, at times, used from a box of similar parts with identical control numbers, some part objects got split out into multiples. Pseudo code Stuff now; the original objects are in a collection. A new collection was created with multiple references to one specific original part object. When the time came to scan the control numbers, users reported this. They scanned the first part an ....

User Acceptance Testing - Do Nots

Do not let anyone change functionality during testing. This should be the later stage of preparations for going live and the business logic hopefully is determined by this time if all has gone well.

One of our projects generated over 70 test cases that the client had only one resource for. That resource happened to be a manager. During testing the manager noticed bugs of course, but also insisted on adding and changing features. I explained to them that doing so may invalidate previous test cases that will have to be re-checked. The manager agreed, and so feature changes were done during testing as asked. The manager, however, never re-tested approved cases. This snow balled into plenty of aggravation for all involved. Code was written, code was testing and approved, and then code was affected by feature changes. It got to the point that the manager would come in every day and complain about having tested “things” that used to work, but no longer seem to work. This in fact was the sy ....

SQL Service Broker Focus Case

12/28/2017 12:15:08 AM by admin

A client bought a third party application that needed to share data with two others. Our task was to create an integration layer for the applications to move data back and forth with reliability. All of the others used integration tables as endpoints. This means they consumed data from special tables and perform internal adjustments as needed before finally committing the data to production. The thing to understand is that the data entered is not necessarily that committed to production. Polling the database would work most of the time, however this approached also requires a data caching scheme adding even more overhead a not providing much more data integrity.

What to do? SQL Service Broker to the rescue. It is an abstraction layer in the database that provides kernel level messaging for the SQL server and application. This is done by the application defining a data set and listening for notifications from the Windows messaging system of when that data set changes. In this ....

Traffic Conversions From 10000 to 3

12/28/2017 12:12:35 AM by admin

We launched and new app a few weeks ago. Now the tedious task of marketing and driving traffic is undergoing. Some of the metrics are surprising so far. Social media currently accounts for about 31% of all web traffic referrers as Shareaholics sees it. This is a huge amount of traffic coming from Facebook, Twitter, Google+, and etc. So far we are seeing about 3 referrers from about 10K+ viewers. Only a few years ago we would have expected at least 1% of the viewers come over to our site. Is Guerrilla marketing on its last days? How is it that 30% of all traffic comes from these same social media sites with tiny referrer rates? It is so because the volume of the remaining 70% has tanked.

Traffic is dominated by paid advertising as Shareaholics is part of that same pay for traffic model. What is left is the lower amounts of volume driven by social media outlets. I think what our data shows is that future marketing camp ....

Mysticism in Web Design

12/28/2017 12:11:37 AM by admin

The divine ratio (1.618). Although the number itself has minimal meaning in web design, The construction of magic rectangles with divine ratios is a strong web design approach. Creating magic rectangles using Fibonacci sequences creates a visible framework to work in. It also mirrors what we naturally see in the world around us and naturally attracts the eyes to the web site message.

How to do this? Draw two 1x1 squares next to each other. Next draw one 2x2 square adjacent to the previous squares. Now do a 3x3 square next to the previous. Finally do a 5x5 square next to the previous one. In the end there will be a template of natural proportions that the human eye is comfortable looking at. Go back to each square and fill in the message your web site is sending and watch the traffic flow.

Is Microsoft Going Open Source?

12/28/2017 12:11:15 AM by admin

The new Visual Studio 2015 has built-in GIT integration as well as Python support. The previous version included Bootstrap and other Open Source libraries. More so, the new VS supports mobile development across platforms. Is Microsoft going Open Source? Hardly! It's all about attracting developers. Microsoft was great at attracting developers to their platform, who in turn promoted their solutions. Back in the day, MS claimed partial ownership of software just because it was created on their platform. So the two worked together to the greater benefit of MS.

Things have changed. Look at the gaming industry as an example. About %53 of gaming developers classify themselves and independent. Both Sony and Microsoft are working hard to get them into their gaming consoles. Economies of scale have kicked in and MS like other global companies are focused on specific market advantages and recruiting independents to grow those markets with them. There seems to be a real trend now of attracting development ....

Requirements? Who Needs Them?

12/28/2017 12:25:00 AM by admin

Requirements Assessment. Often the first process of many development cycles. The first of a linear sequence of processes within a cycle. Does it really need to be a linear sequential process? It does not! A current project was framed under a typical agile development cycle. However, when it came time to test, stake holders struggled to work with features without the entire production application as a reference. This generated a lot of additional code to proxy missing features and pushed the project past budget and delivery dates. I think part of the problem was the stake holders were not getting hands on frequently and early enough to constructively drive requirement refinements. So the solution was to stretch the requirements assessment over the feature development cycle and redefine the cycle itself by features. This allowed feature testing and approval much sooner. By the time the next feature cycle would start, there would be a near production ready code base to build on. Next time you find yourself th ....