Making Website Mock-Ups in Linux?
The Ubiquitous Web Designer asks: "I am trying to design a rather complex web page and am wondering if there are any tools which will allow me to make non-functioning mock-ups of each page so that a programmer can work from them. Obviously, it's hard to use the GIMP to make radio buttons, check-boxes, data entry fields, and so on. Can something help me design a page without much knowledge of HTML, or am I better off just doing it with paper and pencil by hand?"
Try Nvu, it's good enough.
In short, no.
You can technically find a tool that will let you place checkboxes + radio buttons, etc pretty easily, but you'll find that the visual design of those elements are what require the HTML and CSS skills. You're better off just drawing them how you want them to look and letting the HTMK/CSS gurus actually do all the coding, otherwise all the work you do making them look how you want will have to be redone anyway in code.
Inkscape is perfect for this sort of thing. I've used it many times.
What if I do the same thing, and I do get different results?
I think that you should really design everything on paper, then scan the paper, and upload it on the web ! and ... voilà !
Please do not do what you've asked about doing. Instead, pick up a copy of Paper Prototyping at http://www.paperprototyping.com/ then read it, and then you will save yourself a huge amount of time (much more than the time you take to understand the concept).
Your users will thank you.
On one project I worked on, we did a user interface JAD session that consisted largely of hand-drawn diagrams. When the users made a suggestion, we stuck a Post-It note over the part of the page that needed to be changed and drew in the suggested change. Incredibly fast turnaround, and we weren't restricted to whatever we could render in HTML. After the session, we went back and coded up some mock pages in HTML and curculated those as an appendix to the meeting minutes so the users could comment on what the "real" interface would look like. It's not too hard to write up some JavaScript to wire a few dozen pages together to produce a prototype that exhibits a lot of the behavior of the proposed system.
Just junk food for thought...
I use paper and pencil with a ruler to sketch a basic idea and layout. It gets scanned, I open it in Photoshop and start working. Without layer styles in GIMP you might be SOL...
If you do use gimp just download a GTK 2 theme based on the image or experience engine and pull out some transparent PNGs of the controls you need.
Good. Cheap. Fast. Pick Two.
Java tool, optimized for tablets though. http://dub.washington.edu/projects/denim/
I'll do the stupid thing first and then you shy people follow...
http://dub.washington.edu/denim/
It's like paper prototyping, but without the paper!
It sounds like you're looking for something that you can just draw the screen the way you want it to look with all of the controls and such. It sounds a lot like the Visual Basic interface (or any of the visual programming tools). Obviously buying Visual Basic to do layouts is silly but there are other freeware programming tools that work the same way. A quick search came up with Lazarus.
1. Rough sketch on paper
2. Draw the complete layout in Inkscape
3. Export elements into the Gimp for final touch up and optimization
4. Link to images in stylesheet
Inkscape is an excellent tool becuase you can scale you're elements as much as you like without losing quality.
...has always suited me very well for those very elements mentioned in the post - that and your web browser.
Had a design template in Photoshop that contained all the graphics for buttons, checkboxes, text fields, etc. The designers just grabbed elements from the template and used them to mock up their design. I don't see any reason you couldn't do the same thing using the GIMP.
You should be able to grab screenshots of the elements you want out of Firefox and then reuse them in your layout. The only "hard" part is that for objects that have variable sizes, you have to grab the right and left sides and the middle as separate elements. Then for a "wide" button you stretch the middle portion to the correct width for your text and then place the right and left elements on the sides.
This may sound like too much work to you, but keep in mind that once you have captured all the parts you need, you can reuse them on future projects of a similar sort.
Interested in a Flash-based MAME front end? Visit mame.danzbb.com
You say it's hard to do that sort of thing in Gimp, but it isn't hard at all -- just create all the relevant elements as brushes or patterns, and you can paste them in wherever you want.
That said, you still won't likely create anything worth looking at; mock-ups created in a graphics package just don't cut it. Trust me, I have a colleague who does the same thing in Photoshop, and it's really annoying to have to re-create his mock ups in HTML... especially as he's fixated about getting it 100% perfect, down to the pixel.
In the end, your best bet is to start with HTML. Whether you're coding it or creating it in a WYSIWYG designer, you really do need to have the HTML so you can see it working in a browser.
JASC Webdraw could do the same.
Why don't you just use Microsoft Word like I do? It's *SO* easy to use!
You want a tool to generate mock-up web pages in Linux? What's wrong with
/var/www/html
# cd
# pico example_page.html
?
Failing that, just get yourself an A4 quadrille pad and a propelling-pencil.
Je fume. Tu fumes. Nous fûmes!
When I worked as an HTML code slave, I would get mock-ups done in Photoshop, GIMP, pencil and paper, Dreamweaver, Word, Publisher, Open Office, whatever. What it all boils down to is that you need to work the way you work best and leave the coding up to the coders. If you are most comfortable doing your mock-ups in crayon, then do them in crayon. The important thing is to be sure that you have gotten your ideas across clearly and plainly, and have a little faith in your coders to do the job. If you can't trust them, then maybe you need new coders. o_O
Death looks every man in the face. All any man can do is look back and smile. - Marcus Aurelius
Paper-making is not a closed source process. You won't be betraying the ideals of the open source movement if you pick up a pen or pencil and just start doodling.
You can probably do a couple iterations on your design in the time it takes you to install and boot up any software package. Hand the best one to the programmer, or scan it and e-mail it to her.
egypt urnash minimal art.
Inkscape is king, or try one of the several other (Free, free) vector drawing packages available.
.png or .svg, easily convertible to pdf or whatever you need really. You can also use it to create frames and then animate them with the command line tool animate to show functionality that wouldn't work well as a static image like so.
You can easily bolt together page elements and then create copies to drop anywhere on your mockup, and group select to alter attributes accross many elements. It can also import raster (bitmap) graphics to show where photos etc would go on the page.
Output is as
Think of the Children; Sleep with your Sister
I do this sort of thing all the time (make mockups in Photoshop and then create the HTML and CSS for them). The only form elements you really need to be worried about is radio buttons and check boxes because you can't style them by normal means. Everything else, design the way you want to. Also, I'd recommend getting away from Linux, GIMP and pretty much any open source piece of design software if you see yourself doing a lot of this kind of work. Linux isn't designer friendly and open source design software isn't even in the same league as professional design tools. I'm sure a lot of people here won't agree on that point, but they're also the same people that will (falsely) proclaim GIMP to be a valid substitute for Photoshop. Don't get me wrong, I love open source, but it's not up to par in the design world.
If simple HTML is a challenge for you; You have wondered into the deep end of the pool. The best advice you can receive is either climb a little higher on the learning curve; Or hire advice from someone who has been there before. Either way is relatively painless, and causes the project to be completed on time.
"The Ubiquitous Web Designer"
....
"Can something help me design a page without much knowledge of HTML"
That probably sums up 90% of web designers right now sadly
I have a question that's been bugging me for a while that is related to, but not quite the same as what the submitter asked. It's more relevant to the company I used to work for, but I still want to know the answer even though I don't so much have the need anymore.
The submitter wants to make non-functional mockups without spending a lot of time. Our designers would do that in photoshop and once the client approved the design, they would then do the mockups in HTML.
The HTML mockups weren't bad, they did their best to make them as "real" as possible. For example the form submit actually take you to the next page instead of just "#". But if the form was edit.jsp and after you press submit it takes you to view.jsp, we'd have to go in and change it so that the form actually submitted to EditSubmitAction which would then display view.jsp. I wanted them to be able to point it to EditSubmitAction and give them an accessible way to map that to displaying view.jsp.
Another example would be they would have on view.jsp something like:
[tr][td] Name 1:[/td][td] Bob Smith [/td][/tr]
[tr][td] Name 2:[/td][td] Chuck Jones [/td][/tr]
[!-- etc for each row --]
I wanted them to just be able to use JSTL tags to create the actual while loop. If they had a way to put in some sample data like Bob and Chuck that would be great too, but it was usually "ipsum dolar epsum" or however that goes anyway.
It seems to me that creating a framework that would allow them to do that wouldn't be terribly hard. It would save the programmers a lot of time integrating the code with the design. And I don't think it would be a significant burden on the designers (they were paid less, so even if it was a burden to some extent the company could come out ahead).
For whatever reason this suggestion went nowhere. I wasn't expecting it to be perfect. I was expecting to have to fix some things, change a lot of the names the designers gave, etc.. But it seemed feasible to get a pretty good return with fairly minimal effort.
Has anyone had any experience with a framework such as this? Or perhaps a different approach to accomplish the same thing?
...is usually what is being used for development of the end product. If you are making a website mock-up, do it with web development tools. If you are mocking up a windows forms app then use Visual Studio (whatever language because it doesn't matter, especially in .net--the point is to use the form-building GUI tools). If it is GTK use GTK-based tools, etc.
What it all boils down to is that you need to work the way you work best and leave the coding up to the coders.
I don't mean that you should do this and expect your coder to retain all the code you generated or wrote, becasue as you suggest your coders should know how best to code the actual application. As a developer, you'd posess the skills to determine how much (if any) of the mock-up can be used. A good mock-up may be nearly perfect, but more than likely if you use VS.NET like a drawing program then all the form objects will have meaningless names so what little generated code might be useless anyways.
So why use VS.NET to mock up a Windows UI, or FrontPage to mock up a web app (or the Free Software equivalents...whatever) if
If you are most comfortable doing your mock-ups in crayon, then do them in crayon.
Although I don't think that someone designing a UI needs to have advanced coding skills, I do think that such people should have at least introductory knowledge of the development tools and/or target platform and what their capabilities are. If you've got no knowlege of HTML at all and have never designed a web interface then you'd better learn a bit about the tools and technology behind web apps before venturing out to design one. Someone with adequate knowledge would at least know how to doodle something out in Dreamweaver or FrontPage. Yes, the code from such a person may be atrocious but the code is not the point (and the designer should not take offence if the code/underlying HTML structure is differnent--if the coder wipes out the table-based layout you futzed with for a couple hours to get just so and implements an almost-equivalent layout using proper CSS it is the coder's perogative--he knows best because coding is his job function).
So if none of the code matters, what's the point? Some might assume that mocking up using the same/similar visual developer tools as the coders will use would be so as to re-use whatever code supporting the mock-up but trying to re-use such code is actually a bad thing. The actual point is to convey the *intended behaviour* in ways dificult or impossible to do on paper, or powerpoint, or MS Paint or whatever. That is best done using the same technology/tools as the developer uses because NOTHING ELSE truly duplicates that behaviour. Drop-downs in Windows forms are a little different than in windows forms and simulating the behaviour of a drop-down in Powerpoint is too tedious to bother, and you cannot express a drop-down well on paper at all. Designing in this fashion also keeps the designer in tune with the characteristics, limitations, best-practices, etc. of the platform. For example, too many websites try to look too much like native desktop apps, supported by large amounts of kludgy code. AJAX is now popular and unfortunately in all too many cases it is used solely to make it more closely emulate the "desktop experience" without adding meaningful value. I think that brainless website layouts (those with fixed widths, javascript-heavy visual effects, accessibility-breaking purely-graphical buttons/links, non-resizeable fonts and so on) aren't dying off as fast as they should probably because of the legacy left by the practice of using graphics editors and other static techniques.
Submitting a mock-up in crayon to a coder might be good enough, and the coder will thank you for not trying to do the job he is best qualified to do himself, however you are doing your developers a disservice by such practice. Nothing can substitute for the visual interactivity of a "live" mock-up, and if the end users evaluating your mock-up com
If you just want to show layout and don't want to draw by hand on paper, why not use xfig or some other diagram-drawing program? If you do a lot of this and want higher quality drawings, you can create a library of objects.
Inkscape is a great tool. I recently revised the www.bazaar-vcs.org website. My SVG mock-up is here: http://people.ubuntu.com/~mnuzum/projects/bzr/BZR% 20Concept2006-07-26-1.svg (open it in inkscape for the real effect).
I plan on documenting this process soon, because I know a lot of people ask about it, but here's what I do:
* Get the newest version of inkscape that you can, they really are adding excellent new features with each release
* Open a new doc and assuming 1024x768 target browser size set the document to 1000x600 px. For 800x600 go for 760x600px
* Use the layers tool in Inkscape to separate portions of the document
* Create a layer on the very top called "slices" and in this layer, create rectangles that are 10% opaqe or so that cover individual elements that will become images in the final product. This layer will usually be hidden.
* Periodically save your document out as png... remember, most people have a screen res of *96 dpi* not 72.
* When you want to save individual components, for example the logo in the example above, show your "slices" layer, click the square that covers your logo so that it's selected, then hide the slices layer. The square will be selected but hidden. When you choose export, it will export just the visible portion of the image you have selected.
I'm happy to give more details, I'm newz2000 on irc.freenode. I don't have a lot of time to chat, but ping me and I'll help out if I can.
Once we get guasian blur in inkscape I'll probably stop using photoshop. (Yes, I run photoshop in Linux - using crossover office)
I set up an Apache server on my local computer (http://localhost) and save directly to the /var/www directory. I work with the "live" file on that server as I go along. I tweak in Kate or Gedit or Bluefish or GIMP or bla bla bla, ALT-S with my left hand to save while I hit the refresh button on my Firefox browser. I can frame a table or DIV, adjust the css to suit, save images directly out of GIMP as I go, and la la la. I'm done a template in about 45 minutes. Then it's just a matter of plugging in raw content (ick) or php code to generate content where it's required.
It's not a question of the tools you're using, but how you use them. Knowing how to use them effictively is more important than how you mock up a website. Sometimes I use pencil & paper sketches. Sometimes I write out snippets of code on napkins at the bar. (I'm such a hot date on a Friday night). Sometimes I use GIMP to do a 1024 x about 700 @ 300dpi layout. Sometimes I'll just whip up a banner or logo or icon set and build around that. Sometimes the content requires a specific presentation (ie. chemistry lab reports) so you have to work with that.
It's the holy grail of all user interface design.
Personally I'd have to agree with everyone else who suggests learning XHTML and CSS; it's really not very hard at all... or of course, you can just run something like DreamWeaver on Wine, I'll admit I can't stand those GUI editors at all but it might be worth checking out anyway if it might be easier...
I will admit, I'm a real GIMP addict myself, but it can definitely be a pain in the ass to learn, it took me around a year or so of playing around with it off-and-on before I really got the hang of things, although it was really just silly things like techniques, not the interface or the program itself – and once you've gotten past that, it's a lot easier...
Have you tried maybe OpenOffice.org Draw? Not sure how useful it would be for a Web site, but I've found it's a great program for lots of other stuff, use it all the time for basic desktop publishing...
Creative misinterpretation is your friend.
...Xara Xtreme. Yes I'm biased. I used Xara 1.5 to create production quality graphics for a magazine nearly ten years ago and I still haven't come across an illustration program that was as fast or as easy to use until I grabbed the latest build of Xtreme. See here for the Web-specific features. Ignore the Windows-only requirements menu - there's a very stable Linux build in the Downloads section.
For a nice quick design prototype, I'd love to hear if there's anything better.
--- Hot Shot City is particularly good.
"pen and paper"
At my previous company, our UI designer used PowerPoint to create wireframes. That was to get a feel for where the UI elements would fit on the page. One nice thing was that he could easily share his work by e-mailing the PowerPoint file. He even did some crude scripting so that clicking on certain elements would take you to the next page. The software developers joked that we should just ship his PPT file as our product.
The artistic factors (color scheme, logos, etc.) were handled by our graphic designer after the wireframes were done. I think he used Photoshop for that.
If you insist on doing it in Linux, you could try OpenOffice and GIMP.
I'll give it a try. "JavaScript-focused" sounds intriguing.
* * * * * *
Boy, those French, they have a different word for everything!
--Steve Martin
Find a real web designer. And not I am not being mean.
CSS/XHTML imposes limit on what fonts you can use and what is possible and what isn't
Not only that but you have to make sure it runs on standards compliant browsers and hunk of trash that Microsoft calls IE.
it is the height of arrogance to think that you can design a web page and no nothing about HTML. Kind of like someone that can't change their oil thinking they can design a car.
Find a web designer and tell him what your page needs to do. Then work with them until you like it.
Do not give him a pretty picture and expect him to get it to render on every browser and resolution on the planet.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
I do professional webdesign and use Linux. I'm also using OS X but for reasons unrelated to classic webdesign.
First of all I'd like to note that the available OSS tools have come a long way since a few years ago. Inkscape as a vector tool looks impressive, Gimp is a usefull tool for professional work and Openoffice Draw isn't to bad either, allthough it's best suited for flowcharts and stuff.
For professional Print and Web work on Linux I personally use Corel Draw & Corel Photopaint for Linux (CD Version 9) for which I was fortunate enough to get a licence a few years ago (cost me about 400$). Yet Corel Photopaint Linux was released for free (beer) just a year later. I doubt it's still available from the corel website, but I'm shure many people downloaded it back then and have it somewhere on their HD. Ask around in Linux Forums like linuxgrafics or something, you'll find someone with a copy of that in no time. Despite Gimp being powerfull, I'd say Photopaint is still the most powerfull Pixelapp for Linux. Then again, for mockups Gimp should actually be just fine. I designed the buttons on my homepage with it.
I do use Photoshop (on Mac OS X) sometimes, because some filters are unmatched by others until now and Gimp doesn't have bump-displacement mapping which can be a real downside. But when it comes to editing, Gimp is a very good tool. You should give it a try aswell.
We suffer more in our imagination than in reality. - Seneca
It may also explain why Adobe isn't porting Photoshop to Linux anytime soon.
I'm not so sure Adobe is taking so long to port to Linux for this reason. Afterall they're not porting their software, PS, to MacTels until the third version of CS comes out.
FalconShould there be a Law?
actually, Seamonkey's editor has similar codebase pedigree, gets updated more often, crashes less and its GUI is a bit less of a pain... still quite basic though.
I find that when I'm designing stuff quickly, I need to have something that I can use easily and quickly, even when my mind feel like it's going faster than my hands can go, so I draw. Just scribbles, but when I have one that I think is good enough, I'll pull out the ruler and colouring pencils, and see if it really does look that good.
When I'm done, I'll open up Vim and see if I can get a working style sheet & HTML. If I still think it looks good, then I'll go ahead with it.
Yeah I use inkscape for page layout too (crayon first!). It's good for doing a visual that you can instantly edit if you're chatting with clients (similarly I use the webdev CSS editor at a later stage for this type of thing) ... I haven't used it but wonder if inkboard (a part of inkscape for collaborative drawing - I think) might help here too?
... I couldn't get it running initially, when I did I couldn't get used to the funky UI. That's not totally because I'm wedded to Inkscape; I've started off with CorelDraw X3 recently and took a lot better to that.
Oh and Xara
Quanta plus is so nice and easy to use, with support of CSS, and a bunch of other tools to help you code right.
Basically make your content, name the blocks. Start writing CSS that makes the page look right.
To do a website elegantly, you need to consider CSS from the ground up.
quanta plus has a wysiwyg environment now. Plus it uses konqueror--the browser that passes the acid2 test. and it has some great code collapsing features from the advanced text editor.
--AP
Please use [ informative / summarizing ] SUBJECT LINES
Flame me here
I hadn't noticed Inkboard. I'll have to check it out. I'm reminded of similar functions in openCanvas (back when it was freeware) and Yahoo Instant Messenger (it's pretty basic, but it can be fun to doodle with friends).
Personal taste is a large factor in clicking with a UI, especially among creative professionals, I'm finding. I was never a real fan of Inkscape, and I still can't use the GIMP for anything other than the most basic tasks (I'm a Photoshop junkie). Then again, I'm really getting into Blender, while 5 versions of Max never did it for me. C'est la vie.
If you decide to give Xara another shot, check out XaraXone. They've got 10 years worth of tutorials onhand, and you can find out how to do pretty much anything, with a little searching.
You can't win, Darth. If you mod me down, I shall become more powerful than you could possibly imagine.
I start like this: Pen/Pencil -> Image Mockup in Photoshop -> XHTML/CSS mockup with real structure.
I know (from personal experience) that GIMP takes some time to learn, and creating graphics from scratch with it is not exactly easy. But for the image mockup stage I have a somewhat unorthodox suggestion. Try Scribus. Since you are doing visual layout anyway, why not use a software that actually is designed to create and manipulate such? Different elements are not tied to graphical layers, and dropping sample texts into them is dead simple.
The really interesting part is that if you end up doing the layout this way, you already have a visual model for CSS box elements. Of course, for the final mockup and image spots you may need some heavy-handed image manipulation (also known as "cheating") but then again, you're selling a project and sales material usually only approximates the truth... (And CSS provides the tricks to pull the same stunts off in any case.)
Personally I have changed to using Scribus when creating diagrams. Takes a little longer than with dia, but the results are damn good-looking and certainly worth the effort. Combine that with some good clip art and you have near-professional quality results.
Unorthodox, or outright heretic? You decide.
There is no such thing as good luck. There is only misfortune and its occasional absence.
I tend to use tracing paper, felt tip pens and a photocopier.
Establish your basic grid - photocopy a bunch of shells, you can layer elements to see how the screens build on each other using either light trace or bank paper.
I also find that colour can be useful in mockups - hence the felt tip pens. If links are going to be a different colour, etc... show them as such on your mockup. HMTL is a GUI, chances are they won't be using the site in B&W - colour does impact on the choices people make while using the site.
Sara
Designer, Gamer, Macgrrl in an XP World