A Programming Pickle Overcome by Branching

While working on a feature that will be present in several of my projects, I noticed that finishing only part of the component is necessary but will leave other portions unfinished that will have to be continued later.

This leaves a few options: Simply code what is necessary for the project outside of the component, code the component until what is necessary and ‘branch’ it from the main component, or build the component entirely.

I feel that the branching method is best to have results for immediate use, while it can still be picked up on later when more features are needed. However, to do this, there will need to be more effort put into the planning stages for the component and its entirety.

The planning will need to be split up into 3 categories now: One for the preliminary functionality of the project, another for the long term functionality of the component that will be used in it, and finally, planning for what functionality is needed at the stage of development it is being used in the project.

This ‘branch’ of the component should reduce any errors of not having required pieces of it missing for the project, and not having to re-work from the point that it was left off at to branch.

il_570xN.425180131_d6zs

Advertisements

Mark’s Observations on an Appealing Pricing Model

ImageWarning, this may be a biased post baised on my own shopping and preferences, but I seem to judge prices differently baised simply on what number order the prices are in.

I’d like to give a more formal hypothesis to this assumption with a theory that I have developed to make pricing more appealing to customers whether or not the price is too expensive for what you are selling. (No, it may not influence themto buy something way too overpriced, but may make it seem more reasonable.

My theory works like this:

For anything that is under $10, I prefer to go with odd numbers. For example, $1, $3, $5, $7, and $9 seems cheaper to me than say, an even number alternative. Now, to raise the price a dollar, I would go with adding $.99 to these numbers. So instead of $2, maybe $1.99 seems like a bit less money. Ironically, to me, it seems like I would rather buy something from say, the Apple store, if the cost was $1, but $.99 seems like it could be pricy. (I don’t like buying a single track for $1, so thank God there are much beter alternatives even in the apple store today.) So this is an observation I’ve made when trying to price things myself, for what you think it may be worth but still seem appealing when people may not think it is reasonable. Hopefully it works; it seems plausible to me.

Then I thought, now what about more expensive items then… does it still hold true?

Well interestingly enough, I figured out that when raising the price into the double digits, I noticed something intresting. After a little thought about what I would think would be more reasonable, I actually would prefer the last number to be even. $12, $14, $16. But another level up? $21, $23, $25. So I noticed this pattern: the even-odd pattern approach to pricing. Starting with odd numbers, making a price with an even-odd pattern in the digits seemed more appealing and slightly less expensive than other prices. I wonder if it is just my preference, or how the brain is calulating the numbers in terms of cost and expenses. Maybe the even-odd combination influences the mind to think the numbers are somehow not as even and thus maybe not as large since they do not fit as well together? Either way, I’ve noticed this when coming up with prices for my own products, and I like to use it as a guide to try to make “friendlier pricing”. Further study would be needed to confirm this observation…

Random thoughts… but hey, interesting how the mind works.

Simple observation, I know, but maybe it is just me that prefers these patterns?

When should I use Visual Studio Lightswitch?

I have had my hands on Visual Studio Lightswitch since its fairly earlier stages. Back a few years ago, there were bugs with the designer that had to be addressed periodically. Now the project is much more robust and can be used with major implementations. But not all implementations would go well with how Lightswitch is designed.

Lightswitch now has two methods of rendering a project: the Silverlight client and an HTML5 export. Silverlight is used for a few major applications like Netflix and some smaller applications for web input. Of course, Netflix has announced that they would like to move away from Silverlight to HTML5 when it is feasible, as Microsoft had announced the end of support for silverlight by 2021.

So why is Silverlight being phased out?

Although Microsoft Silverlight is a proprietary software it is meant to be compatible with most devices. Silverlight is in a way similar to Adobe’s flash player plugin, only that it can focus on data driven applications much better than flash, where flash is more of an artistic solution. But what is the same is that both forms of media require a browser plugin in order to use the software. Some see this as a security issue, others see it as an inconvenience. Microsoft probably realizes that a

Difficulties with Silverlight

I have been working on Silverlight software for the past couple of years with Lightswitch to organize everything into one location that is easily manageable. Along with this, every person using the software now had to make sure that they had the Silverlight plugin installed and activated, which was not always the case. This is extra maintenance that goes into ensuring that the users are properly set up to use the application.

Now with the Lightswitch Silverlight client, it is very easy to publish to the web server once you have the server properly configured. However, the client itself is a full-page application that by default will take up the entire page, and only provides tools to edit the Silverlight application. Furthermore, when loading all of the controls into the browser, the Silverlight client can take up a considerable amount of RAM and CPU processing power while using it, compared with an HTML form.

The Lightswitch Application

The Lightswitch clients both output complete pages of the application you are trying to make. It uses your data model and provides a framework to reference your data within your application, as you will most likely need to code some attributes under the drag-and-drop layout design at some point. With the complete page, each client has a built-in navigation that is displayed on top.

You are also limited to what you can use inside of the application. For example, Lightswitch does not come with any complex forms of reporting. There are plugins available, for example from ComponentOne, but it does cost more than a professional-level license of visual studio. You can also include web pages into the screen with some coding, but is not a good strategy considering that you now have web content inside of Silverlight content.

Okay on to the main point: Reasons to Use Lightswitch

Lightswitch makes it easy to publish an app to the server and make any changes it needs to. When installing the Lightswitch deployment package for the server, it attempts to configure the server to what is needed to have the application work properly. Although, this often does need to be fine tuned to fit your needs. It also will work with Windows Authentication quite nicely, avoiding the need to even sign in manually or messing with group permissions between a file server and the app itself. This alone is a great reason to use this kind of software: compatibility.

Lightswitch is meant to make it easy for developers to quickly create an app to display and edit information from their database. The advantages of this method is being able to generate the underlying information needed for the controls and data that is used. Of course, you must be sure to follow the procedure of working from the data-level, updating the data-source in Lightswitch, making any necessary changes, then publishing the changes. You must also be sure that the clients refresh and have the latest version of the application that has not been pulled from their cache.

Recently, they have also improved their HTML5 client, that is able to be run on any device. This can be especially useful when using tablets or other smaller and simpler devices to quickly get and modify information. Being able to export in both formats while using the same data back-end is especially impressive and can save a lot of time.

It provides a way to quickly generate forms and grids that allow you to edit and display the content of your database. It provides good controls to quickly show a pop-up window, or choose a date or select from a drop-down list to filter results. Each screen can be created from a list of organization groups and controls, and can even be modified while testing. But that could be the extent of it before it gets complicated.

Problems with Lightswitch

Microsoft advertises Lightswitch as an easy solution that developers do not need to have much knowledge of programming in order to build applications. Depending on the applications you want to build, this may not be the case at all. While it is great to quickly create forms to edit outside of the database-level, it can get just as complex when working with more advanced applications. When the demands are getting to the point where information is being moved around, default values are needed based on how data is added, or disabling or highlighting grid rows, programming will be needed.

Using the Silverlight will require the user to have the plugin installed and need it to be activated. This is an extra step needed that is better than having files of MS access laying around for example, but is not as expected from an internal website. Luckily, Microsoft has introduced the HTML5 client that can work on any device to help solve this problem, but it is not quite the same as using traditional web forms, as this export is intended to be used with mobile and touch-screen devices.

Overall Conclusions: Should I make an App using Lightswitch?

Lightswitch is a software that has the ability to be used on any device, is easy and quick to develop with from a variety of data sources, can publish easily and quickly to a windows server, and can use windows authentication. I’d like to stress two things here: easy, quick, and windows authentication. I’d also emphasize the fact that it is also quite limited, so your requirements for the application should be fairly minimal and straightforward before coding becomes fairly involved.

I see Lightswitch as a good tool for creating quick ways for users to access certain information without having to use other ways to do it (ex: MS Access, Excel, requesting SQL Management Studio access, etc.). In which case I highly recommend giving it a try.

But, when creating more involved software, you may want to consider using web forms, actual applications, or other solutions that specialize in this area. Lightswitch controls are not always customizable to what users would hope for, but that is at the expense of using an organized and built-in control interface.

It is also important to understand how they want to be using the software. Lightswitch does not have any built-in reporting, unlike Silverlight applications that can use these controls with less problems, built right into a webpage. There are other forms of reporting software out there that might be easier to use than Lightswitch, like in Microsoft Excel, or other web solutions.

PROS: Rapid development, Simple and organized interface with built-in controls, easy data-source import, easy publishing to Microsoft server, Windows Authentication

CONS: No included reporting abilities (costs extra), often requires programming when working on anything more complex, uses Silverlight client for desktop approach, can be restrictive in design needs and capabilities.

A Menu Designer Idea

The software that I’ve developed has been a result of making my own work easier, and sharing that experience with fellow developers. Interestingly enough, when making these projects, I’ve come into difficulty myself with certain elements of creating them.ImageOne example is my “AGAPI”, so I call it. It is the most advanced, standardized, and functional online interaction and content management API that exists with Game Maker today. Unfortunately, it is in closed beta. One reason is because I want the code to be more organized, and another is the compatibility with studio… But one main reason is the interface. I had to design a completely new interface for all of these lists to hold the data. And when it comes to interfaces, I am completely OCD about it. They have to be smooth, easy to use, and work perfectly for me to enjoy using them. That impression makes a big difference, believe it or not… at least in my experience and opinion.

This brings me to this new idea that will help Game Maker users: A non-DLL, GML-based menu system. After going over the design of the objects, it is actually kind of re-inventing the wheel. Yes, Windows dialogs and controls are there and everything, but I’m talking about web.

Image

The web already takes advantage of the custom controls. In css you can edit the padding, margins, borders, and width and height, and how many items in the list are displayed. However, nothing will be as simplistic or as rich as this, because first of all you can program with it with GML, and secondly, it is done in a designer and generated for you! It’s like front-page, but actually worthwhile using. I mean, this server list is ugly right now, but what if I used the designer to put the graphics in to match the game I have, and spend 90% less time on the interface by having the code already generated for you?

Image

Now, as much as I would like this to happen, it doesn’t mean that I will ever create this program. Firstly, the money has to be there nowadays. I can’t be living in my mother’s basement forever haha. And there also has to be enough appeal for this to reach enough potential users. But, I figured it would be nice to jot down my ideas, so at least theyre publicly visible instead of in my ideas collection next to my desk 😉

Professional developer’s look at Game Maker

I found this article that had a great look at Game Maker 8, and the issues that most of the veteran GM users also recognise: @ moacube.com

Image

Now that Game Maker Studio is out, I guess you can see where the people at yoyo games were heading on improving their product.

Unfortunately, a point made that, in my opinion, had gotten worse in GM:S, is interface. It may just be me, but the IDE layout means a world of difference. If there is tedious work involved when working with the development tool, it bugs me enough to not want to use it as much. However, GM is still a great tool to use for game making. It just needs a face lift to look more professional, and with that also needs to reduce the number of exception errors there are in its interface as well. Reliability is key for a development tool, so I like to know that it looks a feels like one that can be trusted. It is meant to make a programmer’s life easier after all.

They are taking a good approach, but unfortunately it also alienated other users, in which case I would recommend them sticking to Game Maker 8 in the meantime. (I still think GM8.0 is their most reliable product yet.)

It will be interesting to see what they will come up with in this upcoming year. I haven’t been using the tool as often nowadays, but as I update my “old” software, we will see if I come back eventually.

Windows 8 – WHERES MY FOLDERS?

So the first thing I notice in Windows 8, aside from the doohickies in every corner of the screen, is that you may not know where to start! (hence the Start Button “panic”) Honestly, Microsoft spends all of their time making things easier with their operating system, (which the improvements are great, by the way, at least for me) but then they make other basic necessities of a computer more difficult for the average user! Let me explain below:

People do not like to set things up when they don’t know what they are doing.
Makes sense right? This is why we have IT departments that do these things for the business – to follow a standard. I noticed something that is, frankly stupid with windows 8. The shortcut to folders in the Start Menu is gone. Thats right, no more Start -> My Documents. That’s not the worst thing though, its that there is no other straight-forward way to get there!

So it turns out you need to click the File Explorer button to open the file explorer. Makes sense right? Now lets open another files window…. Having a difficult time doing it? Exactly. Not straight-forward. Honestly, I work with computers all day, but this annoys the hell out of me frankly.

You have a couple options at this point. You can use the file explorer button again. Only it is not like W7, where you can just click on it, oh no. You need to either middle click it, or right-click then click “File Explorer”. Okay so we got that down, now to go to my main working folder…. Problem again? Well you can “pin” these folders to the file explorer by dragging it there, then accessing it with a right-click. Or you can just place these shortcut folders on the desktop (“app”). So… in an operating system that pushes for fullscreen apps, why do you have only these options??Image

Now try explaining this to an old person (haha). Yes, software can manage files for people who do not want to manage them themselves. But for people who work with these files all of the time, this just doesn’t seem like a nice approach, does it?

Wouldn’t it be nice to maybe…. have folders that they always work with go right on the Start Menu, maybe? For easy access? One would think this would be a nice idea…