skip to main | skip to sidebar
Showing posts with label screenshots. Show all posts
Showing posts with label screenshots. Show all posts

Saturday, May 10, 2008

iLiad iRex pictures

As there's some interest in the iliad and other ebook readers, and as a follow-up to my previous post describing my general impressions of the iliad, I thought that posting some pictures would be interesting... Clicking on the images shows the original image size (note that the grain is in fact due to the iso setting rather than the iliad !)






This first picture shows an A4 PDF, not resized, and perfectly readable. As you can see, no problems either with the viewing angle.






The 16 gray levels work well enough for reading some comics :)






Another comic, close up.






One of the great thing with a reasonable resolution and antialiasing: you CAN put A4 scans of partitions, and IT IS readable :) -- here the Turkish March, from a freely available document scanned by the Bibliotheque Nationale de France (thanks!).






As you can see, the poor quality of the pictures (and the not-so-great white balance) are due to the actual lightning conditions :) -- and you can also see how well an e-ink device reacts to a direct spot lamp...


Finally, as it's one of the main use of my iliad and one of the main reasons I actually bought one, an A4 research paper:






As you can see, it's readable (albeit a bit small), with the PDF reader I use simply set in fullscreen mode.






Zooming on the same document with the camera (ie without touching the iliad) -- you can see how such A4 PDF documents are actually readable, without any kind of resizing (apart the fullscreen mode). The PDF reader application can also zoom the document if it's really necessary (using a simple gesture with the stylus), but I rarely use this feature (usually only for some diagrams if they are too small, not for the text itself).

Friday, April 11, 2008

Iliad iRex note taking and hand-writing recognition

I recently bought an Iliad iRex, a pretty awesome eBook reader. Among the cool features, it's running linux, an sdk is available, and it's really easy to hack stuff for it (for instance I wrote a simple script for downloading the 24h edition of The Guardian). Also, as shown with the previous link, the community is quite active :)

Just a couple of words about the iliad itself... the hardware is pretty awesome, with wifi, ethernet, wacom tablet, usb, mmc card and compactflash, audio jack...
the e-ink display is quite amazing too -- 768x1024 makes it precise enough to be able to read A4 PDF without too much problem (a great thing to review lots of research papers, believe me !).

The software side on the other hand... is a bit disappointing. Don't get me wrong: it's good enough, and some aspects are pretty cool. But you really unlock the possibilities of the devices by getting the root access and adding applications developed by the community (notably, the PDF viewer hacked by the community is fantastic, with gestures, etc.). Which means it's fine if you are a geek and not afraid to hack your device, but more annoying for your average consumer :-/
The other disappointing aspect is the (comparatively) low battery life: about 12-15 hours depending on the model (mine is a v1, the v2 do better), which is mostly caused by the fact that no sleep mode is available. Other eBook readers perform much better on that metric. To be fair they don't have wifi nor a wacom tablet :D ... so it's really a matter of choice.

All in all, it's a bit of a shame as really the platform is very nice, and with a bit more effort on the software side, Iliad would have a killer product on their hands. Oh, and yes the e-ink display refresh rate is slow, but curiously it's not that annoying, and having its full library in such small factor is absolutely fantastic.

Anyway... one of the really, really cool feature of the iliad is the presence of a stylus (i.e. the iliad display sports a wacom tablet), which allows you to annotate PDFs, take notes, etc.

I started to experiment a bit with the note taking feature of the iliad; the idea is that you can open a PNG image in the notes folder, and a copy will automatically be made where you can write on it (the image is being used as a background, so it's trivial to have customized backgrounds). But I then wanted to generate a PDF from those notes (i.e. combining the scribbles+PNG).

Iliad do provide a windows application to do all that, but it's a windows app, not really useful for me... there is a nice java application written by the community that allows merging scribbles with the PDF as well. Alas, the java scribble merging application only seems to work for PDF scribble; I guess it would be trivial to modify the java app, but I had a look at the xml scribbling format, and I saw that the format was really simple.

So I quickly wrote myself a MacOSX viewer for the notes, using the png image as a background, letting me print notes easily or convert them to PDF.

But then... I suddenly remembered the Ink handwriting recognition engine.

This thing comes straight from the ill-fated Apple Newton PDA (such a loss!), but what is nice is that it is available and installed by default on OSX.

Turns out it's not too difficult to feed Ink a set of custom datapoints, and after some tweaking it doesn't work too bad apparently, as can be seen on the screenshot...





So far, this is only highly experimental code, and it'll probably take a bit more time to have a really usable application. Still, pretty cool!

Thursday, March 06, 2008

Google Gears Mobile

One of the few annoying things when you work at Google is that you can't really talk with your outside friends about what you are doing... so it's rather nice when you finally release the project you worked on for the last few months and be able to point to it :)

So anyway... we released Google Gears for Mobile tuesday morning ! Here is the post from Charles Wiles announcing it, another one describing mobile gears, and one on the Desktop Gears blog. Plus you get fancy videos from Charles, Andrei and Dave talking about it.





A few words about Gears: it's an opensource project, adding a cool set of javascript APIs to internet browsers. Those APIs let your website use a database locally, cache pages, and execute javascript code in threads, basically blurring the line between webapps and native apps.

Biggest use so far is enabling sites to be used while not being connected to internet. Of course, disconnected mode and local storage make even more sense on a mobile device than for a laptop... add to that the fact that writing native applications for mobile devices is a pain, and gears-enabled "webapps" are suddenly very attracting, even if on winmo you have to go through some gymnastic around PocketIE "limitations". Oh, and this work for the moment on Windows Mobile 5 and 6, touchscreen and smartphone, and implements all the 0.2 APIs of the desktop gears.

And more is coming...

Tuesday, September 04, 2007

Dock

Looks like it didn't take long for Yen-ju to play with the Cairo backend and partial transparency :)



Shiny. (yes, too much like OS X)

GNUstep Cairo backend

After some effort, I finally managed to find a solution to the annoying scrolling bug in the Cairo backend... There's still some little graphic glitches appearing sometimes -- it looks like some clipping/refresh issues -- but overall it's nearly there :)



For the intrepid, the code is committed on the gnustep trunk. The above screenshot shows the Etoile desktop (with the new compositing manager) and the work-in-progress Narcissus theme, running with the Cairo backend.

Sunday, September 02, 2007

AlpenStep '07



I was at AlpenStep this weekend, you can check some pictures.

It was a very cool event, thanks in particular to gerold's organisation. The location, in a small swiss village, was really nice -- I can say that some fresh air after beeing in london is good !



It was also a small-scale event -- only 7 persons (though gurkan came but left saturday before lunch :-/), which made it a very intensive event as well: lots of discussion, lots of coding too. Fred Kiefer was probably the busiest person in the room, as everybody wanted to ask him questions/advices... ;-)

Riccardo Mottola gave a nice GAP demonstration, and during the weekend he and Nikolaus Schaller were busy working on SimpleWebKit:



Nikolaus also made a cool presentation of QuantumSTEP running on the OpenMoko platform :)



The OpenMoko device is actually fairly nice, very high-res screen, and some interesting hardware to tinker with.



Quentin was working on ContainerKit for Etoile, a very interesting way of specifying UI using a generic data model (so you can switch representations on the fly for instance), also allowing very nice introspection features with inspectors generated on the fly. I tried to convaince him to introduce some Magritte-like magic, i.e. adding metadatas to your model...

Quentin and I also made a presention of Etoile, describing the various components/frameworks/applications, and how everything is supposed to fit...



Finally, I can only be admirative of gerold organisation skills... to the point were he got us a GNUstep cake:



Which was delicious !

In short, looking forward for AlpenStep'08 ! (and Fosdem'08 before...)

Monday, December 04, 2006

Pointillist

What is it ? well, Pointillism is a style of painting I quite like, but Pointillist is simply the (working) name of a small graph library I'm working on. The previous post was discussing about the simulation software I wrote, which uses a simple graph view. I decided to clean up a bit that view, put it in a framework and commit it somewhere (likely on the étoilé repository). Not quite done yet, but it's shaping well, and it's now quite a bit more generic:




One of my "I will do it one day" project is a simple graph calculator... So in order to properly test the graph framework, I created a class using the StepTalk scripting framework to express functions (written in Smalltalk), which actually makes me rather close to have such a program :-P

for the curious, the code of the functions is:

Red function:

|y|
y := -0.5.
((x < 0.5) and: (x> -0.5)) ifTrue: [y := 1].
(x < -1) ifTrue: [ y := 0.25].
( x < -1.5) ifTrue: [ y := -2 ].
(x> 1.5) ifTrue: [ y := 2].
y := y + 1.5.
^y


Green function:
x sin - 1 / x


Blue function:

|y mod|
y := -1.
mod := x mod: 2.
(mod = 0) ifTrue: [ y := 1 ].
y := y - 2.
^ y


StepTalk is really cool btw -- Easy to integrate, and works both on OSX and GNUstep. Here is the code I use here:

id environment = [STEnvironment environmentWithDefaultDescription];
id conversation = [STConversation conversationWithEnvironment: environment
language: @"Smalltalk"];

(...)

id number = [NSNumber numberWithFloat: x];
[environment setObject: number forName: @"x"];
[conversation interpretScript: @"^ (x tan) / (x atan)"];
id result = [conversation result];

[values addObject: result];



values beeing a NSMutableArray containing the numbers returned by the steptalk function (the ^ in smalltalk is equivalent to a "return" statement in C). As you can see, difficult to have a scripting framework simpler than that to work with!

You can see that in the environment object I put an "external" (to the script) object, number, and this object can be accessed from the script using the given name (here, x). You could, instead of getting the script result, get the value of specific objects you put in the environment.

Anyway, it's very simple to add StepTalk support to your program, and recent versions even add nifty UI widgets to play with scripts.. also, StepTalk is not "just" a Smalltalk scripting framework : it can actually use other languages. On GNUstep for instance there's an Io bundle, so you could use Io instead of Smalltalk, etc. (it's actually fairly easy to add languages to StepTalk).

Note also that StepTalk automatically bridge the numbers in the script to actual NSNumber instances... which is how I decided to implement the math functions, and this actually demonstrate a very cool Objective-C feature; NSNumber doesn't have thoses sin,cos,mod.. math functions; so in another programming language we'd be stuck. A "normal" solution could be to modify StepTalk so that it would use something else than NSNumber (say, a custom class of ours), or reversely, to add those functions to NSNumber and recompile -- wait! you could do that with GNUstep (because we have the source), but certainly not with Cocoa on OSX. So how comes it works ?

Well, Objective-C has this great feature: categories. A Category lets you add new code to an existing class, at runtime. So that's simply what I did here -- I created a category on NSNumber with my specific math functions. Without needing to have access to the NSNumber source, or to recompile Foundation. Isn't it great ?

Sunday, November 26, 2006

System simulation

I'm (rather predictably) still working on my distributed rendering system.. but as it's a bit tiresome to make some modifications, recompile, restart.. -- more importantly, that it takes time to do so (1), I wrote a simple and nice simulation program that let me try different rendering/clustering strategies easily, swap them, evaluate or compare them, etc. That way I can concentrate on them rather than waiting 5-10 minutes to start visualizing a one gigabyte dataset on the cluster. Even better, the final idea is to integrate the simulation in the real system (it actually already gets timings from the real one and extrapolate the results) in order to have a nice feedback loop: run things, keep simulations in parallel, switch to other strategies if the simulation says it's better, update timings if needed, etc. Here is a screenshot of the current program:





The screenshot shows three simulated clustering strategies; basically we want to render an image using multiple computers. Each computer having one or more rendering agent. We divide the image in tiles and the rendering agents' job is to render them, send them back to the clustering agent, which will recompose the final image to send it back to a visualisation client. It's a fairly straightforward distributed technic. What's more interesting here is that we have three different strategies defining which tiles are sent to which agent. The simplest one is to divide the total number of tiles by the number of agents, and send continuous tiles up to that number for each agent (second bottom figure -- each color represents one agent). Another is to alternate tiles (eg no consecutive tiles are sent). Another one is to break the tiles according the the image complexity (first bottom left figure). The image complexity beeing the time each tile took to be renderered (bottom right figure).

The graphic shows the evolution of these three strategies depending on the number of agents. We can see that the alternate tiles strategy works fairly well usually (because the complexity is more evenly distributed), unless we ends on a multiple of the width (16), meaning the tiles are aligned, and thus the complexity is not properly distributed. Having a simulator can let us choose which strategy is the best before having to really use it.

(1) which break one of my Rules of Programming, ie, keep the REPL (Read-Eval-Print-Loop) cycle as short as possible: as obviously the shortest it is, the more ideas you can try.

Thursday, May 11, 2006

RTFD

Well, I was idly thinking that I could move the HTML parsing code of HelpViewer in a GNUstep TextConverter bundle (so that *any* application using text would be automagically able to load html... or at leas the particular HelpViewer brand ;-), so I looked into the RTF TextConverter to see how that worked. It's fairly simple in fact :-)

But reading the code, I also realized that adding RTFD support (RTFD are basically RTF documents + Images) would be trivial. I am actually fairly surprised nobody did that before, particularly as I remember numerous complaint about its non-existence :-/

So, I modified the RTF parser to deal with the \NeXTGraphic tag, and it seem to work well -- at least reading RTFD documents that come from Mac OS X. Though, the actual grammar I used for dealing with it is pretty crude, so I wouldn't be surprised if some documents do not work (likely old NeXT documents... OS X documents produced by TextEdit seem fairly consistent with what I did). Anyway now the basic support is done, tweaking the grammar won't be difficult if it's needed.

Here is a screenshot showing two documents opened in Ink.app (and obviously no modifications were needed in Ink.app...):







It's committed on the gnustep repository, so you can try it by updating and reinstalling the RTF TextConverter bundle.

I'm thinking I'll perhaps commit my actual HelpViewer version (as it can use rtf files) without waiting for the html parser to be finished... plus "commit early commit often" is a good idea ;-) (which I don't follow enough...)

We could write a simple Text editor dealing with links, etc. as well. Oh well we'll see.. :-)

Publié par Nicolas à Thursday, May 11, 2006 1 commentaires

Libellés : , ,

Wednesday, May 10, 2006

It doesn't hurt...

Things move quickly with etoile, so here's another screenshot... note that the shadows are ok now with xcompmgr and Azalea+EtoileMenu, that the menu items aren't displaced anymore, and that the info panel was updated (yeah, yeah, it doesn't improve the experience, but it's nice to have ^_^). Saso even added a small animation when you click on the etoile logo in the middle... pfff! ;-)

Anyway, time to work on helpviewer.





Publié par Nicolas à Wednesday, May 10, 2006 1 commentaires

Libellés : ,

Sunday, May 07, 2006

Etoile screenshot

Just for fun.. Here is a current screenshot of etoile, showing the EtoileMenuServer, Azalea (the windowmanager), Nesedah (the theme) and HelpViewer... Things start to work together ;-) [note that the shadow should not/will not appear under the helpviewer menu item...]

Publié par Nicolas à Sunday, May 07, 2006 5 commentaires

Libellés : ,

Friday, November 25, 2005

Shiny screenshot

Well, I spent the evening fixing the ubuntu I broke.. (bad r300 driver, bad..) but then I used the occasion to pass my hoary into a dapper, and in the end (X freezed with it..) to a breezy. And finally everything works fine, _again_ ... pfiew.. (and the synaptic driver decided to work too, yeah). Well, dapper is by definition unstable, so that's my fault. Anyway, I used the occasion to try the composition features of X, and as we apprently lack good screenshots in the GNUstep world, here a shiny one:



Surprisingly with my non-accelerated ati radeon the shadows don't slow particularly the display, so I'm keeping them -- incredible how they add a proper "finished" feeling...

Now I'm just waiting for the next X release (cvs compilation of xorg froze the powerbook) to have this damn ati radeon *accelerated*, because Alex Malmberg GNUstep OpenGL backend is neat (woosh windows disappear in spinning), but.. er... unusable without a 3D acceleration, of course :-/

Thursday, November 10, 2005

Structured Edition



I have been playing since a week or so with the Text System on Cocoa/GNUstep... it's not immediately easy to understand, but it's really nice and powerful :-)
It handles automatically lots of things, you can redefine many things too (create specific layout manager to change the way the text is displayed, eg, to "flow" around an image, etc.)..

For instance, you're supposed to work with NSTextStorage, which contains the content you're editing, and which is supposedly an attributed string (a string plus related attributes -- fonts, links, attachments, etc), and you edit it via a NSTextView. But what if you want MORE than edit an attributed string ? like, say, edit some structured content ?

Well in fact,the answer is to create a subclass of NSTextStorage that will answer the base methods (just four) of NSTextStorage -- it's in fact a class cluster. So the idea is simply to have on one side your structured document (in my case, a simple array of "Section" objects, containing (optionally) a title and a content), and to have a NSTextStorage that will actually serve as a gateway between the text system (which expect a simple NSAttributedString) and your own structured model... Pretty cool :-) and that way you benefit of all the niceties of the text system..

The above screenshot is my current editor (which btw I wrote under Cocoa, and recompiled this evening on GNUstep), the button is there to define a selected text as a title.

Friday, November 04, 2005

Gorm on Windows

Gürkan posted this screenshot of Gorm on Windows :


Ok, the theme used is.. well, the default NeXT theme :-) which doesn't really fit well with the Windows GUI. But still, it's quite cool to have Gorm working on Windows like that :-) (and hopefully once I finish integrating Camaelon -gui modifs somebody will write a Windows theme using the win32 theme api !)

Publié par Nicolas à Friday, November 04, 2005 2 commentaires

Libellés : ,

Saturday, August 06, 2005

Screenshot UKUUG Demo

Just to show you how the demo was looking:



Nice no ? :)

Friday, July 15, 2005

Camaelon 2 ?

I committed a few things on the cvs today and yesterday... here's a screenshot of the current results with the theme Nesedah:



Just grab Camaelon from etoile's cvs, get Nesedah.theme 0.3 and follow the readme :-)

What's missing before an official Camaelon 2.0 release ? well... there's always something missing... for example I'd like to refactorise GSDrawFunctions to use instance methods instead of class methods, so you could change themes on the fly very easily. But I think that can wait for a 2.1 :-)

Appart from that, well, there's a couple of problems apparently with NSMatrix, some wrong text color with cells in general (actually this one is a gnustep bug), and you shouldn't use gnustep to manage the windows with camaelon enabled for now. The menu aren't themed properly (the menu items are, but the menu itself isn't really themed), etc. Nothing very complex overall, so hopefully I'll fix that in the next few days before leaving to France.

Publié par Nicolas à Friday, July 15, 2005 1 commentaires

Libellés : , ,

Thursday, July 14, 2005

Newton...

Received the wifi card and memory card, so I was able to connect the newton to my local network :-)

After some tweaking, I have NTK (the newton dev environment) running under Classic and connected to the newton using the wifi card :-)



Just started to play with NTK and NewtonScript, but it's quite cool. By far not as cool as IB/Gorm ;-) but NewtonScript is a rather nice language, and NTK seems ok, though not fantastic... got a very basic app running here, where what you write on the newton is displayed on the above textfield when you click on the button (very dull, but it's just to test things ;-)

Not sure what I'll do on it... perhaps a simple calc application where you'd write the numbers / operations and have a "paper trail" ? or perhaps simply a battleship game (there are two already, but they don't use the whole screen, and anyway it's just to play a bit more with NTK/NewtonScript ...). I should also try the xmlrpc lib, it could be cool to use the newton to connect to my visualization system at uni ;-)

I tried VNC on the newton too, both as client and server, and it's extremely cool.. even if it's very slow :-)

Friday, June 24, 2005

Camaelon..

Just to show a screenshot of the StepTalk palette + StepTalkClass inspector + the calculator with Camaelon enabled :-)
(ok, there's one additional thing though -- the popup to select the return type of the method...)



Shiny, no ?

Publié par Nicolas à Friday, June 24, 2005 2 commentaires

Libellés : , ,

Thursday, June 23, 2005

It works :-)

After fixing a couple of bugs, I was able to code a simple calculator entirely in Gorm :-)



I need to finish properly the NSMethodSignature encoding, but after that I'll probably make a release.

Wednesday, June 15, 2005

STPalette 1.1

I worked a bit on the steptalk palette today, and I added some nice improvements...

steptalk palette sshot


  • You can create script outlets on the fly -- no need to use the object1,object2,...object9 limitation.. :-)

  • I added a non-ui object that you can instanciate as any object

  • The StepTalkView is still there, but more like a button containing a script. And actually by default its target/action is itself, so when you click on it, you execute the script. To change the default image, just dragn'drop another on it :-)

  • added a connection inspector to only show the script outlets



So basically now, it's more useable imho :-) and starts to be quite nice.

Check the readme files for more infos. You can download it from here: http://www.roard.com/gnustep/STPalette-1.1.tgz

enjoy :)

Subscribe to: Posts (Atom)
 

AltStyle によって変換されたページ (->オリジナル) /