Show HN: Front-end framework optimized for internal apps
getflakes.com
getflakes.com
An opinionated admin framework would be a huge win. For what its worth - semantic-ui.com has a couple of neat compenents that are also worth having (cards, steps/wizards).
Watching this project now!
Whenever I'm designing a system that is replacing paper, though it's been a long while. I find it best to start with as close to the paper version as practical. There's a lot to be said for making something that is familiar.
Perhaps it's because the grid style form ignores the importance of whitespace in clear and understandable design. Here's a good test: hold the form upside down and see if you can still tell it's structure at a glance, or hold it at the other side of the room and try the same thing.
Old terminals were fairly space-constrained so I can understand why this choice was made, but modern computers with their high-res screens do not have this restriction, e.g the iPhone has a full keyboard instead of a number pad with letters on, like feature phones had, because they had the space to do so.
Rendering demo: http://insin.github.io/newforms-gridforms/
DSL example: https://github.com/insin/newforms-gridforms#usage
Seems like a bad idea to me whenever designs attempt to "Fit stuff above the fold". Scrolling is a lot better, and I think it's better to present users with a portion of the information at a time and allow them to progress through a long form in a linear fashion. Vertical scrolling > horizontal progression.
Life can look good all over. Don't succumb to this "business is serious and should therefore be dull and boring" stuff.
In my opinion, the design importance grows with the number of users.
Keeping to principles like this at work or for work environments would make it so much easier to have unity. I'm not saying everything should look like this, but that not everything needs to stand out for the sake of standing out. Using the same app every day undoes the need for over the top "visual cues" and complex overlays and material concepts. We need fast, interchangeable stuff, that works with large amounts of data/fields/etc when the content doesn't fit looking like apple.com. :)
I wish you guys luck, and I'll give it a shot the first chance I get.
For internal apps: Structure could be one theme on one CSS framework. So much time is wasted on "design" (picking colors, lining things up) by people who don't know anything about design.
I also like your search & filters design. I did something like this just last week, but I like yours better. ;-)
In some places you use semantic class names, like for messages, but for buttons you use colors. Probably better to just stick with a single convention for consistency.
Granted, one screen isn't as heavy with data, but if you're trying to survey that much at once, you'd probably benefit from richer tooling anyways. I'd almost bet that a design that degrades gracefull from data grids to list views will have users resizing their browsers or picking portrait mode to get out of that.
Other than that, pretty cool! There may be a space for this...
Reminds me a bit of http://platform.qbix.com which we built to power social apps (on all devices).
One tip: if you're going to make it for business, have the demo document the keyboard shortcuts to get around quickly, like in gmail. Ideally your "front end framework" could have a controller that would accept a keymap object like {"a": "actionName", "r": "someOtherAction"} etc.
In my years in enterprise, user and market research has driven the push to create UIs that are more compelling, that make users feel more at home and comfortable (as they would be with mobile and consumer products), while maintaining a more narrow focus on tasks instead of providing a generic one-size fits all paradigm.
This framework stands in contrast to that, making things dull and boring. What caused you to go down this path?
But quite often, some corporations would've fared better keeping their old mainframe terminal apps. With mobile apps, both setups don't really fare too well, although with the recent influx of Windows tablets and styluses, I fear that we could be regressing to shoddy Visual Basic-ish apps with homegrown comm/sync protocols again.
The way it is built is just perfect to get used to automation of hands. You have the feeling right away that you can use "tab" and "space" to change/fill/move things in those.
Putting more fancy things and making it not "boring" is not an easy job and most of the time fails i think.
"make users feel more at home" will lead users to be focusing less time on the actual task and more time on the tool, isn't it ?
Apart from what this framework does (didn't have time to play much), I congratulate the UX guys on this project for choosing this kind of design and behaviour.
They could have totally another idea maybe for going this path but i love it.
As far as "making them feel more at home" - the more comfortable a user is with an application, the less likely they are to make mistakes. The less mistakes, the more efficiency. The more efficiency, the either: A) less time spent in the application (for ad-hoc, or get in and get out applications - a common staple) or B) more tasks accomplished (for bread-and-butter, run the business, 24/7/365 applications)
I want to be clear - I think that what has been built is an excellent job wrt technical implementation.
However, the driving design justification seems wholly contrary to the direction the industry is (trying) to move toward.
I fail to see how "simplified" and "bland" relate to each other here in opposing ways. Leaflets to join a gym and tax forms don't really have to share the same design goals, and anything beyond a landing page on the "home" interwebs tends to gravitate towards a more unified, "boring" appearance, too (standard desktop GUIs for the longest time, facebook, almost anything by Google -- or, well, this site).
It would seem that having less colorful, unique splashes would actually run contrary to that, culminating in the abominations we've seen done with Flash in the past (or game GUIs, "unique" and/or cross-platform mobile app). Or the dreaded skeuomorphims we're just growing out of.
Could you give any examples of common webapps that would be the right way to approach e.g. a corporate CRM?
If you had said simpler and more efficient interfaces I would have agreed. Current ERP and CRM applications try to put too much in front of the user at one time. It's better to have micro-applications that match a particular function. This looks like a good idea for that.
This framework stands in contrast to that, making things dull and boring.
Dull and boring sounds UI to me exactly like at home and comfortable. Compelling sounds like the day to day trend hopping that we see all the time. The frantic activity means it can pick up usability and interaction improvements at a faster clip, but that's a byproduct.
But the entire reason for this conversation could have little to do with Flakes' decisions and be more reflective of the way design will overloads existing words with new vague meanings and create statements that are illegible to people not versed in the existing narrative.
This, however, seems like a great starting point that I will definitely keep in mind for future projects. I'll need to check how easy it will be to customize and extend it, but it's a great first impression.
One thing that I noticed immediately was the UX associated with the hamburger menu.
When the page content gets sufficiently long, you have the potential of scrolling beyond the hamburger menu. To jump to another page, you have to scroll to the top.
Potential solutions could be making the hamburger menu fixed to the upper-left corner, or provide UI widget to return to top of page.
I know there is a lot of work in the custom sass here and this is currently a one-man project. May be a good candidate for a "Roadmap" and "How you can help" section in the repo's Readme.
I think the front-end world is going more in the direction of single-page apps that primarily use the server side for data-driven APIs. The server-side APIs become way more portable, and the user experience becomes far more responsive. Just because something is internal doesn't mean you don't want data portability, high responsiveness, and low latency.
I respect the fact that the approach is opinionated from a front-end perspective. But to counter an opinion with another opinion, data portability and reduced latency from the server justifies all the fuckery associated with many of the SPA frameworks (looking at Angular when I say fuckery). This framework encourages people to stick to the skills they were comfortable with five years ago, and untempered complacency is never a good thing.
/preview/typography: I was hoping to find out what font(s) I was looking at, but this page contains a history of typography. Looks like it's Helvetica? But I don't see the word Helvetica anywhere on the page. Maybe it's expected that the user will know why Helvetica is the right choice.
from /preview/grid : "A collection of classes to build grid based layouts with absolute ease. This is the simplest grid system you'll love to use." This feels weirdly sales-y for documentation.
That being said, I do like the look and feel of Flakes. Also, given that graphs and charts are key to internal business apps, would be awesome if there was some easy charting integration / capability.
From my initial tests, it's very clean MVC (a bit verbose). Also the deploy story is not too good... (frontend code ships as a .war). Does anyone have experience with this, good or bad?
I'm also not a huge fan of enterprisey software development.. SAP and most Java projects make me pull my hair out just getting an environment for development setup.
Still OpenUI5 is just js files in the end, so hopefully entreprisey people can't mess it up too bad ;)
UI5 obviously has the weight of SAP behind it (be that for good or bad!) and new releases seem pretty frequent. For developing web apps to consume SAP data at least it seems the obvious choice (it's very much geared towards consuming oData which SAP Gateway provides).
Thanks for sharing!
At this point sass doesn't really offer much over less (other than a slightly stronger presence in the design community). I'm using node mostly, which fits in better for me, and makes less a better/tighter fit.
For better or worse, being able to bring in less, react and the like combined with SPDY/HTTP2 will bring some interesting development as things progress. Right now transpiling ES6/7 stuff to ES5 is probably the biggest bottleneck in terms of serving applications closer to as-is.
The 'Next' button on the grid seems to be broken. No javascript error in console. Current stable Chrome, Windows.
Update: never mind, found the docs hiding inside the live demo page.
Buttons kind of look out of place, though.