Tuesday, November 22, 2011
Thoughs on LESS CSS
So if you don't know about LESS CSS it is a way to generate CSS given a LESS file/object which consists of a lose set of rules. First impressions this seems really powerful - a way to generate CSS using programming logic. The problem is that is only limited to generating CSS and not adding additional functionality to CSS. So even though there is or maybe has been hype around CSS for a developer who is not a CSS developer this has little to no value to you. In fact I would go as far to say that it has limited use for CSS developers. Reason I say this is a website design tends not to have a lot of design which can be reused nor is it easy to predict the reuse. Only real exception to this is website which have a big templating base such as Wordpress. I can see making different colour themes template really useful but that is really where it ends. So for me it gets put in the really cool category but I don't have business case for it.
Friday, October 14, 2011
Are things getting more usable? Or just not for developers?
I was reflecting from the past week and recalled a number of UX/usability issues with products that I thought should be easy. Maybe things are being made so easy that it is it making it too hard for someone like me to use? I was using Microsoft's Outlook 2007 email client and all I wanted to do was to view the HTML source of the email. Previously this was pretty straight forward and obvious to do (well from my recollection). As I didn't need to search the interwebs for an answer. The obvious choice of something being under the view menu was no longer applicable and eventually found it in a sub menu under Other actions (http://www.technologyquestions.com/technology/microsoft-office/61907-view-html-source-outlook-2007-a.html). So why wouldn't this functionality be under the view menu? I don't know the reasons why Microsoft put this functionality in this obscure location but it gets me thinking it is hiding functionality from the user. Probably the real answer is that a developer(me) is no longer an audience which gets functionality aimed it. Instead it is "hidden" or obfuscated from me, where it is there but no longer obvious. This is the same for Windows Vista/7 which I do my best to skin it back to Windows 2000 where I could quickly find functionality and be productive. Windows Explorer used be a great place to manage files but now with My Computer taken over I find it to be productive manage files.
I understand I am not the target audience. Scratch that I bought the product so should it not be aimed at me? This is where I feel UX in software is failing because they can not be customized for me. I was using my accounting software Xero today and all I wanted to do is search over my expenses. Fairly simply functionality to do a search over a table right? Maybe it's just that I want something that they have yet to implement? Put it on the suggestion list you say? The real issue is that my needs will never match everyone else.
This brings me to the thought that UX/usability should be focused less on a generic customer(s) and more directed to each customer. You might be thinking "Hey Ross, to that you'd needs mega bucks.". Well I would agree with you but I think this is the direction where software needs to move to. We have seen a lot of movement recently with enterprise software being pressured to deliver consumer software type features. In the enterprise world you would create one page/module which only a small number of users and it would exactly what they needed to be productive. Where as consumer software you do not have ability for that level of customization to occur. So instead consumers create new work-flows to get around those needs. If they are lucky there is a product that better suit's there needs and they migrate to it. This is what consumer software needs to learn from the enterprise. Software needs to be to be customized to me.
I understand I am not the target audience. Scratch that I bought the product so should it not be aimed at me? This is where I feel UX in software is failing because they can not be customized for me. I was using my accounting software Xero today and all I wanted to do is search over my expenses. Fairly simply functionality to do a search over a table right? Maybe it's just that I want something that they have yet to implement? Put it on the suggestion list you say? The real issue is that my needs will never match everyone else.
This brings me to the thought that UX/usability should be focused less on a generic customer(s) and more directed to each customer. You might be thinking "Hey Ross, to that you'd needs mega bucks.". Well I would agree with you but I think this is the direction where software needs to move to. We have seen a lot of movement recently with enterprise software being pressured to deliver consumer software type features. In the enterprise world you would create one page/module which only a small number of users and it would exactly what they needed to be productive. Where as consumer software you do not have ability for that level of customization to occur. So instead consumers create new work-flows to get around those needs. If they are lucky there is a product that better suit's there needs and they migrate to it. This is what consumer software needs to learn from the enterprise. Software needs to be to be customized to me.
Friday, October 7, 2011
Reflections on MAX 2011
Well I just got back from MAX and I would have to say it was probably my worst experience. Not because of the event in anyway but I got really sick with a virus/flu/MAX killer bug at 4am on Monday/day 1 of MAX. So I missed the entire day and only pulled myself together on day 2 to get to see the keynote and stick around for the famous "sneaks". I was about all out of energy once the sneaks had ended and bitterly disapointed I was going to miss the MAX bash. It looked really fantastic when the bus took me back to my hotel to rest and recover. So come day 3 I had to pull out as I was travelling home the next day back to New Zealand which is about 14 hours of flying. So in reflection it was my worst MAX but that was to do with me than the conference. I can't say it enougth that it sucked I was sick at MAX. When I had moments of feeling well I popped online to see what was up and caught up on day 1 keynote. I have to give Adobe kudos for getting these resources up so quickly.
I read a blog post which I think best reflects my opinion of the event in general.
http://www.rblank.com/2011/10/06/thoughts-on-adobe-max/
The only additional thing I'd like to say about the event is where was Adobe's CEO Shantanu Narayen? Of the past three MAX's he started the day 1 keynote. So why was he missing? The first MAX I attending was in 2008 I was like who is this Shantanu guy as he was not a familiar face to me but I got used to seeing him at the start of each keynote on day 1. Bit of a mystery to me.
The one thing on my MAX wish list was to see a new developer focused tool towards HTML/JavaScript development. Yes Dreamweaver can do it but it's audience is not focused towards developers. I want an awesome HTML/JS eclipse plugin similar to what Flash Builder is for Flex/ActionScript. Well we can all dream.
All that said I'm looking forward next year and the innovations ahead.
I read a blog post which I think best reflects my opinion of the event in general.
http://www.rblank.com/2011/10/06/thoughts-on-adobe-max/
The only additional thing I'd like to say about the event is where was Adobe's CEO Shantanu Narayen? Of the past three MAX's he started the day 1 keynote. So why was he missing? The first MAX I attending was in 2008 I was like who is this Shantanu guy as he was not a familiar face to me but I got used to seeing him at the start of each keynote on day 1. Bit of a mystery to me.
The one thing on my MAX wish list was to see a new developer focused tool towards HTML/JavaScript development. Yes Dreamweaver can do it but it's audience is not focused towards developers. I want an awesome HTML/JS eclipse plugin similar to what Flash Builder is for Flex/ActionScript. Well we can all dream.
All that said I'm looking forward next year and the innovations ahead.
Monday, June 27, 2011
What I want in JavaScript
I was reading a coding horror post on JavaScript which went over how it was popular, how it can to be and the troubles which it faces in the future. I reflected on this point of view thinking a language's success can have very little to do with itself. JavaScript is no SmallTalk when it comes to languages an one could argue it just a child of previous modern day languages. That said I'm not that interested in new language features being added to JavaScript but would really like to see new deployment formats. The inline JavaScript or HTML script tag include element are to focused around the HTML document. A clean separation between layout and code should be created as to prevent and control JavaScript execution. It is far to easy to include JavaScript libraries and too easy for conflicts to occur until it is too late.
I would like to see a compiled format for the language which is sandboxed so you can be sure no one else overwrite a feature. Something like the SWF format would ideal as you have a lot more control over the binary. I know a lot of js files are minifyed and sent compressed via the web server but that gives you no control over the internals.
Also it would be great nice to see a new HTML feature designed around JavaScript which is being run. So you could state any restrictions on the code which is running. This would look at bring HTML applications inline with other apps that are built complied for deployment on other platforms such as iOS and Andriod.
Even though I dread the thought of HTML, CSS, & JavaScript being the base of modern applications that doesn't mean it will not happen. With web developers now pushing the HTML platform pass some document format syntax and to the base of applications we should expect it to grow as well.
I would like to see a compiled format for the language which is sandboxed so you can be sure no one else overwrite a feature. Something like the SWF format would ideal as you have a lot more control over the binary. I know a lot of js files are minifyed and sent compressed via the web server but that gives you no control over the internals.
Also it would be great nice to see a new HTML feature designed around JavaScript which is being run. So you could state any restrictions on the code which is running. This would look at bring HTML applications inline with other apps that are built complied for deployment on other platforms such as iOS and Andriod.
Even though I dread the thought of HTML, CSS, & JavaScript being the base of modern applications that doesn't mean it will not happen. With web developers now pushing the HTML platform pass some document format syntax and to the base of applications we should expect it to grow as well.
Saturday, May 14, 2011
New tech but lack of tooling
I was flicked an email to the rome interactive music video. I was not sure what to expect but I was most impressed by it. This really is a great showcase of the mixing HTML5 and WebGL. The music was really cool... might even get myself a copy of the single/album . But once I had played it a couple of times through I was thinking exactly how easy is this? Changing pixels on the screen is one thing but how fast did it take them to do it?
My experiences with JavaScript is one of a love hate relationship... but I'll leave that for another post. So I was wondering how did they generate all the JavaScript files for the models etc. It's cool to have something that can play/run it but how about something productive to generate it? I was hoping the behind the scenes tech vid would shed some light on this but it didn't... other than going on about WebGL and HTML5. As a developer at heart I want to know how hard was it? Like really, how hard it was? It is really cool that you can do this but having something render your vision is one thing... how you create it in a form to render it is what interests me. Which really comes down to tooling.
Time will tell if this is just one cool example/demo application of these techs destined for history or is there a larger movement out there with tooling to follow? At the end of the day I'm always thinking about productivity and great tools make great techs hum. So for the meantime I wait an see what great tooling comes out on top for creating such visionary pieces of work.
My experiences with JavaScript is one of a love hate relationship... but I'll leave that for another post. So I was wondering how did they generate all the JavaScript files for the models etc. It's cool to have something that can play/run it but how about something productive to generate it? I was hoping the behind the scenes tech vid would shed some light on this but it didn't... other than going on about WebGL and HTML5. As a developer at heart I want to know how hard was it? Like really, how hard it was? It is really cool that you can do this but having something render your vision is one thing... how you create it in a form to render it is what interests me. Which really comes down to tooling.
Time will tell if this is just one cool example/demo application of these techs destined for history or is there a larger movement out there with tooling to follow? At the end of the day I'm always thinking about productivity and great tools make great techs hum. So for the meantime I wait an see what great tooling comes out on top for creating such visionary pieces of work.
Monday, February 28, 2011
ColdFusion musings on variable scope
Well I've come across the use of using local to reference all local variables in a function and some phobia to use var for declaring local function variables. I must admit I find this weird. I'm an avid fan of using var but that probably comes from my development in ActionScript and other languages I've developed in such as Java, C/C++. To me the phobia comes directly from the dreaded "memory leak" where you have the variable scope referenced instead of the scope relative to the function (local). This seems like a flaw in ColdFusion that a variable which is not scoped can appear to be causing the developer to have memory headaches. But to me I think developers should be more wary of what they are coding. The use of the local structure just seems like a lame hack which bloats the amount of code you write. ColdFusion is on it's own when comes having such a verbose way of referencing local scope variables. So really this is an issue of scope and a better solution would be to make it that you have to reference variables not in the local scope explicitly instead of the of reverse... well that being said people also just go and ahead an explicitly reference all variables which means a lot of typing. I don't care if you have intelli sense it means more typing no matter what.
So I do hope in the next version of ColdFusion they solve this problem because it makes code look ugly and longer to write... two things which ColdFusion is suppose to be working against. And yes I love my but you need a hand.
My feelings towards cfscript are similar to Ben Forta's. Read his post on I Am Not A Fan Of CFSCRIPT
So I do hope in the next version of ColdFusion they solve this problem because it makes code look ugly and longer to write... two things which ColdFusion is suppose to be working against. And yes I love my
My feelings towards cfscript are similar to Ben Forta's. Read his post on I Am Not A Fan Of CFSCRIPT
Wednesday, June 16, 2010
Swiz & Flex 4 are a great pair
OK maybe a bit of big claim to and I held myself off from saying a perfect pair. That being said they do work very well. I know yes there are other frameworks but for me this came up on top. Why you might ask and who did I look at? The frameworks I looked at was Mate, Parsley, & Swiz. I've been using Cairngorm since its 0.98 release and thought with Caringorm 3 coming out I'd look at the other frameworks. There is a lot of hype about Inversion of Control (IoC) and Dependency Injection (DI) which these three frameworks are based upon. Which we can thank our Java friends for bring this into our realm. But there is a significant difference between how Java IoC and DI Frameworks implement and how ActionScript can. That is Java has Annotations and well ActionScript doesn't. Since ActionScript doesn't have annotations the closest we have is MetaData which is essentially a piece of text the runtime can get access to. Where Java's Annotations are essentially Classes which are typed we have to deal with text which more often that not leads to typo bugs at runtime. So that is a down side all three of these frameworks and is not going to change till Adobe tackles this problem.
I first started with Mate and coming from a ColdFusion background I thought it would fit with me well. But I found myself getting annoyed with all the tag syntax. This is probably more a personal preference thing but for me tags are great for layout/UI and script for business logic when it comes to Flex.
I then tried Parsley because everyone seemed to be really into it. I found it somewhat overload with features. Where and why you would use those features seemed somewhat undocumented. Probably the most annoying aspect is that I just wanted a simple MVC example of it in use and there was none. Yep there are snippets of code but when your starting out its nice to poke around a complete or suggested solution. The reason is that Parsley has a non-prescriptive philosophy. As in you use it as you think you should. This lead me to frustration since I'm not one to read through pages of documentation trying to piece the picture together. I just want to see the picture.
After leaving my frustration of Parsley behind I went on look at Swiz. To my surprise it was well, under-documented. But it has a simple MVC example of how you could use it with Flex 4 and 3 if so wished. The example goes over the concepts and how you do things in it in the example application and you can get it from there git repository. Existentially what they did is show me how they think Swiz should be implemented. This is very similar to Adobe's approach to developer education which is to bring people from newbie to beginner-intermediate/productive very quickly. Like Adobe Swiz let's you figure out the hard stuff on you own. You might be thinking that is not a good reason... but as far as I'm concerned and my clients I need to get up to speed quickly.
Well this post is getting a bit long so I'll finish up quickly on why Flex 4 is a good match. The reason for this is that Flex 4 fits well into presentation layer of Swiz. So your views are more visually focused and your logical is separated out into the presentation layer. This frees me up to focus on all the business rules with out getting hooked up in the visual side. Skinning in Flex 4 fits well into this idea as well. It's like the layer above the view if you are thinking of your application in a MVC pattern. All of this makes it really easy to hand off visually elements to the (Flex/Flash) designer to implement.
I first started with Mate and coming from a ColdFusion background I thought it would fit with me well. But I found myself getting annoyed with all the tag syntax. This is probably more a personal preference thing but for me tags are great for layout/UI and script for business logic when it comes to Flex.
I then tried Parsley because everyone seemed to be really into it. I found it somewhat overload with features. Where and why you would use those features seemed somewhat undocumented. Probably the most annoying aspect is that I just wanted a simple MVC example of it in use and there was none. Yep there are snippets of code but when your starting out its nice to poke around a complete or suggested solution. The reason is that Parsley has a non-prescriptive philosophy. As in you use it as you think you should. This lead me to frustration since I'm not one to read through pages of documentation trying to piece the picture together. I just want to see the picture.
After leaving my frustration of Parsley behind I went on look at Swiz. To my surprise it was well, under-documented. But it has a simple MVC example of how you could use it with Flex 4 and 3 if so wished. The example goes over the concepts and how you do things in it in the example application and you can get it from there git repository. Existentially what they did is show me how they think Swiz should be implemented. This is very similar to Adobe's approach to developer education which is to bring people from newbie to beginner-intermediate/productive very quickly. Like Adobe Swiz let's you figure out the hard stuff on you own. You might be thinking that is not a good reason... but as far as I'm concerned and my clients I need to get up to speed quickly.
Well this post is getting a bit long so I'll finish up quickly on why Flex 4 is a good match. The reason for this is that Flex 4 fits well into presentation layer of Swiz. So your views are more visually focused and your logical is separated out into the presentation layer. This frees me up to focus on all the business rules with out getting hooked up in the visual side. Skinning in Flex 4 fits well into this idea as well. It's like the layer above the view if you are thinking of your application in a MVC pattern. All of this makes it really easy to hand off visually elements to the (Flex/Flash) designer to implement.
Subscribe to:
Posts (Atom)