Category Archives: Evening Break

Phoenix, Arizona

Survey Says – Food Trucks

We did a survey of food truck operators while researching features for an on-line web application which will serve that industry. We found some interesting things.

We asked if they needed an application to let their customers know where they are. All responded in the negative. The next question was if their customers needed an online menu. All responded in the negative. Intuitively, one would think these two questions are the two most important to that industry. They are not as you will see.

The next question was if their customers would like to place and order before the truck arrives. Most responded with a strong affirmative. This one really has a lot of meaning. We think this may be one of the strongest indicators of what drives the mobile food vending industry. Workers no longer have time for anything but to eat and run.

Continuing with the questions, the next one was if customers needed an easy way to get to the vendors information. All responded in the negative. In general it seems that customers are not interested in established daily routines. They have no expectations of a truck showing up, so when it does they are more than ready to eat.

The responses to this next question surprised us. Asked if they would like a web portal for food truck operators to share knowledge, they all responded with a strong affirmative. Why? Perhaps permits requirements and government regulation changes are driving this response. It makes sense in that when a vendor renews their license, they may come across a regulation change and want to let other vendors know. We really have no idea why this questions got a strong affirmative.

This next question we thought would be a strong affirmative, but it was not. The question was if customers want to pay for their food online. The response was a strong negative.  This again would seem to be another key indicator of what is driving the industry. Workers have less time and are limiting their budgets for lunch expenses.

Finally, we asked if they could have an web application designed specifically for their business, what sort of application would it be. All responded that it would be a mobile app. Makes total sense.

Are Your Apps “Appy” Enough?

index How much native code is required for the app stores? “As much as you can get”.

A client recently asked us to make an existing app more “appy”. That is the word they used. Strangely though, the app was already deployed to Google Play and iTunes. It was based on a cross platform framework and they were having difficulty getting changes published because of insufficient native code. So there seems to be the case that there can be just too much framework and not enough “appyness”. Hmm, what should a growing business which connects with its customers through an app do? Make it more “appy” of course.

None the less the trend we see these days is more towards native code and away from frameworks. I like this from a technical perspective because it puts more focus on programming languages. It makes sense from a business point of view as well. About a decade ago, Enterprise this and that was the trend. Much of it was driven by lots of cash for IT projects and the idea that Enterprise platforms already have the solution to problems you have yet to uncover. The “appy” trend will encourage business managers to better understand their needs and goals.

Finally some clarity! Thank goodness.

SalesForce REST Integration – Objects and JSON

Rest_day_CrossFit_Fibre

I really like the way SalesForce setup its REST API. The intuitive nature makes it simple and unnecessarily complex. Two main principles are involved. The first is the URL path to the SalesForce object. Next is the JSON serialization of that object posted to the URL. That’s it. SalesForce knows if it is an update insert, delete, or anything else. The reverse is true also. GET from the URL path to the object and de-serialize from the JSON string. Of course NOQL queries can be uses as well with the same technique. CRUD interfaces for the standard objects can be built in less than an hour on an MVC platform. Next to Entity Framework or Hibernate this is about as the easiest ORM one has to create manually.

I have worked with the SOAP services also and find it cumbersome in not only in overhead, but serialization of objects and security. These web services rely on before and after triggers which in themselves require some time to create, test and maintain. SalesForce, requires a minimum code coverage before any trigger changes can be pushed to production. This, over time, becomes an additional task and will diminish an organization’s agility during growth spirts.

For quick easy and reliable SalesForce integration, the REST API is the way to go.

SiteFinity – Me Likes

cs-sitefinity-main

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, but the UIs come with base templates that can be extended or left alone and function as any of the many legacy ones.

There never was a Windows based CMS, as I recall, that offered features and extensibility, until now. The base price is affordable. If you need extras of course it will cost more. If you have access to developers, SiteFinity can easily become an enterprise wide information portal.

I give it two space bars and a caps lock. Download the demo version and tell me you don’t agree.

SQL Service Broker Focus Case

chain-e1304773679588 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 case the SQLDependency class was used to notify when other applications have fully vetted and consumed specific data without issue. This took a lot of responsibility away from our solution and reduced the overhead tremendously. It allowed us to focus much more on the business logic.

The SQL Service Broker offers a very granular level of application integration with minimal extra coding and less processing overhead. It will take many risky assumptions out of the application design and offer tightly coupled event driven integration opportunities. Not to mention that it brings plenty of SQL love to go around.

Mysticism in Web Design

DivnineRatio

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 1×1 squares next to each other. Next draw one 2×2 square adjacent to the previous squares. Now do a 3×3 square next to the previous. Finally do a 5×5 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.

Breaker 404…Breaker 404

Here is Tucson, AZ web site upgrades are common among businesses. When websites are upgraded contents get moved. Be it dynamic content generated by a CMS or  static files sitting on a server, links will most likely get broken. Now what? Your site has spent years being indexed by Google, Yahoo and Bing. Shame for it to go to waste. Often web sites will be configured at the server to take the user to a friendly page when a link is no longer valid. When a link is broker the server will return a 404 error to the browser. This also tells the search engines that the page no longer is there. The page index will eventually be removed. IT consultants will set server redirects as a 302 response. This tells the search engines that the page is still there, but someplace else for the moment.  However, your site may return search results to unwanted pages. After a web site upgrade, remember your 404’s and 301’s. The 404 says it is gone and the 301 says it has moved permanently, and the 302 says keep the link in the search results, someone will fix it some day.

Architecture vs Framework

Architecture vs FrameworkSoftware architecture is the higher structure of software systems. Frameworks are abstraction layers that run on architecture. Modern software is focused with coupling/decoupling major components. For example, client and server controller and view in the MVC architecture. ASP.NET does this as well, however the client and server are not nearly as independent. Frameworks provide advanced functionality with minimal effort. Take Entity Framework for example.  With little effort the entire data access layer is dynamically generated. Architecture and framework are seldom considered together.  This has been the case in the past when architecture consisted mostly of server side rendering and support scripts. Software architecture today is all about decoupling objects and it’s only inevitable to ask the question, “What can help me create those objects faster?”.  Frameworks, is the best answer.

PhoneGap (Why?)

PhoneGap is software which bundles web pages on its special platform so they can be deployed as a mobile application. Since Adobe purchased the original PhoneGap it has grown considerably and has much greater support.

Why would someone like you want to use it? Firstly, a PhoneGap application can be a simple html page or complex application that relies on the device sensors. The skill level to create and PhoneGap app is much less that writing iOS or Android code and it is fairly easy to deploy to most of the mobile markets through tools such as https://build.phonegap.com/. With PhoneGap, more space is available for storage versus a browser cache.

There is another side. Although PhoneGap deploys web sites like a mobile application it itself is an application and uses resources. PhoneGap alone needs about 20M and, for example, an iPhone app is limited to 40M. So there is about 20M left for your web pages. Now throw in all those neat images and very quickly you may find yourself asking why is there so little space available. Also, sensors like the GPS chip and accelerometer have a slight lag because their data are translated through PhoneGap to the web pages.

For smaller web sites that target specific markets, PhoneGap is great for fast deployment and great user experiences. However,  to take full advantage of the mobile device and its sensors a traditional “app” will probably give a much better experience to your target users.

Name Dropping in Tech

girl-852498-mClients read about technology and hear certain names repeated over and over. We have been asked to target specific technologies for future product marketing. For example HTML5 is a new buzz word. It is a standard similar to the previous one, but with some additional features. To actually use HTML 5 the page would need canvas or web sockets or something that makes the page an HTML5 page.

What can your web application gain by name dropping? Even if the new features are not being used, the buzz alone can increase traffic. If we compare names not commonly known such as Angular, BackBone, NoSQL. Names that imply much difference in what the application can do. These technologies  can also generate traffic based on the user experience.

Buzz words in technology draw attention for sure, but remember the user experience may be driven by names that are rarely heard off.